private void setMenuItems() { Menus menus = AppContext.SBOApplication.Menus; MenuCreationParams creationParams = AppContext.SBOApplication.CreateObject(BoCreatableObjectType.cot_MenuCreationParams); SAPbouiCOM.MenuItem menuItem = AppContext.SBOApplication.Menus.Item("43520"); menus = menuItem.SubMenus; //Se agrega menu de add-on <<linea de Creditos>> if (AppContext.SBOApplication.Menus.Exists("Facturas")) { AppContext.SBOApplication.Menus.RemoveEx("Facturas"); } creationParams.Type = SAPbouiCOM.BoMenuType.mt_POPUP; creationParams.UniqueID = "Facturas"; creationParams.String = "Facturas"; creationParams.Enabled = true; creationParams.Position = 1; menus.AddEx(creationParams); //Se agrega submenu de formulario <<Aumento de Creditos>> menuItem = AppContext.SBOApplication.Menus.Item("Facturas"); menus = menuItem.SubMenus; creationParams.Type = SAPbouiCOM.BoMenuType.mt_STRING; creationParams.UniqueID = "FacturasDoc"; creationParams.String = "Facturas Documentos"; menus.AddEx(creationParams); }
/// <summary> /// Create menu when rihgt click in matrix /// menu Add Row and Delete Row public void RightClickEvent_AltItem(ref ContextMenuInfo eventInfo, ref bool bubbleEvent) { Form oForm = oSBOApplication.Forms.ActiveForm; if (eventInfo.BeforeAction == true && eventInfo.ItemUID == "mt_1") { MenuItem oMenuItem = null; Menus oMenus = null; MenuCreationParams oCreateionPackage = null; try { oCreateionPackage = oSBOApplication.CreateObject(BoCreatableObjectType.cot_MenuCreationParams); oCreateionPackage.Type = BoMenuType.mt_STRING; oCreateionPackage.UniqueID = "AltItemAdd"; oCreateionPackage.Position = 1; oCreateionPackage.String = "Add Row"; oCreateionPackage.Enabled = true; oMenuItem = oSBOApplication.Menus.Item("1280"); oMenus = oMenuItem.SubMenus; oMenus.AddEx(oCreateionPackage); oCreateionPackage = oSBOApplication.CreateObject(BoCreatableObjectType.cot_MenuCreationParams); oCreateionPackage.Type = BoMenuType.mt_STRING; oCreateionPackage.UniqueID = "AltItemDel"; oCreateionPackage.Position = 2; oCreateionPackage.String = "Delete Row"; oCreateionPackage.Enabled = true; oMenuItem = oSBOApplication.Menus.Item("1280"); oMenus = oMenuItem.SubMenus; oMenus.AddEx(oCreateionPackage); } catch (Exception ex) { oSBOApplication.MessageBox(ex.Message); } finally { Utils.releaseObject(oMenuItem); Utils.releaseObject(oMenus); Utils.releaseObject(oCreateionPackage); } GeneralVariables.iDelRow = eventInfo.Row; } else { oSBOApplication.Menus.RemoveEx("AltItemAdd"); oSBOApplication.Menus.RemoveEx("AltItemDel"); } Utils.releaseObject(oForm); }
private bool AddSection(Module pObjModule, Section pObjSection, Menus pObjMenus, MenuItem pObjMenuItem, MenuCreationParams pObjCreationPackage) { bool lBolResult = false; try { //Get module menu pObjMenuItem = UIApplication.GetMenus().Item(pObjModule.UniqueID); //Prepare section pObjCreationPackage.Type = SAPbouiCOM.BoMenuType.mt_STRING; pObjCreationPackage.UniqueID = pObjSection.UniqueID; pObjCreationPackage.String = pObjSection.String; pObjMenus = pObjMenuItem.SubMenus; //Add section pObjMenus.AddEx(pObjCreationPackage); //Update result lBolResult = true; } catch (Exception ex) { UIApplication.ShowError(string.Format("RegisterSectionException: {0}", ex.Message)); } return(lBolResult); }
//private bool AddForm(Menus pObjMenus, MenuItem pObjMenuItem, MenuCreationParams pObjCreationPackage) //{ // bool lBolResult = false; // try // { // SAPbouiCOM.Menus lObjMenus = null; // lObjMenus = pObjMenus.Item(6).SubMenus.Item(7).SubMenus.Item(4).SubMenus; // pObjCreationPackage.Type = SAPbouiCOM.BoMenuType.mt_STRING; // pObjCreationPackage.UniqueID = "ReceptionForm"; // pObjCreationPackage.String = "Recepción de Alimento"; // //pObjCreationPackage.Image = ; // pObjCreationPackage.Position = lObjMenus.Count + 1; // lObjMenus.AddEx(pObjCreationPackage); // //Update result // lBolResult = true; // } // catch (Exception ex) // { // UIApplication.ShowError(string.Format("RegisterModuleException: {0}", ex.Message)); // } // return lBolResult; //} private bool AddModule(Module pObjModule, Menus pObjMenus, MenuItem pObjMenuItem, MenuCreationParams pObjCreationPackage) { bool lBolResult = false; try { //Prepare module pObjCreationPackage.Type = BoMenuType.mt_POPUP; pObjCreationPackage.UniqueID = pObjModule.UniqueID; pObjCreationPackage.String = pObjModule.String; pObjCreationPackage.Enabled = pObjModule.Enable; pObjCreationPackage.Image = pObjModule.Image; pObjCreationPackage.Position = pObjModule.Position; pObjMenus = pObjMenuItem.SubMenus; //Add module pObjMenus.AddEx(pObjCreationPackage); //Update result lBolResult = true; } catch (Exception ex) { UIApplication.ShowError(string.Format("RegisterModuleException: {0}", ex.Message)); } return(lBolResult); }
public static MenuItem AddOrUpdate(this Menus menus, string uniqueId, string parent, string title, BoMenuType menuType = BoMenuType.mt_STRING, bool enabled = true, int position = 1, MenuItemRelativePosition relativePosition = null) { MenuItem menuItem = menus.Item(parent); Menus subMenus = menuItem.SubMenus; if (!subMenus.Exists(uniqueId)) { var creationPackage = (MenuCreationParams) SboAddon.Instance.Application.CreateObject(BoCreatableObjectType.cot_MenuCreationParams); creationPackage.Type = menuType; creationPackage.UniqueID = uniqueId; creationPackage.String = title; creationPackage.Enabled = enabled; if (relativePosition != null) { creationPackage.Position = subMenus.PositionOf(relativePosition.RelativeTo).GetValueOrDefault(position) + relativePosition.PlusPositions; } else { creationPackage.Position = position; } return(subMenus.AddEx(creationPackage)); } MenuItem existing = subMenus.Item(uniqueId); if (!title.Equals(existing.String)) { existing.String = title; } if (!enabled.Equals(existing.Enabled)) { existing.Enabled = enabled; } return(existing); }
public void CreateMenu(params string[] subMenuParam) { Clear(); int id = 0; foreach (var itemMenu in subMenuParam) { var m = CurApplication.CreateObject(BoCreatableObjectType.cot_MenuCreationParams) as MenuCreationParams; m.Type = BoMenuType.mt_STRING; m.Position = id; m.UniqueID = "subMenu" + (id++).ToString(); m.String = itemMenu; m.Enabled = true; subMenu.Add(m); if (!menu.Exists(m.UniqueID)) { menu.AddEx(m); } } }