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(); }
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(); } } }