Esempio n. 1
0
 /// <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;
 }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
        /**
         * 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);
                }
            }
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
            }
        }
Esempio n. 7
0
 public MenuItem(MenuItem pMenus, BoMenuType pType, string pString)
     : this(pMenus, pType, pString, null)
 {
 }