- Timestamp:
- 04/16/13 13:13:41 (11 years ago)
- Location:
- branches/OaaS
- Files:
-
- 12 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/OaaS
- Property svn:ignore
-
old new 21 21 protoc.exe 22 22 _ReSharper.HeuristicLab 3.3 Tests 23 Google.ProtocolBuffers-2.4.1.473.dll 23 24 packages
-
- Property svn:mergeinfo changed
- Property svn:ignore
-
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
/trunk/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views merged eligible /branches/Algorithms.GradientDescent/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5516-5520 /branches/Benchmarking/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 6917-7005 /branches/CloningRefactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 4656-4721 /branches/DataAnalysis Refactoring/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5471-5808 /branches/DataAnalysis SolutionEnsembles/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5815-6180 /branches/DataAnalysis/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 4458-4459,4462,4464 /branches/GP.Grammar.Editor/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 6284-6795 /branches/GP.Symbols (TimeLag, Diff, Integral)/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5060 /branches/HeuristicLab.TreeSimplifier/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 8388-8940 /branches/NET40/sources/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5138-5162 /branches/ParallelEngine/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5175-5192 /branches/ProblemInstancesRegressionAndClassification/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 7568-7810 /branches/QAPAlgorithms/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 6350-6627 /branches/Restructure trunk solution/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 6828 /branches/RuntimeOptimizer/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 8943-9078 /branches/ScatterSearch (trunk integration)/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 7787-8333 /branches/SlaveShutdown/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 8944-8956 /branches/SuccessProgressAnalysis/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5370-5682 /branches/Trunk/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 6829-6865 /branches/UnloadJobs/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 9168-9215 /branches/VNS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5594-5752 /branches/histogram/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views 5959-6341
-
Property
svn:mergeinfo
set to
(toggle deleted branches)
-
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4
- Property svn:ignore
-
old new 5 5 HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj.user 6 6 Plugin.cs 7 *.user
-
- Property svn:ignore
-
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.csproj
r6866 r9363 276 276 --> 277 277 <PropertyGroup> 278 <PreBuildEvent>set Path=%25Path%25;$(ProjectDir);$(SolutionDir)278 <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">set Path=%25Path%25;$(ProjectDir);$(SolutionDir) 279 279 set ProjectDir=$(ProjectDir) 280 280 set SolutionDir=$(SolutionDir) … … 283 283 call PreBuildEvent.cmd 284 284 </PreBuildEvent> 285 <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' "> 286 export ProjectDir=$(ProjectDir) 287 export SolutionDir=$(SolutionDir) 288 289 $SolutionDir/PreBuildEvent.sh 290 </PreBuildEvent> 285 291 </PropertyGroup> 286 292 </Project> -
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/Plugin.cs.frame
r7259 r9363 26 26 27 27 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views { 28 [Plugin("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views","Provides views for the symbolic expression tree encoding.", "3.4. 2.$WCREV$")]28 [Plugin("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views","Provides views for the symbolic expression tree encoding.", "3.4.3.$WCREV$")] 29 29 [PluginFile("HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views-3.4.dll", PluginFileType.Assembly)] 30 30 [PluginDependency("HeuristicLab.Collections", "3.3")] -
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/Properties
- Property svn:ignore
--- +++
- Property svn:ignore
-
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/Properties/AssemblyInfo.cs.frame
r7259 r9363 45 45 46 46 [assembly: AssemblyVersion("3.4.0.0")] 47 [assembly: AssemblyFileVersion("3.4. 2.$WCREV$")]47 [assembly: AssemblyFileVersion("3.4.3.$WCREV$")] -
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolView.Designer.cs
r7967 r9363 175 175 protected System.Windows.Forms.Label initialFrequencyLabel; 176 176 protected System.Windows.Forms.TextBox initialFrequencyTextBox; 177 pr ivateSystem.Windows.Forms.CheckBox enabledCheckBox;177 protected System.Windows.Forms.CheckBox enabledCheckBox; 178 178 protected System.Windows.Forms.Label minimumArityLabel; 179 179 protected System.Windows.Forms.Label maximumArityLabel; -
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionGrammarEditorView.Designer.cs
r7967 r9363 1 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views { 1 #region License Information 2 /* HeuristicLab 3 * Copyright (C) 2002-2012 Heuristic and Evolutionary Algorithms Laboratory (HEAL) 4 * 5 * This file is part of HeuristicLab. 6 * 7 * HeuristicLab is free software: you can redistribute it and/or modify 8 * it under the terms of the GNU General Public License as published by 9 * the Free Software Foundation, either version 3 of the License, or 10 * (at your option) any later version. 11 * 12 * HeuristicLab is distributed in the hope that it will be useful, 13 * but WITHOUT ANY WARRANTY; without even the implied warranty of 14 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 * GNU General Public License for more details. 16 * 17 * You should have received a copy of the GNU General Public License 18 * along with HeuristicLab. If not, see <http://www.gnu.org/licenses/>. 19 */ 20 #endregion 21 22 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views { 2 23 partial class SymbolicExpressionGrammarEditorView { 3 24 /// <summary> -
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionTreeChart.Designer.cs
r7967 r9363 21 21 22 22 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views { 23 p artial class SymbolicExpressionTreeChart {23 public partial class SymbolicExpressionTreeChart { 24 24 /// <summary> 25 25 /// Required designer variable. … … 70 70 // 71 71 this.saveFileDialog.Filter = "Bitmap (*.bmp)|*.bmp|EMF (*.emf)|*.emf"; 72 this.saveFileDialog.FilterIndex = 1; 72 this.saveFileDialog.FilterIndex = 1; 73 73 // SymbolicExpressionTreeChart 74 74 // … … 89 89 #endregion 90 90 91 pr ivateSystem.Windows.Forms.ToolTip toolTip;92 pr ivateSystem.Windows.Forms.ContextMenuStrip contextMenuStrip;93 pr ivateSystem.Windows.Forms.ToolStripMenuItem saveImageToolStripMenuItem;94 pr ivateSystem.Windows.Forms.SaveFileDialog saveFileDialog;91 protected System.Windows.Forms.ToolTip toolTip; 92 protected System.Windows.Forms.ContextMenuStrip contextMenuStrip; 93 protected System.Windows.Forms.ToolStripMenuItem saveImageToolStripMenuItem; 94 protected System.Windows.Forms.SaveFileDialog saveFileDialog; 95 95 } 96 96 } -
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/SymbolicExpressionTreeChart.cs
r7259 r9363 27 27 28 28 namespace HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views { 29 public sealedpartial class SymbolicExpressionTreeChart : UserControl {29 public partial class SymbolicExpressionTreeChart : UserControl { 30 30 private Image image; 31 31 private StringFormat stringFormat; … … 36 36 InitializeComponent(); 37 37 this.image = new Bitmap(Width, Height); 38 this.stringFormat = new StringFormat(); 39 this.stringFormat.Alignment = StringAlignment.Center; 40 this.stringFormat.LineAlignment = StringAlignment.Center; 38 this.stringFormat = new StringFormat { Alignment = StringAlignment.Center, LineAlignment = StringAlignment.Center }; 41 39 this.spacing = 5; 42 40 this.lineColor = Color.Black; … … 129 127 } 130 128 129 public void RepaintNodes() { 130 if (!suspendRepaint) { 131 using (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 } 138 this.Refresh(); 139 } 140 } 141 142 public void RepaintNode(VisualSymbolicExpressionTreeNode visualNode) { 143 if (!suspendRepaint) { 144 using (var graphics = Graphics.FromImage(image)) { 145 graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 146 graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 147 DrawTreeNode(graphics, visualNode); 148 } 149 this.Refresh(); 150 } 151 } 152 131 153 private void GenerateImage() { 132 154 using (Graphics graphics = Graphics.FromImage(image)) { … … 157 179 #region events 158 180 public event MouseEventHandler SymbolicExpressionTreeNodeClicked; 159 pr ivatevoid OnSymbolicExpressionTreeNodeClicked(object sender, MouseEventArgs e) {181 protected virtual void OnSymbolicExpressionTreeNodeClicked(object sender, MouseEventArgs e) { 160 182 var clicked = SymbolicExpressionTreeNodeClicked; 161 183 if (clicked != null) … … 163 185 } 164 186 165 pr ivatevoid SymbolicExpressionTreeChart_MouseClick(object sender, MouseEventArgs e) {187 protected virtual void SymbolicExpressionTreeChart_MouseClick(object sender, MouseEventArgs e) { 166 188 VisualSymbolicExpressionTreeNode visualTreeNode = FindVisualSymbolicExpressionTreeNodeAt(e.X, e.Y); 167 if (visualTreeNode != null) 189 if (visualTreeNode != null) { 168 190 OnSymbolicExpressionTreeNodeClicked(visualTreeNode, e); 191 } 169 192 } 170 193 171 194 public event MouseEventHandler SymbolicExpressionTreeNodeDoubleClicked; 172 pr ivatevoid OnSymbolicExpressionTreeNodeDoubleClicked(object sender, MouseEventArgs e) {195 protected virtual void OnSymbolicExpressionTreeNodeDoubleClicked(object sender, MouseEventArgs e) { 173 196 var doubleClicked = SymbolicExpressionTreeNodeDoubleClicked; 174 197 if (doubleClicked != null) … … 176 199 } 177 200 178 pr ivatevoid SymbolicExpressionTreeChart_MouseDoubleClick(object sender, MouseEventArgs e) {201 protected virtual void SymbolicExpressionTreeChart_MouseDoubleClick(object sender, MouseEventArgs e) { 179 202 VisualSymbolicExpressionTreeNode visualTreeNode = FindVisualSymbolicExpressionTreeNodeAt(e.X, e.Y); 180 203 if (visualTreeNode != null) … … 183 206 184 207 public event ItemDragEventHandler SymbolicExpressionTreeNodeDrag; 185 pr ivatevoid OnSymbolicExpressionTreeNodeDragDrag(object sender, ItemDragEventArgs e) {208 protected virtual void OnSymbolicExpressionTreeNodeDragDrag(object sender, ItemDragEventArgs e) { 186 209 var dragged = SymbolicExpressionTreeNodeDrag; 187 210 if (dragged != null) … … 234 257 /// 235 258 /// </summary> 236 /// <param name="functionTree"> function tree to draw</param>259 /// <param name="functionTree"> function tree to draw</param> 237 260 /// <param name="graphics">graphics object to draw on</param> 238 261 /// <param name="x">x coordinate of drawing area</param> … … 247 270 int actualHeight = height - spacing; 248 271 249 SolidBrush textBrush = new SolidBrush(visualTreeNode.TextColor); 250 Pen nodeLinePen = new Pen(visualTreeNode.LineColor); 251 SolidBrush nodeFillBrush = new SolidBrush(visualTreeNode.FillColor); 252 253 //calculate size of node 254 if (actualWidth >= visualTreeNode.PreferredWidth && actualHeight >= visualTreeNode.PreferredHeight) { 255 visualTreeNode.Width = visualTreeNode.PreferredWidth; 256 visualTreeNode.Height = visualTreeNode.PreferredHeight; 257 visualTreeNode.X = (int)center_x - visualTreeNode.Width / 2; 258 visualTreeNode.Y = (int)center_y - visualTreeNode.Height / 2; 259 } 260 //width too small to draw in desired sized 261 else if (actualWidth < visualTreeNode.PreferredWidth && actualHeight >= visualTreeNode.PreferredHeight) { 262 visualTreeNode.Width = actualWidth; 263 visualTreeNode.Height = visualTreeNode.PreferredHeight; 264 visualTreeNode.X = x; 265 visualTreeNode.Y = (int)center_y - visualTreeNode.Height / 2; 266 } 267 //height too small to draw in desired sized 268 else if (actualWidth >= visualTreeNode.PreferredWidth && actualHeight < visualTreeNode.PreferredHeight) { 269 visualTreeNode.Width = visualTreeNode.PreferredWidth; 270 visualTreeNode.Height = actualHeight; 271 visualTreeNode.X = (int)center_x - visualTreeNode.Width / 2; 272 visualTreeNode.Y = y; 273 } 274 //width and height too small to draw in desired size 275 else { 276 visualTreeNode.Width = actualWidth; 277 visualTreeNode.Height = actualHeight; 278 visualTreeNode.X = x; 279 visualTreeNode.Y = y; 280 } 281 282 //draw terminal node 283 if (node.SubtreeCount == 0) { 284 graphics.FillRectangle(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 285 graphics.DrawRectangle(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 286 } else { 287 graphics.FillEllipse(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 288 graphics.DrawEllipse(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 289 } 290 291 //draw name of symbol 292 var text = node.ToString(); 293 graphics.DrawString(text, textFont, textBrush, new RectangleF(visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height), stringFormat); 294 295 //draw connection line to parent node 296 if (!connectionPoint.IsEmpty && node.Parent != null) { 297 var visualLine = GetVisualSymbolicExpressionTreeNodeConnection(node.Parent, node); 298 using (Pen linePen = new Pen(visualLine.LineColor)) { 299 linePen.DashStyle = visualLine.DashStyle; 300 graphics.DrawLine(linePen, connectionPoint, new Point(visualTreeNode.X + visualTreeNode.Width / 2, visualTreeNode.Y)); 301 } 302 } 303 304 //calculate areas for the subtrees according to their tree size and call drawFunctionTree 305 Point connectFrom = new Point(visualTreeNode.X + visualTreeNode.Width / 2, visualTreeNode.Y + visualTreeNode.Height); 306 int[] xBoundaries = new int[node.SubtreeCount + 1]; 307 xBoundaries[0] = x; 308 for (int i = 0; i < node.SubtreeCount; i++) { 309 xBoundaries[i + 1] = (int)(xBoundaries[i] + (width * (double)node.GetSubtree(i).GetLength()) / (node.GetLength() - 1)); 310 DrawFunctionTree(node.GetSubtree(i), graphics, xBoundaries[i], y + height, 311 xBoundaries[i + 1] - xBoundaries[i], height, connectFrom); 272 using (var textBrush = new SolidBrush(visualTreeNode.TextColor)) 273 using (var nodeLinePen = new Pen(visualTreeNode.LineColor)) 274 using (var nodeFillBrush = new SolidBrush(visualTreeNode.FillColor)) { 275 276 //calculate size of node 277 if (actualWidth >= visualTreeNode.PreferredWidth && actualHeight >= visualTreeNode.PreferredHeight) { 278 visualTreeNode.Width = visualTreeNode.PreferredWidth; 279 visualTreeNode.Height = visualTreeNode.PreferredHeight; 280 visualTreeNode.X = (int)center_x - visualTreeNode.Width / 2; 281 visualTreeNode.Y = (int)center_y - visualTreeNode.Height / 2; 282 } 283 //width too small to draw in desired sized 284 else if (actualWidth < visualTreeNode.PreferredWidth && actualHeight >= visualTreeNode.PreferredHeight) { 285 visualTreeNode.Width = actualWidth; 286 visualTreeNode.Height = visualTreeNode.PreferredHeight; 287 visualTreeNode.X = x; 288 visualTreeNode.Y = (int)center_y - visualTreeNode.Height / 2; 289 } 290 //height too small to draw in desired sized 291 else if (actualWidth >= visualTreeNode.PreferredWidth && actualHeight < visualTreeNode.PreferredHeight) { 292 visualTreeNode.Width = visualTreeNode.PreferredWidth; 293 visualTreeNode.Height = actualHeight; 294 visualTreeNode.X = (int)center_x - visualTreeNode.Width / 2; 295 visualTreeNode.Y = y; 296 } 297 //width and height too small to draw in desired size 298 else { 299 visualTreeNode.Width = actualWidth; 300 visualTreeNode.Height = actualHeight; 301 visualTreeNode.X = x; 302 visualTreeNode.Y = y; 303 } 304 305 //draw terminal node 306 if (node.SubtreeCount == 0) { 307 graphics.FillRectangle(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 308 graphics.DrawRectangle(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 309 } else { 310 graphics.FillEllipse(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 311 graphics.DrawEllipse(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 312 } 313 314 //draw name of symbol 315 var text = node.ToString(); 316 graphics.DrawString(text, textFont, textBrush, new RectangleF(visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height), stringFormat); 317 318 //draw connection line to parent node 319 if (!connectionPoint.IsEmpty && node.Parent != null) { 320 var visualLine = GetVisualSymbolicExpressionTreeNodeConnection(node.Parent, node); 321 using (Pen linePen = new Pen(visualLine.LineColor)) { 322 linePen.DashStyle = visualLine.DashStyle; 323 graphics.DrawLine(linePen, connectionPoint, new Point(visualTreeNode.X + visualTreeNode.Width / 2, visualTreeNode.Y)); 324 } 325 } 326 327 //calculate areas for the subtrees according to their tree size and call drawFunctionTree 328 Point connectFrom = new Point(visualTreeNode.X + visualTreeNode.Width / 2, visualTreeNode.Y + visualTreeNode.Height); 329 int[] xBoundaries = new int[node.SubtreeCount + 1]; 330 xBoundaries[0] = x; 331 for (int i = 0; i < node.SubtreeCount; i++) { 332 xBoundaries[i + 1] = (int)(xBoundaries[i] + (width * (double)node.GetSubtree(i).GetLength()) / (node.GetLength() - 1)); 333 DrawFunctionTree(node.GetSubtree(i), graphics, xBoundaries[i], y + height, xBoundaries[i + 1] - xBoundaries[i], height, connectFrom); 334 } 335 } 336 } 337 338 protected void DrawTreeNode(VisualSymbolicExpressionTreeNode visualTreeNode) { 339 using (var graphics = Graphics.FromImage(image)) { 340 graphics.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.High; 341 graphics.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality; 342 DrawTreeNode(graphics, visualTreeNode); 343 } 344 } 345 346 protected void DrawTreeNode(Graphics graphics, VisualSymbolicExpressionTreeNode visualTreeNode) { 347 graphics.Clip = new Region(new Rectangle(visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width + 1, visualTreeNode.Height + 1)); 348 graphics.Clear(backgroundColor); 349 var node = visualTreeNode.SymbolicExpressionTreeNode; 350 using (var textBrush = new SolidBrush(visualTreeNode.TextColor)) 351 using (var nodeLinePen = new Pen(visualTreeNode.LineColor)) 352 using (var nodeFillBrush = new SolidBrush(visualTreeNode.FillColor)) { 353 //draw terminal node 354 if (node.SubtreeCount == 0) { 355 graphics.FillRectangle(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 356 graphics.DrawRectangle(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 357 } else { 358 graphics.FillEllipse(nodeFillBrush, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 359 graphics.DrawEllipse(nodeLinePen, visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height); 360 } 361 //draw name of symbol 362 var text = node.ToString(); 363 graphics.DrawString(text, textFont, textBrush, new RectangleF(visualTreeNode.X, visualTreeNode.Y, visualTreeNode.Width, visualTreeNode.Height), stringFormat); 312 364 } 313 365 } -
branches/OaaS/HeuristicLab.Encodings.SymbolicExpressionTreeEncoding.Views/3.4/VisualSymbolicExpressionTreeNode.cs
r7259 r9363 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.