- Timestamp:
- 05/06/14 15:33:50 (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Problems.DataAnalysis.Symbolic.Views/3.4/InteractiveSymbolicDataAnalysisSolutionSimplifierView.cs
r10564 r10799 105 105 private void treeChart_SymbolicExpressionTreeNodeDoubleClicked(object sender, MouseEventArgs e) { 106 106 var visualNode = (VisualTreeNode<ISymbolicExpressionTreeNode>)sender; 107 if (visualNode.Content == null) { throw new Exception("Visual node content cannot be null."); } 107 108 var symbExprTreeNode = (SymbolicExpressionTreeNode)visualNode.Content; 108 if (symbExprTreeNode == null) return; 109 var tree = Content.Model.SymbolicExpressionTree; 109 if (!foldedNodes.ContainsKey(symbExprTreeNode)) return; // constant nodes cannot be folded 110 110 var parent = symbExprTreeNode.Parent; 111 111 int indexOfSubtree = parent.IndexOfSubtree(symbExprTreeNode); 112 if (foldedNodes.ContainsKey(symbExprTreeNode)) { 113 // undo node folding 114 SwitchNodeWithReplacementNode(parent, indexOfSubtree); 115 } 116 UpdateModel(tree); 112 SwitchNodeWithReplacementNode(parent, indexOfSubtree); 113 UpdateModel(Content.Model.SymbolicExpressionTree); 117 114 } 118 115 119 116 private void SwitchNodeWithReplacementNode(ISymbolicExpressionTreeNode parent, int subTreeIndex) { 120 117 ISymbolicExpressionTreeNode subTree = parent.GetSubtree(subTreeIndex); 121 parent.RemoveSubtree(subTreeIndex);122 118 if (foldedNodes.ContainsKey(subTree)) { 119 parent.RemoveSubtree(subTreeIndex); 123 120 var replacementNode = foldedNodes[subTree]; 124 121 parent.InsertSubtree(subTreeIndex, replacementNode); … … 137 134 138 135 if (!(treeNode is ConstantTreeNode) && nodeImpacts.ContainsKey(treeNode)) { 136 visualTree.ToolTip = visualTree.Content.ToString(); // to avoid duplicate tooltips 139 137 double impact = nodeImpacts[treeNode]; 140 138
Note: See TracChangeset
for help on using the changeset viewer.