public void Init( CAffectationsProprietes affectations, IFournisseurProprietesDynamiques fournisseur, Type typeElementModifie, CObjetPourSousProprietes objetSource) { ArrayList lstControles = new ArrayList(m_panelControles.Controls); foreach (Control ctrl in lstControles) { ctrl.Visible = false; m_panelControles.Controls.Remove(ctrl); ctrl.Dispose(); } CDefinitionProprieteDynamique[] defs = fournisseur.GetDefinitionsChamps(typeElementModifie, 0); m_panelControles.SuspendDrawing(); List <CDefinitionProprieteDynamique> lstDefs = new List <CDefinitionProprieteDynamique>(defs); lstDefs.Sort((x, y) => x.Nom.CompareTo(y.Nom)); foreach (CDefinitionProprieteDynamique def in lstDefs) { if (!def.IsReadOnly) { CPanelAffectationPropriete panel = new CPanelAffectationPropriete(); panel.Dock = DockStyle.Top; m_panelControles.Controls.Add(panel); C2iExpression formule = affectations.GetFormuleFor(def); panel.Init(def, formule, fournisseur, objetSource); m_panelControles.BringToFront(); } } m_panelControles.ResumeDrawing(); }
public CAffectationsProprietes GetAffectations() { CAffectationsProprietes affectation = new CAffectationsProprietes(); foreach (Control ctrl in m_panelControles.Controls) { CPanelAffectationPropriete panel = ctrl as CPanelAffectationPropriete; if (panel != null) { affectation.SetAffectation(panel.Propriete, panel.Formule); } } return(affectation); }