Пример #1
0
 protected void btnInsertItemtoMenu_Click(object sender, EventArgs e)
 {
     try
     {
         submenuitem = new SubMenuItemBLL();
         //category = new CategoryBLL();
         //Category cat = category.ListCategoryWithID(Convert.ToInt32(dlSelectCategory.SelectedValue)).FirstOrDefault();
         string             strMenuID = (gwMenuItems.SelectedRow.FindControl("lblMenuID") as Label).Text;
         List <SubMenuItem> lstMC     = submenuitem.ListItemByMenuIDandCategoryID(Convert.ToInt32(strMenuID), Convert.ToInt32(dlSelectCategory.SelectedValue));
         SubMenuItem        menuItem  = lstMC.FirstOrDefault();
         if (menuItem != null)
         {
             lblAddSubItemWaring.Text = "Danh mục đã có. Vui lòng chọn danh mục khác !";
         }
         else
         {
             //lblAddSubItemWaring.Text = menu_categry.CounkItemWithMenuID(Convert.ToInt32(strMenuID)).ToString();
             lblAddSubItemWaring.Text = "";
             if (submenuitem.AddNewSubMenuItem(Convert.ToInt32(strMenuID), Convert.ToInt32(dlSelectCategory.SelectedValue), submenuitem.MaxSortOrderByMenuID(Convert.ToInt32(strMenuID)) + 1, "", "", 0))
             {
                 this.load_gwSubMenuItem(Convert.ToInt32(strMenuID));
             }
             else
             {
                 lblAddSubItemWaring.Text = "Thêm thất bại. Lỗi kết nối CSDL !";
             }
         }
     }
     catch (Exception ex)
     {
         this.AlertPageValid(true, ex.ToString(), alertPageValid, lblPageValid);
     }
 }
Пример #2
0
        public List <SubMenuItem> ListItemBySortOrderandMenuID(int SortOrder, int MenuID)
        {
            if (!this.dt.OpenConnection())
            {
                return(null);
            }
            string             sql        = "select * from SubMenuItem where SortOrder=@SortOrder and MenuID=@MenuID";
            SqlParameter       pSortOrder = new SqlParameter("@SortOrder", SortOrder);
            SqlParameter       pMenuID    = new SqlParameter("@MenuID", MenuID);
            DataTable          tb         = dt.DATable(sql, pSortOrder, pMenuID);
            List <SubMenuItem> lst        = new List <SubMenuItem>();

            foreach (DataRow r in tb.Rows)
            {
                SubMenuItem itm = new SubMenuItem();
                itm.ID         = (int)r["ID"];
                itm.MenuID     = (string.IsNullOrEmpty(r["MenuID"].ToString())) ? 0 : (int)r["MenuID"];
                itm.CategoryID = (string.IsNullOrEmpty(r["CategoryID"].ToString())) ? 0 : (int)r["CategoryID"];
                itm.SortOrder  = (string.IsNullOrEmpty(r["SortOrder"].ToString())) ? 0 : (int)r["SortOrder"];
                itm.OrtherItem = (string.IsNullOrEmpty(r["OrtherItem"].ToString())) ? "" : (string)r["OrtherItem"];
                itm.Permalink  = (string.IsNullOrEmpty(r["Permalink"].ToString())) ? "" : (string)r["Permalink"];
                itm.PostID     = (string.IsNullOrEmpty(r["PostID"].ToString())) ? 0 : (int)r["PostID"];
                lst.Add(itm);
            }
            this.dt.CloseConnection();
            return(lst);
        }
Пример #3
0
        public void MenuBarShouldSetInputBindingsForChildren()
        {
            Invoke(() =>
            {
                var form  = new Form();
                form.Menu = new MenuBar();

                var file = new SubMenuItem {
                    Text = "File"
                };

                var command = new Command {
                    MenuText = "Click Me!"
                };
                command.Shortcut  = Keys.Control | Keys.N;
                command.Executed += (sender, e) => MessageBox.Show("Woo!");
                file.Items.Add(command);

                // add the item (with child items) to the menu that is already set to the form
                form.Menu.Items.Add(file);

                // check to make sure the input binding for the command made it
                var host = form.Handler as IInputBindingHost;
                Assert.AreEqual(1, host.InputBindings.Count);
                Assert.IsInstanceOf <swi.KeyBinding>(host.InputBindings[0]);
                var kb = (swi.KeyBinding)host.InputBindings[0];
                Assert.AreEqual(swi.Key.N, kb.Key);
                Assert.AreEqual(swi.ModifierKeys.Control, kb.Modifiers);
            });
        }
Пример #4
0
        }     // navEasyGoto_CheckAvailability

        /// <summary>
        /// Nav easy goto navigate
        /// </summary>
        private void navEasyGoto_Navigate(object sender, DevExpress.CodeRush.Library.NavigationEventArgs ea)
        {
            SubMenuItem selectedMenuItem = ea.SelectedSubMenuItem;

            if (selectedMenuItem != null)
            {
                CodeRush.Markers.Drop(MarkerStyle.System);
                if (selectedMenuItem.Name == MenuItem_ClassDefinition)
                {
                    CodeRush.Caret.MoveTo(_currentClass.NameRange.Start);
                }
                else if (selectedMenuItem.Name == MenuItem_ClassDefinition_InheritedClass)
                {
                    CodeRush.Caret.MoveTo(_currentBaseClassRef.NameRange.Start);
                }
                else if (selectedMenuItem.Name == MenuItem_ClassDefinition_InheritedClass_Definition)
                {
                    IElement baseClassDecl = _currentBaseClassRef.GetDeclaration();
                    if (baseClassDecl.FirstFile == null)
                    {
                        CodeRush.Caret.MoveTo(_currentBaseClassRef.NameRange.Start);
                        CodeRush.Command.Execute("Edit.GotoDefinition");
                    }
                    else
                    {
                        CodeRush.File.Activate(baseClassDecl.FirstFile.Name);
                        CodeRush.Caret.MoveTo(baseClassDecl.FirstNameRange.Start);
                    }
                } // else if
            }     // if
        }         // navEasyGoto_Navigate
Пример #5
0
        public static IEnumerable <object[]> ProcessCmdKey_MenuItemParent_TestData()
        {
            var enabledParentChild = new MenuItem {
                Shortcut = Shortcut.CtrlA
            };
            var enabledParent = new SubMenuItem("text", new MenuItem[] { enabledParentChild });

            yield return(new object[] { enabledParent, enabledParentChild, true, 1, 0, 0, 1 });

            var enabledParentChildWithItems = new MenuItem("text", new MenuItem[] { new MenuItem() })
            {
                Shortcut = Shortcut.CtrlA
            };
            var enabledParentWithItems = new SubMenuItem("text", new MenuItem[] { enabledParentChildWithItems });

            yield return(new object[] { enabledParentWithItems, enabledParentChildWithItems, true, 0, 1, 0, 1 });

            var disabledParentChild = new MenuItem {
                Shortcut = Shortcut.CtrlA
            };
            var disabledParent = new SubMenuItem("text", new MenuItem[] { disabledParentChild })
            {
                Enabled = false
            };

            yield return(new object[] { disabledParent, disabledParentChild, false, 0, 0, 0, 0 });
        }
Пример #6
0
    protected void btnAddPost_Click(object sender, EventArgs e)
    {
        submenuitem = new SubMenuItemBLL();
        //category = new CategoryBLL();
        //Category cat = category.ListCategoryWithID(Convert.ToInt32(dlSelectCategory.SelectedValue)).FirstOrDefault();
        string             strMenuID = (gwMenuItems.SelectedRow.FindControl("lblMenuID") as Label).Text;
        List <SubMenuItem> lstMC     = submenuitem.ListItemByMenuIDandPostID(Convert.ToInt32(strMenuID), Convert.ToInt32(dlPosts.SelectedValue));
        SubMenuItem        menuItem  = lstMC.FirstOrDefault();

        if (menuItem != null)
        {
            lblWarningAddPost.Text = "Bài viết đã có. Vui lòng chọn bài viết khác !";
        }
        else
        {
            lblAddSubItemWaring.Text = "";
            if (submenuitem.AddNewSubMenuItem(Convert.ToInt32(strMenuID), 0, submenuitem.MaxSortOrderByMenuID(Convert.ToInt32(strMenuID)) + 1, "", "", Convert.ToInt32(dlPosts.SelectedValue)))
            {
                this.load_gwSubMenuItem(Convert.ToInt32(strMenuID));
            }
            else
            {
                lblAddSubItemWaring.Text = "Thêm thất bại. Lỗi kết nối CSDL !";
            }
        }
    }
Пример #7
0
        public void ActiveMenu()
        {
            m_CurrentItem  = m_MenuRoot;
            m_IsMenuRuning = true;

            while (m_IsMenuRuning)
            {
                if (m_CurrentItem is SubMenuItem)
                {
                    SubMenuItem subMenu        = m_CurrentItem as SubMenuItem;
                    MenuItem    userMenuChoice = subMenu.HandleSubMenuItem();

                    m_CurrentItem = userMenuChoice;
                    if (m_CurrentItem == m_ExitItem)
                    {
                        exitMenu();
                    }

                    Console.Clear();
                }
                else
                {
                    ActionItem actionItem = m_CurrentItem as ActionItem;

                    Console.Clear();
                    actionItem.HandleActionItem();
                    m_CurrentItem = actionItem.BackItem;
                }
            }
        }
Пример #8
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //菜单栏目
            Johnny.CMS.BLL.SystemInfo.MenuCategory        category      = new Johnny.CMS.BLL.SystemInfo.MenuCategory();
            IList <Johnny.CMS.OM.SystemInfo.MenuCategory> categoryModel = category.GetList();

            //菜单
            Johnny.CMS.BLL.SystemInfo.Menu        menu      = new Johnny.CMS.BLL.SystemInfo.Menu();
            IList <Johnny.CMS.OM.SystemInfo.Menu> menuModel = menu.GetList(true);

            //用户权限
            Johnny.CMS.BLL.Access.Accounts accounts = new Johnny.CMS.BLL.Access.Accounts();
            ArrayList arrPermission = new ArrayList();

            arrPermission = accounts.GetUserPermission(DataConvert.GetString(Session["UserName"]));

            //顶部菜单与菜单类别
            int iTopMenuId = DataConvert.GetInt32(Request.QueryString["TopMenuId"]);

            if (iTopMenuId <= 0)
            {
                iTopMenuId = 1;
            }
            Johnny.CMS.BLL.SystemInfo.TopMenuBinding        topMainMenu      = new Johnny.CMS.BLL.SystemInfo.TopMenuBinding();
            IList <Johnny.CMS.OM.SystemInfo.TopMenuBinding> topMainMenuModel = topMainMenu.GetList(iTopMenuId);

            //生成左侧菜单导航栏
            foreach (Johnny.CMS.OM.SystemInfo.MenuCategory item in categoryModel)
            {
                if (CategoryContains(item.MenuCategoryId, topMainMenuModel))
                {
                    MainMenuItem mainmenu = new MainMenuItem();
                    mainmenu.Text = item.MenuCategoryName;

                    foreach (Johnny.CMS.OM.SystemInfo.Menu subitem in menuModel)
                    {
                        //判断是否属于该主菜单,并且具有访问权限
                        if (subitem.MenuCategoryId == item.MenuCategoryId && arrPermission.Contains(subitem.PermissionId))
                        {
                            SubMenuItem submenu = new SubMenuItem();
                            submenu.Text    = subitem.MenuName;
                            submenu.Url     = subitem.PageLink;
                            submenu.ToolTip = subitem.ToolTip;
                            submenu.Image   = subitem.Image;
                            mainmenu.SubItems.Add(submenu);
                        }
                    }

                    if (mainmenu.SubItems.Count > 0)
                    {
                        LeftMenu1.items.Add(mainmenu);
                    }
                }
            }
        }
        public ActionResult SubMenu_Create(SubMenuItem subMenuItem)
        {
            if (ModelState.IsValid)
            {
                db.SubMenuItems.Add(subMenuItem);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(subMenuItem));
        }
Пример #10
0
        protected void Page_Load(object sender, EventArgs e)
        {
            //菜单栏目
            Johnny.CMS.BLL.SystemInfo.MenuCategory category = new Johnny.CMS.BLL.SystemInfo.MenuCategory();
            IList<Johnny.CMS.OM.SystemInfo.MenuCategory> categoryModel = category.GetList();

            //菜单
            Johnny.CMS.BLL.SystemInfo.Menu menu = new Johnny.CMS.BLL.SystemInfo.Menu();
            IList<Johnny.CMS.OM.SystemInfo.Menu> menuModel = menu.GetList(true);
                        
            //用户权限
            Johnny.CMS.BLL.Access.Accounts accounts = new Johnny.CMS.BLL.Access.Accounts();
            ArrayList arrPermission = new ArrayList();
            arrPermission = accounts.GetUserPermission(DataConvert.GetString(Session["UserName"]));

            //顶部菜单与菜单类别
            int iTopMenuId = DataConvert.GetInt32(Request.QueryString["TopMenuId"]);
            if (iTopMenuId <= 0)
                iTopMenuId = 1;
            Johnny.CMS.BLL.SystemInfo.TopMenuBinding topMainMenu = new Johnny.CMS.BLL.SystemInfo.TopMenuBinding();
            IList<Johnny.CMS.OM.SystemInfo.TopMenuBinding> topMainMenuModel = topMainMenu.GetList(iTopMenuId);

            //生成左侧菜单导航栏
            foreach (Johnny.CMS.OM.SystemInfo.MenuCategory item in categoryModel)
            {
                if (CategoryContains(item.MenuCategoryId, topMainMenuModel))
                {
                    MainMenuItem mainmenu = new MainMenuItem();
                    mainmenu.Text = item.MenuCategoryName;

                    foreach (Johnny.CMS.OM.SystemInfo.Menu subitem in menuModel)
                    {
                        //判断是否属于该主菜单,并且具有访问权限
                        if (subitem.MenuCategoryId == item.MenuCategoryId && arrPermission.Contains(subitem.PermissionId))
                        {
                            SubMenuItem submenu = new SubMenuItem();
                            submenu.Text = subitem.MenuName;
                            submenu.Url = subitem.PageLink;
                            submenu.ToolTip = subitem.ToolTip;
                            submenu.Image = subitem.Image;
                            mainmenu.SubItems.Add(submenu);
                        }
                    }

                    if (mainmenu.SubItems.Count > 0)
                        LeftMenu1.items.Add(mainmenu);
                }
            }
        }
Пример #11
0
        public void Menu_ProcessCmdKey_ParentMenuItemPopupHandlerRemovesChild_ReturnsFalse()
        {
            var child = new MenuItem {
                Shortcut = Shortcut.CtrlA
            };
            var parent = new SubMenuItem("text", new MenuItem[] { child });

            parent.Popup += (sender, e) =>
            {
                parent.MenuItems.Remove(child);
            };

            var msg = new Message();

            Assert.False(parent.ProcessCmdKey(ref msg, Keys.Control | Keys.A));
        }
Пример #12
0
        public void Menu_ProcessCmdKey_MenuItemParent_ReturnsExpected(SubMenuItem parent, MenuItem child, bool expectedResult, int expectedChildOnClickCallCount, int expectedChildOnPopupCallCount, int expectedParentOnClickCallCount, int expectedParentOnPopupCallCount)
        {
            int childOnClickCallCount = 0;

            child.Click += (sender, e) =>
            {
                childOnClickCallCount++;
                Assert.Same(child, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            int childOnPopupCallCount = 0;

            child.Popup += (sender, e) =>
            {
                childOnPopupCallCount++;
                Assert.Same(child, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            int parentOnClickCallCount = 0;

            parent.Click += (sender, e) =>
            {
                parentOnClickCallCount++;
                Assert.Same(parent, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            int parentOnPopupCallCount = 0;

            parent.Popup += (sender, e) =>
            {
                parentOnPopupCallCount++;
                Assert.Same(parent, sender);
                Assert.Equal(EventArgs.Empty, e);
            };

            var msg = new Message();

            Assert.Equal(expectedResult, parent.ProcessCmdKey(ref msg, Keys.Control | Keys.A));
            Assert.Equal(expectedChildOnClickCallCount, childOnClickCallCount);
            Assert.Equal(expectedChildOnPopupCallCount, childOnPopupCallCount);
            Assert.Equal(expectedParentOnClickCallCount, parentOnClickCallCount);
            Assert.Equal(expectedParentOnPopupCallCount, parentOnPopupCallCount);
        }
Пример #13
0
        public MenuWithDelegates()
        {
            r_MainMenu = new MainMenu("Welcome to the Main Menu!(Delegate implementation)");

            r_VersionAndSpacesSubMenu = new SubMenuItem("Version and Spaces");
            r_CountSpacesActionMenu   = new ActionMenuItem("Count Spaces");
            r_ShowVersionActionMenu   = new ActionMenuItem("Show Version");

            r_ShowDateAndTimeSubMenu = new SubMenuItem("Show Date And Time");
            r_ShowDateActionMenuItem = new ActionMenuItem("Show Date");
            r_ShowTimeActionMenuItem = new ActionMenuItem("Show Time");

            addMethodsAndListeners(); // Bad name.

            //Menu is now configured by the user (programmer), and can now be shown.
            r_MainMenu.Show();
        }
        private void navigationProvider1_Navigate(object sender, DevExpress.CodeRush.Library.NavigationEventArgs ea)
        {
            SubMenuItem selectedMenu = ea.SelectedSubMenuItem;

            if (selectedMenu == null)
            {
                return;
            }

            Class implementor = _implementors.Where(c => c.FullName == selectedMenu.Name).FirstOrDefault();

            if (implementor != null)
            {
                Navigator navigator = new Navigator(implementor, ea.Element);
                navigator.Navigate();
            }
        }
Пример #15
0
    public int DoSubMenuAction(Fighter attacker, Fighter target, SubMenuItem subMenuItem)
    {
        switch (subMenuItem.subMenuType)
        {
        case SubMenu.Magic:
            return(DoMagic(attacker, target, (Magic)subMenuItem));

        case SubMenu.Skills:
            break;

        case SubMenu.Bestia:
            return(DoBestia(attacker, target, (Bestia)subMenuItem));
        }

        Debug.LogErrorFormat("SubMenuType of asset {0} is not valid.", subMenuItem.subMenuItemName);
        return(0);
    }
Пример #16
0
        private void buildMenu()
        {
            m_MainMenu = new MainMenu("Main menu", null, new System.Collections.Generic.List <MenuItem>());
            SubMenuItem   showDateTimeMenu    = new SubMenuItem("Show Date/ Time", m_MainMenu, new System.Collections.Generic.List <MenuItem>());
            SubMenuItem   versionsCapitalMenu = new SubMenuItem("Version and Capitals", m_MainMenu, new System.Collections.Generic.List <MenuItem>());
            SubActionItem timeAction          = new SubActionItem("Show Time", showDateTimeMenu, new MenuActions.ShowTimeClass());
            SubActionItem dateAction          = new SubActionItem("Show Date", showDateTimeMenu, new MenuActions.ShowDateClass());
            SubActionItem capitalAction       = new SubActionItem("Count Capitals", versionsCapitalMenu, new MenuActions.ShowCapitalClass());
            SubActionItem versionAction       = new SubActionItem("Show Version", versionsCapitalMenu, new MenuActions.ShowVersionClass());

            showDateTimeMenu.MenuItems.Add(timeAction);
            showDateTimeMenu.MenuItems.Add(dateAction);
            versionsCapitalMenu.MenuItems.Add(capitalAction);
            versionsCapitalMenu.MenuItems.Add(versionAction);

            m_MainMenu.MenuItems.Add(showDateTimeMenu);
            m_MainMenu.MenuItems.Add(versionsCapitalMenu);
        }
Пример #17
0
        private MainMenu BuildMenuWithDelegateNotificationMode()
        {
            MainMenu             mainMenu                   = new MainMenu("Main Menu with delegates mode");
            SubMenuItem          dateAndTimeMenu            = new SubMenuItem("Show Date/Time");
            SubMenuItem          versionsAndCapitalsMenu    = new SubMenuItem("Versions and Capitals");
            TimePrinter          timeAction                 = new TimePrinter("Show Time");
            DatePrinter          dateAction                 = new DatePrinter("Show Date");
            CapitalLetterCounter capitalLetterCounterAction = new CapitalLetterCounter("Count Capitals");
            VersionPrinter       versionPrinterAction       = new VersionPrinter("Show Version");

            dateAndTimeMenu.AddMenuItem(timeAction);
            dateAndTimeMenu.AddMenuItem(dateAction);
            versionsAndCapitalsMenu.AddMenuItem(capitalLetterCounterAction);
            versionsAndCapitalsMenu.AddMenuItem(versionPrinterAction);
            mainMenu.AddMenuItem(dateAndTimeMenu);
            mainMenu.AddMenuItem(versionsAndCapitalsMenu);

            return(mainMenu);
        }
Пример #18
0
        private void xSubNavigationListView_SelectionChanged(object sender, SelectionChangedEventArgs e)
        {
            ListView     lv  = (ListView)sender;
            ListViewItem lvi = (ListViewItem)lv.SelectedItem;

            if (lvi == null)
            {
                xSelectedItemFrame.SetContent(null);
                return;
            }
            SubMenuItem subMenuItem = (SubMenuItem)lvi.Tag;

            if (!subMenuItem.IsPageLoaded)
            {
                // since the page might take time to load we show Loading, will happen with source control connected
                xSelectedItemFrame.SetContent(loadingPage);
                GingerCore.General.DoEvents();
            }

            xSelectedItemFrame.SetContent(subMenuItem.ItemPage);
        }
Пример #19
0
        public void RunDelegateMenu()
        {
            SubMenuItem    versionAndDigits  = new SubMenuItem("Version and Digits");
            SubMenuItem    dateAndTime       = new SubMenuItem("Show Date/Time");
            ActionMenuItem countCapitalsItem = new ActionMenuItem("Count Capitals");
            ActionMenuItem showVersionItem   = new ActionMenuItem("Show Version");
            ActionMenuItem showTimeItem      = new ActionMenuItem("Show Time");
            ActionMenuItem showDateItem      = new ActionMenuItem("Show Date");

            countCapitalsItem.ActionMenuItemChosen += CountCapitalsItem_WasSelected;
            showVersionItem.ActionMenuItemChosen   += ShowVersionItem_WasSelected;
            showTimeItem.ActionMenuItemChosen      += ShowTimeItem_WasSelected;
            showDateItem.ActionMenuItemChosen      += ShowDateItem_WasSelected;
            this.r_MainMenu.AddItem(versionAndDigits);
            this.r_MainMenu.AddItem(dateAndTime);
            versionAndDigits.AddItem(countCapitalsItem);
            versionAndDigits.AddItem(showVersionItem);
            dateAndTime.AddItem(showTimeItem);
            dateAndTime.AddItem(showDateItem);
            this.r_MainMenu.Show();
        }
Пример #20
0
    protected void lkbtnSubDown_Click(object sender, EventArgs e)
    {
        try
        {
            submenuitem = new SubMenuItemBLL();
            string             strMenuID = (gwMenuItems.SelectedRow.FindControl("lblMenuID") as Label).Text;
            LinkButton         lkbutton = (sender as LinkButton);
            string             commandArgument = lkbutton.CommandArgument;
            int                c_menuid = int.Parse(commandArgument);
            Number             a, b;
            Number             A, B;
            List <SubMenuItem> lstCMN  = submenuitem.ListItemByID(c_menuid);
            SubMenuItem        c_menu  = lstCMN.FirstOrDefault();
            List <SubMenuItem> lstCMUP = submenuitem.ListItemBySortOrderandMenuID(submenuitem.MinItemindexLK(c_menu.SortOrder, Convert.ToInt32(strMenuID)), Convert.ToInt32(strMenuID));
            SubMenuItem        menuUp  = lstCMUP.FirstOrDefault();

            if (menuUp == null)
            {
                a = new Number(0);
                b = new Number(0);
                return;
            }
            else
            {
                A = new Number(c_menu.ID);
                B = new Number(menuUp.ID);
                a = new Number(c_menu.SortOrder);
                b = new Number(menuUp.SortOrder);
                this.swap(a, b);
                this.submenuitem.UpdateIndexItem(a.getNum(), A.getNum());
                this.submenuitem.UpdateIndexItem(b.getNum(), B.getNum());
                this.load_gwSubMenuItem(Convert.ToInt32(strMenuID));
                gwSubMenuItem.SelectedIndex = -1;
            }
        }
        catch (Exception ex)
        {
            lblAddSubItemWaring.Text = ex.ToLogString();
        }
    }
Пример #21
0
        public void RunInterfaceMenu()
        {
            ActionsClass   actionsClass     = new ActionsClass();
            SubMenuItem    versionAndDigits = new SubMenuItem("Version and Digits");
            SubMenuItem    dateAndTime      = new SubMenuItem("Show Date/Time");
            ActionMenuItem countCapitals    = new ActionMenuItem("Count Capitals", 1);
            ActionMenuItem showVersion      = new ActionMenuItem("Show Version", 2);
            ActionMenuItem showTime         = new ActionMenuItem("Show Time", 3);
            ActionMenuItem showDate         = new ActionMenuItem("Show Date", 4);

            countCapitals.ActionsListener = actionsClass;
            showVersion.ActionsListener   = actionsClass;
            showTime.ActionsListener      = actionsClass;
            showDate.ActionsListener      = actionsClass;
            this.r_MainMenu.AddItem(versionAndDigits);
            this.r_MainMenu.AddItem(dateAndTime);
            versionAndDigits.AddItem(countCapitals);
            versionAndDigits.AddItem(showVersion);
            dateAndTime.AddItem(showTime);
            dateAndTime.AddItem(showDate);
            this.r_MainMenu.Show();
        }
Пример #22
0
 public MenuActivator(SubMenuItem i_MenuRoot)
 {
     m_MenuRoot = i_MenuRoot;
     setExitItem();
 }
Пример #23
0
 /// <summary>
 /// Returns the ordinal index of a MenuItem, if it exists; if the item does not exist,
 /// -1 is returned.
 /// </summary>
 /// <param name="item">The MenuItem to search for.</param>
 /// <returns>The ordinal position of the item in the collection.</returns>
 public virtual int IndexOf(SubMenuItem item)
 {
     return menuItems.IndexOf(item);
 }
Пример #24
0
 /// <summary>
 /// Inserts a MenuItem instance at a particular location in the collection.
 /// </summary>
 /// <param name="index">The ordinal location to insert the item.</param>
 /// <param name="item">The MenuItem to insert.</param>
 public virtual void Insert(int index, SubMenuItem item)
 {
     menuItems.Insert(index, item);
 }
Пример #25
0
 /// <summary>
 /// Removes a specified MenuItem from the collection.
 /// </summary>
 /// <param name="item">The MenuItem instance to remove.</param>
 public void Remove(SubMenuItem item)
 {
     menuItems.Remove(item);
 }
Пример #26
0
        private void AddNodes(ToolStripMenuItem toolStripMenuItem, SubMenuItem menuItem)
        {
            try
            {
                if (menuItem.ControlTypeName == null)
                {
                    menuItem.ControlTypeName = "";
                }

                if (menuItem.ControlTypeName.ToLower().Contains("Separator".ToLower()))
                {
                    var menuItemControl = new System.Windows.Forms.ToolStripSeparator();
                    menuItemControl.Name    = menuItem.Name;
                    menuItemControl.Visible = !menuItem.Invisible;
                    menuItemControl.Enabled = !menuItem.Disabled;
                    if (!menuItem.Id.IsNullOrEmpty())
                    {
                        toolStripMenuItem.DropDownItems.Add(menuItemControl);
                    }
                    else
                    {
                        Items.Add(menuItemControl);
                    }
                }
                else
                {
                    var menuItemControl = new ToolStripMenuItem();
                    menuItemControl.Name = menuItem.Name;
                    var displayName = FunctionHelper.GetDisplayName(_annexList.Count > 0, "", menuItem.Name, _annexList, menuItem.DisplayName);
                    menuItemControl.Text      = displayName;
                    menuItemControl.TextAlign = ContentAlignment.TopCenter;
                    var img1 = ControlHelper.GetImage(menuItem.ImageUrl);
                    if (img1 != null)
                    {
                        menuItemControl.Image = img1;
                    }
                    menuItemControl.Visible = !menuItem.Invisible;
                    menuItemControl.Enabled = !menuItem.Disabled;
                    //menuItemControl.AutoSize = false;
                    menuItemControl.ImageScaling = ToolStripItemImageScaling.None;

                    if (menuItem.ParentId == _topId)
                    {
                        this.Items.Add(menuItemControl);
                    }
                    else
                    {
                        toolStripMenuItem.DropDownItems.Add(menuItemControl);
                    }
                    var item         = menuItem;
                    var subMenuItems = _dataList.FindAll(x => x.ParentId == menuItem.Id);
                    if (subMenuItems.Count > 0)
                    {
                        foreach (var menuItem1 in subMenuItems)
                        {
                            AddNodes(menuItemControl, menuItem1);
                        }
                    }
                    else
                    {
                        menuItemControl.Click += new System.EventHandler(MenuItem1_Click);
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException("\n>> " + GetType().FullName + "." + "AddNodes Error: " + ex.Message);
            }
        }
        public void AddMenuItemOnToExistedDeal(string cartItemId, int menuItemId, int subMenuItemId)
        {
            var cartItem = Items.FirstOrDefault(i => i.CartId == cartItemId);
            if (cartItem == null) return;

            var subItem = new BxMenuItem(menuItemId) { };
            subItem.Load(IsDeliveryOrder);
            if (!string.IsNullOrWhiteSpace(subItem.Name) && !cartItem.Product.Contains(subItem))
            {
                cartItem.Product.Items.Add(subItem);
            }

            if (subMenuItemId > 0)
            {
                var grandSubItem = new SubMenuItem(menuItemId, subMenuItemId);
                grandSubItem.Load(IsDeliveryOrder);
                if (!string.IsNullOrWhiteSpace(grandSubItem.Name) && !cartItem.Product.GetMenuItem(menuItemId).Contains(grandSubItem))
                {
                    cartItem.Product.GetMenuItem(menuItemId).Items.Add(grandSubItem);
                    if ((grandSubItem.UnitPrice > 0))
                    {
                        cartItem.Product.GetMenuItem(menuItemId).UnitPrice = grandSubItem.UnitPrice;
                    }
                }
            }
        }
Пример #28
0
        internal static List <SubMenuItem> GetSubMenuItems(string subMenuDir)
        {
            try
            {
                var subMenuUiCfgFile = subMenuDir + "\\Ui";
                if (!ConfigFileHelper.IsFileExisting(subMenuUiCfgFile))
                {
                    return(null);
                }
                var cfgFileMgr   = new ConfigFileManager(subMenuUiCfgFile);
                var subMenuItems = FunctionHelper.GetGenericFromCfgFile <List <LayoutElement> >(subMenuUiCfgFile, false) ?? new List <LayoutElement>();

                foreach (var subMenuItem in subMenuItems)
                {
                    //check
                    UiElementHelper.CheckName(subMenuItem.Name);
                    if (subMenuItem.Id < 1)
                    {
                        throw new ArgumentException("subMenuItem Id can't be less than 1! subMenuItem.Id=" + subMenuItem.Id + ", subMenuItem.Name=" + subMenuItem.Name);
                    }
                    if (subMenuItem.ParentId < 0)
                    {
                        throw new ArgumentException("subMenuItem ParentId can't be less than 0! subMenuItem.Id=" + subMenuItem.Id + ", subMenuItem.Name=" + subMenuItem.Name);
                    }

                    if (subMenuItems.FindAll(x => x.Id == subMenuItem.Id).Count > 1)
                    {
                        throw new ArgumentException("subMenuItem can't have duplicated Id! subMenuItem.Id=" + subMenuItem.Id + ", subMenuItem.Name=" + subMenuItem.Name);
                    }

                    if (subMenuItems.FindAll(x => x.Name == subMenuItem.Name).Count > 1)
                    {
                        throw new ArgumentException("menuItem can't have duplicated name! menuItem.Id=" + subMenuItem.Id + ", subMenuItem.Name=" + subMenuItem.Name);
                    }
                    //set
                    subMenuItem.InvalidFlag           = subMenuItem.InvalidFlag.GetJudgementFlag();
                    subMenuItem.InvisibleFlag         = subMenuItem.InvisibleFlag.GetJudgementFlag();
                    subMenuItem.DisabledFlag          = subMenuItem.DisabledFlag.GetJudgementFlag();
                    subMenuItem.WriteIntoLogFlag      = subMenuItem.WriteIntoLogFlag.GetJudgementFlag();
                    subMenuItem.ShowRunningStatusFlag = subMenuItem.ShowRunningStatusFlag.GetJudgementFlag();
                }

                var subMenuItems1 = subMenuItems.FindAll(x => x.InvalidFlag.ToLower() == "false");
                var subMenuItems2 = new List <SubMenuItem>();
                foreach (var subMenuItem in subMenuItems1)
                {
                    var subMenuItem2 = new SubMenuItem();
                    subMenuItem.ExecModeFlag     = string.IsNullOrEmpty(subMenuItem.ExecModeFlag) ? "" : subMenuItem.ExecModeFlag;
                    subMenuItem2.Id              = subMenuItem.Id.ToString();
                    subMenuItem2.ParentId        = subMenuItem.ParentId.ToString();
                    subMenuItem2.Name            = subMenuItem.Name ?? "";
                    subMenuItem2.DisplayName     = subMenuItem.DisplayName ?? "";
                    subMenuItem2.Action          = subMenuItem.Action ?? "";
                    subMenuItem2.ControlTypeName = subMenuItem.ControlTypeName ?? "";
                    subMenuItem2.ImageUrl        = subMenuItem.ImageUrl ?? "";
                    subMenuItems2.Add(subMenuItem2);
                }
                return(subMenuItems2);
            }
            catch (Exception ex)
            {
                throw new ArgumentException("\n>> " + TypeName + ".SetSubMenuItems Error: " + ex.Message);
            }
        }
Пример #29
0
        public static void Initialize(ApplicationDbContext context)
        {
            context.Database.EnsureCreated();

            var tsp = new SubSystem {
                Name = "TSP Construction", Order = 1
            };
            var green = new SubSystem {
                Name = "Green Haven Home", Order = 2
            };
            var rev = new SubSystem {
                Name = "Revlution", Order = 3
            };

            if (!context.SubSystems.Any())
            {
                context.SubSystems.Add(tsp);
                context.SubSystems.Add(green);
                context.SubSystems.Add(rev);

                #region tsp
                var tspHome = new SubMenuItem()
                {
                    Name = "Home", SubSystem = tsp, Order = 1
                };
                var tspTeam = new SubMenuItem()
                {
                    Name = "Our Team", SubSystem = tsp, Order = 2
                };
                var tspGallery = new SubMenuItem()
                {
                    Name = "Gallery", SubSystem = tsp, Order = 3
                };
                var tspUs = new SubMenuItem()
                {
                    Name = "About us", SubSystem = tsp, Order = 4
                };
                var tspProject = new SubMenuItem()
                {
                    Name = "Current Project", SubSystem = tsp, Order = 5
                };

                if (!context.SubMenuItems.Any())
                {
                    context.SubMenuItems.Add(tspHome);
                    context.SubMenuItems.Add(tspTeam);
                    context.SubMenuItems.Add(tspGallery);
                    context.SubMenuItems.Add(tspUs);
                    context.SubMenuItems.Add(tspProject);
                }
                if (!context.SubItemDetails.Any())
                {
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "COMMERCIAL",
                        Paragraph   = "Building from start to finish",
                        Image       = "http://www.tspconstruction.co.nz/images/Commercial-homeimage.jpg",
                        SubMenuItem = tspHome,
                        Order       = 1
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "RESIDENTIAL",
                        Paragraph   = "Stunning homes built with pride",
                        Image       = "http://www.tspconstruction.co.nz/images/Residential-homeimage.jpg",
                        SubMenuItem = tspHome,
                        Order       = 2
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Others",
                        Paragraph   = "Something",
                        Image       = "http://www.tspconstruction.co.nz/images/Commercial-homeimage.jpg",
                        SubMenuItem = tspHome,
                        Order       = 3
                    });

                    // our team
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Meet the TSP Construction Team",
                        Paragraph   = "Building from start to finish",
                        Image       = "",
                        SubMenuItem = tspTeam,
                        Order       = 1
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Client Testimonial",
                        Paragraph   = "We employed TSP Construction in September 2009 to build our house at Waitarere Beach Rd,Levin.From the start when we were looking over the plans I found Todd and Natalie extremely professional.",
                        Image       = "http://www.tspconstruction.co.nz/images/Test1.jpg",
                        SubMenuItem = tspTeam,
                        Order       = 2
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Client Testimonial",
                        Paragraph   = "Todd, from TSP Construction, built our beach house.  He workedclosely with us and our architect during the building process. Todd and his buildingcrew were hardworking and exacting in their detail and finish, resulting in a high end architectural house we look forward to spending many years in.",
                        Image       = "http://www.tspconstruction.co.nz/images/Test3.jpg",
                        SubMenuItem = tspTeam,
                        Order       = 3
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Client Testimonial",
                        Paragraph   = "Two years on we are still delighted with our house, and it has certainly met the lifestyle needs we identified when it was first designed for us.",
                        Image       = "http://www.tspconstruction.co.nz/images/Test2.jpg",
                        SubMenuItem = tspTeam,
                        Order       = 4
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "TSP Construction Team Fishing Trip - October 2014.",
                        Paragraph   = "Left to right : Brendon, Jimmy, Mark, Dane, unknown, Jay, James, Dennis, Maika, John, Matt, Alinka, Mike & Raz.",
                        Image       = "http://www.tspconstruction.co.nz/images/TSP-Team-2014.jpg",
                        SubMenuItem = tspTeam,
                        Order       = 5
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Graduation evening where the boys received their acknowledgement of achievement from H.D.C. ",
                        Paragraph   = "From left to right; Todd (TSP Construction owner), Ronan (BCITO Area Manager), Michael (absent), David, Manu and Mark(Training Accessor).",
                        Image       = "http://www.tspconstruction.co.nz/images/TSPConstruction-TeamBCITO.jpg",
                        SubMenuItem = tspTeam,
                        Order       = 6
                    });
                    //gallery
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Commercial - Mitre 10 Porirua",
                        Image       = "http://www.tspconstruction.co.nz/images/mitre1sm.jpg",
                        Paragraph   = "",
                        SubMenuItem = tspGallery,
                        Order       = 1
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "Commercial - Mitre 10 Porirua",
                        Image       = "http://www.tspconstruction.co.nz/images/mitre2.jpg",
                        Paragraph   = "",
                        SubMenuItem = tspGallery,
                        Order       = 2
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "New Home - Beach House",
                        Image       = "http://www.tspconstruction.co.nz/images/BeachHouse1sm.jpg",
                        Paragraph   = "",
                        SubMenuItem = tspGallery,
                        Order       = 1
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "New Home - Beach House",
                        Image       = "http://www.tspconstruction.co.nz/images/BeachHouse1.1.jpg",
                        Paragraph   = "",
                        SubMenuItem = tspGallery,
                        Order       = 2
                    });
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "New Home - Beach House",
                        Image       = "http://www.tspconstruction.co.nz/images/BeachHouse1.2.jpg",
                        Paragraph   = "",
                        SubMenuItem = tspGallery,
                        Order       = 3
                    });
                    // current project
                    context.SubItemDetails.Add(new SubItemDetail()
                    {
                        Title       = "TSP Construction's Current Project",
                        Image       = "http://www.tspconstruction.co.nz/images/masonic1sm.jpg",
                        Paragraph   = "Masonic Lodge - 63 Wai Iti Cres Woburn",
                        SubMenuItem = tspProject,
                        Order       = 1
                    });
                }
                #endregion

                #region green
                var greenHome = new SubMenuItem()
                {
                    Name = "Home", SubSystem = green, Order = 1
                };
                var greenPlan = new SubMenuItem()
                {
                    Name = "Our Plan", SubSystem = green, Order = 2
                };
                var greenSpecification = new SubMenuItem()
                {
                    Name = "Our specification", SubSystem = green, Order = 3
                };
                var greenFyq = new SubMenuItem()
                {
                    Name = "FYQ", SubSystem = green, Order = 4
                };
                var greenCase = new SubMenuItem()
                {
                    Name = "Case studies", SubSystem = green, Order = 5
                };
                var greenForSale = new SubMenuItem()
                {
                    Name = "Homes For sale", SubSystem = green, Order = 6
                };
                var greenGallery = new SubMenuItem()
                {
                    Name = "Gallery", SubSystem = green, Order = 7
                };
                var greenAbout = new SubMenuItem()
                {
                    Name = "About", SubSystem = green, Order = 8
                };
                var greenNews = new SubMenuItem()
                {
                    Name = "News", SubSystem = green, Order = 9
                };
                var greenUs = new SubMenuItem()
                {
                    Name = "Contac us", SubSystem = green, Order = 10
                };

                if (!context.SubMenuItems.Any())
                {
                    context.SubMenuItems.Add(greenHome);
                    context.SubMenuItems.Add(greenPlan);
                    context.SubMenuItems.Add(greenSpecification);
                    context.SubMenuItems.Add(greenFyq);
                    context.SubMenuItems.Add(greenCase);

                    context.SubMenuItems.Add(greenForSale);
                    context.SubMenuItems.Add(greenGallery);
                    context.SubMenuItems.Add(greenAbout);
                    context.SubMenuItems.Add(greenNews);
                    context.SubMenuItems.Add(greenUs);
                }

                #endregion
            }
            if (!context.SubItemDetails.Any())
            {
                var root = Directory.GetCurrentDirectory();
                using (StreamReader r = File.OpenText(@$ "{root}\\Data\\details.json"))
                {
                    string json = r.ReadToEnd();
                    List <SubItemDetail> list = JsonConvert.DeserializeObject <List <SubItemDetail> >(json);
                    context.SubItemDetails.AddRange(list);
                }
            }
            context.SaveChanges();
        }
Пример #30
0
 /// <summary>
 /// Determines if a particular MenuItem exists within the collection.
 /// </summary>
 /// <param name="item">The MenuItem instance to check for.</param>
 /// <returns>A Boolean - true if the MenuItem is in the collection, false otherwise.</returns>
 public virtual bool Contains(SubMenuItem item)
 {
     return menuItems.Contains(item);
 }
Пример #31
0
 protected MenuItem(string i_MenuItemName, SubMenuItem i_ParentItem)
 {
     r_ItemStr        = i_MenuItemName;
     r_ParentMenuItem = i_ParentItem;
 }
Пример #32
0
        public void DynamicallyAddedItemsShouldValidateAndDisable()
        {
            bool disabledWasClicked = false;
            int  validateWasCalled  = 0;

            void AddMenuItems(ISubmenu submenu, Window window, int initialItems = 0)
            {
                if (submenu.Items.Count > initialItems)
                {
                    return;
                }

                var commandButton = new Command {
                    MenuText = "A Command Item"
                };

                commandButton.Executed += (sender, e) => Log.Write(sender, $"{commandButton.MenuText} was clicked");

                var disabledCommandButton = new Command {
                    MenuText = "A Disabled command Item", Enabled = false
                };

                disabledCommandButton.Executed += (sender, e) => {
                    Log.Write(sender, $"{disabledCommandButton.MenuText} was clicked");
                };

                var enabledButton = new ButtonMenuItem {
                    Text = "An Enabled Button"
                };

                enabledButton.Validate += (sender, e) =>
                {
                    validateWasCalled++;
                    Log.Write(sender, "Validate was called!");
                };
                enabledButton.Click += (s2, e2) => Log.Write(s2, $"{enabledButton.Text} was clicked");

                var disabledButton = new ButtonMenuItem {
                    Text = "Disabled button", Enabled = false
                };

                disabledButton.Click += (sender, e) =>
                {
                    Log.Write(sender, $"{disabledButton.Text} was clicked");
                    disabledWasClicked = true;
                    window.Close();
                };

                var toggledButton = new ButtonMenuItem {
                    Text = "Toggled button"
                };

                toggledButton.Click += (s2, e2) => Log.Write(s2, $"{toggledButton.Text} was clicked");

                var checkButton = new CheckMenuItem {
                    Text = "toggled button enabled", Checked = true
                };

                toggledButton.Bind(c => c.Enabled, checkButton, c => c.Checked);
                checkButton.Click += (s2, e2) => Log.Write(s2, $"{checkButton.Text} was clicked");


                submenu.Items.Add(enabledButton);
                submenu.Items.Add(disabledButton);
                submenu.Items.AddSeparator();
                submenu.Items.Add(toggledButton);
                submenu.Items.Add(checkButton);
                submenu.Items.AddSeparator();
                submenu.Items.Add(commandButton);
                submenu.Items.Add(disabledCommandButton);
            }

            ManualForm("Ensure the items in the\nFile menu are correct", form =>
            {
                var sub = new SubMenuItem {
                    Text = "A Child Menu"
                };
                sub.Opening += (sender, e) => AddMenuItems((ISubmenu)sender, form);

                var file = new SubMenuItem {
                    Text = "&File"
                };
                file.Opening += (sender, e) => AddMenuItems((ISubmenu)sender, form, 3);
                file.Items.Add(sub);

                var menu = new MenuBar();
                menu.Items.Add(file);

                var showContextMenuButton = new Button {
                    Text = "Show ContextMenu"
                };
                showContextMenuButton.Click += (sender, e) => {
                    var contextMenu = new ContextMenu();

                    var subMenuItem = new SubMenuItem {
                        Text = "A Child Menu"
                    };
                    subMenuItem.Opening += (s2, e2) => AddMenuItems((ISubmenu)s2, form);
                    contextMenu.Items.Add(subMenuItem);

                    contextMenu.Opening += (s2, e2) => AddMenuItems((ISubmenu)s2, form, 3);
                    contextMenu.Show();
                };

                form.Menu = menu;
                return(new Panel {
                    Size = new Size(200, 50), Content = TableLayout.AutoSized(showContextMenuButton, centered: true)
                });
            });

            Assert.IsFalse(disabledWasClicked, "#1 - Disabled item should not be clickable");
            Assert.Greater(validateWasCalled, 0, "#2 - Validate was never called!");
        }
Пример #33
0
        ContextMenu CreateMenu()
        {
            if (_menu != null)
            {
                return(_menu);
            }

            _menu = new ContextMenu();

            _menu.Opening += (sender, e) => Log.Write(sender, "Opening");
            _menu.Closed  += (sender, e) => Log.Write(sender, "Closed");
            _menu.Closing += (sender, e) => Log.Write(sender, "Closing");

            _menu.Items.Add(new ButtonMenuItem {
                Text = "Item 1"
            });
            _menu.Items.Add(new ButtonMenuItem {
                Text = "Item 2", Shortcut = Keys.Control | Keys.I
            });
            _menu.Items.Add(new ButtonMenuItem {
                Text = "Item 3", Shortcut = Keys.Shift | Keys.I
            });
            _menu.Items.Add(new ButtonMenuItem {
                Text = "Item 4", Shortcut = Keys.Alt | Keys.I
            });
            _menu.Items.Add(new ButtonMenuItem {
                Text = "Disabled Item", Enabled = false
            });

            var subMenu = _menu.Items.GetSubmenu("Sub Menu");

            subMenu.Items.Add(new ButtonMenuItem {
                Text = "Item 5", Shortcut = Keys.Application | Keys.I
            });
            subMenu.Items.Add(new ButtonMenuItem {
                Text = "Item 6", Shortcut = Keys.I
            });
            subMenu.Items.Add(new ButtonMenuItem {
                Text = "Disabled Item 2", Enabled = false
            });


            var dynamicSubMenu = new SubMenuItem {
                Text = "Dynamic Sub Menu"
            };

            dynamicSubMenu.Opening += (sender, e) => {
                Log.Write(dynamicSubMenu, "Opening");
                dynamicSubMenu.Items.Add(new ButtonMenuItem {
                    Text = "Dynamic Item 1"
                });
                dynamicSubMenu.Items.Add(new ButtonMenuItem {
                    Text = "Dynamic Item 2"
                });
                dynamicSubMenu.Items.Add(new ButtonMenuItem {
                    Text = "Dynamic Item 3", Enabled = false
                });
                LogEvents(dynamicSubMenu);
            };
            dynamicSubMenu.Closing += (sender, e) => {
                Log.Write(dynamicSubMenu, "Closing");
            };
            dynamicSubMenu.Closed += (sender, e) => {
                Log.Write(dynamicSubMenu, "Closed");
                dynamicSubMenu.Items.Clear();
            };

            _menu.Items.Add(dynamicSubMenu);

            _menu.Items.AddSeparator();
            RadioMenuItem radioController;

            _menu.Items.Add(radioController = new RadioMenuItem {
                Text = "Radio 1"
            });
            _menu.Items.Add(new RadioMenuItem(radioController)
            {
                Text = "Radio 2", Checked = true
            });
            _menu.Items.Add(new RadioMenuItem(radioController)
            {
                Text = "Radio 3", Shortcut = Keys.R
            });
            _menu.Items.Add(new RadioMenuItem(radioController)
            {
                Text = "Radio 4"
            });
            _menu.Items.Add(new RadioMenuItem(radioController)
            {
                Text = "Radio 5 Disabled", Enabled = false
            });

            _menu.Items.AddSeparator();
            _menu.Items.Add(new CheckMenuItem {
                Text = "Check 1"
            });
            _menu.Items.Add(new CheckMenuItem {
                Text = "Check 2", Shortcut = Keys.Control | Keys.Alt | Keys.G, Checked = true
            });
            _menu.Items.Add(new CheckMenuItem {
                Text = "Check 3", Shortcut = Keys.Control | Keys.Shift | Keys.G
            });
            _menu.Items.Add(new CheckMenuItem {
                Text = "Check 4", Shortcut = Keys.Control | Keys.Application | Keys.G
            });
            _menu.Items.Add(new CheckMenuItem {
                Text = "Check 5", Shortcut = Keys.Shift | Keys.Alt | Keys.G
            });
            _menu.Items.Add(new CheckMenuItem {
                Text = "Check 6", Shortcut = Keys.Shift | Keys.Application | Keys.G
            });
            _menu.Items.Add(new CheckMenuItem {
                Text = "Check 7", Shortcut = Keys.Alt | Keys.Application | Keys.G
            });
            _menu.Items.Add(new CheckMenuItem {
                Text = "Disabled Check", Checked = true, Enabled = false
            });

            _menu.Items.AddSeparator();
            var hiddenItem = new ButtonMenuItem {
                Text = "This button should not be visible!", Visible = false
            };
            var toggleHiddenItem = new ButtonMenuItem {
                Text = "Toggle Hidden Item"
            };

            toggleHiddenItem.Click += (sender, e) => hiddenItem.Visible = !hiddenItem.Visible;
            _menu.Items.Add(hiddenItem);
            _menu.Items.Add(toggleHiddenItem);

            LogEvents(_menu);
            return(_menu);
        }
Пример #34
0
        void CreateMenuToolBar()
        {
            var about = new Commands.About();
            var quit  = new Commands.Quit();

            if (Platform.Supports <MenuBar>())
            {
                var saveSettingsItem = new CheckMenuItem {
                    Text = "Save Selected Section"
                };
                saveSettingsItem.Bind(c => c.Checked, TestApplication.Settings, s => s.SaveInitialSection);

                var fileCommand = new Command {
                    MenuText = "File Command", Shortcut = Application.Instance.CommonModifier | Keys.F
                };
                fileCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var editCommand = new Command {
                    MenuText = "Edit Command", Shortcut = Keys.Shift | Keys.E
                };
                editCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var viewCommand = new Command {
                    MenuText = "View Command", Shortcut = Keys.Control | Keys.Shift | Keys.V
                };
                viewCommand.Executed += (sender, e) => Log.Write(sender, "Executed");
                var windowCommand = new Command {
                    MenuText = "Window Command"
                };
                windowCommand.Executed += (sender, e) => Log.Write(sender, "Executed");

                var crashCommand = new Command {
                    MenuText = "Test Exception"
                };
                crashCommand.Executed += (sender, e) =>
                {
                    throw new InvalidOperationException("This is the exception message");
                };

                var subMenu = new SubMenuItem {
                    Text = "Sub Menu"
                };
                subMenu.Items.Add(new ButtonMenuItem {
                    Text = "Item 1"
                });
                subMenu.Items.Add(new ButtonMenuItem {
                    Text = "Item 2"
                });
                subMenu.Items.Add(new ButtonMenuItem {
                    Text = "Item 3"
                });

                var file = new SubMenuItem {
                    Text = "&File", Items = { saveSettingsItem, fileCommand, crashCommand }
                };
                var edit = new SubMenuItem {
                    Text = "&Edit", Items = { editCommand, subMenu }
                };
                var view = new SubMenuItem {
                    Text = "&View", Items = { viewCommand }
                };
                var window = new SubMenuItem {
                    Text = "&Window", Order = 1000, Items = { windowCommand }
                };

                if (Platform.Supports <CheckMenuItem>())
                {
                    edit.Items.AddSeparator();

                    var checkMenuItem1 = new CheckMenuItem {
                        Text = "Check Menu Item", Shortcut = Keys.Shift | Keys.K
                    };
                    checkMenuItem1.Click          += (sender, e) => Log.Write(sender, "Click, {0}, Checked: {1}", checkMenuItem1.Text, checkMenuItem1.Checked);
                    checkMenuItem1.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem1.Text, checkMenuItem1.Checked);
                    edit.Items.Add(checkMenuItem1);

                    var checkMenuItem2 = new CheckMenuItem {
                        Text = "Initially Checked Menu Item", Checked = true
                    };
                    checkMenuItem2.Click          += (sender, e) => Log.Write(sender, "Click, {0}, Checked: {1}", checkMenuItem2.Text, checkMenuItem2.Checked);
                    checkMenuItem2.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem2.Text, checkMenuItem2.Checked);
                    edit.Items.Add(checkMenuItem2);

                    var checkMenuItem3 = new CheckCommand {
                        MenuText = "Check Command", Shortcut = Keys.Shift | Keys.K
                    };
                    checkMenuItem3.Executed       += (sender, e) => Log.Write(sender, "Executed, {0}, Checked: {1}", checkMenuItem3.MenuText, checkMenuItem3.Checked);
                    checkMenuItem3.CheckedChanged += (sender, e) => Log.Write(sender, "CheckedChanged, {0}: {1}", checkMenuItem3.MenuText, checkMenuItem3.Checked);
                    edit.Items.Add(checkMenuItem3);

                    checkMenuItem1.Click += (sender, e) => checkMenuItem3.Checked = !checkMenuItem3.Checked;
                }

                if (Platform.Supports <RadioMenuItem>())
                {
                    edit.Items.AddSeparator();

                    RadioMenuItem controller = null;
                    for (int i = 0; i < 5; i++)
                    {
                        var radio = new RadioMenuItem(controller)
                        {
                            Text = "Radio Menu Item " + (i + 1)
                        };
                        if (controller == null)
                        {
                            radio.Checked = true;                             // check the first item initially
                            controller    = radio;
                        }
                        radio.Click          += (sender, e) => Log.Write(radio, "Click, {0}, Checked: {1}", radio.Text, radio.Checked);
                        radio.CheckedChanged += (sender, e) => Log.Write(radio, "CheckedChanged, {0}: {1}", radio.Text, radio.Checked);
                        edit.Items.Add(radio);
                    }

                    edit.Items.AddSeparator();

                    RadioCommand commandController = null;
                    for (int i = 0; i < 2; i++)
                    {
                        var radio = new RadioCommand {
                            MenuText = "Radio Command " + (i + 1), Controller = commandController
                        };
                        if (commandController == null)
                        {
                            radio.Checked     = true;                         // check the first item initially
                            commandController = radio;
                        }
                        radio.Executed       += (sender, e) => Log.Write(radio, "Executed, {0}, Checked: {1}", radio.MenuText, radio.Checked);
                        radio.CheckedChanged += (sender, e) => Log.Write(radio, "CheckedChanged, {0}: {1}", radio.MenuText, radio.Checked);
                        edit.Items.Add(radio);
                    }
                }

                edit.Items.AddSeparator();
                var hiddenItem = new ButtonMenuItem {
                    Text = "This button should not be visible!", Visible = false
                };
                var toggleHiddenItem = new ButtonMenuItem {
                    Text = "Toggle Hidden Item"
                };
                toggleHiddenItem.Click += (sender, e) => hiddenItem.Visible = !hiddenItem.Visible;
                edit.Items.Add(hiddenItem);
                edit.Items.Add(toggleHiddenItem);


                Menu = new MenuBar
                {
                    Items =
                    {
                        // custom top-level menu items
                        file, edit, view, window
                    },
                    ApplicationItems =
                    {
                        // custom menu items for the application menu (Application on OS X, File on others)
                        new Command        {
                            MenuText = "Application command"
                        },
                        new ButtonMenuItem {
                            Text = "Application menu item"
                        }
                    },
                    HelpItems =
                    {
                        new Command {
                            MenuText = "Help Command"
                        }
                    },
                    QuitItem  = quit,
                    AboutItem = about
                };
            }

            if (Platform.Supports <ToolBar>())
            {
                // create and set the toolbar
                ToolBar = new ToolBar();

                ToolBar.Items.Add(about);
                if (Platform.Supports <CheckToolItem>())
                {
                    ToolBar.Items.Add(new SeparatorToolItem {
                        Type = SeparatorToolItemType.Divider
                    });
                    ToolBar.Items.Add(LogEvents(new CheckToolItem {
                        Text = "Check", Image = TestIcons.TestImage
                    }));
                }
                ToolBar.Items.Add(new SeparatorToolItem {
                    Type = SeparatorToolItemType.Space
                });
                ButtonToolItem clickButton = LogEvents(new ButtonToolItem {
                    Text = "Click Me", Image = TestIcons.Logo
                });
                ToolBar.Items.Add(clickButton);
                if (Platform.Supports <RadioToolItem>())
                {
                    ToolBar.Items.Add(new SeparatorToolItem {
                        Type = SeparatorToolItemType.FlexibleSpace
                    });
                    ToolBar.Items.Add(LogEvents(new RadioToolItem {
                        Text = "Radio1", Image = TestIcons.Logo, Checked = true
                    }));
                    ToolBar.Items.Add(LogEvents(new RadioToolItem {
                        Text = "Radio2", Image = TestIcons.TestImage
                    }));
                    ToolBar.Items.Add(LogEvents(new RadioToolItem {
                        Text = "Radio3 (Disabled)", Image = TestIcons.TestImage, Enabled = false
                    }));
                }

                // add an invisible button and separator and allow them to be toggled.
                var invisibleButton = LogEvents(new ButtonToolItem {
                    Text = "Invisible", Visible = false
                });
                var sep = new SeparatorToolItem {
                    Type = SeparatorToolItemType.Divider, Visible = false
                };
                ToolBar.Items.Add(sep);
                ToolBar.Items.Add(invisibleButton);
                clickButton.Click += (sender, e) =>
                {
                    invisibleButton.Visible = !invisibleButton.Visible;
                    sep.Visible             = invisibleButton.Visible;
                };
            }
        }
Пример #35
0
        protected override void OnInitDevice()
        {
            lastTick = DateTime.Now.Ticks;
            //Fonts
            FactoryManager.CreateFont("miniSegoe", "Segoe UI", 8.0f);
            FactoryManager.CreateFont("tinySegoe", "Segoe UI", 10.0f);
            FactoryManager.CreateFont("smallSegoe", "Segoe UI", 12.0f);
            FactoryManager.CreateFont("largeSegoe", "Segoe UI", 18.0f);
            fontMini  = FactoryManager.GetFont("miniSegoe");
            fontTiny  = FactoryManager.GetFont("tinySegoe");
            fontSmall = FactoryManager.GetFont("smallSegoe");
            fontLarge = FactoryManager.GetFont("largeSegoe");

            //Themes
            themeCSGO         = new CSGOTheme(foreColor, panelBackColorDark, foreColor, Color.Transparent, 2f, 2f, colorCT, colorT, lifeBarForeground, panelBackColorDark, viewColor, viewColorOutline, lineColor);
            pbthemeGreenToRed = new ProgressBarTheme(foreColor, panelBackColorDark, foreColor, Color.Transparent, 2f, 2f, lifeBarForeground, colorT);
            pbthemeRedToGreen = new ProgressBarTheme(foreColor, panelBackColorDark, foreColor, Color.Transparent, 2f, 2f, colorT, lifeBarForeground);
            pbthemeGreen      = new ProgressBarTheme(foreColor, panelBackColorDark, foreColor, Color.Transparent, 2f, 2f, lifeBarForeground);

            themeBasic = new Theme(foreColor, panelBackColorDark, foreColor, Color.Transparent, 0f, 0f);
            //themeBasic = new Theme(foreColor * 0.9f, panelBackColorDark * 0.9f, foreColor * 0.9f, Color.Transparent, 0f, 0f);
            themeItemSelected = new Theme(foreColor * 1.1f, panelBackColorDark * 1.1f, foreColor * 1.1f, Color.Transparent, 0f, 0f);

            /*
             * ForeColor: BarLow
             * BackColor: Background
             * BorderColor: Border & Font
             * ShadowColor: BarHigh
             */

            //Controls
            #region CUSTOM CONTROLS
            themeGreenToRed = new Theme(lifeBarForeground, panelBackColorDark, foreColor, colorT, 0f, 0f);
            themeGreen      = new Theme(lifeBarForeground, panelBackColorDark, foreColor, lifeBarForeground, 0f, 0f);

            ctrlRadar = new Radar(themeCSGO, fontSmall, 20f);
            ctrlRadar.SetPosition(4f, 4f);
            ctrlRadar.Width       = 128f;
            ctrlRadar.Height      = 128f;
            ctrlEsp               = new ESP(themeCSGO, fontSmall);
            ctrlCrosshair         = new Crosshair(themeCSGO, fontSmall);
            ctrlPlayerInformation = new PlayerInformation(
                themeCSGO,
                pbthemeGreen,
                pbthemeRedToGreen,
                pbthemeGreenToRed,
                fontSmall,
                fontTiny,
                ctrlRadar.X + ctrlRadar.Width + 4f,
                4f,
                256f,
                22f
                );
            ctrlStatsKills  = new KillsStats(themeBasic, fontTiny, 0, 0, 256f, 128);
            ctrlStatsDeaths = new DeathsStats(themeBasic, fontTiny, 0, 0, 256f, 128);
            ctrlStatsScore  = new ScoreStats(themeBasic, fontTiny, 0, 0, 256f, 128);
            ctrlStatsKD     = new KDStats(themeBasic, fontTiny, 0, 0, 256f, 128);
            #endregion

            #region MENUS
            //Menus
            aimMenu             = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Aimbot]", 4f, 4f, 4f);
            crosshairMenu       = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Crosshair]", 4f, 4f, 4f);
            currentConfig       = new Label(themeBasic, fontSmall, 0, 0, 256, 12, "Current config: -");
            espMenu             = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[ESP]", 4f, 4f, 4f);
            espGlowMenu         = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Outline-glow]", 4f, 4f, 4f);
            highlightPlayerMenu = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Highlight players]", 4f, 4f, 4f);
            mainMenu            = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 4, ctrlRadar.Y + ctrlRadar.Height + 4f, 256, 100, @"[¯\_(ツ)_/¯] Zat's leaked", 4f, 4f, 4f, true);
            miscMenu            = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Misc]", 4f, 4f, 4f);
            radarMenu           = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Radar]", 4f, 4f, 4f);
            rcsMenu             = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Recoil-Control]", 4f, 4f, 4f);
            settingsMenu        = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Settings]", 4f, 4f, 4f);
            soundEspMenu        = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[SoundESP]", 4f, 4f, 4f);
            spectatorMenu       = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Spectator]", 4f, 4f, 4f);
            statsMenu           = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 512, 256, "[Statistics]", 4f, 4f, 4f);
            triggerMenu         = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Triggerbot]", 4f, 4f, 4f);
            wireframeMenu       = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, "[Wireframe]", 4f, 4f, 4f);
            #endregion

            mainMenu.AddChildControl(currentConfig);

            #region MENU ITEMS - INIT
            //Init menuitems
            aimAllowAimJump = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Allow \"jumping\" between targets", switchYesNo, "aimAllowAimJump");
            aimAllowAimJump.OptionChanged += yesNoValChanged;
            aimbotBone = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Bone", switchAimBones, "aimbotBone");
            aimbotBone.OptionChanged             += aimBoneValChanged;
            aimbotCompensateRecoil                = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Compensate recoil (override)", switchOnOff, "aimbotCompensateRecoil");
            aimbotCompensateRecoil.OptionChanged += onOffValChanged;
            aimbotEnabled = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Enabled", switchYesNo, "aimbotEnabled");
            aimbotEnabled.OptionChanged += yesNoValChanged;
            aimbotKey = new KeyMenuItem(themeBasic, fontSmall, aimMenu, "Key", System.Windows.Forms.Keys.MButton, "aimbotKey");
            aimbotKey.OptionChanged      += keyValChanged;
            aimbotMethod                  = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Method", switchAimMethods, "aimbotMethod");
            aimbotMethod.OptionChanged   += aimMethodValChanged;
            aimbotRadius                  = new TrackbarMenuItem(themeBasic, fontSmall, aimMenu, "Radius (px)", trackBarAimbotRadiusMin, trackBarAimbotRadiusMax, trackBarAimbotRadiusStep, "aimbotRadius");
            aimbotRadius.ValueChanged    += trackBar_ValueChanged;
            aimbotRagemode                = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Rage mode", switchOnOff, "aimbotRagemode");
            aimbotRagemode.OptionChanged += onOffValChanged;
            aimbotSmooth                  = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Smooth aim", switchOnOff, "aimbotSmooth");
            aimbotSmooth.OptionChanged   += onOffValChanged;
            aimbotSpeed = new TrackbarMenuItem(themeBasic, fontSmall, aimMenu, "Speed (%)", trackBarAimbotSpeedMin, trackBarAimbotSpeedMax, trackBarAimbotSpeedStep, "aimbotSpeed");
            aimbotSpeed.ValueChanged     += trackBar_ValueChanged;
            aimbotTarget                  = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Target", switchTargets, "aimbotTarget");
            aimbotTarget.OptionChanged   += targetValChanged;
            aimSpottedOnly                = new ValueMenuItem(themeBasic, fontSmall, aimMenu, "Only aim at spotted players", switchYesNo, "aimSpottedOnly");
            aimSpottedOnly.OptionChanged += yesNoValChanged;

            crosshairDrawData = new ValueMenuItem(themeBasic, fontSmall, crosshairMenu, "Draw target-data", switchOnOff, "crosshairDrawData");
            crosshairDrawData.OptionChanged     += onOffValChanged;
            crosshairDrawRecoil                  = new ValueMenuItem(themeBasic, fontSmall, crosshairMenu, "Draw recoil", switchYesNo, "crosshairDrawRecoil");
            crosshairDrawRecoil.OptionChanged   += onOffValChanged;
            crosshairDrawSoundESP                = new ValueMenuItem(themeBasic, fontSmall, crosshairMenu, "Draw SoundESP", switchYesNo, "crosshairDrawSoundESP");
            crosshairDrawSoundESP.OptionChanged += yesNoValChanged;
            crosshairEnabled = new ValueMenuItem(themeBasic, fontSmall, crosshairMenu, "Enabled", switchYesNo, "crosshairEnabled");
            crosshairEnabled.OptionChanged += yesNoValChanged;

            espDrawBox = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw box", switchOnOff, "espDrawBox");
            espDrawBox.OptionChanged      += onOffValChanged;
            espDrawCircle                  = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw circle", switchOnOff, "espDrawCircle");
            espDrawCircle.OptionChanged   += onOffValChanged;
            espDrawDetails                 = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw stats", switchOnOff, "espDrawDetails");
            espDrawDetails.OptionChanged  += onOffValChanged;
            espDrawDistance                = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw distance", switchOnOff, "espDrawDistance");
            espDrawDistance.OptionChanged += onOffValChanged;
            espDrawHealth                  = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw health", switchOnOff, "espDrawHealth");
            espDrawHealth.OptionChanged   += onOffValChanged;
            espDrawLines = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw lines", switchOnOff, "espDrawLines");
            espDrawLines.OptionChanged += onOffValChanged;
            espDrawName = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw name", switchOnOff, "espDrawName");
            espDrawName.OptionChanged     += onOffValChanged;
            espDrawSkeleton                = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw skeleton", switchOnOff, "espDrawSkeleton");
            espDrawSkeleton.OptionChanged += onOffValChanged;
            espDrawWeapons = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw weapons", switchOnOff, "espDrawWeapons");
            espDrawWeapons.OptionChanged += onOffValChanged;
            espEnabled = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Enabled", switchYesNo, "espEnabled");
            espEnabled.OptionChanged += yesNoValChanged;
            espTarget = new ValueMenuItem(themeBasic, fontSmall, espMenu, "Draw", switchTargets, "espDrawTarget");
            espTarget.OptionChanged += targetValChanged;

            espGlowEnabled = new ValueMenuItem(themeBasic, fontSmall, espGlowMenu, "Enabled", switchYesNo, "espGlowEnabled");
            espGlowEnabled.OptionChanged       += yesNoValChanged;
            espGlowFadingEnabled                = new ValueMenuItem(themeBasic, fontSmall, espGlowMenu, "Fading enabled", switchYesNo, "espGlowFadingEnabled");
            espGlowFadingEnabled.OptionChanged += yesNoValChanged;
            espGlowFadingDistance               = new TrackbarMenuItem(themeBasic, fontSmall, espGlowMenu, "Fading-distance", 0f, 500f, 5f, 50f, "espGlowFadingDistance");
            espGlowFadingDistance.ValueChanged += trackBar_ValueChanged;

            miscAutoPistolEnabled = new ValueMenuItem(themeBasic, fontSmall, miscMenu, "Auto-pistol enabled", switchYesNo, "miscAutoPistolEnabled");
            miscAutoPistolEnabled.OptionChanged += yesNoValChanged;
            miscBunnyHopEnabled = new ValueMenuItem(themeBasic, fontSmall, miscMenu, "Bunnyhop enabled", switchYesNo, "miscBunnyHopEnabled");
            miscBunnyHopEnabled.OptionChanged += yesNoValChanged;
            miscInfoEnabled = new ValueMenuItem(themeBasic, fontSmall, miscMenu, "Information-panel enabled", switchYesNo, "miscInfoEnabled");
            miscInfoEnabled.OptionChanged += yesNoValChanged;
            miscNoFlash = new ValueMenuItem(themeBasic, fontSmall, miscMenu, "NoFlash enabled", switchYesNo, "miscNoFlash");
            miscNoFlash.OptionChanged += yesNoValChanged;
            miscNoSmoke = new ValueMenuItem(themeBasic, fontSmall, miscMenu, "NoSmoke enabled", switchYesNo, "miscNoSmoke");
            miscNoSmoke.OptionChanged += yesNoValChanged;

            radarDrawLines = new ValueMenuItem(themeBasic, fontSmall, radarMenu, "Draw lines", switchOnOff, "radarDrawLines");
            radarDrawLines.OptionChanged += onOffValChanged;
            radarDrawView = new ValueMenuItem(themeBasic, fontSmall, radarMenu, "Draw view", switchOnOff, "radarDrawView");
            radarDrawView.OptionChanged += onOffValChanged;
            radarEnabled = new ValueMenuItem(themeBasic, fontSmall, radarMenu, "Enabled", switchYesNo, "radarEnabled");
            radarEnabled.OptionChanged += yesNoValChanged;
            radarTarget = new ValueMenuItem(themeBasic, fontSmall, radarMenu, "Draw", switchTargets, "radarDrawTarget");
            radarTarget.OptionChanged += targetValChanged;
            radarZoom = new TrackbarMenuItem(themeBasic, fontSmall, radarMenu, "Zoom-level", trackBarRadarDistMin, trackBarRadarDistMax, trackBarRadarDistStep, "radarZoom");
            radarZoom.ValueChanged += trackBar_ValueChanged;

            rcsEnabled = new ValueMenuItem(themeBasic, fontSmall, rcsMenu, "Recoil-Control enabled", switchYesNo, "rcsEnabled");
            rcsEnabled.OptionChanged += yesNoValChanged;
            rcsForce = new TrackbarMenuItem(themeBasic, fontSmall, rcsMenu, "Force", 0f, 3f, 0.1f, 1f, "rcsForce");
            rcsForce.ValueChanged += trackBar_ValueChanged;

            soundEspEnabled = new ValueMenuItem(themeBasic, fontSmall, soundEspMenu, "SoundESP enabled", switchYesNo, "soundEspEnabled");
            soundEspEnabled.OptionChanged += yesNoValChanged;
            soundEspInterval = new TrackbarMenuItem(themeBasic, fontSmall, soundEspMenu, "Interval (ms)", 250, 5000, 50, 1000, "soundEspInterval");
            soundEspInterval.ValueChanged += trackBar_ValueChanged;
            soundEspRange = new TrackbarMenuItem(themeBasic, fontSmall, soundEspMenu, "Range", 10, 500, 10, 50, "soundEspRange");
            soundEspRange.ValueChanged += trackBar_ValueChanged;
            soundEspSound = new TrackbarMenuItem(themeBasic, fontSmall, soundEspMenu, "Sound", 1, 10, 1, 1, "soundEspSound");
            soundEspSound.ValueChanged  += trackBar_ValueChanged;
            soundEspVolume               = new TrackbarMenuItem(themeBasic, fontSmall, soundEspMenu, "Volume (%)", 0, 100, 5, 5, "soundEspVolume");
            soundEspVolume.ValueChanged += trackBar_ValueChanged;

            spectatorDisableAim = new ValueMenuItem(themeBasic, fontSmall, radarMenu, "Disable aimbot", switchYesNo, "spectatorDisableAim");
            spectatorDisableAim.OptionChanged     += yesNoValChanged;
            spectatorDisableTrigger                = new ValueMenuItem(themeBasic, fontSmall, radarMenu, "Disable triggerbot", switchYesNo, "spectatorDisableTrigger");
            spectatorDisableTrigger.OptionChanged += yesNoValChanged;
            spectatorDrawWarning = new ValueMenuItem(themeBasic, fontSmall, radarMenu, "Draw warning", switchYesNo, "spectatorDrawWarning");
            spectatorDrawWarning.OptionChanged += yesNoValChanged;

            triggerbotDelay = new TrackbarMenuItem(themeBasic, fontSmall, triggerMenu, "Delay (ms)", trackBarTriggerDelayMin, trackBarTriggerDelayMax, trackBarTriggerDelayStep, "triggerbotDelay");
            triggerbotDelay.ValueChanged           += trackBar_ValueChanged;
            triggerbotEnabled                       = new ValueMenuItem(themeBasic, fontSmall, triggerMenu, "Enabled", switchYesNo, "triggerbotEnabled");
            triggerbotEnabled.OptionChanged        += yesNoValChanged;
            triggerbotRecoilThreshold               = new TrackbarMenuItem(themeBasic, fontSmall, triggerMenu, "max Recoil (%)", trackBarTriggerRecoilTHMin, trackBarTriggerRecoilTHMax, trackBarTriggerRecoilTHStep, 2.75f, "triggerbotRecoilThreshold");
            triggerbotRecoilThreshold.ValueChanged += trackBar_ValueChanged;
            triggerbotSnipersOnly                   = new ValueMenuItem(themeBasic, fontSmall, triggerMenu, "Sniper-rifles only", switchYesNo, "triggerbotSnipersOnly");
            triggerbotSnipersOnly.OptionChanged    += yesNoValChanged;
            triggerbotSpeedThreshold                = new TrackbarMenuItem(themeBasic, fontSmall, triggerMenu, "max speed (km/h)", trackBarTriggerSpeedTHMin, trackBarTriggerSpeedTHMax, trackBarTriggerSpeedTHStep, 5f, "triggerbotSpeedThreshold");
            triggerbotSpeedThreshold.ValueChanged  += trackBar_ValueChanged;
            triggerbotTarget = new ValueMenuItem(themeBasic, fontSmall, triggerMenu, "Target", switchTargets, "triggerbotTarget");
            triggerbotTarget.OptionChanged += targetValChanged;
            triggerKey = new KeyMenuItem(themeBasic, fontSmall, aimMenu, "Key", System.Windows.Forms.Keys.LButton, "triggerKey");
            triggerKey.OptionChanged += keyValChanged;

            SubMenuItem aimSubMenu             = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Aimbot", aimMenu);
            SubMenuItem crosshairSubMenu       = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Crosshair", crosshairMenu);
            SubMenuItem espSubMenu             = new SubMenuItem(themeBasic, fontSmall, mainMenu, "ESP", espMenu);
            SubMenuItem espGlowSubMenu         = new SubMenuItem(themeBasic, fontSmall, espMenu, "Outlineglow", espGlowMenu);
            SubMenuItem highlightPlayerSubMenu = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Hightlight players", highlightPlayerMenu);
            SubMenuItem radarSubMenu           = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Radar", radarMenu);
            SubMenuItem rcsSubMenu             = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Recoil-Control", rcsMenu);
            SubMenuItem settingsSubMenu        = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Settings", settingsMenu);
            SubMenuItem soundEspSubMenu        = new SubMenuItem(themeBasic, fontSmall, mainMenu, "SoundESP", soundEspMenu);
            SubMenuItem spectatorSubMenu       = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Spectator", spectatorMenu);
            SubMenuItem statsSubMenu           = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Statistics", statsMenu);
            SubMenuItem triggerSubMenu         = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Triggerbot", triggerMenu);
            SubMenuItem uiSubMenu        = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Misc", miscMenu);
            SubMenuItem wireframeSubMenu = new SubMenuItem(themeBasic, fontSmall, mainMenu, "Wireframe", wireframeMenu);

            string[] files = Directory.GetFiles(Environment.CurrentDirectory, "*.csgo.cfg");
            settingsLoadButtons = new LoadActionMenuItem[files.Length];
            settingsSaveButtons = new SaveActionMenuItem[files.Length];
            settingsFilesMenus  = new Menu[files.Length];
            SubMenuItem[] settingsFilesSubMenus = new SubMenuItem[files.Length];

            for (int i = 0; i < files.Length; i++)
            {
                string fileName = new FileInfo(files[i]).Name;
                settingsFilesMenus[i]    = new Menu(themeBasic, themeItemSelected, themeBasic, fontSmall, fontLarge, 0, 0, 256, 256, String.Format("[{0}]", fileName), 4f, 4f, 4f);
                settingsLoadButtons[i]   = new LoadActionMenuItem(themeBasic, fontSmall, settingsFilesMenus[i], String.Format("Load \"{0}\"", fileName), fileName);
                settingsSaveButtons[i]   = new SaveActionMenuItem(themeBasic, fontSmall, settingsFilesMenus[i], String.Format("Save \"{0}\"", fileName), fileName);
                settingsFilesSubMenus[i] = new SubMenuItem(themeBasic, fontSmall, settingsMenu, fileName, settingsFilesMenus[i]);
            }

            highlightPlayers = new ValueMenuItem[64];
            for (int i = 0; i < highlightPlayers.Length; i++)
            {
                highlightPlayers[i]                = new ValueMenuItem(themeBasic, fontSmall, highlightPlayerMenu, "Player", switchOnOff, 1);
                highlightPlayers[i].Visible        = false;
                highlightPlayers[i].Text           = "";
                highlightPlayers[i].OptionChanged += highlightedValChanged;
            }

            aimBack              = new BackMenuItem(themeBasic, fontSmall, aimMenu);
            triggerBack          = new BackMenuItem(themeBasic, fontSmall, triggerMenu);
            radarBack            = new BackMenuItem(themeBasic, fontSmall, radarMenu);
            espBack              = new BackMenuItem(themeBasic, fontSmall, espMenu);
            espGlowBack          = new BackMenuItem(themeBasic, fontSmall, espGlowMenu);
            crosshairBack        = new BackMenuItem(themeBasic, fontSmall, crosshairMenu);
            spectatorBack        = new BackMenuItem(themeBasic, fontSmall, spectatorMenu);
            settingsBack         = new BackMenuItem(themeBasic, fontSmall, settingsMenu);
            statsBack            = new BackMenuItem(themeBasic, fontSmall, statsMenu);
            miscBack             = new BackMenuItem(themeBasic, fontSmall, miscMenu);
            rcsBack              = new BackMenuItem(themeBasic, fontSmall, rcsMenu);
            highlightPlayersBack = new BackMenuItem(themeBasic, fontSmall, highlightPlayerMenu);
            soundEspBack         = new BackMenuItem(themeBasic, fontSmall, soundEspMenu);
            #endregion

            #region MENU ITEMS - ADD
            //Add menuitems
            menuItems = new List <MenuItem>();

            menuItems.Add(aimSubMenu);
            menuItems.Add(crosshairSubMenu);
            menuItems.Add(espSubMenu);
            menuItems.Add(espGlowSubMenu);
            menuItems.Add(highlightPlayerSubMenu);
            menuItems.Add(radarSubMenu);
            menuItems.Add(settingsSubMenu);
            menuItems.Add(soundEspSubMenu);
            menuItems.Add(spectatorSubMenu);
            menuItems.Add(statsSubMenu);
            menuItems.Add(uiSubMenu);
            menuItems.Add(rcsSubMenu);
            menuItems.Add(triggerSubMenu);
            menuItems.Add(wireframeSubMenu);

            menuItems.Add(radarBack);
            menuItems.Add(radarDrawLines);
            menuItems.Add(radarDrawView);
            menuItems.Add(radarEnabled);
            menuItems.Add(radarTarget);
            menuItems.Add(radarZoom);

            menuItems.Add(espBack);
            menuItems.Add(espDrawBox);
            //menuItems.Add(espDrawChickens);
            menuItems.Add(espDrawCircle);
            menuItems.Add(espDrawDetails);
            menuItems.Add(espDrawDistance);
            menuItems.Add(espDrawHealth);
            menuItems.Add(espDrawLines);
            menuItems.Add(espDrawName);
            menuItems.Add(espDrawSkeleton);
            menuItems.Add(espDrawWeapons);
            menuItems.Add(espEnabled);
            menuItems.Add(espTarget);

            menuItems.Add(espGlowBack);
            menuItems.Add(espGlowEnabled);
            menuItems.Add(espGlowFadingEnabled);
            menuItems.Add(espGlowFadingDistance);

            menuItems.Add(crosshairBack);
            menuItems.Add(crosshairEnabled);
            menuItems.Add(crosshairDrawData);
            menuItems.Add(crosshairDrawRecoil);
            menuItems.Add(crosshairDrawSoundESP);

            menuItems.Add(aimBack);
            menuItems.Add(aimAllowAimJump);
            menuItems.Add(aimbotBone);
            menuItems.Add(aimbotEnabled);
            menuItems.Add(aimbotCompensateRecoil);
            menuItems.Add(aimbotRagemode);
            menuItems.Add(aimbotKey);
            menuItems.Add(aimbotMethod);
            menuItems.Add(aimbotRadius);
            menuItems.Add(aimbotSmooth);
            menuItems.Add(aimbotSpeed);
            menuItems.Add(aimbotTarget);
            menuItems.Add(aimSpottedOnly);

            menuItems.Add(triggerBack);
            menuItems.Add(triggerbotDelay);
            menuItems.Add(triggerbotEnabled);
            menuItems.Add(triggerbotSnipersOnly);
            menuItems.Add(triggerbotRecoilThreshold);
            menuItems.Add(triggerbotSpeedThreshold);
            menuItems.Add(triggerbotTarget);
            menuItems.Add(triggerKey);

            menuItems.Add(spectatorBack);
            menuItems.Add(spectatorDrawWarning);
            menuItems.Add(spectatorDisableAim);
            menuItems.Add(spectatorDisableTrigger);

            menuItems.Add(statsBack);

            menuItems.Add(miscBack);
            menuItems.Add(miscInfoEnabled);
            menuItems.Add(miscBunnyHopEnabled);
            menuItems.Add(miscAutoPistolEnabled);
            menuItems.Add(miscNoFlash);
            menuItems.Add(miscNoSmoke);

            menuItems.Add(rcsBack);
            menuItems.Add(rcsEnabled);
            menuItems.Add(rcsForce);

            menuItems.Add(soundEspBack);
            menuItems.Add(soundEspEnabled);
            menuItems.Add(soundEspRange);
            menuItems.Add(soundEspInterval);
            menuItems.Add(soundEspSound);
            menuItems.Add(soundEspVolume);

            foreach (LoadActionMenuItem item in settingsLoadButtons)
            {
                menuItems.Add(item);
            }
            foreach (SaveActionMenuItem item in settingsSaveButtons)
            {
                menuItems.Add(item);
            }
            foreach (SubMenuItem item in settingsFilesSubMenus)
            {
                menuItems.Add(item);
            }
            menuItems.Add(settingsBack);

            foreach (ValueMenuItem highlight in highlightPlayers)
            {
                menuItems.Add(highlight);
            }
            menuItems.Add(highlightPlayersBack);

            foreach (MenuItem menuItem in menuItems)
            {
                menuItem.Width  = mainMenu.Width - mainMenu.PaddingX * 2f;
                menuItem.Height = 20f;
                //menuItem.Theme = themeBasic;
            }


            highlightPlayerMenu.AddChildControl(highlightPlayersBack);
            foreach (ValueMenuItem highlight in highlightPlayers)
            {
                highlightPlayerMenu.AddChildControl(highlight);
            }

            settingsMenu.AddChildControl(settingsBack);
            for (int i = 0; i < settingsFilesMenus.Length; i++)
            {
                settingsMenu.AddChildControl(settingsFilesSubMenus[i]);
                settingsFilesMenus[i].AddChildControl(settingsLoadButtons[i]);
                settingsFilesMenus[i].AddChildControl(settingsSaveButtons[i]);
            }

            rcsMenu.AddChildControl(rcsBack);
            rcsMenu.AddChildControl(rcsEnabled);
            rcsMenu.AddChildControl(rcsForce);

            miscMenu.AddChildControl(miscBack);
            miscMenu.AddChildControl(miscInfoEnabled);
            miscMenu.AddChildControl(miscAutoPistolEnabled);
            miscMenu.AddChildControl(miscBunnyHopEnabled);
            miscMenu.AddChildControl(miscNoFlash);
            //miscMenu.AddChildControl(miscNoSmoke);

            statsMenu.AddChildControl(statsBack);
            statsMenu.AddChildControl(ctrlStatsKills);
            statsMenu.AddChildControl(ctrlStatsDeaths);
            statsMenu.AddChildControl(ctrlStatsKD);
            statsMenu.AddChildControl(ctrlStatsScore);

            spectatorMenu.AddChildControl(spectatorBack);
            spectatorMenu.AddChildControl(spectatorDrawWarning);
            spectatorMenu.AddChildControl(spectatorDisableAim);
            spectatorMenu.AddChildControl(spectatorDisableTrigger);

            radarMenu.AddChildControl(radarBack);
            radarMenu.AddChildControl(radarEnabled);
            radarMenu.AddChildControl(radarTarget);
            radarMenu.AddChildControl(radarDrawLines);
            radarMenu.AddChildControl(radarZoom);

            espMenu.AddChildControl(espBack);
            espMenu.AddChildControl(espEnabled);
            espMenu.AddChildControl(espGlowSubMenu);
            espMenu.AddChildControl(espTarget);
            espMenu.AddChildControl(espDrawName);
            espMenu.AddChildControl(espDrawHealth);
            espMenu.AddChildControl(espDrawDetails);
            espMenu.AddChildControl(espDrawDistance);
            espMenu.AddChildControl(espDrawBox);
            espMenu.AddChildControl(espDrawCircle);
            espMenu.AddChildControl(espDrawLines);
            espMenu.AddChildControl(espDrawSkeleton);
            espMenu.AddChildControl(espDrawWeapons);

            espGlowMenu.AddChildControl(espGlowBack);
            espGlowMenu.AddChildControl(espGlowEnabled);
            espGlowMenu.AddChildControl(espGlowFadingEnabled);
            espGlowMenu.AddChildControl(espGlowFadingDistance);

            crosshairMenu.AddChildControl(crosshairBack);
            crosshairMenu.AddChildControl(crosshairEnabled);
            crosshairMenu.AddChildControl(crosshairDrawData);
            crosshairMenu.AddChildControl(crosshairDrawRecoil);
            crosshairMenu.AddChildControl(crosshairDrawSoundESP);

            aimMenu.AddChildControl(aimBack);
            aimMenu.AddChildControl(aimbotEnabled);
            aimMenu.AddChildControl(aimbotRagemode);
            aimMenu.AddChildControl(aimbotSmooth);
            aimMenu.AddChildControl(aimbotCompensateRecoil);
            aimMenu.AddChildControl(aimbotTarget);
            aimMenu.AddChildControl(aimbotBone);
            aimMenu.AddChildControl(aimbotMethod);
            aimMenu.AddChildControl(aimbotRadius);
            aimMenu.AddChildControl(aimbotSpeed);
            aimMenu.AddChildControl(aimbotKey);
            aimMenu.AddChildControl(aimAllowAimJump);
            aimMenu.AddChildControl(aimSpottedOnly);

            triggerMenu.AddChildControl(triggerBack);
            triggerMenu.AddChildControl(triggerbotEnabled);
            triggerMenu.AddChildControl(triggerbotTarget);
            triggerMenu.AddChildControl(triggerbotSnipersOnly);
            triggerMenu.AddChildControl(triggerbotDelay);
            triggerMenu.AddChildControl(triggerbotRecoilThreshold);
            triggerMenu.AddChildControl(triggerbotSpeedThreshold);
            triggerMenu.AddChildControl(triggerKey);

            mainMenu.AddChildControl(aimSubMenu);
            mainMenu.AddChildControl(triggerSubMenu);
            mainMenu.AddChildControl(radarSubMenu);
            mainMenu.AddChildControl(espSubMenu);
            mainMenu.AddChildControl(soundEspSubMenu);
            //mainMenu.AddChildControl(wireframeSubMenu);
            mainMenu.AddChildControl(crosshairSubMenu);
            mainMenu.AddChildControl(spectatorSubMenu);
            mainMenu.AddChildControl(highlightPlayerSubMenu);
            mainMenu.AddChildControl(uiSubMenu);
            mainMenu.AddChildControl(rcsSubMenu);
            mainMenu.AddChildControl(statsSubMenu);
            mainMenu.AddChildControl(settingsSubMenu);

            soundEspMenu.AddChildControl(soundEspBack);
            soundEspMenu.AddChildControl(soundEspEnabled);
            soundEspMenu.AddChildControl(soundEspRange);
            soundEspMenu.AddChildControl(soundEspInterval);
            soundEspMenu.AddChildControl(soundEspSound);
            soundEspMenu.AddChildControl(soundEspVolume);
            #endregion
        }
Пример #36
0
 private void setExitItem()
 {
     m_ExitItem                     = new SubMenuItem("Exit");
     m_MenuRoot.BackItem            = m_ExitItem;
     m_MenuRoot.BackItemUniqueTitle = "Exit";
 }
        public void Load(bool isDeliveryOrder)
        {
            _isDeliveryOrder = isDeliveryOrder;

            // CartItem -> Product -> DealItem
            Product = new BxDealItem(_dealId);
            if (_dealId > 0)
            {
                Product.Load(_isDeliveryOrder);
            }

            // CartItem -> Product -> DealItem -> (*) MenuItem
            if (_menuItemId > 0)
            {
                var item = new BxMenuItem(_menuItemId) {};

                item.Load(_isDeliveryOrder);
                //item.Name = "asd";
                if (!string.IsNullOrWhiteSpace(item.Name) && !Product.Contains(item))
                {
                    Product.Items.Add(item);
                }
            }

            // CartItem -> Product -> DealItem -> (*) MenuItem -> (*) SubMenuItem
            if (_subMenuItemId != 0)
            {
                var subItem = new SubMenuItem(_menuItemId, _subMenuItemId);
                subItem.Load(_isDeliveryOrder);
                if (!string.IsNullOrWhiteSpace(subItem.Name) && !Product.GetMenuItem(_menuItemId).Contains(subItem))
                {
                    Product.GetMenuItem(_menuItemId).Items.Add(subItem);
                    if ((subItem.UnitPrice > 0))
                    {
                        Product.GetMenuItem(_menuItemId).UnitPrice = subItem.UnitPrice;
                    }
                }
            }

            // Is this add dressing?
            // CartItem -> Product -> DealItem -> (*) MenuItem -> (*) Dressing
            if (_dressingId != 0)
            {
                var dressing = new MenuDressing(_menuItemId, _dressingId);
                dressing.Load(_isDeliveryOrder);
                if (!Product.GetMenuItem(_menuItemId).Contains(dressing))
                {
                    Product.Items.Add(dressing);
                }

            }

            // Is this adding topping?
            // CartItem -> Product -> DealItem -> (*) MenuItem -> (*) Topping
            if (_toppingId != 0)
            {
                var isExcluding = _toppingId < 0;

                var topping = new MenuTopping(_menuItemId, _subMenuItemId, Math.Abs(_toppingId));
                topping.Load(_isDeliveryOrder);

                if (!string.IsNullOrWhiteSpace(topping.Name) && !Product.GetMenuItem(_menuItemId).Contains(topping))
                {
                    if (isExcluding)
                    {
                        topping.Name = "NOT " + topping.Name;
                    }

                    Product.Items.Add(topping);
                }
            }
        }
Пример #38
0
        /// <summary>
        /// Adds a MenuItem to the collection.  If the ViewState is being tracked, the
        /// MenuItem's TrackViewState() method is called and the item is set to dirty, so
        /// that we don't lose any settings made prior to the Add() call.
        /// </summary>
        /// <param name="item">The MenuItem to add to the collection</param>
        /// <returns>The ordinal position of the added item.</returns>
        public virtual int Add(SubMenuItem item)
        {
            int result = menuItems.Add(item);

            return result;
        }