Difference between revisions of "Clones nodes"
(Created page with "Work in progess") |
|||
(14 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
− | + | __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
Contents
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:
This was discussed in the freeplane forum thread https://sourceforge.net/p/freeplane/discussion/758437/thread/aa103640/#e2ca
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.