- Timestamp:
- 11/30/12 23:15:47 (11 years ago)
- Location:
- trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionTreeChart.cs
r8942 r8980 127 127 } 128 128 129 public void RepaintNodes() { 130 if (!suspendRepaint) { 131 var graphics = Graphics.FromImage(image); 132 graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 133 graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 134 foreach (var visualNode in visualTreeNodes.Values) { 135 DrawTreeNode(graphics, visualNode); 136 } 137 this.Refresh(); 138 } 139 } 140 141 public void RepaintNode(VisualSymbolicExpressionTreeNode visualNode) { 142 if (!suspendRepaint) { 143 var graphics = Graphics.FromImage(image); 144 graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 145 graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 146 DrawTreeNode(graphics, visualNode); 147 this.Refresh(); 148 } 149 } 150 129 151 private void GenerateImage() { 130 152 using (Graphics graphics = Graphics.FromImage(image)) { … … 311 333 } 312 334 } 335 336 protected void DrawTreeNode(VisualSymbolicExpressionTreeNode visualTreeNode) { 337 using (var graphics = Graphics.FromImage(image)) { 338 graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 339 graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 340 DrawTreeNode(graphics, visualTreeNode); 341 } 342 } 343 344 protected void DrawTreeNode(Graphics graphics, VisualSymbolicExpressionTreeNode visualTreeNode) { 345 graphics.Clip = new Region(new Rectangle(visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width + 1, visualTreeNode.Height + 1)); 346 graphics.Clear(backgroundColor); 347 var node = visualTreeNode.SymbolicExpressionTreeNode; 348 var textBrush = new SolidBrush(visualTreeNode.TextColor); 349 var nodeLinePen = new Pen(visualTreeNode.LineColor); 350 var nodeFillBrush = new SolidBrush(visualTreeNode.FillColor); 351 //draw terminal node 352 if (node.SubtreeCount == 0) { 353 graphics.FillRectangle(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 354 graphics.DrawRectangle(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 355 } else { 356 graphics.FillEllipse(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 357 graphics.DrawEllipse(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 358 } 359 //draw name of symbol 360 var text = node.ToString(); 361 graphics.DrawString(text, textFont, textBrush, new RectangleF(visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height), stringFormat); 362 } 313 363 #endregion 314 364 -
trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/VisualSymbolicExpressionTreeNode.cs
r7259 r8980 85 85 public ISymbolicExpressionTreeNode SymbolicExpressionTreeNode { 86 86 get { return this.symbolicExpressionTreeNode; } 87 set { 88 symbolicExpressionTreeNode = value; 89 ToolTip = SymbolicExpressionTreeNode.ToString(); 90 } 87 91 } 88 92
Note: See TracChangeset
for help on using the changeset viewer.