Ejemplo n.º 1
0
        /// ////////////////////////////////////////////
        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();
        }