Example #1
0
        public Columna(string titulo, int anchoColumna, int altoColumna)
        {
            SetStyle(ControlStyles.SupportsTransparentBackColor, true);

            InitializeComponent();

            //funcion que se llama al cerrar la ventana
            this.FormClosing += new FormClosingEventHandler(Controlador.volveraBloque);

            //buscar el id correspondiente a ese titulo
            int idColumna = BDColumnas.buscarIdColumna(titulo);

            //rellena con el id de la columna y su nombre sus respectivos label
            columna_id.Text     = idColumna.ToString();
            nombre_columna.Text = titulo;

            //asigna el ancho y alto del contenedor
            contenedorColumna.Width  = anchoColumna + 10;
            contenedorColumna.Height = altoColumna + 10;
            contenedorColumna.Left   = 53;

            //Para evitar que el usuario de la aplicacion cambie el tamaño de la pestaña
            this.FormBorderStyle = FormBorderStyle.None;

            //asignar tamaño maximo para el contenedor
            contenedorColumna.MaximumSize = new Size(1270, 580);
            contenedorColumna.MinimumSize = new Size(200, 100);
        }
Example #2
0
        //funcion para poder cambiar el ancho de la columna
        public void cambiarAncho(PictureBox bordeDerecho, Panel columna)
        {
            bool aumentarAncho = false;

            //funcion para cuando clickas sobre el borde derecho para modificar el ancho de la columna
            bordeDerecho.MouseDown += delegate(object sender, MouseEventArgs e)
            {
                aumentarAncho = true;
            };

            //funcion para cuando se deja de clickar sobre el el borde derecho para modificar el ancho de la columna
            bordeDerecho.MouseUp += delegate(object sender, MouseEventArgs e)
            {
                aumentarAncho = false;

                BDColumnas.actualizarAncho((columna.Width - 10), Convert.ToInt16(columna_id.Text));
            };

            //funcion que al estar clickando permite modificar el ancho de la columna
            bordeDerecho.MouseMove += delegate(object sender, MouseEventArgs e)
            {
                bordeDerecho.BringToFront();

                if (aumentarAncho)
                {
                    columna.Width    = bordeDerecho.Left + e.X;
                    columna.AutoSize = false;
                }
            };
        }
Example #3
0
        //funcion para poder cambiar la altura de la columna
        public void cambiarAlto(PictureBox bordeInferior, Panel columna)
        {
            bool aumentarAlto = false;

            //funcion para cuando clickas sobre el borde inferior para modificar la altura de la columna
            bordeInferior.MouseDown += delegate(object sender, MouseEventArgs e)
            {
                aumentarAlto = true;
            };

            //funcion para cuando se deja de clickar sobre el el borde inferior para modificar la altura de la columna
            bordeInferior.MouseUp += delegate(object sender, MouseEventArgs e)
            {
                aumentarAlto = false;
                BDColumnas.actualizarAlto((columna.Height - 10), Convert.ToInt16(columna_id.Text));
            };

            //funcion que al estar clickando permite modificar la altura de la columna
            bordeInferior.MouseMove += delegate(object sender, MouseEventArgs e)
            {
                bordeInferior.BringToFront();

                if (aumentarAlto)
                {
                    columna.Height   = bordeInferior.Top + e.Y;
                    columna.AutoSize = false;
                }
            };
        }
Example #4
0
        private void borrarColumna_Click(object sender, EventArgs e)
        {
            //ventana para confirmar que se quiere borrar la columna
            DialogResult confirmar = MessageBox.Show("Ten cuidado, al borrar esta columna borraras todos los elementos que contiene tambien, estas seguro de querer borrar esta columna", "Borrar", MessageBoxButtons.YesNo, MessageBoxIcon.Information);

            //si la respuesta a confirmar es que si se borrara la columna de base de datos
            if (confirmar == DialogResult.Yes)
            {
                BDColumnas.borrarColumna(columna_id.Text);
                this.Close();
            }
        }
Example #5
0
        //tercera parte de la funcion para que una columna se pueda mover
        public void controlMovible(Control control, Control container, Direction direction)
        {
            bool  Dragging  = false;
            Point DragStart = Point.Empty;

            //funcion para cuando clickas sobre la columna para modificar la posicion del elemento
            control.MouseDown += delegate(object sender, MouseEventArgs e)
            {
                Dragging        = true;
                DragStart       = new Point(e.X, e.Y);
                control.Capture = true;
            };

            //funcion para cuando se deja de clickar sobre la columna para modificar la posicion del elemento
            control.MouseUp += delegate(object sender, MouseEventArgs e)
            {
                Dragging        = false;
                control.Capture = false;

                BDColumnas.actualizarPosicion(control.Left, control.Top, control.Controls[0].Text.ToString());
            };

            //funcion que al estar clickando permite modificar la posicion de la columna
            control.MouseMove += delegate(object sender, MouseEventArgs e)
            {
                //hacer que la columna que se quiere mover se situe sobre el resto
                control.BringToFront();

                //metodo para que el elemento no pueda sobrepasar el ancho del contenedor de la columna
                container = (Control)sender;
                Rectangle panelcontenedor = container.Parent.ClientRectangle;

                if (Dragging)
                {
                    if (direction != Direction.Vertical)
                    {
                        control.Left = Math.Min(Math.Max(0, e.X + control.Left - DragStart.X), panelcontenedor.Right - container.Width);
                    }

                    if (direction != Direction.Horizontal)
                    {
                        control.Top = Math.Max(0, e.Y + control.Top - DragStart.Y);
                    }
                }
            };
        }
Example #6
0
        private void crearColumna()
        {
            //se crea la columna y el elemento que le permite cambiar de tamaño, aparte de funciones necesarias para el correcto funcionamiento
            Panel panel1 = new Panel();

            //caja de texto donde se guarda el nombre de la columna
            Label nombre = new Label();

            nombre.Text     = nombre_columna.Text;
            nombre.AutoSize = true;
            nombre.Font     = new Font("Arial", 22, FontStyle.Bold);
            nombre.Location = new Point(30, 30);
            nombre.Visible  = false;

            panel1.Controls.Add(nombre);

            //Propiedades que tendra la columna al ser creada
            panel1.BackColor   = Color.Transparent;
            panel1.BorderStyle = BorderStyle.FixedSingle;
            panel1.Top         = contenedor.Height;
            panel1.Name        = "columna" + contador;
            panel1.Size        = new Size(200, 160);
            panel1.AutoSize    = true;
            panel1.MaximumSize = new Size(contenedor.Width, 1500);
            panel1.MinimumSize = new Size(200, 160);

            //crear objeto de la clase columna
            ClaseColumna ocolumna = new ClaseColumna(nombre.Text, panel1.Width, Convert.ToInt16(bloque_id.Text), 160, 0, panel1.Top);

            this.Controls.Add(panel1);

            contenedor.Controls.Add(panel1);

            contador++;

            BDColumnas.insertarColumna(ocolumna);
        }
Example #7
0
        public void pintarBloques()
        {
            //limpiar la lista de columnas y las columnas que contiene el bloque para evitar repetidos
            listaColumnas.Clear();
            contenedor.Controls.Clear();

            //se rellena la lista de columnas desde base de datos para posteriormente recorrerla
            listaColumnas = BDColumnas.buscarColumnas(bloque_id.Text);

            if (listaColumnas != null)
            {
                foreach (ClaseColumna ocolumna in listaColumnas)
                {
                    //se crea la columna, aparte de funciones necesarias para el correcto funcionamiento
                    Panel panel1 = new Panel();

                    //Propiedades que tendra la columna al ser creada
                    panel1.BorderStyle = BorderStyle.FixedSingle;
                    panel1.Name        = "columna" + contador;
                    panel1.Size        = new Size(ocolumna.ancho, ocolumna.alto);

                    if (ocolumna.ancho + ocolumna.espacio_izquierda > 1260)
                    {
                        int espacioNuevo = 1260 - ocolumna.ancho;
                        panel1.Left = espacioNuevo;
                        BDColumnas.actualizarPosicion(espacioNuevo, ocolumna.espacio_arriba, ocolumna.titulo);
                    }
                    else
                    {
                        panel1.Left = ocolumna.espacio_izquierda;
                    }

                    panel1.Top         = ocolumna.espacio_arriba;
                    panel1.MaximumSize = new Size(1260, 570);
                    panel1.MinimumSize = new Size(200, 100);
                    panel1.BackColor   = Color.Transparent;

                    //caja de texto donde se guarda el nombre de la columna
                    Label nombre = new Label();
                    nombre.Text     = ocolumna.titulo;
                    nombre.AutoSize = true;
                    nombre.Font     = new Font("Arial", 22, FontStyle.Bold);
                    nombre.Location = new Point(30, 30);
                    nombre.Visible  = false;

                    panel1.Controls.Add(nombre);

                    this.Controls.Add(panel1);

                    contenedor.Controls.Add(panel1);

                    contador++;

                    //rellena la lista de elementos desde base de datos para posteriormente recorrela
                    Columna.listaElementos = BDElementos.buscarElementos(ocolumna.id.ToString());
                    if (Columna.listaElementos != null)
                    {
                        foreach (ClaseElemento oelemento in Columna.listaElementos)
                        {
                            string tipo = oelemento.tipo;

                            switch (tipo)
                            {
                            case "img":

                                PictureBox imagen = new PictureBox();
                                imagen.Image = Image.FromFile(@"..\..\ImagenesBD\\" + oelemento.contenido);

                                Bitmap img = new Bitmap(Image.FromFile(@"..\..\ImagenesBD\\" + oelemento.contenido));

                                var imageHeight = img.Height;
                                var imageWidth  = img.Width;

                                //propiedades de la imagen
                                imagen.Top      = oelemento.espacio_arriba;
                                imagen.Left     = oelemento.espacio_izquierda;
                                imagen.Name     = oelemento.id.ToString();
                                imagen.Size     = new Size(imageWidth, imageHeight);
                                imagen.SizeMode = PictureBoxSizeMode.StretchImage;
                                imagen.Width    = oelemento.ancho;
                                imagen.Height   = oelemento.alto;
                                imagen.Enabled  = false;

                                panel1.Controls.Add(imagen);
                                break;

                            case "video":
                                PictureBox video = new PictureBox();
                                video.Image = Image.FromFile(@"..\..\Imagenes\play.png");

                                //propiedades del video
                                video.Top         = oelemento.espacio_arriba;
                                video.Left        = oelemento.espacio_izquierda;
                                video.Name        = oelemento.id.ToString();
                                video.BorderStyle = BorderStyle.FixedSingle;
                                video.SizeMode    = PictureBoxSizeMode.CenterImage;
                                video.Width       = oelemento.ancho;
                                video.Height      = oelemento.alto;
                                video.Enabled     = false;

                                panel1.Controls.Add(video);
                                break;

                            case "p":
                                Label parrafo = new Label();
                                parrafo.Text = oelemento.contenido;

                                //propiedades del parrafo
                                parrafo.Top     = oelemento.espacio_arriba;
                                parrafo.Left    = oelemento.espacio_izquierda;
                                parrafo.Name    = oelemento.id.ToString();
                                parrafo.Font    = new Font("Arial", 9);
                                parrafo.Width   = oelemento.ancho;
                                parrafo.Height  = oelemento.alto;
                                parrafo.Enabled = false;

                                panel1.Controls.Add(parrafo);
                                break;

                            case "title":
                                Label titulo = new Label();
                                titulo.Text = oelemento.contenido;

                                //propiedades del titulo
                                titulo.Top     = oelemento.espacio_arriba;
                                titulo.Left    = oelemento.espacio_izquierda;
                                titulo.Name    = oelemento.id.ToString();
                                titulo.Font    = new Font("Arial", 16);
                                titulo.Width   = oelemento.ancho;
                                titulo.Height  = oelemento.alto;
                                titulo.Enabled = false;

                                panel1.Controls.Add(titulo);
                                break;
                            }
                        }
                        Columna.listaElementos.Clear();
                    }
                    else
                    {
                        Columna.listaElementos = new ArrayList();
                    }
                    panel1.MinimumSize = new Size(200, panel1.Height);
                    panel1.BringToFront();

                    //añade un evento cuando se hace click sobre una columna
                    panel1.DoubleClick += delegate(object send, EventArgs ea) { Controlador.mostrarColumna(send, ea, ocolumna.titulo, panel1.Width, panel1.Height); Hide(); };
                    panel1.MouseEnter  += delegate(object send, EventArgs ea) { panel1.Cursor = Cursors.SizeAll; };
                    panel1.MouseLeave  += delegate(object send, EventArgs ea) { panel1.Cursor = Cursors.Default; };
                    controlMovible(panel1);
                }
                listaColumnas.Clear();
            }
            else
            {
                listaColumnas = new ArrayList();
            }
        }