/// <summary> /// Add a Menu Item to SAP Bussiness One Menus. /// </summary> /// <param name="FatherUID">UID of the top level menu</param> /// <param name="String">The display name of the menu item.</param> /// <param name="Type">The type of menu item. /// mt_STRING - active menu item with no subitems (menu ID should be greater than 0) /// mt_POPUP - Menu item with subitems /// mt_SEPERATOR - Separator item /// </param> /// <param name="UniqueID">The unique ID of the menu item.</param> /// <param name="Image">The path to an image file to be displayed to the left of the menu item.</param> /// <param name="Checked">Indicates whether the menu item gets a check mark when clicked.</param> /// <param name="Enabled">Indicates whether the menu item is enabled.</param> public MenuAttribute(string FatherUID, string String, BoMenuType Type, string UniqueID, string Image = null, string Checked = "0", string Enabled = "1") { this.Checked = Checked; this.Enabled = Enabled; this.FatherUID = FatherUID; this.String = String; this.Type = Type; this.UniqueID = UniqueID; this.Image = Image; }
public MenuItem Add(string parentID, string menuID, string caption, BoMenuType menuType, int position) { var subMenu = _app.SBOApplication.Menus.Item(parentID).SubMenus; try { return(subMenu.Add(menuID, caption, menuType, position)); } catch (COMException) { //FIX: Não pode ser assim pois acoberta a exeção do menu return(subMenu.Item(menuID)); } }
/** * Adiciona um item de menu em um menu ja existente ou adicionado. * * * menuItemB1ID Id do menu pai onde o item de menu devera ser inserido * menuItemDescr Texto do item de menu * menuItemID ID do item de menu que esta sendo criado * position posicao na lista de itens dentro de um menu * type tipo... * imagePath caminho para o arquivo de imagem a ser utilizado como icone no menu * */ public static void AddMenuItem(string menuItemB1ID, string menuItemDescr, string menuItemID , int position, BoMenuType type, string imagePath = "", bool remove = true) { SAPbouiCOM.Menus oMenus = null; SAPbouiCOM.MenuItem oMenuItem = null; SAPbouiCOM.MenuCreationParams oCreationPackage = null; oCreationPackage = ((SAPbouiCOM.MenuCreationParams)(B1AppDomain.Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_MenuCreationParams))); oMenuItem = B1AppDomain.Application.Menus.Item(menuItemB1ID); oMenus = oMenuItem.SubMenus; bool exist = (oMenus != null) && oMenuItem.SubMenus.Exists(menuItemID); if (exist && remove) { oMenuItem.SubMenus.RemoveEx(menuItemID); exist = false; } else { exist = false; } if (!(exist && remove)) { oCreationPackage.Type = type; oCreationPackage.UniqueID = menuItemID; oCreationPackage.String = menuItemDescr; oCreationPackage.Enabled = true; oCreationPackage.Position = position; //posição onde vai criar o modulo oCreationPackage.Image = imagePath; try { if (oMenus == null) { oMenuItem.SubMenus.Add(menuItemID, menuItemDescr, type, position); oMenus = oMenuItem.SubMenus; } oMenus.AddEx(oCreationPackage); } catch (Exception ex) { // B1Exception.throwException("Erro ao criar Menu ::", ex); } } }
public MenuItem(MenuItem pMenus, BoMenuType pType, string pString, Bitmap pImage) : this() { this.Type = pType; this.UID = GetNexID( ); this.String = pString; this.Enabled = true; //this.Position = oSubMenus.Count; if (pImage != null) { string FileName = Path.Combine(Path.GetTempPath( ), this.UID + ".png"); pImage.Save(FileName); this.Image = FileName; } Application.GetInstance( ).AddMenu(pMenus.UID, this); }
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); }
private static MenuItem Add(this MenuItem parentMenuItem, string title, string itemId, int position, BoMenuType type) { try { Init(); if (!parentMenuItem.SubMenus.Exists(itemId)) { var creationPackage = SboApp.Application.CreateObject(BoCreatableObjectType.cot_MenuCreationParams) as MenuCreationParams; creationPackage.Type = type; creationPackage.UniqueID = itemId; creationPackage.String = title; creationPackage.Image = ""; creationPackage.Enabled = true; creationPackage.Position = position; parentMenuItem.SubMenus.AddEx(creationPackage); } } catch (Exception e) { SboApp.Application.SetStatusBarMessage($"Error creating menu item (string) {itemId}: {e.Message}"); } try { if (type == BoMenuType.mt_POPUP) { return(parentMenuItem.SubMenus.Item(itemId)); } else { return(parentMenuItem); } } catch (Exception e) { throw new Exception($"Menu {itemId} not found in {parentMenuItem.UID}", e); } }
public MenuItem(MenuItem pMenus, BoMenuType pType, string pString) : this(pMenus, pType, pString, null) { }