From da1e7a7b1ea2215ef0e249ea7d5dfc8a627f0377 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Fri, 26 Oct 2018 09:05:04 -0700 Subject: [PATCH] Add dictionary of IObject3D -> TreeNode --- .../PartPreviewWindow/Object3DTreeBuilder.cs | 10 ++++++---- .../PartPreviewWindow/View3D/View3DWidget.cs | 2 ++ .../SlicerConfiguration/UIFields/SurfacedEditorPage.cs | 2 +- 3 files changed, 9 insertions(+), 5 deletions(-) diff --git a/MatterControlLib/PartPreviewWindow/Object3DTreeBuilder.cs b/MatterControlLib/PartPreviewWindow/Object3DTreeBuilder.cs index 35a1c12be..329032081 100644 --- a/MatterControlLib/PartPreviewWindow/Object3DTreeBuilder.cs +++ b/MatterControlLib/PartPreviewWindow/Object3DTreeBuilder.cs @@ -45,12 +45,12 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { public static class Object3DTreeBuilder { - public static TreeNode BuildTree(IObject3D rootItem, ThemeConfig theme) + public static TreeNode BuildTree(IObject3D rootItem, Dictionary keyValues, ThemeConfig theme) { - return AddTree(BuildItemView(rootItem), null, theme); + return AddTree(BuildItemView(rootItem), null, keyValues, theme); } - private static TreeNode AddTree(ObjectView item, TreeNode parent, ThemeConfig theme) + private static TreeNode AddTree(ObjectView item, TreeNode parent, Dictionary keyValues, ThemeConfig theme) { // Suppress MeshWrapper and OperationSource nodes in tree bool shouldCollapseToParent = item.Source is ModifiedMeshObject3D || item.Source is OperationSourceObject3D; @@ -67,7 +67,9 @@ namespace MatterHackers.MatterControl.PartPreviewWindow { if (child != null) { - AddTree(BuildItemView(child), contextNode, theme); + var newNode = AddTree(BuildItemView(child), contextNode, keyValues, theme); + + keyValues?.Add(child, newNode); } } } diff --git a/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs b/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs index 027ed03e4..b069eff5b 100644 --- a/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs +++ b/MatterControlLib/PartPreviewWindow/View3D/View3DWidget.cs @@ -330,6 +330,8 @@ namespace MatterHackers.MatterControl.PartPreviewWindow WorkspaceActions = this.InitWorkspaceActions(); } + private Dictionary keyValues = new Dictionary(); + private void RebuildTree() { // Top level selection only - rebuild tree diff --git a/MatterControlLib/SlicerConfiguration/UIFields/SurfacedEditorPage.cs b/MatterControlLib/SlicerConfiguration/UIFields/SurfacedEditorPage.cs index 14b7b4dbe..e7a09def4 100644 --- a/MatterControlLib/SlicerConfiguration/UIFields/SurfacedEditorPage.cs +++ b/MatterControlLib/SlicerConfiguration/UIFields/SurfacedEditorPage.cs @@ -109,7 +109,7 @@ namespace MatterHackers.MatterControl.SlicerConfiguration treeView.ScrollArea.CloseAllChildren(); - var rootNode = Object3DTreeBuilder.BuildTree(selectedItem, theme); + var rootNode = Object3DTreeBuilder.BuildTree(selectedItem, null, theme); treeView.AddChild(rootNode); rootNode.TreeView = treeView;