//---------------------------------------------------------- private ToolStripMenuItem[] GetMenusAction(CActionTraitementReleveEquipement action) { IEnumerable <CActionTraitementReleveEquipement> lstActions = action.GetSousActionsPossibles(); if (lstActions.Count() == 1) { return(GetMenusAction(lstActions.ElementAt(0))); } if (lstActions.Count() == 0) { ToolStripMenuItem item = new ToolStripMenuItem(action.Libelle); item.Tag = action; item.Image = global::timos.Properties.Resources.Action; item.Click += new EventHandler(item_Click); return(new ToolStripMenuItem[] { item }); } List <ToolStripMenuItem> lst = new List <ToolStripMenuItem>(); foreach (CActionTraitementReleveEquipement sa in lstActions) { foreach (ToolStripMenuItem item in GetMenusAction(sa)) { lst.Add(item); } } return(lst.ToArray()); }
//--------------------------------------------------------------- public CActionDoubleAction(CReleveEquipement releve, CActionTraitementReleveEquipement action1, CActionTraitementReleveEquipement action2) : base(releve) { m_action1 = action1; m_action2 = action2; }
//--------------------------------------------------------------------------- private void m_btnChooseAction_Click(object sender, EventArgs e) { CItemInventaire iv = CurrentItem as CItemInventaire; if (iv != null) { if (iv.TraitementReleve.EtatValidation == EEtatValidationReleveEquipement.Appliquée) { return; } CActionTraitementReleveEquipement actionDef = iv.TraitementReleve.GetDefaultAction(); if (iv != null && actionDef != null) { ContextMenuStrip menu = new ContextMenuStrip(); ToolStripMenuItem[] its = GetMenusAction(actionDef); bool bHasDoNothing = false; foreach (ToolStripMenuItem item in its) { bHasDoNothing |= item.Tag is CActionNeRienFaire; menu.Items.Add(item); } CActionNeRienFaire rien = new CActionNeRienFaire(iv.TraitementReleve.ReleveEquipement); if (!bHasDoNothing) { ToolStripMenuItem itemTmp = new ToolStripMenuItem(rien.Libelle); itemTmp.Image = global::timos.Properties.Resources.Action; itemTmp.Tag = rien; itemTmp.Click += item_Click; menu.Items.Add(itemTmp); } menu.Items.Add(new ToolStripSeparator()); ToolStripMenuItem itemReinit = new ToolStripMenuItem(I.T("Reset choice|20782")); itemReinit.Click += new EventHandler(itemReinit_Click); menu.Items.Add(itemReinit); if (menu.Items.Count > 0) { menu.Show(m_btnChooseAction, new Point(0, m_btnChooseAction.Height)); } } } }
//------------------------------------------------------------------ public CActionTraitementReleveEquipement GetDefaultAction() { if (ReleveEquipement == null) { return(null); } CActionTraitementReleveEquipement action = null; if (ReleveEquipement.Presence == true) { action = new CActionSiPresent(ReleveEquipement); } else if (ReleveEquipement.Presence == false) { action = new CActionSiAbsent(ReleveEquipement); } else { action = new CActionSiPresenceNulle(ReleveEquipement); } m_strInfo = action.Info; IEnumerable <CActionTraitementReleveEquipement> lst = action.GetSousActionsPossibles(); while (lst.Count() == 1) { action = lst.ElementAt(0); if (action.Info.Trim().Length > 0) { m_strInfo = action.Info; } lst = action.GetSousActionsPossibles(); } if (action != null && action.GetSousActionsPossibles().Count() == 0 && !action.IsExecutable) { action = null; } if (action != null && action.Info.Trim().Length > 0) { m_strInfo = action.Info; } if (action == null && m_strInfo.Trim().Length == 0) { m_strInfo = sc2i.common.I.T("Nothing to signal on survey, check contained equipments|20219"); } return(action); }
//------------------------------------------------------------ void item_Click(object sender, EventArgs e) { ToolStripMenuItem item = sender as ToolStripMenuItem; CActionTraitementReleveEquipement t = item != null ? item.Tag as CActionTraitementReleveEquipement: null; if (t != null) { CItemInventaire iv = CurrentItem as CItemInventaire; if (iv != null) { iv.TraitementReleve.Action = t; iv.TraitementReleve.EtatValidation = EEtatValidationReleveEquipement.Validé; UpdateLibelleAction(iv); HasChange = true; } } }