From 349fa777de3254b67d7ccfa4dd8e9edbbcc58a13 Mon Sep 17 00:00:00 2001 From: Evgenii T Date: Sat, 30 Sep 2017 10:22:06 +0300 Subject: [PATCH] add label class --- example.py | 50 ++++++++++++++--------------- test.xmind | Bin 0 -> 11825 bytes xmind/core/const.py | 2 ++ xmind/core/label.py | 76 ++++++++++++++++++++++++++++++++++++++++++++ xmind/core/topic.py | 35 ++++++++++++++++++++ 5 files changed, 138 insertions(+), 25 deletions(-) create mode 100644 test.xmind create mode 100644 xmind/core/label.py diff --git a/example.py b/example.py index 571c754..68435cc 100644 --- a/example.py +++ b/example.py @@ -1,39 +1,39 @@ -#-*- coding: utf-8 -*- +# -*- coding: utf-8 -*- import xmind -from xmind.core import workbook,saver +from xmind.core import workbook, saver from xmind.core.topic import TopicElement -w = xmind.load("test.xmind") # load an existing file or create a new workbook if nothing is found +w = xmind.load("test.xmind") # load an existing file or create a new workbook if nothing is found -s1=w.getPrimarySheet() # get the first sheet -s1.setTitle("first sheet") # set its title -r1=s1.getRootTopic() # get the root topic of this sheet -r1.setTitle("we don't care of this sheet") # set its title +s1 = w.getPrimarySheet() # get the first sheet +s1.setTitle("first sheet") # set its title +r1 = s1.getRootTopic() # get the root topic of this sheet +r1.setTitle("we don't care of this sheet") # set its title -s2=w.createSheet() # create a new sheet +s2 = w.createSheet() # create a new sheet s2.setTitle("second sheet") -r2=s2.getRootTopic() +r2 = s2.getRootTopic() r2.setTitle("root node") +t1 = TopicElement() # create a new element +t1.setTopicHyperlink(s1.getID()) # set a link from this topic to the first sheet given by s1.getID() +t1.setTitle("redirection to the first sheet") # set its title -t1=TopicElement() # create a new element -t1.setTopicHyperlink(s1.getID()) # set a link from this topic to the first sheet given by s1.getID() -t1.setTitle("redirection to the first sheet") # set its title - -t2=TopicElement() +t2 = TopicElement() t2.setTitle("second node") -t2.setURLHyperlink("https://xmind.net") # set an hyperlink +t2.setLabels("first label") # set notes (F3 in XMind) +t2.setURLHyperlink("https://xmind.net") # set an hyperlink -t3=TopicElement() +t3 = TopicElement() t3.setTitle("third node") -t3.setPlainNotes("notes for this topic") # set notes (F4 in XMind) +t3.setPlainNotes("notes for this topic") # set notes (F4 in XMind) +t3.setLabels("second label") # set notes (F3 in XMind) t3.setTitle("topic with \n notes") -t4=TopicElement() -t4.setFileHyperlink("logo.jpeg") # set a file hyperlink +t4 = TopicElement() +t4.setFileHyperlink("logo.jpeg") # set a file hyperlink t4.setTitle("topic with a file") - # then the topics must be added to the root element r2.addSubTopic(t1) @@ -41,12 +41,12 @@ r2.addSubTopic(t3) r2.addSubTopic(t4) -topics=r2.getSubTopics() # to loop on the subTopics +topics = r2.getSubTopics() # to loop on the subTopics for topic in topics: topic.addMarker("yes") -w.addSheet(s2) # the second sheet is now added to the workbook -rel=s2.createRelationship(t1.getID(),t2.getID(),"test") # create a relationship -s2.addRelationship(rel) # and add to the sheet +w.addSheet(s2) # the second sheet is now added to the workbook +rel = s2.createRelationship(t1.getID(), t2.getID(), "test") # create a relationship +s2.addRelationship(rel) # and add to the sheet -xmind.save(w,"test2.xmind") # and we save \ No newline at end of file +xmind.save(w, "test2.xmind") # and we save diff --git a/test.xmind b/test.xmind new file mode 100644 index 0000000000000000000000000000000000000000..cbfb1ff6ab228f6aaec3f1c4ef8c480faf1d13a2 GIT binary patch literal 11825 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