Пример #1
0
        /// <summary>
        /// </summary>
        /// <param name = "menuEntry"></param>
        /// <param name = "menuUid"></param>
        /// <returns></returns>
        private MenuEntry getMenuEntryByUid(MenuEntry menuEntry, int menuUid)
        {
            MenuEntry menuEntryByUid = null;

            if (menuEntry.menuType() == GuiMenuEntry.MenuType.MENU)
            {
                MenuEntryMenu menuEntryMenu  = (MenuEntryMenu)menuEntry;
                IEnumerator   iMenuEntryMenu = menuEntryMenu.iterator();
                while (iMenuEntryMenu.MoveNext())
                {
                    MenuEntry menuEntryNext = (MenuEntry)iMenuEntryMenu.Current;
                    if (menuEntryNext.menuUid() == menuUid)
                    {
                        return(menuEntryNext);
                    }
                    if (menuEntryNext.menuType() == GuiMenuEntry.MenuType.MENU)
                    {
                        menuEntryByUid = getMenuEntryByUid(menuEntryNext, menuUid);
                        if (menuEntryByUid != null)
                        {
                            if (menuEntryByUid.menuUid() == menuUid)
                            {
                                return(menuEntryByUid);
                            }
                        }
                    }
                }
            }
            return(menuEntryByUid);
        }
Пример #2
0
        /// <summary>
        ///   Refresh the text of the menu entry.
        ///   If this menu entry is a menu itself, call this method recursively.
        /// </summary>
        public void refreshRecursiveMenuesEntryMls(MenuEntry menuEntry)
        {
            // 1st refresh the menuentry text
            menuEntry.refreshText();

            // for menu type entry, do a recursive call for each entry.
            if (menuEntry.menuType() == GuiMenuEntry.MenuType.MENU)
            {
                MenuEntryMenu menuEntryMenu  = (MenuEntryMenu)menuEntry;
                IEnumerator   iMenuEntryMenu = menuEntryMenu.iterator();
                while (iMenuEntryMenu.MoveNext())
                {
                    MenuEntry menuEntryNext = (MenuEntry)iMenuEntryMenu.Current;
                    // recursive call for each menu entry.
                    refreshRecursiveMenuesEntryMls(menuEntryNext);
                }
            }
        }
Пример #3
0
        /// <summary>
        ///   Builds actual array list containing menu entries matching the entry name
        /// </summary>
        /// <param name = "EntryName">Sring Entry name to be searched</param>
        /// <param name = "menuEntry">Root menu entry</param>
        /// <param name = "matchingMnuEntries">Out parameter that will have the matching entries.</param>
        /// <param name="isPulldown"></param>
        /// <returns></returns>
        private void BuildMatchingMenuValues(String entryName, IEnumerator iInnerMnt, bool isPulldown, ArrayList matchingMnuEntries)
        {
            while (iInnerMnt.MoveNext())
            {
                MenuEntry innerMnt = (MenuEntry)iInnerMnt.Current;

                String mntName = innerMnt.getName();
                if (mntName != null && (String.CompareOrdinal(mntName, entryName) == 0))
                {
                    AddMenuValue(matchingMnuEntries, isPulldown, innerMnt);
                }

                if (innerMnt.menuType() == GuiMenuEntry.MenuType.MENU)
                {
                    MenuEntryMenu menuEntMenu = (MenuEntryMenu)innerMnt;
                    IEnumerator   iMenuEntry  = menuEntMenu.iterator();

                    BuildMatchingMenuValues(entryName, iMenuEntry, isPulldown, matchingMnuEntries);
                }
            }
        }