public void Init(C2iComposant3D composantPhysiqueEdite)
        {
            m_listeControles.AddAllLoadedAssemblies();


            m_listeControles.RefreshControls();

            ComposantPhysiqueEdite = composantPhysiqueEdite;
            if (composantPhysiqueEdite == null)
            {
                C2iComposant3DCube cube = new C2iComposant3DCube();
                cube.Size = new C3DSize(300, 300, 300);
                ComposantPhysiqueEdite = cube;
            }

            m_editeurTopLeft.Editeur    = this;
            m_editeurBottomLeft.Editeur = this;
            m_editeurTopRight.Editeur   = this;

            CFournisseurGeneriqueProprietesDynamiques fournisseurPropriete = new CFournisseurGeneriqueProprietesDynamiques();

            m_editeurTopLeft.FournisseurPropriete    = fournisseurPropriete;
            m_editeurTopRight.FournisseurPropriete   = fournisseurPropriete;
            m_editeurBottomLeft.FournisseurPropriete = fournisseurPropriete;
        }
 private void ActualiserPanel()
 {
     if (m_editeurTopLeft.Selection.Count == 0)
     {
         m_propertyGrid.SelectedObject = null;
     }
     else
     {
         if (m_editeurTopLeft.Selection.Count == 1)
         {
             C2i3DEn2D compo = m_editeurTopLeft.Selection[0] as C2i3DEn2D;
             m_propertyGrid.SelectedObject = compo.Composant3D;
         }
         else
         {
             List <object> objs = new List <object>();
             foreach (C2i3DEn2D element in m_editeurTopLeft.Selection)
             {
                 objs.Add(element.Composant3D);
             }
             m_propertyGrid.SelectedObjects = objs.ToArray();
         }
     }
     MajFormules();
     m_lastComposantPourFormules = null;
     m_panelFormules.SuspendDrawing();
     foreach (Control ctrl in m_panelFormules.Controls)
     {
         ctrl.Visible = false;
         ctrl.Dispose();
     }
     m_panelFormules.Controls.Clear();
     if (m_editeurTopLeft.Selection.Count == 1)
     {
         C2i3DEn2D c2d = m_editeurTopLeft.Selection[0] as C2i3DEn2D;
         if (c2d != null)
         {
             C2iComposant3D composant = c2d.Composant3D;
             m_lastComposantPourFormules = composant;
             Type tp = composant.GetType();
             foreach (PropertyInfo propriete in tp.GetProperties())
             {
                 if (propriete.GetCustomAttributes(typeof(CanBeDynamicAttribute), true).Length != 0)
                 {
                     C2iExpression formule             = composant.GetFormule(propriete.Name);
                     CControlEditFormulePropriete ctrl = new CControlEditFormulePropriete();
                     ctrl.Parent = m_panelFormules;
                     ctrl.Dock   = DockStyle.Top;
                     ctrl.BringToFront();
                     ctrl.Init(typeof(CTypeEquipement), propriete.Name, formule);
                 }
             }
         }
     }
     m_panelFormules.ResumeDrawing();
 }
示例#3
0
 private void CElementListeWnd_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
 {
     if (e.Button == MouseButtons.Left)
     {
         if (Math.Abs(m_ptStartDrag.X - e.X) > 3 &&
             Math.Abs(m_ptStartDrag.Y - e.Y) > 3)
         {
             C2iComposant3D                composant = (C2iComposant3D)Activator.CreateInstance(TypeAssocie);
             I2iObjetGraphique             c3D       = composant.Get2D(EFaceVueDynamique.Front);
             CDonneeDragDropObjetGraphique donnee    = new CDonneeDragDropObjetGraphique(GetType().ToString(), c3D, new Point(0, 0));
             DoDragDrop(donnee, System.Windows.Forms.DragDropEffects.All);
             Refresh();
         }
     }
 }