private void BtnAgregacion_Click(object sender, EventArgs e) { //Habilitamos drawing bandera que sirve para guardar los puntos ControlCanvas.Drawing = true; //Creamos una figura_relacion local Figura_Agregacion tmp = new Figura_Agregacion(); //ControlCanvas.Figuras.Figuras.Add(tmp); CargarFigura(tmp); }
static void PointForRelation(object sender, EventArgs e)//cuando drawing esta activado carga las posiciones de los paneles al una lista { Panel pan = sender as Panel; //Figuras.Figuras[0]. Figura_Relacion rel; if (Drawing) { rel = (Figura_Relacion)Figuras.Figuras.Last(); Console.WriteLine(rel.FiguraNombre); if (!rel.isFull) { if (rel.RelIni == null) { rel.RelIni = pan; } else if (rel.RelIni != null && rel.RelFin == null) { rel.RelFin = pan; rel.isFull = true; //rel.RelPuntos.Add(new Point(rel.RelIni.Location.X + rel.RelIni.Size.Width / 2, rel.RelIni.Location.Y + rel.RelIni.Size.Height / 2)); //rel.RelPuntos.Add(new Point(rel.RelFin.Location.X + rel.RelFin.Size.Width / 2, rel.RelFin.Location.Y + rel.RelFin.Size.Height / 2)); } } if (rel.isFull) { if (rel.FiguraNombre.Substring(0, 3).Equals(TipoRelacion.Gen.ToString())) { Console.WriteLine("Herencia creara"); Figura_Generalizacion gen = new Figura_Generalizacion(rel); gen.DibujarFigura(); Figuras.Figuras.Add(gen); Figuras.CanvasSize = CanvasPanel.Size; foreach (Control con in gen.Dibujador.RelLines) { CanvasPanel.Controls.Add(con); } } else if (rel.FiguraNombre.Substring(0, 3).Equals(TipoRelacion.Agr.ToString())) { Console.WriteLine("Agregacion creara"); Figura_Agregacion gen = new Figura_Agregacion(rel); gen.DibujarFigura(); Figuras.Figuras.Add(gen); Figuras.CanvasSize = CanvasPanel.Size; foreach (Control con in gen.Dibujador.RelLines) { CanvasPanel.Controls.Add(con); } } else if (rel.FiguraNombre.Substring(0, 3).Equals(TipoRelacion.Asc.ToString())) { Console.WriteLine("Asociacion creara"); Figura_Asociacion gen = new Figura_Asociacion(rel); gen.DibujarFigura(); Figuras.Figuras.Add(gen); Figuras.CanvasSize = CanvasPanel.Size; foreach (Control con in gen.Dibujador.RelLines) { CanvasPanel.Controls.Add(con); } } else if (rel.FiguraNombre.Substring(0, 3).Equals(TipoRelacion.Cmp.ToString())) { Console.WriteLine("Generalizacion creara"); Figura_Composicion gen = new Figura_Composicion(rel); gen.DibujarFigura(); Figuras.Figuras.Add(gen); Figuras.CanvasSize = CanvasPanel.Size; Console.WriteLine(gen.Dibujador.RelLines.Last().Size); foreach (Control con in gen.Dibujador.RelLines) { CanvasPanel.Controls.Add(con); } } //CanvasPanel.Controls.Add(GenArrow); Drawing = false; } } }