Changeset 11503 for branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymboldDataAnalysisGenealogyView.cs
- Timestamp:
- 10/26/14 22:20:26 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HeuristicLab.EvolutionTracking/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/Tracking/SymboldDataAnalysisGenealogyView.cs
r11253 r11503 20 20 #endregion 21 21 22 using System; 22 23 using System.Collections.Generic; 23 24 using System.Drawing; … … 61 62 protected override void RegisterContentEvents() { 62 63 genealogyGraphChart.GenealogyGraphNodeClicked += graphChart_GenealogyGraphNodeClicked; 64 genealogyGraphChart.GenealogyGraphNodeDoubleClicked += graphChart_GenealogyGraphNodeDoubleClicked; 63 65 symbolicExpressionTreeChart.SymbolicExpressionTreeNodeClicked += treeChart_SymbolicExpressionNodeClicked; 64 66 base.RegisterContentEvents(); … … 78 80 79 81 if (graphNode.InArcs.Any()) { 80 var fragment = (IFragment<ISymbolicExpressionTreeNode>)graphNode.InArcs.Last().Data;82 var fragment = graphNode.InArcs.Last().Data as IFragment<ISymbolicExpressionTreeNode>; 81 83 if (fragment != null) { 82 84 treeChart_HighlightSubtree(graphNode.Data.NodeAt(fragment.Index1)); 85 } else { 86 var td = graphNode.InArcs.Last().Data as Tuple<int, int, int, int>; 87 if (td != null) { 88 var s = graphNode.Data.NodeAt(td.Item1); 89 var f = graphNode.Data.NodeAt(td.Item2); 90 treeChart_HighlightSubtree(s, Color.Orange); 91 treeChart_HighlightSubtree(f, Color.RoyalBlue); 92 } 83 93 } 84 94 } 95 } 96 97 public void graphChart_GenealogyGraphNodeDoubleClicked(object sender, MouseEventArgs arcs) { 98 var visualNode = (VisualGenealogyGraphNode)sender; 99 var graphNode = (IGenealogyGraphNode<ISymbolicExpressionTree>)visualNode.Data; 100 var tree = graphNode.Data; 101 MainFormManager.MainForm.ShowContent(tree); 85 102 } 86 103 … … 109 126 var matchingTrees = trees.Where(x => x.Root.ContainsSubtree(subtree, comparer)); 110 127 111 var matchingVertices = matchingTrees.Select(x => Content.GetByContent(x)) .Cast<IGenealogyGraphNode<ISymbolicExpressionTree>>();128 var matchingVertices = matchingTrees.Select(x => Content.GetByContent(x)); 112 129 graphChart_highlightMatchingVertices(matchingVertices); 113 130 } … … 133 150 } 134 151 135 private void treeChart_HighlightSubtree(ISymbolicExpressionTreeNode subtree) { 152 private void treeChart_HighlightSubtree(ISymbolicExpressionTreeNode subtree, Color? color = null) { 153 Color myColor = color == null ? Color.RoyalBlue : (Color)color; 136 154 foreach (var s in subtree.IterateNodesPrefix()) { 137 155 var visualNode = symbolicExpressionTreeChart.GetVisualSymbolicExpressionTreeNode(s); 138 visualNode.LineColor = Color.RoyalBlue;139 visualNode.FillColor = Color.LightBlue;156 visualNode.LineColor = myColor; 157 // visualNode.FillColor = myColor; 140 158 141 159 foreach (var c in s.Subtrees) { 142 160 var visualArc = symbolicExpressionTreeChart.GetVisualSymbolicExpressionTreeNodeConnection(s, c); 143 visualArc.LineColor = Color.RoyalBlue;161 visualArc.LineColor = myColor; 144 162 } 145 163 }
Note: See TracChangeset
for help on using the changeset viewer.