public C2iObjetDeSchema GetObjetDeSchema(CElementDeSchemaReseau element) { C2iLienDeSchemaReseau lien = new C2iLienDeSchemaReseau(); lien.ElementDeSchema = element; return(lien); }
//------------------------------------------------------------------------------------------ public override I2iObjetGraphique GetCloneAMettreDansParent(I2iObjetGraphique parent, Dictionary <Type, object> dicObjetsPourCloner) { C2iObjetDeSchema parentAsC2iObjet = parent as C2iObjetDeSchema; if (m_elementAssocie != null && parentAsC2iObjet != null && parentAsC2iObjet.SchemaContenant != null) { IElementDeSchemaReseau eltDeSchema = (IElementDeSchemaReseau)m_elementAssocie.GetObjet(parentAsC2iObjet.SchemaContenant.ContexteDonnee); CElementDeSchemaReseau newElement = new CElementDeSchemaReseau(eltDeSchema.ContexteDonnee); newElement.CreateNewInCurrentContexte(); newElement.ElementAssocie = eltDeSchema; newElement.SchemaReseau = parentAsC2iObjet.SchemaContenant; if (!m_bSizeIsSet) { C2iSymbole symbole = eltDeSchema.SymboleADessiner; if (symbole != null) { Size = symbole.Size; m_bSizeIsSet = true; } } newElement.Width = Size.Width; newElement.Height = Size.Height; C2iObjetDeSchema obj = eltDeSchema.GetObjetDeSchema(newElement); return(obj); } return(null); }
/// <summary> /// Crée l'objet correspondant à l'une des extremités du lien /// </summary> private C2iObjetDeSchema CreateObjetFor(IElementDeSchemaReseau elementACreer) { CElementDeSchemaReseau eltDeSchema = new CElementDeSchemaReseau(ElementDeSchema.ContexteDonnee); eltDeSchema.CreateNewInCurrentContexte(); eltDeSchema.SchemaReseau = ElementDeSchema.SchemaReseau; eltDeSchema.ElementAssocie = elementACreer; C2iObjetDeSchema objetDeSchema = eltDeSchema.ObjetDeSchema; Parent.AddChild(objetDeSchema); objetDeSchema.Parent = Parent; return(objetDeSchema); }
/// //////////////////////////////////////////////////////// public override I2iObjetGraphique GetCloneAMettreDansParent(I2iObjetGraphique parent, Dictionary <Type, object> dicObjetsPourCloner) { C2iObjetDeSchema objet = (C2iObjetDeSchema)base.GetCloneAMettreDansParent(parent, dicObjetsPourCloner); C2iObjetDeSchema parentAsC2iObjet = parent as C2iObjetDeSchema; if (ElementDeSchema != null && parentAsC2iObjet != null && parentAsC2iObjet.SchemaContenant != null) { CElementDeSchemaReseau newElement = new CElementDeSchemaReseau(parentAsC2iObjet.SchemaContenant.ContexteDonnee); newElement.CreateNewInCurrentContexte(); newElement.ElementAssocie = ElementDeSchema.ElementAssocie; newElement.SchemaReseau = parentAsC2iObjet.SchemaContenant; newElement.Width = Size.Width; newElement.Height = Size.Height; objet.ElementDeSchema = newElement; } return(objet); }
public C2iSchemaReseau GetSchemaReseauADessiner(bool bCreationAutorisee) { C2iSchemaReseau schemaADessiner; if (SchemaReseau != null) { if (SchemaReseau.GetSchema(bCreationAutorisee) != null) { schemaADessiner = SchemaReseau.GetSchema(bCreationAutorisee); } else { schemaADessiner = new C2iSchemaReseau(SchemaReseau); } } else if (bCreationAutorisee) { CSchemaReseau schema = GetSchemaReseauCreateIfNull(); schema.CreateNewInCurrentContexte(); schema.LienReseau = this; schema.Libelle = this.Libelle; schemaADessiner = schema.GetSchema(bCreationAutorisee); } else { return(null); } bool bFindObjet1 = false; bool bFindObjet2 = false; foreach (C2iObjetDeSchema objet in schemaADessiner.Childs) { if (objet.ElementDeSchema != null && objet.ElementDeSchema.ElementAssocie != null) { if (objet.ElementDeSchema.ElementAssocie.Equals(Element1)) { bFindObjet1 = true; } if (objet.ElementDeSchema.ElementAssocie.Equals(Element2)) { bFindObjet2 = true; } } } if (!bFindObjet1 && Element1 != null) { CElementDeSchemaReseau elt1 = new CElementDeSchemaReseau(ContexteDonnee); elt1.CreateNewInCurrentContexte(); elt1.SchemaReseau = SchemaReseau; elt1.ElementAssocie = Element1; C2iObjetDeSchema objet1 = elt1.ObjetDeSchema; schemaADessiner.AddChild(objet1); objet1.Parent = schemaADessiner; objet1.Position = new Point(10, 10); elt1.X = objet1.Position.X; elt1.Y = objet1.Position.Y; } if (!bFindObjet2 && Element2 != null) { CElementDeSchemaReseau elt2 = new CElementDeSchemaReseau(ContexteDonnee); elt2.CreateNewInCurrentContexte(); elt2.SchemaReseau = SchemaReseau; elt2.ElementAssocie = Element2; C2iObjetDeSchema objet2 = elt2.ObjetDeSchema; schemaADessiner.AddChild(objet2); objet2.Parent = schemaADessiner; objet2.Position = new Point(10, 400); elt2.X = objet2.Position.X; elt2.Y = objet2.Position.Y; } C2iLienDeSchemaReseauNoDelete lienGraphiqueEdite = new C2iLienDeSchemaReseauNoDelete(); lienGraphiqueEdite.LienReseau = this; schemaADessiner.AddChild(lienGraphiqueEdite); lienGraphiqueEdite.Parent = schemaADessiner; schemaADessiner.FrontToBack(lienGraphiqueEdite); return(schemaADessiner); }