Beispiel #1
0
        public void CrearPanel()//permite crear un panel con una clase
        {
            Figura_Clase fig = new Figura_Clase();

            fig.DibujarFigura();

            ControlExtension.Draggable(fig.Contenedor, true);
            ControlCanvas.Relatable(fig.Contenedor, true);
            CargarFigura(fig);

            /*foreach(Control con in fig.ReturnControls())
             * {
             *  CanvasPanel.Controls.Add(con);
             * }*/
            CanvasPanel.Controls.Add(fig.Contenedor);

            //Console.WriteLine("Hola" + fig.Contenedor.Location);
        }
Beispiel #2
0
        public void CrearPanel(ref Panel panel)                                                //permite crear un panel con una clase
        {
            MenuItem[] menuItems = new MenuItem[] { new MenuItem("Modificar", MenuItem_Click), //hacemos esto para definir como se comportaran luego
                                                    new MenuItem("Reiniciar", MenuItem_Click), new MenuItem("Exit", MenuItem_Click) };
            ContextMenu buttonMenu = new ContextMenu(menuItems);

            panel.Location = new System.Drawing.Point(570, 370);
            panel.Name     = "Panel " + paneles.Count;//se poodria cambiar por parametro aunque no me parecee necesario
            panel.Size     = new System.Drawing.Size(228, 201);
            Figura_Clase fig = new Figura_Clase(panel.Size);

            Formas.Formas.Add(fig);
            panel.BackgroundImage = Image.FromFile(Formas.GetNewBackground());
            panel.BackColor       = Color.LightBlue;
            panel.ContextMenu     = buttonMenu;
            panel.Click          += PointForRelation;//Se guarda en los puntos para utilizarlos en relaciones
            panel.MouseClick     += PnlMouseDown;
            panel.MouseMove      += PnlMouseMove;
            panel.MouseUp        += PnlMouseUp;
            ControlExtension.Draggable(panel, true);
            fig.Contenedor = panel;
            //Controls.Add(panel);
            masterPanel.Controls.Add(panel);
        }
Beispiel #3
0
        public void MenuItem_Click(object sender, EventArgs e) //es un escuchador para cada item si se le da click al context menu hace algo
        {
            MenuItem mi = sender as MenuItem;                  //El que envia se vuelve menu item osea el nuevo item creado en Crear Panel

            if (mi != null)
            {
                //aqui deberiamos comprobar
            }

            if (mi.Text == "Modificar")//Comportamiento para el info
            {
                // aqui se debria abrir el nuevo Form ingresar los datos y setearlos
                String nombre = "None";                        // = llenarClase.NombreClase;//obtengo nombre clase

                List <string> atributos = new List <string>(); //llenarClase.Atributos;//obtengo atributos
                List <string> metodos   = new List <string>(); // obtengo metodos
                this.llenarClase             = new LlenarClase();
                this.llenarClase.FormClosed += LlenarClase_FormClosed;
                this.llenarClase.ShowDialog();



                //Llegan las listas del form llenarClase
                nombre    = llenarClase.NombreClase;
                atributos = llenarClase.Atributos;
                metodos   = llenarClase.Metodos;
                // "Desplegando Info";//Aqui se deberia desplegar el form para ingresar los datos

                List <Label> contenido = new List <Label>();

                var     cm    = (ContextMenu)mi.Parent;//Se obtiene el padree con esta funcion
                Control ctr   = cm.SourceControl;
                Label   label = new Label();
                label.Location = new System.Drawing.Point(10, 10); //localizacion
                label.Size     = new System.Drawing.Size(320, 20); //tamaño

                label.Text = nombre;                               //Aqui se deberia setear las cosas

                //Se hace visible el label y se le pone sus configuraciones
                label.BackColor = Color.Gray;
                label.Font      = new Font(label.Font.Name, label.Font.SizeInPoints, FontStyle.Regular);
                label.Visible   = true;
                //MenuItem[] fue vuelto un menu de contexto y se le agrega el item
                contenido.Add(label);
                int dx = 0;
                foreach (String var in atributos)
                {
                    Label        label2 = new Label();
                    Figura_Clase fig    = new Figura_Clase(ctr.Size);

                    label2.Font = new Font(label.Font.Name, label.Font.SizeInPoints, FontStyle.Regular);
                    Size textSize = TextRenderer.MeasureText(var, label2.Font);
                    dx += (int)textSize.Height + 5;
                    label2.Location = new Point(fig.PosRectAtributos.X + 5, fig.RectAtributos.Y + 2 + dx); //localizacion
                    label2.Size     = new System.Drawing.Size(200, 20);                                    //tamaño
                    label2.Text     = var;                                                                 //Aqui se deberia setear las cosas

                    //Se hace visible el label y se le pone sus configuraciones
                    label2.BackColor = Color.Gray;

                    label2.Visible = true;
                    contenido.Add(label2);
                }
                dx = 0;
                foreach (String var in metodos)
                {
                    Label        label2 = new Label();
                    Figura_Clase fig    = new Figura_Clase(ctr.Size);

                    label2.Font = new Font(label.Font.Name, label.Font.SizeInPoints, FontStyle.Regular);
                    Size textSize = TextRenderer.MeasureText(var, label2.Font);
                    dx += (int)textSize.Height + 5;
                    label2.Location = new Point(fig.PosRectMetodos.X + 5, fig.RectMetodos.Y + 2 + dx); //localizacion

                    label2.Size = new System.Drawing.Size(200, 20);                                    //tamaño
                    label2.Text = var;                                                                 //Aqui se deberia setear las cosas

                    //Se hace visible el label y se le pone sus configuraciones
                    label2.BackColor = Color.Gray;

                    label2.Visible = true;
                    contenido.Add(label2);
                }
                dx = 0;
                foreach (Label lbl in contenido)
                {
                    Console.WriteLine(lbl.Text);
                    ctr.Controls.Add(lbl);
                }
            }
            else if (mi.Text == "Reiniciar")//Comportamiento para el info2
            {
                foreach (Control item in paneles)
                {
                    //this.Controls.Remove(item);
                }
            }
        }