From a2a7f9157bcfe871b1e6e3c2aee73c551925efd9 Mon Sep 17 00:00:00 2001 From: John Lewin Date: Mon, 25 Sep 2017 07:01:01 -0700 Subject: [PATCH] Refresh scene tree on change --- Submodules/agg-sharp | 2 +- Utilities/InspectForm.cs | 25 ++++++++++++++++++++++++- 2 files changed, 25 insertions(+), 2 deletions(-) diff --git a/Submodules/agg-sharp b/Submodules/agg-sharp index f0ad78eda..29b6348ac 160000 --- a/Submodules/agg-sharp +++ b/Submodules/agg-sharp @@ -1 +1 @@ -Subproject commit f0ad78edaad8ff552419ecd16dbab9c8f285aade +Subproject commit 29b6348acd4a4779a52bc193009343e637efff21 diff --git a/Utilities/InspectForm.cs b/Utilities/InspectForm.cs index b0eb3f204..c512629dc 100644 --- a/Utilities/InspectForm.cs +++ b/Utilities/InspectForm.cs @@ -27,12 +27,22 @@ namespace MatterHackers.MatterControl : this(inspectedSystemWindow) { this.scene = scene; - + this.scene.ChildrenModified += Scene_ChildrenModified; sceneTreeView.SuspendLayout(); this.AddTree(scene, null, "Scene"); sceneTreeView.ResumeLayout(); } + private void Scene_ChildrenModified(object sender, EventArgs e) + { + sceneTreeView.SuspendLayout(); + sceneTreeView.Nodes.Clear(); + sceneTreeNodes.Clear(); + + this.AddTree(scene, null, "Scene"); + sceneTreeView.ResumeLayout(); + } + public InspectForm(GuiWidget inspectedSystemWindow) { InitializeComponent(); @@ -238,6 +248,8 @@ namespace MatterHackers.MatterControl parentNode.Nodes.Add(node); } + node.Expand(); + return node; } @@ -249,15 +261,21 @@ namespace MatterHackers.MatterControl }; sceneTreeNodes.Add(item, node); + if (parentNode == null) { sceneTreeView.Nodes.Add(node); + node.Expand(); + } else { parentNode.Nodes.Add(node); + parentNode.Expand(); } + + return node; } @@ -389,6 +407,11 @@ namespace MatterHackers.MatterControl inspectedSystemWindow.AfterDraw -= systemWindow_AfterDraw; inspectedSystemWindow.MouseMove -= systemWindow_MouseMove; + if (scene != null) + { + scene.ChildrenModified -= Scene_ChildrenModified; + } + if (mouseUpWidget != null) { mouseUpWidget.MouseUp -= inspectedWidget_MouseUp;