Exemple #1
0
        //------------------------------------------------------------------------------------------
        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);
        }
Exemple #2
0
        /// <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);
        }
Exemple #3
0
        /// ////////////////////////////////////////////////////////
        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);
        }
Exemple #4
0
        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);
        }