mirror of
https://bitbucket.org/wisemapping/wisemapping-open-source.git
synced 2024-11-22 14:17:57 +01:00
Fix export of links in root node.
This commit is contained in:
parent
c74adcbf54
commit
cff3d7cc8a
@ -122,7 +122,7 @@ public class FreemindExporter
|
|||||||
setTopicPropertiesToNode(newNode, topicType);
|
setTopicPropertiesToNode(newNode, topicType);
|
||||||
destNode.getArrowlinkOrCloudOrEdge().add(newNode);
|
destNode.getArrowlinkOrCloudOrEdge().add(newNode);
|
||||||
addNodeFromTopic(topicType, newNode);
|
addNodeFromTopic(topicType, newNode);
|
||||||
String position = topicType.getPosition();
|
final String position = topicType.getPosition();
|
||||||
if (position != null) {
|
if (position != null) {
|
||||||
String xPos = position.split(",")[0];
|
String xPos = position.split(",")[0];
|
||||||
int x = Integer.valueOf(xPos);
|
int x = Integer.valueOf(xPos);
|
||||||
@ -144,10 +144,13 @@ public class FreemindExporter
|
|||||||
freemindNode.setSTYLE(style);
|
freemindNode.setSTYLE(style);
|
||||||
}
|
}
|
||||||
addIconNode(freemindNode, mindmapTopic);
|
addIconNode(freemindNode, mindmapTopic);
|
||||||
|
|
||||||
addLinkNode(freemindNode, mindmapTopic);
|
addLinkNode(freemindNode, mindmapTopic);
|
||||||
|
|
||||||
addFontNode(freemindNode, mindmapTopic);
|
addFontNode(freemindNode, mindmapTopic);
|
||||||
addEdgeNode(freemindNode, mindmapTopic);
|
addEdgeNode(freemindNode, mindmapTopic);
|
||||||
addNote(freemindNode, mindmapTopic);
|
addNote(freemindNode, mindmapTopic);
|
||||||
|
|
||||||
Boolean shrink = mindmapTopic.isShrink();
|
Boolean shrink = mindmapTopic.isShrink();
|
||||||
if (shrink != null && shrink)
|
if (shrink != null && shrink)
|
||||||
freemindNode.setFOLDED(String.valueOf(shrink));
|
freemindNode.setFOLDED(String.valueOf(shrink));
|
||||||
|
@ -77,6 +77,7 @@ public class FreemindImporter
|
|||||||
centralTopic.setShape(ShapeStyle.ELIPSE.getStyle());
|
centralTopic.setShape(ShapeStyle.ELIPSE.getStyle());
|
||||||
mindmapMap.getTopic().add(centralTopic);
|
mindmapMap.getTopic().add(centralTopic);
|
||||||
mindmapMap.setName(mapName);
|
mindmapMap.setName(mapName);
|
||||||
|
|
||||||
nodesMap = new HashMap<String, TopicType>();
|
nodesMap = new HashMap<String, TopicType>();
|
||||||
relationships = new ArrayList<RelationshipType>();
|
relationships = new ArrayList<RelationshipType>();
|
||||||
nodesMap.put(centralNode.getID(), centralTopic);
|
nodesMap.put(centralNode.getID(), centralTopic);
|
||||||
@ -232,7 +233,7 @@ public class FreemindImporter
|
|||||||
return x < 0;
|
return x < 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void addTopicFromNode(Node mainNode, TopicType topic) {
|
private void addTopicFromNode(@NotNull Node mainNode, @NotNull TopicType topic) {
|
||||||
final List<Object> freemindNodes = mainNode.getArrowlinkOrCloudOrEdge();
|
final List<Object> freemindNodes = mainNode.getArrowlinkOrCloudOrEdge();
|
||||||
TopicType currentTopic = topic;
|
TopicType currentTopic = topic;
|
||||||
int order = 0;
|
int order = 0;
|
||||||
@ -244,25 +245,30 @@ public class FreemindImporter
|
|||||||
newTopic.setId(String.valueOf(currentId++));
|
newTopic.setId(String.valueOf(currentId++));
|
||||||
nodesMap.put(node.getID(), newTopic); //Lets use freemind id temporarily. This will be fixed when adding relationship to the map.
|
nodesMap.put(node.getID(), newTopic); //Lets use freemind id temporarily. This will be fixed when adding relationship to the map.
|
||||||
newTopic.setOrder(order++);
|
newTopic.setOrder(order++);
|
||||||
String url = node.getLINK();
|
|
||||||
|
// Is there any link ?
|
||||||
|
final String url = node.getLINK();
|
||||||
if (url != null) {
|
if (url != null) {
|
||||||
final Link link = new Link();
|
final Link link = new Link();
|
||||||
link.setUrl(url);
|
link.setUrl(url);
|
||||||
newTopic.setLink(link);
|
newTopic.setLink(link);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (POSITION_LEFT.equals(mainNode.getPOSITION())) {
|
if (POSITION_LEFT.equals(mainNode.getPOSITION())) {
|
||||||
node.setPOSITION(POSITION_LEFT);
|
node.setPOSITION(POSITION_LEFT);
|
||||||
}
|
}
|
||||||
|
|
||||||
setNodePropertiesToTopic(newTopic, node);
|
setNodePropertiesToTopic(newTopic, node);
|
||||||
addTopicFromNode(node, newTopic);
|
addTopicFromNode(node, newTopic);
|
||||||
if (!newTopic.equals(topic)) {
|
if (!newTopic.equals(topic)) {
|
||||||
topic.getTopic().add(newTopic);
|
topic.getTopic().add(newTopic);
|
||||||
}
|
}
|
||||||
currentTopic = newTopic;
|
currentTopic = newTopic;
|
||||||
|
|
||||||
} else if (freemindNode instanceof Font) {
|
} else if (freemindNode instanceof Font) {
|
||||||
final Font font = (Font) freemindNode;
|
final Font font = (Font) freemindNode;
|
||||||
final String fontStyle = generateFontStyle(mainNode, font);
|
final String fontStyle = generateFontStyle(mainNode, font);
|
||||||
if (fontStyle!=null) {
|
if (fontStyle != null) {
|
||||||
currentTopic.setFontStyle(fontStyle);
|
currentTopic.setFontStyle(fontStyle);
|
||||||
}
|
}
|
||||||
} else if (freemindNode instanceof Edge) {
|
} else if (freemindNode instanceof Edge) {
|
||||||
@ -380,31 +386,44 @@ public class FreemindImporter
|
|||||||
return text.toString();
|
return text.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void setNodePropertiesToTopic(com.wisemapping.xml.mindmap.TopicType mindmapTopic, com.wisemapping.xml.freemind.Node freemindNode) {
|
private void setNodePropertiesToTopic(@NotNull com.wisemapping.xml.mindmap.TopicType wiseTopic, @NotNull com.wisemapping.xml.freemind.Node freemindNode) {
|
||||||
mindmapTopic.setText(freemindNode.getTEXT());
|
wiseTopic.setText(freemindNode.getTEXT());
|
||||||
mindmapTopic.setBgColor(freemindNode.getBACKGROUNDCOLOR());
|
wiseTopic.setBgColor(freemindNode.getBACKGROUNDCOLOR());
|
||||||
|
|
||||||
final String shape = getShapeFormFromNode(freemindNode);
|
final String shape = getShapeFormFromNode(freemindNode);
|
||||||
mindmapTopic.setShape(shape);
|
wiseTopic.setShape(shape);
|
||||||
int pos = 1;
|
int pos = 1;
|
||||||
if (POSITION_LEFT.equals(freemindNode.getPOSITION())) {
|
if (POSITION_LEFT.equals(freemindNode.getPOSITION())) {
|
||||||
pos = -1;
|
pos = -1;
|
||||||
}
|
}
|
||||||
Integer orderPosition = mindmapTopic.getOrder() != null ? mindmapTopic.getOrder() : 0;
|
Integer orderPosition = wiseTopic.getOrder() != null ? wiseTopic.getOrder() : 0;
|
||||||
int position = pos * 200 + (orderPosition + 1) * 10;
|
int position = pos * 200 + (orderPosition + 1) * 10;
|
||||||
|
|
||||||
mindmapTopic.setPosition(position + "," + 200 * orderPosition);
|
wiseTopic.setPosition(position + "," + 200 * orderPosition);
|
||||||
final String fontStyle = generateFontStyle(freemindNode, null);
|
final String fontStyle = generateFontStyle(freemindNode, null);
|
||||||
if (fontStyle!=null) {
|
if (fontStyle != null) {
|
||||||
mindmapTopic.setFontStyle(fontStyle);
|
wiseTopic.setFontStyle(fontStyle);
|
||||||
}
|
}
|
||||||
Boolean folded = Boolean.valueOf(freemindNode.getFOLDED());
|
|
||||||
|
// Is there any link ?
|
||||||
|
final String url = freemindNode.getLINK();
|
||||||
|
if (url != null) {
|
||||||
|
final Link link = new Link();
|
||||||
|
link.setUrl(url);
|
||||||
|
wiseTopic.setLink(link);
|
||||||
|
}
|
||||||
|
|
||||||
|
final Boolean folded = Boolean.valueOf(freemindNode.getFOLDED());
|
||||||
if (folded) {
|
if (folded) {
|
||||||
mindmapTopic.setShrink(folded);
|
wiseTopic.setShrink(folded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private @Nullable String generateFontStyle(@NotNull Node node, @Nullable Font font) {
|
private
|
||||||
|
@Nullable
|
||||||
|
String generateFontStyle(@NotNull Node node, @Nullable Font font) {
|
||||||
/*
|
/*
|
||||||
* MindmapFont format : fontName ; size ; color ; bold; italic;
|
* MindmapFont format : fontName ; size ; color ; bold; italic;
|
||||||
* eg: Verdana;10;#ffffff;bold;italic;
|
* eg: Verdana;10;#ffffff;bold;italic;
|
||||||
|
@ -1,4 +1,12 @@
|
|||||||
<map version="0.9.0">
|
<map version="0.9.0">
|
||||||
<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
|
<!-- To view this file, download free mind mapping software FreeMind from http://freemind.sourceforge.net -->
|
||||||
<node CREATED="1301250606816" ID="ID_189563190" LINK="http://www.google.com" MODIFIED="1301250665708" TEXT="Node Links"/>
|
<node CREATED="1301250606816" ID="ID_189563190" LINK="http://www.google.com" MODIFIED="1301265199448" TEXT="Node Links">
|
||||||
|
<icon BUILTIN="closed"/>
|
||||||
|
<node CREATED="1301265119915" FOLDED="true" ID="ID_955581041" LINK="http://www.bing.com" MODIFIED="1301265556534" POSITION="right" TEXT="Link Topic">
|
||||||
|
<icon BUILTIN="info"/>
|
||||||
|
<node CREATED="1301265126777" ID="ID_1127858248" LINK="http://bing.com" MODIFIED="1301265269136" TEXT="Link Topic Topic">
|
||||||
|
<icon BUILTIN="messagebox_warning"/>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
|
</node>
|
||||||
</map>
|
</map>
|
||||||
|
@ -1 +1 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="Node Links" STYLE="elipse" ID="ID_0"/></map>
|
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><map version="0.9.0"><node TEXT="Node Links" STYLE="elipse" LINK="http://www.google.com" ID="ID_0"><icon BUILTIN="closed"/><node TEXT="Link Topic" POSITION="right" LINK="http://www.bing.com" ID="ID_1" FOLDED="true"><icon BUILTIN="info"/><node TEXT="Link Topic Topic" POSITION="right" LINK="http://bing.com" ID="ID_2"><icon BUILTIN="messagebox_warning"/></node></node></node></map>
|
Loading…
Reference in New Issue
Block a user