コード例 #1
0
        //--------------------------------------------------------------------------
        public ToolStripItem[] GetItemsForContextMenuStrip(IMenuItem menuItem, object sender, object objetCible)
        {
            List <ToolStripItem> listeItems = new List <ToolStripItem>();

            CActionMenuItem actionMenuItem = menuItem as CActionMenuItem;

            if (actionMenuItem != null)
            {
                ToolStripMenuItem newItem = new ToolStripMenuItem(actionMenuItem.Libelle);
                if (actionMenuItem.FormuleLibelle != null)
                {
                    CContexteEvaluationExpression ctx = new CContexteEvaluationExpression(objetCible);

                    CResultAErreur result = actionMenuItem.FormuleLibelle.Eval(ctx);
                    if (result && result.Data != null)
                    {
                        newItem.Text = result.Data.ToString();
                    }
                }
                newItem.Tag = new CCoupleActionObjet(actionMenuItem.Action, objetCible);
                if (actionMenuItem.Action != null && actionMenuItem.Action is CActionSur2iLinkMenuDeroulant)
                {
                    CExecuteurActionSur2iLinkMenuDeroulant executeurActionMenu = new CExecuteurActionSur2iLinkMenuDeroulant();
                    CResultAErreur result = executeurActionMenu.ExecuteAction(
                        (CActionSur2iLinkMenuDeroulant)actionMenuItem.Action, sender, objetCible);
                    if (result)
                    {
                        newItem.DropDownItems.AddRange((ToolStripItem[])result.Data);
                    }
                }
                else
                {
                    newItem.Click += new EventHandler(ActionMenuItem_Click);
                }

                listeItems.Add(newItem);
            }

            return(listeItems.ToArray());
        }
コード例 #2
0
        //-------------------------------------------------------------------------------
        public void InitChamps(IMenuItem menuItem, CObjetPourSousProprietes objetPourSousProprietes)
        {
            CActionMenuItem actionItem = menuItem as CActionMenuItem;

            m_objetPourSousProprietes = objetPourSousProprietes;
            if (actionItem == null)
            {
                Visible          = false;
                m_actionMenuItem = null;
                return;
            }
            m_actionMenuItem = actionItem;

            Visible = true;
            m_txtMenuItemLabel.Text    = actionItem.Libelle;
            m_numMenuItemSort.IntValue = actionItem.NumeroOrdre;
            m_wndFormuleCondition.Init(new CFournisseurGeneriqueProprietesDynamiques(), objetPourSousProprietes);
            m_txtFormuleLibelle.Init(new CFournisseurGeneriqueProprietesDynamiques(), objetPourSousProprietes);
            m_wndFormuleCondition.Formule = actionItem.FormuleCondition;
            m_txtFormuleLibelle.Formule   = actionItem.FormuleLibelle;
            m_imageLinkOk.Visible         = actionItem.Action != null;
        }