Browse Source

Object graph - highlights edge on node item mouse-over.

pull/15/head
mkonicek 15 years ago
parent
commit
5736d53187
  1. 3
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/PositionedGraphNodeControl.xaml
  2. 19
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/PositionedGraphNodeControl.xaml.cs

3
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/PositionedGraphNodeControl.xaml

@ -29,6 +29,8 @@
</ListView.Background> </ListView.Background>
<ListView.ItemContainerStyle> <ListView.ItemContainerStyle>
<Style TargetType="{x:Type ListViewItem}"> <Style TargetType="{x:Type ListViewItem}">
<EventSetter Event="MouseEnter" Handler="ListViewItem_MouseEnter"></EventSetter>
<EventSetter Event="MouseLeave" Handler="ListViewItem_MouseLeave"></EventSetter>
<Setter Property="Background" Value="Transparent" /> <Setter Property="Background" Value="Transparent" />
<Setter Property="Margin" Value="0"></Setter> <Setter Property="Margin" Value="0"></Setter>
<Setter Property="BorderThickness" Value="1" /> <Setter Property="BorderThickness" Value="1" />
@ -73,7 +75,6 @@
Property="Visibility" Value="Collapsed"/> Property="Visibility" Value="Collapsed"/>
</DataTrigger> </DataTrigger>
</DataTemplate.Triggers> </DataTemplate.Triggers>
</DataTemplate> </DataTemplate>
</GridViewColumn.CellTemplate> </GridViewColumn.CellTemplate>
</GridViewColumn> </GridViewColumn>

19
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/PositionedGraphNodeControl.xaml.cs

@ -197,6 +197,25 @@ namespace Debugger.AddIn.Visualizers.Graph.Drawing
if (this.ContentNodeCollapsed != null) if (this.ContentNodeCollapsed != null)
this.ContentNodeCollapsed(this, new ContentNodeEventArgs(node)); this.ContentNodeCollapsed(this, new ContentNodeEventArgs(node));
} }
void ListViewItem_MouseEnter(object sender, MouseEventArgs e)
{
SetEdgeStrokeThickness((ListViewItem)e.Source, 2);
}
void ListViewItem_MouseLeave(object sender, MouseEventArgs e)
{
SetEdgeStrokeThickness((ListViewItem)e.Source, 1);
}
void SetEdgeStrokeThickness(ListViewItem listViewItem, int thickness)
{
var clickedNode = (ContentNode)listViewItem.DataContext;
var propNode = clickedNode as ContentPropertyNode;
if (propNode != null && propNode.Property != null && propNode.Property.Edge != null && propNode.Property.Edge.Spline != null) {
propNode.Property.Edge.Spline.StrokeThickness = thickness;
}
}
#endregion #endregion
} }
} }

Loading…
Cancel
Save