Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Add
- public TreeViewLayer TreeView;
- public void AddLayer(Layer layer)
- {
- var node = new TreeNode<Layer>(layer);
- TreeView.Nodes.Add(node);
- }
- // Duplicate
- public void Duplicate(TreeNode<Layer> node)
- {
- var layer = node.Item; // maybe it also should be copied
- var duplicated_node = new TreeNode<Layer>(layer, CreateNodesCopy(node.Nodes)); // create the new node with duplicated nested nodes
- duplicated_node.Parent = node.Parent; // add node to the same branch
- }
- ObservableList<TreeNode<Layer>> DuplicateNodes(ObservableList<TreeNode<Layer>> nodes)
- {
- var result = new ObservableList<TreeNode<Layer>>();
- if (nodes == null)
- {
- return result;
- }
- foreach (var node in nodes)
- {
- result.Add(Duplicate(node));
- }
- return result;
- }
- // Remove
- public void Remove(TreeNode<Layer> node)
- {
- node.Parent = null;
- }
- // Serialization
- public List<TreeNodeSerialized<Layer>> Serialize()
- {
- return TreeNode<Layer>.Serialize(TreeView.Nodes); // convert nodes to simple list than can be easily serialized
- }
- public void Deserialize(List<TreeNodeSerialized<Layer>> nodes)
- {
- TreeView.Nodes = TreeNode<Layer>.Deserialize(nodes);
- }
Advertisement
RAW Paste Data
Copied
Advertisement