Refresh scene tree on change

This commit is contained in:
John Lewin 2017-09-25 07:01:01 -07:00
parent 1361e80a01
commit a2a7f9157b
2 changed files with 25 additions and 2 deletions

@ -1 +1 @@
Subproject commit f0ad78edaad8ff552419ecd16dbab9c8f285aade
Subproject commit 29b6348acd4a4779a52bc193009343e637efff21

View file

@ -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;