diff --git a/EduNetworkBuilder/NetShape.cs b/EduNetworkBuilder/NetShape.cs index a43ad3c..111189c 100644 --- a/EduNetworkBuilder/NetShape.cs +++ b/EduNetworkBuilder/NetShape.cs @@ -19,11 +19,12 @@ namespace EduNetworkBuilder public Color FillColor = Color.Empty; int DragSize = 15; - public NetShape(NetShapeType What, Rectangle Where, Color color) + public NetShape(NetShapeType What, Rectangle Where, Color fillcolor, Color linecolor) { MyShape = What; InArea = Where; - FillColor = color; + FillColor = fillcolor; + LineColor = linecolor; } public NetShape(XmlNode what) { diff --git a/EduNetworkBuilder/Network.cs b/EduNetworkBuilder/Network.cs index ef8b8b0..14a452b 100644 --- a/EduNetworkBuilder/Network.cs +++ b/EduNetworkBuilder/Network.cs @@ -1115,6 +1115,11 @@ namespace EduNetworkBuilder } } + public void AddShape(NetShape what) + { + Shapes.Add(what); + } + void KillAllExtraWindows(bool EvenRTF=false) { for(int i = Application.OpenForms.Count -1; i >=0; i--) diff --git a/EduNetworkBuilder/NetworkBuilder.cs b/EduNetworkBuilder/NetworkBuilder.cs index f80508c..fe5a4fb 100644 --- a/EduNetworkBuilder/NetworkBuilder.cs +++ b/EduNetworkBuilder/NetworkBuilder.cs @@ -1481,12 +1481,32 @@ namespace EduNetworkBuilder Rectangle selectbox = new Rectangle(topCorner.X, topCorner.Y, botCorner.X - topCorner.X, botCorner.Y - topCorner.Y); - ItemsSelected.AddRange(myNetwork.DevicesInRectangle(selectbox)); - //Console.WriteLine("Selected " + ItemsSelected.Count + " items"); - MouseIsDown = false; - DrawHighlightBoxes(); - pbNetworkView.Invalidate(); - return; + if (!myNetwork.InShapeEditMode) + { + ItemsSelected.AddRange(myNetwork.DevicesInRectangle(selectbox)); + //Console.WriteLine("Selected " + ItemsSelected.Count + " items"); + MouseIsDown = false; + DrawHighlightBoxes(); + pbNetworkView.Invalidate(); + return; + } + else + { + //We just made a shape. + try + { + Color FillColor = Color.FromName(cbFillColor.Text); + Color LineColor = Color.FromName(cbLineColor.Text); + NetShape NS = new NetShape(CurrentShape, selectbox,FillColor,LineColor); + + myNetwork.AddShape(NS); + UpdateForm(); + } + catch + { + //Nothing to do. Something is wrong with the colors. + } + } } MouseIsDown = false; if (selectedButton == "btnLink")