Skip to content

Commit 8b7ce96

Browse files
committed
'show node in map'
1 parent 2915ef3 commit 8b7ce96

File tree

2 files changed

+64
-7
lines changed

2 files changed

+64
-7
lines changed

Tutorial-o-Matic/src/main/groovy/ToM.groovy

Lines changed: 43 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,7 @@ class ToM{
3535
select : 'ToM_select' ,
3636
openMap : 'ToM_openMap' ,
3737
openTutMap: 'ToM_openTutMap',
38+
showNode : 'ToM_showNode' ,
3839
]
3940

4041
static final exeHowIcons = ['emoji-1F507', 'emoji-2328', 'emoji-1F5B1']
@@ -117,6 +118,9 @@ class ToM{
117118
case styles.openTutMap:
118119
addInspectPane(myPanel, tutNode)
119120
break
121+
case styles.showNode:
122+
addShowNodePane(myPanel, tutNode)
123+
break
120124
default:
121125
ui.informationMessage('node style not defined')
122126
break
@@ -214,12 +218,12 @@ class ToM{
214218
}
215219
}
216220

217-
def static gotoAction(myP,targetNode, backNode){
218-
myP.removeAll()
219-
addReturnPane(myP, backNode)
220-
fillPage(myP, targetNode, true, false)
221-
addReturnPane(myP, backNode)
222-
}
221+
def static gotoAction(myP,targetNode, backNode){
222+
myP.removeAll()
223+
addReturnPane(myP, backNode)
224+
fillPage(myP, targetNode, true, false)
225+
addReturnPane(myP, backNode)
226+
}
223227

224228
def static addReturnPane(myP, backNode){
225229
def msgHtml = "Return to '${backNode.text}' page"
@@ -423,6 +427,39 @@ class ToM{
423427
myP.add(buttonPanel, tomui.GBC)
424428
}
425429

430+
def static addShowNodePane(myP, nodo){
431+
def nodos = nodo.children.findAll{ n -> n.link && (n.link.node || (!n.link.node && !n.link.file && n.link.uri.scheme == 'file'))}
432+
nodos.each{ n ->
433+
def msgHtml = "Click to show ${n.text}"
434+
def bttnText = "goto Node"
435+
def bttnToolTip = "Click to show ${n.text}"
436+
def bttnAction
437+
if(n.link.node){
438+
bttnAction = { e ->
439+
def tNode = n.link.node
440+
def m = c.mapLoader(tNode.map.file).withView()//.selectNodeById(pageNodeId)
441+
m.load()
442+
tNode.pathToRoot*.folded = false
443+
c.select(tNode)
444+
c.centerOnNode(tNode)
445+
}
446+
} else {
447+
bttnAction = { e ->
448+
def path = n.link.uri.path.drop(1)
449+
def id = n.link.uri.fragment
450+
def m = c.mapLoader(path).withView()//.selectNodeById(pageNodeId)
451+
m.load()
452+
def tNode = m.mindMap.node(id)
453+
tNode.pathToRoot*.folded = false
454+
c.select(tNode)
455+
c.centerOnNode(tNode)
456+
}
457+
}
458+
def buttonPanel = tomui.createButtonPanel(msgHtml,bttnText,bttnToolTip, bttnAction, false)
459+
myP.add(buttonPanel, tomui.GBC)
460+
}
461+
}
462+
426463
def static addTOCPane(myP,nodo){
427464
def titleNodes = getNewPageNodes(getTutorialNode(nodo))
428465
def pane = tomui.createEmptyGridBagPanel()

Tutorial-o-Matic/zips/doc/Tutorial-o-Matic/SimpleTutorialSample.mm

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<map version="freeplane 1.9.8">
22
<!--To view this file, download free mind mapping software Freeplane from https://www.freeplane.org -->
33
<node TEXT="Simple Tutorial Sample" LOCALIZED_STYLE_REF="AutomaticLayout.level.root" FOLDED="false" ID="ID_258304564"><hook NAME="MapStyle" background="#c4e1ff">
4-
<properties save_modification_times="false" save_last_visited_node="default" mapUsesOwnSaveOptions="true" fit_to_viewport="false" show_icon_for_attributes="true" show_note_icons="true" edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" save_folding="default"/>
4+
<properties mapUsesOwnSaveOptions="true" save_last_visited_node="default" save_modification_times="false" show_icon_for_attributes="true" fit_to_viewport="false" show_note_icons="true" edgeColorConfiguration="#808080ff,#ff0000ff,#0000ffff,#00ff00ff,#ff00ffff,#00ffffff,#7c0000ff,#00007cff,#007c00ff,#7c007cff,#007c7cff,#7c7c00ff" save_folding="default"/>
55

66
<map_styles>
77
<stylenode LOCALIZED_TEXT="styles.root_node" ID="ID_1611611797" STYLE="oval" UNIFORM_SHAPE="true" VGAP_QUANTITY="24 pt">
@@ -81,6 +81,10 @@
8181
<icon BUILTIN="emoji-1F989"/>
8282
<icon BUILTIN="links/file/freeplane_mindmap"/>
8383
</stylenode>
84+
<stylenode TEXT="ToM_showNode" ID="ID_1304839137" ICON_SIZE="16 pt" STYLE="rectangle" BORDER_WIDTH="3 px">
85+
<icon BUILTIN="emoji-1F989"/>
86+
<icon BUILTIN="emoji-1F517"/>
87+
</stylenode>
8488
</stylenode>
8589
<stylenode LOCALIZED_TEXT="styles.AutomaticLayout" POSITION="right" STYLE="bubble">
8690
<stylenode LOCALIZED_TEXT="AutomaticLayout.level.root" ID="ID_1618325545" COLOR="#000000" STYLE="bubble" SHAPE_HORIZONTAL_MARGIN="5 pt" SHAPE_VERTICAL_MARGIN="10 pt" UNIFORM_SHAPE="true" MAX_WIDTH="4 cm" MIN_WIDTH="1 cm">
@@ -1192,6 +1196,22 @@ This example shows some actions applied without showing any message (muted):
11921196
</node>
11931197
</node>
11941198
</node>
1199+
<node TEXT="show Node from Map" FOLDED="true" ID="ID_474896897">
1200+
<node TEXT="show Node from Map" STYLE_REF="ToM_newPage" ID="ID_1073584612"/>
1201+
<node TEXT="text" STYLE_REF="ToM_note" ID="ID_907476785">
1202+
<node TEXT="GOTO example" STYLE_REF="markdownNote" ID="ID_1824304681"><richcontent TYPE="NOTE" CONTENT-TYPE="plain/">
1203+
<text>You can add buttons to jump to other nodes (in this or other mindmap)
1204+
1205+
1206+
Here is an example:</text>
1207+
</richcontent>
1208+
</node>
1209+
</node>
1210+
<node TEXT="select" STYLE_REF="ToM_showNode" ID="ID_1873597517">
1211+
<node TEXT="&apos;caso USS&apos; en mapa scripts" STYLE_REF="Organizador" ID="ID_975705067" LINK="file:/C:/Respaldo%20EF/ef/Documentos%20con%20macros/08%20Freemind%20Groovy/scripts/Scripts%20Groovy%20v1.9.mm#ID_975705067"/>
1212+
<node TEXT="node &apos;GOTO example&apos; in tutorial map" ID="ID_498715353" LINK="#ID_1294401049"/>
1213+
</node>
1214+
</node>
11951215
<node TEXT="example scripts" FOLDED="true" ID="ID_192065243">
11961216
<font NAME="SansSerif"/>
11971217
<node TEXT="page 1" FOLDED="true" ID="ID_1609042150">

0 commit comments

Comments
 (0)