Difference between revisions of "Clones nodes"

From Freeplane - free mind mapping and knowledge management software
 
(11 intermediate revisions by 3 users not shown)
Line 2: Line 2:
  
  
The '''Nodes Clones''' feature allows to make ''multiple clones'' of a node inside a map.
+
The '''Nodes Clones''' feature enables a node to become a '''clone-node''' ingroup with other ''clone-nodes'' that all ''share the same content'' (text, format, icons, etc), appearing as if they were ''one common node'' mirrored in multiple places on the map.
  
Take this like having ''one-same-node'' appearing in ''multiple places'' of the map - its always the ''same node'', but appears '''cloned''' in those multiple places. If you change any of the clones, all the other clones will also change. Like one same node, '''cloned''' in multiple places.
 
  
Cloned nodes are marked with a small-rectangle in the left-side, and work inside of one-same map (inter-map clones are not possible)
+
This feature allows you to take a node-A and make a special-copy of it as a new node-B, so that the ''contents'' of node-A become ''shared'' (or ''synchronized'') with the ''contents'' of the node-B. If the contents of one of these nodes is manually changed, then the contents of the other node will also be changed - they both ''share'' the ''"same-common-content"''.
  
Cloned nodes were introduced in freeplane 1.5
+
Because '''clone-nodes''' share the ''"same-common-content"'' they are visually undistinguishable from each-other in a map - node-A and node-B look the same as they share: same text, icons, format, etc. So the clone-nodes look like as if they were ''one common node'' mirrored in multiple places on the map.
 +
 
 +
You can have as many clone-nodes as you want inside one-same map (inter-map clones are not possible), and each cloned node is marked with a small-rectangle in its ancestor-connector.
 +
 
 +
 
 +
NOTE: If the above seems confusing, just take clone-nodes as ''one common node'' that can be mirrored (cloned) in multiple places on the map.
 +
 
 +
 
 +
Cloned nodes were introduced in freeplane 1.5, to use them select "View/Advanced interface" (or CTRL-D, Edit/PasteClone and others might not be shown)
  
 
Please help maintain this info up-to-date - if you see an improvement please contribute to this wiki, or tell about it in this forum thread: https://sourceforge.net/p/freeplane/discussion/758437/thread/4d85148b/
 
Please help maintain this info up-to-date - if you see an improvement please contribute to this wiki, or tell about it in this forum thread: https://sourceforge.net/p/freeplane/discussion/758437/thread/4d85148b/
Line 29: Line 36:
 
** Notice the list of other related cloned-nodes, to where you can "Goto"
 
** Notice the list of other related cloned-nodes, to where you can "Goto"
  
https://youtu.be/u-Dt_vy38xI
+
{{#ev:youtube|u-Dt_vy38xI}}
  
  
Line 43: Line 50:
 
* Edit/Unclone
 
* Edit/Unclone
  
https://youtu.be/14vKGcVeMPg
+
{{#ev:youtube|14vKGcVeMPg}}
 +
 
  
  
  
== Subtree: how to clone a node with or without cloning its subtree ===
+
== Subtree: how to clone a node with or without cloning its subtree ==
  
When a node is cloned, its subtree is also cloned along, by default.  
+
When a node is cloned, its subtree is also cloned along.  
However, there is an option to only '''clone a single node'' ''without cloning its subtree''   
+
However, there is an option to only ''clone a single node without cloning its subtree''   
  
  
Line 56: Line 64:
 
* select node to be cloned (without subtree)
 
* select node to be cloned (without subtree)
 
* Edit/Copy/Copy node (single)  [Ctrl + Shift + C]
 
* Edit/Copy/Copy node (single)  [Ctrl + Shift + C]
** Notice that to clone-with-subtree we use Edit/Copy/Copy, but to  
+
** Notice that to clone-with-subtree we use Edit/Copy/''Copy [Ctrl-C]'', but to clone-without-subtree we use Edit/Copy/'''Copy node (single) [Ctrl-Shift-C]'''
clone-without-subtree we use Edit/Copy/Copy node (single)
 
 
* select destination, where to put the clone
 
* select destination, where to put the clone
 
* Edit/Paste Clone [Ctrl-D]
 
* Edit/Paste Clone [Ctrl-D]
 
** Notice that only the single node was cloned, and not its subtree
 
** Notice that only the single node was cloned, and not its subtree
  
https://youtu.be/6V2QOjIDkp4
+
{{#ev:youtube|6V2QOjIDkp4}}
 +
 
 +
 
  
  
Line 71: Line 80:
 
* Connecters that go ''"outside"'' of a cloned-subtree are ''not'' cloned
 
* Connecters that go ''"outside"'' of a cloned-subtree are ''not'' cloned
  
 +
{{#ev:youtube|TMRvpIyjhXM}}
  
https://youtu.be/TMRvpIyjhXM
 
  
 +
 +
 +
== How to automatically apply a style to all cloned-nodes ==
 +
 +
Its possible to create a style ("MyStyle" for example) and then create a conditional-map-style that makes the "MyStyle" be applied to all cloned-nodes. This can be convenient to highligh the cloned-nodes over the normal-nodes.
 +
 +
The steps are ilustrated in the following image:
 +
 +
[[File:ConditionStyle_for_cloned_nodes.png|frame|400x200px|none|link={{filepath:ConditionStyle_for_cloned_nodes.png}}]]<br />
 +
 +
This was discussed in the freeplane forum thread https://sourceforge.net/p/freeplane/discussion/758437/thread/aa103640/#e2ca
  
  
Line 82: Line 102:
 
All cloned-nodes share the same content (text, style, etc..). But, each freeplane node (even cloned-nodes) have an '''unique NODE_ID'''.
 
All cloned-nodes share the same content (text, style, etc..). But, each freeplane node (even cloned-nodes) have an '''unique NODE_ID'''.
  
For more info about Scripting Api and cloned-nodes, see http://freeplane.sourceforge.net/wiki/index.php/Scripting:_API_Changes
+
For more info about Scripting Api and cloned-nodes, see http://www.freeplane.org/wiki/index.php/Scripting:_API_Changes
 +
 
 +
 
 +
== Clones and Formulas ==
 +
 
 +
Although all clones share almost all properties they don't have to look alike: If you have multiple clones of a node with for instance
 +
 
 +
    = node.id
 +
 
 +
as their core text then all nodes will appear differently and show their id.

Latest revision as of 12:51, 1 March 2021


The Nodes Clones feature enables a node to become a clone-node ingroup with other clone-nodes that all share the same content (text, format, icons, etc), appearing as if they were one common node mirrored in multiple places on the map.


This feature allows you to take a node-A and make a special-copy of it as a new node-B, so that the contents of node-A become shared (or synchronized) with the contents of the node-B. If the contents of one of these nodes is manually changed, then the contents of the other node will also be changed - they both share the "same-common-content".

Because clone-nodes share the "same-common-content" they are visually undistinguishable from each-other in a map - node-A and node-B look the same as they share: same text, icons, format, etc. So the clone-nodes look like as if they were one common node mirrored in multiple places on the map.

You can have as many clone-nodes as you want inside one-same map (inter-map clones are not possible), and each cloned node is marked with a small-rectangle in its ancestor-connector.


NOTE: If the above seems confusing, just take clone-nodes as one common node that can be mirrored (cloned) in multiple places on the map.


Cloned nodes were introduced in freeplane 1.5, to use them select "View/Advanced interface" (or CTRL-D, Edit/PasteClone and others might not be shown)

Please help maintain this info up-to-date - if you see an improvement please contribute to this wiki, or tell about it in this forum thread: https://sourceforge.net/p/freeplane/discussion/758437/thread/4d85148b/


How to clone a node

It is like copy/paste, only that you do Paste Clone [Ctrl-D] (instead of paste [Ctrl-V])

Quick-resume: how to clone a node

  • select node to clone
  • Edit/Copy/Copy [Ctrl-C]
  • select destination, where to put the clone
  • Edit/Paste Clone [Ctrl-D]
    • Notice that cloned-nodes are marked with a small-rectangle
  • Select any cloned-node, and change it
    • Notice that when one clone is changed, all clones of it also change
  • Select any cloned-node, right-click in it, Goto
    • Notice the list of other related cloned-nodes, to where you can "Goto"



Unclone a node

If you have a cloned-node that you want to simply make it a copied node (and not a clone anymore, just a copy), then you can unclone the node.


Quick-resume: how to unclone a node

  • select node to unclone
  • Edit/Unclone



Subtree: how to clone a node with or without cloning its subtree

When a node is cloned, its subtree is also cloned along. However, there is an option to only clone a single node without cloning its subtree


Quick-resume: how to clone a single node without subtree

  • select node to be cloned (without subtree)
  • Edit/Copy/Copy node (single) [Ctrl + Shift + C]
    • Notice that to clone-with-subtree we use Edit/Copy/Copy [Ctrl-C], but to clone-without-subtree we use Edit/Copy/Copy node (single) [Ctrl-Shift-C]
  • select destination, where to put the clone
  • Edit/Paste Clone [Ctrl-D]
    • Notice that only the single node was cloned, and not its subtree



Connectors inside a cloned-subtree are cloned

  • Connectors that are "inside" of a cloned-subtree are cloned
  • Connecters that go "outside" of a cloned-subtree are not cloned



How to automatically apply a style to all cloned-nodes

Its possible to create a style ("MyStyle" for example) and then create a conditional-map-style that makes the "MyStyle" be applied to all cloned-nodes. This can be convenient to highligh the cloned-nodes over the normal-nodes.

The steps are ilustrated in the following image:

ConditionStyle for cloned nodes.png


This was discussed in the freeplane forum thread https://sourceforge.net/p/freeplane/discussion/758437/thread/aa103640/#e2ca



Scripting API related to clones

All cloned-nodes share the same content (text, style, etc..). But, each freeplane node (even cloned-nodes) have an unique NODE_ID.

For more info about Scripting Api and cloned-nodes, see http://www.freeplane.org/wiki/index.php/Scripting:_API_Changes


Clones and Formulas

Although all clones share almost all properties they don't have to look alike: If you have multiple clones of a node with for instance

   = node.id

as their core text then all nodes will appear differently and show their id.