Browse Source

Debugger visualizers - merge a few small helper

files. Rename Graph -> GraphVisualizer.
newNRvisualizers
Martin Konicek 13 years ago
parent
commit
b40a344def
  1. 151
      src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj
  2. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/BoolToBoldConverter.cs
  3. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/CanvasLocationAdapter.cs
  4. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/GraphDrawer.cs
  5. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/NodeControlResources.xaml
  6. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/PositionedGraphNodeControl.xaml
  7. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/PositionedGraphNodeControl.xaml.cs
  8. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/Expanded.cs
  9. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/ExpandedContentNodes.cs
  10. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/ExpandedExpressions.cs
  11. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/ExpandedPaths.cs
  12. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/GraphExpression.cs
  13. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/GraphDiff.cs
  14. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/GraphEdgeRouter.cs
  15. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/GraphMatcher.cs
  16. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedEdge.cs
  17. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedGraph.cs
  18. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedNode.cs
  19. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedNodeProperty.cs
  20. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedPropertyEventArgs.cs
  21. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/Box.cs
  22. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/Edge.cs
  23. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/EdgeRouter.cs
  24. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/GeomUtils.cs
  25. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/IEdge.cs
  26. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/IPoint.cs
  27. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/IRect.cs
  28. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/Point2D.cs
  29. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/EdgeStartEnd.cs
  30. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RouteGraph.cs
  31. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RouteGraphEdge.cs
  32. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RouteVertex.cs
  33. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RoutedEdge.cs
  34. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/ShortestPath/DijkstraShortestPathFinder.cs
  35. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/Tree/LayoutDirection.cs
  36. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/Tree/TreeLayout.cs
  37. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/TreeModel/ContentNode.cs
  38. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/TreeModel/ContentNodeEventArgs.cs
  39. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/TreeModel/ContentPropertyNode.cs
  40. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/NamedEdge.cs
  41. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraph.cs
  42. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphBuilder.cs
  43. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphNode.cs
  44. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphProperty.cs
  45. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/PropertiesFirstComparer.cs
  46. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/AbstractNode.cs
  47. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/BaseClassNode.cs
  48. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/NonPublicMembersNode.cs
  49. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/PropertyNode.cs
  50. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/RawViewNode.cs
  51. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/ThisNode.cs
  52. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphControl.xaml
  53. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphControl.xaml.cs
  54. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphWindow.xaml
  55. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphWindow.xaml.cs
  56. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/DisplayAttribute.cs
  57. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/DragScrollViewer.cs
  58. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/EnumViewModel.cs
  59. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/GridViewColumnHider.cs
  60. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/GridViewHideableColumn.cs
  61. 0
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/TooltipVisibilityConverter.cs
  62. 27
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/DictionaryExtensions.cs
  63. 29
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/IEnumerableExtensions.cs
  64. 17
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/ITreeNode.cs
  65. 20
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/LinqUtils.cs
  66. 35
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/ListHelper.cs
  67. 23
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/StringHelper.cs
  68. 49
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/TreeFlattener.cs
  69. 75
      src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/Util.cs

151
src/AddIns/Debugger/Debugger.AddIn/Debugger.AddIn.csproj

@ -158,72 +158,67 @@ @@ -158,72 +158,67 @@
<Compile Include="Visualizers\Common\ObjectPropertyComparer.cs" />
<Compile Include="Visualizers\Common\VirtualizingCollection.cs" />
<Compile Include="Visualizers\Common\VirtualizingObservableCollection.cs" />
<Compile Include="Visualizers\Graph\Drawing\BoolToBoldConverter.cs" />
<Compile Include="Visualizers\Graph\Drawing\CanvasLocationAdapter.cs" />
<Compile Include="Visualizers\Graph\Drawing\GraphDrawer.cs" />
<Compile Include="Visualizers\Graph\Drawing\PositionedGraphNodeControl.xaml.cs" />
<Compile Include="Visualizers\Graph\ExpandedPaths\Expanded.cs" />
<Compile Include="Visualizers\Graph\ExpandedPaths\ExpandedContentNodes.cs" />
<Compile Include="Visualizers\Graph\ExpandedPaths\ExpandedExpressions.cs" />
<Compile Include="Visualizers\Graph\ExpandedPaths\ExpandedPaths.cs" />
<Compile Include="Visualizers\Graph\GraphExpression.cs" />
<Compile Include="Visualizers\Graph\Layout\GraphDiff.cs" />
<Compile Include="Visualizers\Graph\Layout\GraphEdgeRouter.cs" />
<Compile Include="Visualizers\Graph\Layout\GraphMatcher.cs" />
<Compile Include="Visualizers\Graph\Layout\PositionedEdge.cs" />
<Compile Include="Visualizers\Graph\Layout\PositionedGraph.cs" />
<Compile Include="Visualizers\Graph\Layout\PositionedNode.cs" />
<Compile Include="Visualizers\Graph\Layout\PositionedNodeProperty.cs" />
<Compile Include="Visualizers\Graph\Layout\PositionedPropertyEventArgs.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\Box.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\Edge.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\EdgeRouter.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\GeomUtils.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\IEdge.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\IPoint.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\IRect.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\Point2D.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\RouteGraph\EdgeStartEnd.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\RouteGraph\RoutedEdge.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\RouteGraph\RouteGraph.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\RouteGraph\RouteGraphEdge.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\RouteGraph\RouteVertex.cs" />
<Compile Include="Visualizers\Graph\Layout\SplineRouting\ShortestPath\DijkstraShortestPathFinder.cs" />
<Compile Include="Visualizers\Graph\Layout\TreeModel\ContentNode.cs" />
<Compile Include="Visualizers\Graph\Layout\TreeModel\ContentNodeEventArgs.cs" />
<Compile Include="Visualizers\Graph\Layout\TreeModel\ContentPropertyNode.cs" />
<Compile Include="Visualizers\Graph\Layout\Tree\LayoutDirection.cs" />
<Compile Include="Visualizers\Graph\Layout\Tree\TreeLayout.cs" />
<Compile Include="Visualizers\Graph\ObjectGraphControl.xaml.cs" />
<Compile Include="Visualizers\Graph\ObjectGraphWindow.xaml.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\NamedEdge.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\ObjectGraph.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\ObjectGraphBuilder.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\ObjectGraphNode.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\ObjectGraphProperty.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\PropertiesFirstComparer.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\TreeModel\AbstractNode.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\TreeModel\BaseClassNode.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\TreeModel\NonPublicMembersNode.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\TreeModel\PropertyNode.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\TreeModel\RawViewNode.cs" />
<Compile Include="Visualizers\Graph\ObjectGraph\TreeModel\ThisNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\Drawing\BoolToBoldConverter.cs" />
<Compile Include="Visualizers\GraphVisualizer\Drawing\CanvasLocationAdapter.cs" />
<Compile Include="Visualizers\GraphVisualizer\Drawing\GraphDrawer.cs" />
<Compile Include="Visualizers\GraphVisualizer\Drawing\PositionedGraphNodeControl.xaml.cs" />
<Compile Include="Visualizers\GraphVisualizer\ExpandedPaths\Expanded.cs" />
<Compile Include="Visualizers\GraphVisualizer\ExpandedPaths\ExpandedContentNodes.cs" />
<Compile Include="Visualizers\GraphVisualizer\ExpandedPaths\ExpandedExpressions.cs" />
<Compile Include="Visualizers\GraphVisualizer\ExpandedPaths\ExpandedPaths.cs" />
<Compile Include="Visualizers\GraphVisualizer\GraphExpression.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\GraphDiff.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\GraphEdgeRouter.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\GraphMatcher.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\PositionedEdge.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\PositionedGraph.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\PositionedNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\PositionedNodeProperty.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\PositionedPropertyEventArgs.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\Box.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\Edge.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\EdgeRouter.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\GeomUtils.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\IEdge.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\IPoint.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\IRect.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\Point2D.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\RouteGraph\EdgeStartEnd.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\RouteGraph\RoutedEdge.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\RouteGraph\RouteGraph.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\RouteGraph\RouteGraphEdge.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\RouteGraph\RouteVertex.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\SplineRouting\ShortestPath\DijkstraShortestPathFinder.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\TreeModel\ContentNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\TreeModel\ContentNodeEventArgs.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\TreeModel\ContentPropertyNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\Tree\LayoutDirection.cs" />
<Compile Include="Visualizers\GraphVisualizer\Layout\Tree\TreeLayout.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraphControl.xaml.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraphWindow.xaml.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\NamedEdge.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\ObjectGraph.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\ObjectGraphBuilder.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\ObjectGraphNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\ObjectGraphProperty.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\PropertiesFirstComparer.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\TreeModel\AbstractNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\TreeModel\BaseClassNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\TreeModel\NonPublicMembersNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\TreeModel\PropertyNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\TreeModel\RawViewNode.cs" />
<Compile Include="Visualizers\GraphVisualizer\ObjectGraph\TreeModel\ThisNode.cs" />
<Compile Include="Visualizers\GridVisualizer\GridVisualizerWindow.xaml.cs" />
<Compile Include="Visualizers\PresentationBindings\DisplayAttribute.cs" />
<Compile Include="Visualizers\PresentationBindings\DragScrollViewer.cs" />
<Compile Include="Visualizers\PresentationBindings\EnumViewModel.cs" />
<Compile Include="Visualizers\PresentationBindings\GridViewColumnHider.cs" />
<Compile Include="Visualizers\PresentationBindings\GridViewHideableColumn.cs" />
<Compile Include="Visualizers\PresentationBindings\TooltipVisibilityConverter.cs" />
<Compile Include="Visualizers\Presentation\DisplayAttribute.cs" />
<Compile Include="Visualizers\Presentation\DragScrollViewer.cs" />
<Compile Include="Visualizers\Presentation\EnumViewModel.cs" />
<Compile Include="Visualizers\Presentation\GridViewColumnHider.cs" />
<Compile Include="Visualizers\Presentation\GridViewHideableColumn.cs" />
<Compile Include="Visualizers\Presentation\TooltipVisibilityConverter.cs" />
<Compile Include="Visualizers\TextVisualizer\TextVisualizerWindow.xaml.cs" />
<Compile Include="Visualizers\Utils\DebuggerHelpers.cs" />
<Compile Include="Visualizers\Utils\DictionaryExtensions.cs" />
<Compile Include="Visualizers\Utils\IEnumerableExtensions.cs" />
<Compile Include="Visualizers\Utils\ITreeNode.cs" />
<Compile Include="Visualizers\Utils\LinqUtils.cs" />
<Compile Include="Visualizers\Utils\ListHelper.cs" />
<Compile Include="Visualizers\Utils\Util.cs" />
<Compile Include="Visualizers\Utils\Multimap.cs" />
<Compile Include="Visualizers\Utils\StringHelper.cs" />
<Compile Include="Visualizers\Utils\TreeFlattener.cs" />
<Compile Include="Visualizers\Utils\TypeResolver.cs" />
<EmbeddedResource Include="Service\DebuggeeExceptionForm.resx">
@ -298,19 +293,19 @@ @@ -298,19 +293,19 @@
<Folder Include="Visualizers" />
<Folder Include="Visualizers\Commands" />
<Folder Include="Visualizers\Common" />
<Folder Include="Visualizers\Graph" />
<Folder Include="Visualizers\Graph\Drawing" />
<Folder Include="Visualizers\Graph\ExpandedPaths" />
<Folder Include="Visualizers\Graph\Layout" />
<Folder Include="Visualizers\Graph\Layout\SplineRouting" />
<Folder Include="Visualizers\Graph\Layout\SplineRouting\RouteGraph" />
<Folder Include="Visualizers\Graph\Layout\SplineRouting\ShortestPath" />
<Folder Include="Visualizers\Graph\Layout\Tree" />
<Folder Include="Visualizers\Graph\Layout\TreeModel" />
<Folder Include="Visualizers\Graph\ObjectGraph" />
<Folder Include="Visualizers\Graph\ObjectGraph\TreeModel" />
<Folder Include="Visualizers\GraphVisualizer" />
<Folder Include="Visualizers\GraphVisualizer\Drawing" />
<Folder Include="Visualizers\GraphVisualizer\ExpandedPaths" />
<Folder Include="Visualizers\GraphVisualizer\Layout" />
<Folder Include="Visualizers\GraphVisualizer\Layout\SplineRouting" />
<Folder Include="Visualizers\GraphVisualizer\Layout\SplineRouting\RouteGraph" />
<Folder Include="Visualizers\GraphVisualizer\Layout\SplineRouting\ShortestPath" />
<Folder Include="Visualizers\GraphVisualizer\Layout\Tree" />
<Folder Include="Visualizers\GraphVisualizer\Layout\TreeModel" />
<Folder Include="Visualizers\GraphVisualizer\ObjectGraph" />
<Folder Include="Visualizers\GraphVisualizer\ObjectGraph\TreeModel" />
<Folder Include="Visualizers\GridVisualizer" />
<Folder Include="Visualizers\PresentationBindings" />
<Folder Include="Visualizers\Presentation" />
<Folder Include="Visualizers\TextVisualizer" />
<Folder Include="Visualizers\Utils" />
<Page Include="Options\DebuggingOptionsPanel.xaml" />
@ -319,10 +314,10 @@ @@ -319,10 +314,10 @@
<Page Include="Service\EditBreakpointScriptWindow.xaml" />
<Page Include="Tooltips\DebuggerTooltipControl.xaml" />
<Page Include="Tooltips\VisualizerPicker.xaml" />
<Page Include="Visualizers\Graph\Drawing\NodeControlResources.xaml" />
<Page Include="Visualizers\Graph\Drawing\PositionedGraphNodeControl.xaml" />
<Page Include="Visualizers\Graph\ObjectGraphControl.xaml" />
<Page Include="Visualizers\Graph\ObjectGraphWindow.xaml" />
<Page Include="Visualizers\GraphVisualizer\Drawing\NodeControlResources.xaml" />
<Page Include="Visualizers\GraphVisualizer\Drawing\PositionedGraphNodeControl.xaml" />
<Page Include="Visualizers\GraphVisualizer\ObjectGraphControl.xaml" />
<Page Include="Visualizers\GraphVisualizer\ObjectGraphWindow.xaml" />
<Page Include="Visualizers\GridVisualizer\ColumnPicker.xaml" />
<Page Include="Visualizers\GridVisualizer\GridVisualizerWindow.xaml" />
<Page Include="Visualizers\TextVisualizer\TextVisualizerWindow.xaml" />

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/BoolToBoldConverter.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/BoolToBoldConverter.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/CanvasLocationAdapter.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/CanvasLocationAdapter.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/GraphDrawer.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/GraphDrawer.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/NodeControlResources.xaml → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/NodeControlResources.xaml

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/PositionedGraphNodeControl.xaml → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/PositionedGraphNodeControl.xaml

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Drawing/PositionedGraphNodeControl.xaml.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Drawing/PositionedGraphNodeControl.xaml.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ExpandedPaths/Expanded.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/Expanded.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ExpandedPaths/ExpandedContentNodes.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/ExpandedContentNodes.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ExpandedPaths/ExpandedExpressions.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/ExpandedExpressions.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ExpandedPaths/ExpandedPaths.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ExpandedPaths/ExpandedPaths.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/GraphExpression.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/GraphExpression.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/GraphDiff.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/GraphDiff.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/GraphEdgeRouter.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/GraphEdgeRouter.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/GraphMatcher.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/GraphMatcher.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/PositionedEdge.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedEdge.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/PositionedGraph.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedGraph.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/PositionedNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/PositionedNodeProperty.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedNodeProperty.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/PositionedPropertyEventArgs.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/PositionedPropertyEventArgs.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/Box.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/Box.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/Edge.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/Edge.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/EdgeRouter.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/EdgeRouter.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/GeomUtils.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/GeomUtils.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/IEdge.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/IEdge.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/IPoint.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/IPoint.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/IRect.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/IRect.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/Point2D.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/Point2D.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/RouteGraph/EdgeStartEnd.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/EdgeStartEnd.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/RouteGraph/RouteGraph.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RouteGraph.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/RouteGraph/RouteGraphEdge.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RouteGraphEdge.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/RouteGraph/RouteVertex.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RouteVertex.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/RouteGraph/RoutedEdge.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/RouteGraph/RoutedEdge.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/SplineRouting/ShortestPath/DijkstraShortestPathFinder.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/SplineRouting/ShortestPath/DijkstraShortestPathFinder.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/Tree/LayoutDirection.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/Tree/LayoutDirection.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/Tree/TreeLayout.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/Tree/TreeLayout.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/TreeModel/ContentNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/TreeModel/ContentNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/TreeModel/ContentNodeEventArgs.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/TreeModel/ContentNodeEventArgs.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/Layout/TreeModel/ContentPropertyNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/Layout/TreeModel/ContentPropertyNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/NamedEdge.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/NamedEdge.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/ObjectGraph.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraph.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/ObjectGraphBuilder.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphBuilder.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/ObjectGraphNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/ObjectGraphProperty.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/ObjectGraphProperty.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/PropertiesFirstComparer.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/PropertiesFirstComparer.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/TreeModel/AbstractNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/AbstractNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/TreeModel/BaseClassNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/BaseClassNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/TreeModel/NonPublicMembersNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/NonPublicMembersNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/TreeModel/PropertyNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/PropertyNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/TreeModel/RawViewNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/RawViewNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraph/TreeModel/ThisNode.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraph/TreeModel/ThisNode.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraphControl.xaml → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphControl.xaml

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraphControl.xaml.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphControl.xaml.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraphWindow.xaml → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphWindow.xaml

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Graph/ObjectGraphWindow.xaml.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/GraphVisualizer/ObjectGraphWindow.xaml.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/PresentationBindings/DisplayAttribute.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/DisplayAttribute.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/PresentationBindings/DragScrollViewer.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/DragScrollViewer.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/PresentationBindings/EnumViewModel.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/EnumViewModel.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/PresentationBindings/GridViewColumnHider.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/GridViewColumnHider.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/PresentationBindings/GridViewHideableColumn.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/GridViewHideableColumn.cs

0
src/AddIns/Debugger/Debugger.AddIn/Visualizers/PresentationBindings/TooltipVisibilityConverter.cs → src/AddIns/Debugger/Debugger.AddIn/Visualizers/Presentation/TooltipVisibilityConverter.cs

27
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/DictionaryExtensions.cs

@ -1,27 +0,0 @@ @@ -1,27 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System;
using System.Collections.Generic;
namespace Debugger.AddIn.Visualizers.Utils
{
public static class DictionaryExtensions
{
/// <summary>
/// Gets value from Dictionary, returns null if not found.
/// </summary>
public static TValue GetValue<TKey, TValue>(this Dictionary<TKey, TValue> dictionary, TKey key) where TValue : class
{
TValue outValue;
if (dictionary.TryGetValue(key, out outValue))
{
return outValue;
}
else
{
return null;
}
}
}
}

29
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/IEnumerableExtensions.cs

@ -1,29 +0,0 @@ @@ -1,29 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System.Collections.Generic;
using System.Linq;
using System;
namespace Debugger.AddIn.Visualizers.Utils
{
public static class IEnumerableExtensions
{
/// <summary>
/// Builds Dictionary for quickly searching a collection.
/// The keys must be unique.
/// </summary>
/// <param name="collection">Collection for which to build Dictionary.</param>
/// <param name="keySelector">Function returning key by which to index.</param>
public static Dictionary<K, V> MakeDictionary<K, V>(this IEnumerable<V> collection, Func<V, K> keySelector)
{
Dictionary<K, V> dictionary = new Dictionary<K, V>();
foreach (V item in collection) {
K key = keySelector(item);
if (dictionary.ContainsKey(key)) throw new InvalidOperationException("MakeDictionary: key " + key + " seen twice");
dictionary[key] = item;
}
return dictionary;
}
}
}

17
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/ITreeNode.cs

@ -1,17 +0,0 @@ @@ -1,17 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System.Collections.Generic;
using System.Linq;
using System;
namespace Debugger.AddIn.Visualizers.Utils
{
/// <summary>
/// Anything that has recursive children. Used by <see cref="TreeFlattener">.
/// </summary>
public interface ITreeNode<T>
{
IEnumerable<T> Children { get; }
}
}

20
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/LinqUtils.cs

@ -1,20 +0,0 @@ @@ -1,20 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System.Collections.Generic;
using System.Linq;
using System;
namespace Debugger.AddIn.Visualizers.Utils
{
public static class LinqUtils
{
public static int MaxOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, int> selector, int defaultValue)
{
if (source.Count() == 0)
return defaultValue;
return source.Max(selector);
}
}
}

35
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/ListHelper.cs

@ -1,35 +0,0 @@ @@ -1,35 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System.Collections.Generic;
using System.Linq;
using System;
namespace Debugger.AddIn.Visualizers.Utils
{
/// <summary>
/// ListHelper wraps System.Collection.Generic.List methods to return the original list,
/// instead of returning 'void', so we can write eg. list.Sorted().First()
/// </summary>
public static class ListHelper
{
public static List<T> Sorted<T>(this List<T> list, IComparer<T> comparer)
{
list.Sort(comparer);
return list;
}
public static List<T> Sorted<T>(this List<T> list)
{
list.Sort();
return list;
}
public static List<T> SingleItemList<T>(this T singleItem)
{
var newList = new List<T>();
newList.Add(singleItem);
return newList;
}
}
}

23
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/StringHelper.cs

@ -1,23 +0,0 @@ @@ -1,23 +0,0 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Debugger.AddIn.Visualizers.Utils
{
/// <summary>
/// Description of StringHelper.
/// </summary>
public class StringHelper
{
public static string Repeat(char c, int count)
{
StringBuilder sb = new StringBuilder();
sb.Append(c, count);
return sb.ToString();
}
}
}

49
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/TreeFlattener.cs

@ -8,12 +8,20 @@ using System; @@ -8,12 +8,20 @@ using System;
namespace Debugger.AddIn.Visualizers.Utils
{
/// <summary>
/// Walks tree structure to produce flat list.
/// Anything that has recursive children. Used by <see cref="TreeFlattener">.
/// </summary>
public interface ITreeNode<T>
{
IEnumerable<T> Children { get; }
}
/// <summary>
/// Transforms a tree structure into a flat list.
/// </summary>
public class TreeFlattener
{
/// <summary>
/// Flattens tree by preorder walk.
/// Flattens a tree by preorder walk.
/// Does not make copies of the nodes, just returns List of refences to nodes in original tree.
/// </summary>
public static List<T> Flatten<T>(T root) where T : ITreeNode<T>
@ -22,34 +30,29 @@ namespace Debugger.AddIn.Visualizers.Utils @@ -22,34 +30,29 @@ namespace Debugger.AddIn.Visualizers.Utils
}
/// <summary>
/// Flattens tree by preorder walk.
/// Flattens a tree by preorder walk.
/// Does not make copies of the nodes, just returns List of refences to nodes in original tree.
/// </summary>
/// <param name="root">Tree root.</param>
/// <param name="selectNode">Selector telling which nodes be processed.</param>
public static List<T> Flatten<T>(T root, Func<T, bool> selectNode) where T : ITreeNode<T>
{
if (root == null)
throw new ArgumentNullException("root");
if (root == null) throw new ArgumentNullException("root");
List<T> flattened = new List<T>();
flattenRecursive(root, selectNode, flattened);
return flattened;
}
/// <summary>
/// Flattens tree by preorder walk.
/// Flattens a tree by preorder walk.
/// Does not make copies of the nodes, just returns List of refences to nodes in original tree.
/// </summary>
/// <param name="root">Tree root.</param>
/// <param name="selectChildren">Selector telling which nodes should have children processed.</param>
public static List<T> FlattenSelectChildrenIf<T>(T root, Func<T, bool> selectChildren) where T : ITreeNode<T>
{
if (root == null)
throw new ArgumentNullException("root");
if (selectChildren == null)
throw new ArgumentNullException("selectChildren");
if (root == null) throw new ArgumentNullException("root");
if (selectChildren == null) throw new ArgumentNullException("selectChildren");
List<T> flattened = new List<T>();
flattenSelectChildrenRecursive(root, selectChildren, flattened);
return flattened;
@ -57,14 +60,10 @@ namespace Debugger.AddIn.Visualizers.Utils @@ -57,14 +60,10 @@ namespace Debugger.AddIn.Visualizers.Utils
public static List<T> FlattenSelectChildrenIf<T>(IEnumerable<T> roots, Func<T, bool> selectChildren) where T : ITreeNode<T>
{
if (roots == null)
throw new ArgumentNullException("root");
if (selectChildren == null)
throw new ArgumentNullException("selectChildren");
if (roots == null) throw new ArgumentNullException("root");
if (selectChildren == null) throw new ArgumentNullException("selectChildren");
List<T> flattened = new List<T>();
foreach (T root in roots)
{
foreach (T root in roots) {
flattenSelectChildrenRecursive(root, selectChildren, flattened);
}
return flattened;
@ -72,11 +71,9 @@ namespace Debugger.AddIn.Visualizers.Utils @@ -72,11 +71,9 @@ namespace Debugger.AddIn.Visualizers.Utils
private static void flattenRecursive<T>(T root, Func<T, bool> selectNode, IList<T> flattened) where T : ITreeNode<T>
{
if (selectNode(root))
{
if (selectNode(root)) {
flattened.Add(root);
foreach (T child in root.Children)
{
foreach (T child in root.Children) {
flattenRecursive(child, selectNode, flattened);
}
}
@ -85,10 +82,8 @@ namespace Debugger.AddIn.Visualizers.Utils @@ -85,10 +82,8 @@ namespace Debugger.AddIn.Visualizers.Utils
private static void flattenSelectChildrenRecursive<T>(T root, Func<T, bool> selectChildren, IList<T> flattened) where T : ITreeNode<T>
{
flattened.Add(root);
if (selectChildren(root))
{
foreach (T child in root.Children)
{
if (selectChildren(root)) {
foreach (T child in root.Children) {
flattenSelectChildrenRecursive(child, selectChildren, flattened);
}
}

75
src/AddIns/Debugger/Debugger.AddIn/Visualizers/Utils/Util.cs

@ -0,0 +1,75 @@ @@ -0,0 +1,75 @@
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the BSD license (for details please see \src\AddIns\Debugger\Debugger.AddIn\license.txt)
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Debugger.AddIn.Visualizers.Utils
{
public static class Util
{
public static int MaxOrDefault<TSource>(this IEnumerable<TSource> source, Func<TSource, int> selector, int defaultValue)
{
if (source.Count() == 0) {
return defaultValue;
}
return source.Max(selector);
}
public static string Repeat(char c, int count)
{
StringBuilder sb = new StringBuilder();
sb.Append(c, count);
return sb.ToString();
}
/// <summary>
/// Gets value from Dictionary. Returns null if not found.
/// </summary>
public static TValue GetValue<TKey, TValue>(this Dictionary<TKey, TValue> dictionary, TKey key) where TValue : class
{
TValue outValue;
if (dictionary.TryGetValue(key, out outValue)) {
return outValue;
}
return null;
}
/// <summary>
/// Builds a Dictionary for quickly searching a collection. Item keys must be unique.
/// </summary>
/// <param name="collection">Collection for which to build Dictionary.</param>
/// <param name="keySelector">Function returning key by which to index.</param>
public static Dictionary<K, V> MakeDictionary<K, V>(this IEnumerable<V> collection, Func<V, K> keySelector)
{
Dictionary<K, V> dictionary = new Dictionary<K, V>();
foreach (V item in collection) {
K key = keySelector(item);
if (dictionary.ContainsKey(key)) throw new InvalidOperationException("MakeDictionary: key " + key + " seen twice");
dictionary[key] = item;
}
return dictionary;
}
public static List<T> Sorted<T>(this List<T> list, IComparer<T> comparer)
{
list.Sort(comparer);
return list;
}
public static List<T> Sorted<T>(this List<T> list)
{
list.Sort();
return list;
}
public static List<T> SingleItemList<T>(this T singleItem)
{
var newList = new List<T>();
newList.Add(singleItem);
return newList;
}
}
}
Loading…
Cancel
Save