public PlaceEditingForm(PNPlace place) { InitializeComponent(); _place = place; textBox1.Text = _place.Name; textBox2.Text = _place.Capacity.ToString(); textBox3.Text = _place.NumberOfTokens.ToString(); TextBox_Guard.Text = _place.Guard; label4.ForeColor = Color.Black; label4.Text = "if Capacity is 0, the number of tokens is unlimited"; }
private void Button_AddNewState_Click(object sender, EventArgs e) { PointF p = Point.Empty; //Add from menu bar if (this.Button_AddNewState.Checked) { p = this.Canvas.LastMouseClickPosition; } else { p = this.Canvas.lastRightClickPosition; } PNPlace classitem = new PNPlace(string.Format("P{0}", Canvas.PlaceCounter), 0, "", 0); Canvas.PlaceCounter++; classitem.X = p.X; classitem.Y = p.Y; //classitem.Initialize(); AddCanvasItem(classitem); Canvas.Refresh(); SetDirty(); }
private void addProcessToolStripMenuItem_Click(object sender, EventArgs e) { if (Canvas != null) { Canvas.Visible = false; } TreeNode node = TreeView_Structure.Nodes[0].Nodes["Models"].Nodes.Add("M" + pcounter); pcounter++; Canvas = new PNCanvas(); Canvas.Node = node; node.Tag = Canvas; TreeView_Structure.SelectedNode = node; AddNewProcess(Canvas); //add the first // ---replace by lqv-- // PNPlace classitem = new PNPlace("Place " + Canvas.StateCounter, 1, "", 0); // -- PNPlace classitem = new PNPlace("P" + Canvas.StateCounter, 1, "", 0); // -- Canvas.StateCounter++; classitem.X = 100 / Canvas.Zoom; classitem.Y = 100 / Canvas.Zoom; AddCanvasItem(classitem); Canvas.Refresh(); SetDirty(); }
public override void LoadFromXml(XmlElement elem) { Node.Text = elem.GetAttribute(NAME_PROCESS_NODE_NAME, ""); Console.Write(Node.Text); Parameters = elem.GetAttribute(PARAMETER_NODE_NAME, ""); Console.Write(Parameters); Zoom = float.Parse(elem.GetAttribute(ZOOM_PROCESS_NODE_NAME, "")); PlaceCounter = int.Parse(elem.GetAttribute(PLACE_COUNTER)); TransitionCounter = int.Parse(elem.GetAttribute(TRANSITION_COUNTER)); int color = 0; // --replace by lqvu-- //XmlElement topologyElement = (XmlElement)elem.ChildNodes[0]; //LoadTopologyElement(topologyElement); // -- int id = 0; if (elem.ChildNodes.Count == 4) { XmlElement topologyElement = (XmlElement)elem.ChildNodes[id++]; LoadTopologyElement(topologyElement); } // -- XmlElement placesElement = (XmlElement)elem.ChildNodes[id++]; foreach (XmlElement element in placesElement.ChildNodes) { string elementId = element.GetAttribute(XmlTag.TAG_REFERENCE_ID); if (this.mSensors.Exists(x => x.ID == elementId)) color = 1; if (this.mChannels.Exists(x => x.ID == elementId)) color = -1; PNPlace place = new PNPlace(string.Empty, 0, elementId, color); place.LoadFromXml(element); this.AddSingleCanvasItem(place); this.AddSingleCanvasItem(place.labelItems); } XmlElement transitionsElement = (XmlElement)elem.ChildNodes[id++]; foreach (XmlElement element in transitionsElement.ChildNodes) { string elementId = element.GetAttribute(XmlTag.TAG_REFERENCE_ID); if (this.mSensors.Exists(x => x.ID == elementId)) color = 1; if (this.mChannels.Exists(x => x.ID == elementId)) color = -1; String nameProp = element.GetAttribute("Name"); if (nameProp != null && nameProp.Length > 3 && nameProp.Substring(0, 4) == "Conn") color = 2; PNTransition transition = new PNTransition(string.Empty, elementId, color); transition.LoadFromXml(element); this.AddSingleCanvasItem(transition); this.AddSingleCanvasItem(transition.labelItems); } XmlElement linksElement = (XmlElement)elem.ChildNodes[id++]; foreach (XmlElement element in linksElement.ChildNodes) { PNArc arc = new PNArc(null, null); arc.LoadFromXML(element, this); this.AddSingleLink(arc); foreach (NailItem nailItem in arc.Nails) { this.AddSingleCanvasItem(nailItem); } this.AddSingleCanvasItem(arc.Label); } }