Пример #1
0
        private void CreareNod(int index, float x, float y)
        {
            counter = counter + 1;                                                    //incrementam numarul de noduri (porti logice)
            ShapeNode nod = diagram1.Factory.CreateShapeNode(x - 16, y - 16, 70, 70); // pozitia x, pozitia y, latima, inaltimea

            nod.Transparent    = true;
            nod.EnabledHandles = AdjustmentHandles.Move;           //sa se poata muta nodu pe diagrama fara a fi schimbata dimensiunea nodului
            nod.Tag            = index + "|" + counter.ToString(); // tagu contine indexul porti logice din listview1 si numarul de la counter

            nod.ImageAlign               = MindFusion.Drawing.ImageAlign.TopLeft;
            nod.TextFormat.Alignment     = StringAlignment.Center;
            nod.TextFormat.LineAlignment = StringAlignment.Far;
            nod.AnchorPattern            = PoartaLogica.Ancorare(index); // daca modificam dimensiunea 70, 70 trebuie modificate si puncetele de ancorare

            //setam imaginea si textul pentru nod (poarta logica)
            if (index == 0) //AND
            {
                nod.Image = imageList1.Images[0];
                nod.Text  = "AND";
            }
            else if (index == 1) //OR
            {
                nod.Image = imageList1.Images[1];
                nod.Text  = "OR";
            }
            else if (index == 2) //XOR
            {
                nod.Image = imageList1.Images[2];
                nod.Text  = "XOR";
            }
            else if (index == 3) //NOT
            {
                nod.Image = imageList1.Images[3];
                nod.Text  = "NOT";
            }
            else if (index == 4) //INPUT 0
            {
                nod.Image    = imageList1.Images[4];
                nod.Text     = labelCounter + "#IN: 0";
                labelCounter = labelCounter + 1;
            }
            else if (index == 5) //INPUT 1
            {
                nod.Image    = imageList1.Images[5];
                nod.Text     = labelCounter + "#IN: 1";
                labelCounter = labelCounter + 1;
            }
            else if (index == 6) //terminator
            {
                nod.Image = imageList1.Images[6];
                nod.Text  = "OUTPUT";
            }
        }