Changeset 13135 for branches/OptimizationNetworks/HeuristicLab.Networks.Views.NetworkVisualization.Views/3.3/ChartModes/AddNodesChartMode.cs
- Timestamp:
- 11/11/15 13:53:10 (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/OptimizationNetworks/HeuristicLab.Networks.Views.NetworkVisualization.Views/3.3/ChartModes/AddNodesChartMode.cs
r13077 r13135 24 24 using System.Drawing.Drawing2D; 25 25 using System.Windows.Forms; 26 using HeuristicLab.Common; 26 27 using HeuristicLab.Common.Resources; 27 28 using HeuristicLab.Core.Networks; … … 36 37 37 38 public override Image Image { get { return VSImageLibrary.RadialChart; } } 38 public override string ToolTip { get { return "Add Nodes"; } } 39 public override string Text { get { return "Add &Nodes"; } } 40 public override string ToolTipText { get { return "Add Nodes"; } } 39 41 40 42 public AddNodesChartMode(ChartControl control) : base(control) { } 41 43 42 44 public override void HandleOnMouseMove(object sender, MouseEventArgs e) { 43 base.HandleOnMouseMove(sender, e); 45 try { 46 if (!(chartControl.Tag is IUserDefinedNetwork)) return; 44 47 45 if (!(chartControl.Tag is IUserDefinedNetwork)) return; 46 47 try { 48 chartControl.PictureBox.Refresh(); 48 chartControl.RefreshPicture(); 49 49 50 50 var size = new Size(200, 100); 51 using (var graphics = chartControl.PictureBox.CreateGraphics()) 51 52 using (var graphics = chartControl.CreatePictureGraphics()) 52 53 using (var pen = new Pen(Color.Gray) { DashStyle = DashStyle.Dash }) { 53 54 graphics.DrawRectangle(pen, … … 57 58 size.Height); 58 59 } 60 59 61 } finally { 60 chartControl.PictureBox.Update(); 62 chartControl.UpdatePicture(); 63 base.HandleOnMouseMove(sender, e); 61 64 } 62 65 } 63 66 64 public override void HandleOnMouseUp(object sender, MouseEventArgs e) { 65 base.HandleOnMouseUp(sender, e); 67 public override void HandleOnMouseDown(object sender, MouseEventArgs e) { 68 try { 69 switch (e.Button) { 70 case MouseButtons.Left: 71 var network = chartControl.Tag as IUserDefinedNetwork; 72 if (network == null) return; 66 73 67 switch (e.Button) { 68 case MouseButtons.Left: 69 var network = chartControl.Tag as IUserDefinedNetwork; 70 if (network == null) return; 74 var node = CreateNode(network); 75 if (node == null) return; 71 76 72 var node = CreateNode(network); 73 var visualizableNode = node as IVisualizableNode; 74 if (visualizableNode == null) return; 77 var center = chartControl.Chart.TransformPixelToWorld(e.Location); 78 var size = chartControl.Chart.TransformPixelToWorld(new Size(100, 50)); 79 var lowerLeft = center - new Offset(size); 80 var upperRight = center + new Offset(size); 81 node.VisualProperties = new NodeVisualProperties(new Point2D<double>(lowerLeft.X, lowerLeft.Y), 82 new Point2D<double>(upperRight.X, upperRight.Y)); 83 network.Nodes.Add(node); 84 break; 85 } 86 } finally { 87 base.HandleOnMouseDown(sender, e); 88 } 89 } 75 90 76 var center = chartControl.Chart.TransformPixelToWorld(e.Location); 77 var size = chartControl.Chart.TransformPixelToWorld(new Size(200, 100)); 78 79 visualizableNode.VisualProperties.X = center.X; 80 visualizableNode.VisualProperties.Y = center.Y; 81 visualizableNode.VisualProperties.Width = size.Width; 82 visualizableNode.VisualProperties.Height = size.Height; 83 84 network.Nodes.Add(node); 85 break; 86 } 91 public override void HandleOnMouseLeave(object sender, EventArgs e) { 92 chartControl.RefreshPicture(); 93 base.HandleOnMouseLeave(sender, e); 87 94 } 88 95
Note: See TracChangeset
for help on using the changeset viewer.