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