/// //////////////////////////////////////////// public static void RegisterAction(IActionSurServeur action) { CInfoActionServeur info = new CInfoActionServeur(action.CodeType, action.Libelle, action.Description, action.NomsParametres); m_listeInfosActions.Add(info); m_tableCodeActionToType[action.CodeType] = action.GetType(); m_listeInfosActions.Sort(new InfoActionComparer()); }
private void FillListeChamps() { m_panelFormules.SuspendDrawing(); foreach (Control ctrl in m_panelFormules.Controls) { if (ctrl is CEditeurFormuleNommee) { ctrl.Visible = false; m_reserveEditeurs.Add(ctrl); } } ArrayList lst = new ArrayList(); if (m_cmbAction.SelectedValue is string) { string strCode = (string)m_cmbAction.SelectedValue; CInfoActionServeur info = null; foreach (CInfoActionServeur infoTmp in CActionLancerActionServeur.GetListeActionsPossibles(ActionLancer.Process.IdSession)) { if (infoTmp.Code == strCode) { info = infoTmp; break; } } if (info != null) { foreach (string strNomParametre in info.NomsParametres) { CFormuleForParametre formule = new CFormuleForParametre(strNomParametre, strNomParametre); formule.Formule = ActionLancer.GetFormuleForParametre(strNomParametre); lst.Add(formule); } } } lst.Sort(); m_listeExpressions = lst; int nY = 0; foreach (CFormuleForParametre formule in lst) { CEditeurFormuleNommee editeur = null; if (m_reserveEditeurs.Count > 0) { editeur = (CEditeurFormuleNommee)m_reserveEditeurs[0]; m_reserveEditeurs.Remove(editeur); } else { editeur = new CEditeurFormuleNommee(); editeur.Parent = m_panelFormules; } editeur.Visible = true; editeur.Width = m_panelFormules.ClientRectangle.Width; editeur.Location = new Point(0, nY); formule.Editeur = editeur; editeur.TextFormule.Enter += new EventHandler(OnEnterZoneFormule); editeur.Init(m_wndAideFormule.FournisseurProprietes, m_wndAideFormule.ObjetInterroge); editeur.Libelle = formule.NomConvivial; editeur.TabIndex = nY; nY += editeur.Size.Height + 1; editeur.Formule = formule.Formule; } m_panelFormules.ResumeDrawing(); }