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.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;
|
||||
|
|
@ -433,20 +456,19 @@ namespace MatterHackers.MatterControl
|
|||
private void SceneTreeView_DrawNode(object sender, DrawTreeNodeEventArgs e)
|
||||
{
|
||||
var node = e.Node;
|
||||
|
||||
if (node.IsVisible)
|
||||
{
|
||||
var item = node.Tag as IObject3D;
|
||||
Brush brush;
|
||||
//if (node == activeTreeNode)
|
||||
//{
|
||||
// brush = SystemBrushes.Highlight;
|
||||
//}
|
||||
//else if (aggAncestryTree.Contains(item))
|
||||
//{
|
||||
// brush = Brushes.LightBlue;
|
||||
//}
|
||||
//else
|
||||
|
||||
if (scene.HasSelection
|
||||
&& (scene.SelectedItem == item
|
||||
|| scene.SelectedItem.Children.Contains(item)))
|
||||
{
|
||||
|
||||
brush = SystemBrushes.Highlight;
|
||||
}
|
||||
else
|
||||
{
|
||||
brush = Brushes.Transparent;
|
||||
}
|
||||
|
|
@ -459,7 +481,6 @@ namespace MatterHackers.MatterControl
|
|||
node == activeTreeNode ? boldFont : node.NodeFont,
|
||||
new Point(node.Bounds.Left, node.Bounds.Top),
|
||||
SystemColors.ControlText,
|
||||
//item.ActuallyVisibleOnScreen() ? SystemColors.ControlText : SystemColors.GrayText,
|
||||
Color.Transparent);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue