Difference between revisions of "Clones nodes"

From Freeplane - free mind mapping and knowledge management software
 
(13 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Work in progress
+
__TOC__
 +
 
 +
 
 +
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"
 +
 
 +
{{#ev:youtube|u-Dt_vy38xI}}
 +
 
 +
 
 +
 
 +
 
 +
== 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
 +
 
 +
{{#ev:youtube|14vKGcVeMPg}}
 +
 
 +
 
 +
 
 +
 
 +
== 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
 +
 
 +
{{#ev:youtube|6V2QOjIDkp4}}
 +
 
 +
 
 +
 
 +
 
 +
 
 +
== 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
 +
 
 +
{{#ev:youtube|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
 +
 
 +
 
 +
 
 +
 
 +
== 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.

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.