Merge pull request #2486 from jlewin/design_tools
Refresh scene tree on change
This commit is contained in:
commit
c81daa3b02
2 changed files with 34 additions and 13 deletions
|
|
@ -1 +1 @@
|
||||||
Subproject commit f0ad78edaad8ff552419ecd16dbab9c8f285aade
|
Subproject commit 29b6348acd4a4779a52bc193009343e637efff21
|
||||||
|
|
@ -27,12 +27,22 @@ namespace MatterHackers.MatterControl
|
||||||
: this(inspectedSystemWindow)
|
: this(inspectedSystemWindow)
|
||||||
{
|
{
|
||||||
this.scene = scene;
|
this.scene = scene;
|
||||||
|
this.scene.ChildrenModified += Scene_ChildrenModified;
|
||||||
sceneTreeView.SuspendLayout();
|
sceneTreeView.SuspendLayout();
|
||||||
this.AddTree(scene, null, "Scene");
|
this.AddTree(scene, null, "Scene");
|
||||||
sceneTreeView.ResumeLayout();
|
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)
|
public InspectForm(GuiWidget inspectedSystemWindow)
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
@ -238,6 +248,8 @@ namespace MatterHackers.MatterControl
|
||||||
parentNode.Nodes.Add(node);
|
parentNode.Nodes.Add(node);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
node.Expand();
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -249,15 +261,21 @@ namespace MatterHackers.MatterControl
|
||||||
};
|
};
|
||||||
sceneTreeNodes.Add(item, node);
|
sceneTreeNodes.Add(item, node);
|
||||||
|
|
||||||
|
|
||||||
if (parentNode == null)
|
if (parentNode == null)
|
||||||
{
|
{
|
||||||
sceneTreeView.Nodes.Add(node);
|
sceneTreeView.Nodes.Add(node);
|
||||||
|
node.Expand();
|
||||||
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
parentNode.Nodes.Add(node);
|
parentNode.Nodes.Add(node);
|
||||||
|
parentNode.Expand();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -389,6 +407,11 @@ namespace MatterHackers.MatterControl
|
||||||
inspectedSystemWindow.AfterDraw -= systemWindow_AfterDraw;
|
inspectedSystemWindow.AfterDraw -= systemWindow_AfterDraw;
|
||||||
inspectedSystemWindow.MouseMove -= systemWindow_MouseMove;
|
inspectedSystemWindow.MouseMove -= systemWindow_MouseMove;
|
||||||
|
|
||||||
|
if (scene != null)
|
||||||
|
{
|
||||||
|
scene.ChildrenModified -= Scene_ChildrenModified;
|
||||||
|
}
|
||||||
|
|
||||||
if (mouseUpWidget != null)
|
if (mouseUpWidget != null)
|
||||||
{
|
{
|
||||||
mouseUpWidget.MouseUp -= inspectedWidget_MouseUp;
|
mouseUpWidget.MouseUp -= inspectedWidget_MouseUp;
|
||||||
|
|
@ -433,20 +456,19 @@ namespace MatterHackers.MatterControl
|
||||||
private void SceneTreeView_DrawNode(object sender, DrawTreeNodeEventArgs e)
|
private void SceneTreeView_DrawNode(object sender, DrawTreeNodeEventArgs e)
|
||||||
{
|
{
|
||||||
var node = e.Node;
|
var node = e.Node;
|
||||||
|
|
||||||
if (node.IsVisible)
|
if (node.IsVisible)
|
||||||
{
|
{
|
||||||
var item = node.Tag as IObject3D;
|
var item = node.Tag as IObject3D;
|
||||||
Brush brush;
|
Brush brush;
|
||||||
//if (node == activeTreeNode)
|
|
||||||
//{
|
if (scene.HasSelection
|
||||||
// brush = SystemBrushes.Highlight;
|
&& (scene.SelectedItem == item
|
||||||
//}
|
|| scene.SelectedItem.Children.Contains(item)))
|
||||||
//else if (aggAncestryTree.Contains(item))
|
{
|
||||||
//{
|
|
||||||
// brush = Brushes.LightBlue;
|
brush = SystemBrushes.Highlight;
|
||||||
//}
|
}
|
||||||
//else
|
else
|
||||||
{
|
{
|
||||||
brush = Brushes.Transparent;
|
brush = Brushes.Transparent;
|
||||||
}
|
}
|
||||||
|
|
@ -459,7 +481,6 @@ namespace MatterHackers.MatterControl
|
||||||
node == activeTreeNode ? boldFont : node.NodeFont,
|
node == activeTreeNode ? boldFont : node.NodeFont,
|
||||||
new Point(node.Bounds.Left, node.Bounds.Top),
|
new Point(node.Bounds.Left, node.Bounds.Top),
|
||||||
SystemColors.ControlText,
|
SystemColors.ControlText,
|
||||||
//item.ActuallyVisibleOnScreen() ? SystemColors.ControlText : SystemColors.GrayText,
|
|
||||||
Color.Transparent);
|
Color.Transparent);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue