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;