示例#1
0
        void item_CheckedChanged(NValueChangeEventArgs arg)
        {
            bool isChecked = (bool)arg.NewValue;

            if (isChecked == false)
            {
                return;
            }

            NCheckableMenuItem  item  = (NCheckableMenuItem)arg.TargetNode;
            NMenuItemCollection items = item.ParentNode as NMenuItemCollection;

            for (int i = 0, count = items.Count; i < count; i++)
            {
                NCheckableMenuItem currentItem = items[i] as NCheckableMenuItem;
                if (currentItem == null)
                {
                    continue;
                }

                if (currentItem != item && currentItem.Checked)
                {
                    // We've found the previously checked item, so uncheck it
                    currentItem.Checked = false;
                    break;
                }
            }
        }
示例#2
0
        private NMenuDropDown CreateViewMenuDropDown()
        {
            NMenuDropDown viewMenu = CreateMenuDropDown("View");

            m_ViewLayoutMenuItems = new NCheckableMenuItem[] {
                new NCheckableMenuItem(null, "Normal Layout", true),
                new NCheckableMenuItem("Web Layout"),
                new NCheckableMenuItem("Print Layout"),
                new NCheckableMenuItem("Reading Layout")
            };

            for (int i = 0, count = m_ViewLayoutMenuItems.Length; i < count; i++)
            {
                NCheckableMenuItem viewLayoutMenuItem = m_ViewLayoutMenuItems[i];
                viewLayoutMenuItem.CheckedChanging += new Function <NValueChangeEventArgs>(OnViewLayoutMenuItemCheckedChanging);
                viewLayoutMenuItem.CheckedChanged  += new Function <NValueChangeEventArgs>(OnViewLayoutMenuItemCheckedChanged);
                viewMenu.Items.Add(viewLayoutMenuItem);
            }

            viewMenu.Items.Add(new NMenuSeparator());
            viewMenu.Items.Add(new NCheckableMenuItem(null, "Task Pane", true));
            viewMenu.Items.Add(new NCheckableMenuItem(null, "Toolbars", false));
            viewMenu.Items.Add(new NCheckableMenuItem(null, "Ruler", true));

            return(viewMenu);
        }
示例#3
0
        void item_CheckedChanging(NValueChangeEventArgs arg)
        {
            bool isChecked = (bool)arg.NewValue;

            if (isChecked)
            {
                return;
            }

            // Make sure the user is not trying to uncheck the checked item
            NCheckableMenuItem  item  = (NCheckableMenuItem)arg.TargetNode;
            NMenuItemCollection items = item.ParentNode as NMenuItemCollection;

            for (int i = 0, count = items.Count; i < count; i++)
            {
                NCheckableMenuItem currentItem = items[i] as NCheckableMenuItem;
                if (currentItem == null)
                {
                    continue;
                }

                if (currentItem != item && currentItem.Checked)
                {
                    return;
                }
            }

            arg.Cancel = true;
        }
示例#4
0
        /// <summary>
        /// Creates the Options drop down menu.
        /// </summary>
        /// <returns></returns>
        protected virtual NMenuDropDown CreateOptionsMenuDropDown()
        {
            NMenuDropDown optionsMenu = new NMenuDropDown("Options");

            NCheckableMenuItem developerModeMenuItem = new NCheckableMenuItem("Developer Mode");

            developerModeMenuItem.Click += OnDeveloperModeMenuItemClick;
            optionsMenu.Items.Add(developerModeMenuItem);

            return(optionsMenu);
        }
        private NMenu CreateCheckableImageAndTextContextMenu()
        {
            NMenu contextMenu = new NMenu();

            for (int i = 0; i < 3; i++)
            {
                NCheckableMenuItem menuItem = new NCheckableMenuItem(MenuItemImages[i], "Option " + (i + 1).ToString(), m_ImageAndTextChecked[i]);
                menuItem.Tag             = i;
                menuItem.CheckedChanged += new Function <NValueChangeEventArgs>(OnImageAndTextCheckableMenuItemCheckedChanged);
                contextMenu.Items.Add(menuItem);
            }

            return(contextMenu);
        }
示例#6
0
        private NCheckableMenuItem CreateCheckableMenuItem(string text, NImage image)
        {
            NCheckableMenuItem item = new NCheckableMenuItem(text);

            item.CheckedChanging += item_CheckedChanging;
            item.CheckedChanged  += item_CheckedChanged;

            if (image != null)
            {
                NImageBox imageBox = new NImageBox(image);
                imageBox.HorizontalPlacement = Layout.ENHorizontalPlacement.Center;
                imageBox.VerticalPlacement   = Layout.ENVerticalPlacement.Center;
                item.Header  = imageBox;
                item.Content = new NLabel(text);
            }

            return(item);
        }
示例#7
0
        /// <summary>
        /// Called when a theme menu item is clicked -> applies the specified theme
        /// </summary>
        /// <param name="arg1"></param>
        private void OnThemeMenuItemClick(NEventArgs arg1)
        {
            NCheckableMenuItem item = (NCheckableMenuItem)arg1.CurrentTargetNode;

            if (item.Tag is NTheme)
            {
                NApplication.ApplyTheme((NTheme)item.Tag);

                // Update the current theme menu item and check it
                m_CurrentThemeMenuItem.Checked = false;
                item.Checked           = true;
                m_CurrentThemeMenuItem = item;

                // Resize the right panel if the theme is in touch mode.
                NExampleBase exampleBase = m_Splitter.Pane2.Content as NExampleBase;
                if (exampleBase == null)
                {
                    return;
                }

                NSplitter splitter = exampleBase.Content as NSplitter;
                if (splitter == null)
                {
                    return;
                }

                NSplitter exampleSplitter = splitter.Pane1.Content as NSplitter;
                if (exampleSplitter == null)
                {
                    return;
                }

                bool touchMode = NApplication.Desktop.TouchMode;
                exampleSplitter.SplitOffset = touchMode ? 450 : 300;
            }
            else
            {
                throw new Exception("Clicked menu item not a theme?");
            }
        }
示例#8
0
        private void OnViewLayoutMenuItemCheckedChanged(NValueChangeEventArgs args)
        {
            bool isChecked = (bool)args.NewValue;

            if (isChecked == false)
            {
                return;
            }

            NCheckableMenuItem item = (NCheckableMenuItem)args.TargetNode;

            for (int i = 0, count = m_ViewLayoutMenuItems.Length; i < count; i++)
            {
                NCheckableMenuItem currentItem = m_ViewLayoutMenuItems[i];
                if (currentItem != item && currentItem.Checked)
                {
                    // We've found the previously checked item, so uncheck it
                    currentItem.Checked = false;
                    break;
                }
            }
        }
示例#9
0
        private void OnViewLayoutMenuItemCheckedChanging(NValueChangeEventArgs args)
        {
            bool isChecked = (bool)args.NewValue;

            if (isChecked)
            {
                return;
            }

            // Make sure the user is not trying to uncheck the checked item
            NCheckableMenuItem item = (NCheckableMenuItem)args.TargetNode;

            for (int i = 0, count = m_ViewLayoutMenuItems.Length; i < count; i++)
            {
                NCheckableMenuItem currentItem = m_ViewLayoutMenuItems[i];
                if (currentItem != item && currentItem.Checked)
                {
                    return;
                }
            }

            args.Cancel = true;
        }
示例#10
0
        /// <summary>
        /// Creates the menu drop down that allows the user to select a theme.
        /// </summary>
        /// <returns></returns>
        protected NMenuDropDown CreateThemesMenuDropDown()
        {
            NMenuDropDown themesMenu = new NMenuDropDown("Theme");

            // Add the Windows Classic themes
            NMenuItem windowsClassicMenuItem = new NMenuItem("Windows Classic");

            themesMenu.Items.Add(windowsClassicMenuItem);

            ENUIThemeScheme[] windowsClassicSchemes = NEnum.GetValues <ENUIThemeScheme>();
            for (int i = 0, count = windowsClassicSchemes.Length; i < count; i++)
            {
                ENUIThemeScheme      scheme    = (ENUIThemeScheme)windowsClassicSchemes.GetValue(i);
                NWindowsClassicTheme theme     = new NWindowsClassicTheme(scheme);
                NCheckableMenuItem   themeItem = new NCheckableMenuItem(NStringHelpers.InsertSpacesBeforeUppersAndDigits(scheme.ToString()));
                themeItem.Tag    = theme;
                themeItem.Click += OnThemeMenuItemClick;
                windowsClassicMenuItem.Items.Add(themeItem);
            }

            // Add the touch themes
            NMenuItem touchThemesMenuItem = new NMenuItem("Touch Themes");

            themesMenu.Items.Add(touchThemesMenuItem);

            // Add the Windows 8 touch theme
            NCheckableMenuItem windows8ThemeMenuItemTouch = new NCheckableMenuItem("Windows 8 Touch");

            windows8ThemeMenuItemTouch.Tag    = new NWindows8Theme(true);
            windows8ThemeMenuItemTouch.Click += OnThemeMenuItemClick;
            touchThemesMenuItem.Items.Add(windows8ThemeMenuItemTouch);

            // Add the dark theme
            NCheckableMenuItem darkThemeTouch = new NCheckableMenuItem("Nevron Dark Touch");

            darkThemeTouch.Tag    = new NNevronDarkTheme(true);
            darkThemeTouch.Click += OnThemeMenuItemClick;
            touchThemesMenuItem.Items.Add(darkThemeTouch);

            // Add the light theme
            NCheckableMenuItem lightThemeTouch = new NCheckableMenuItem("Nevron Light Touch");

            lightThemeTouch.Tag    = new NNevronLightTheme(true);
            lightThemeTouch.Click += OnThemeMenuItemClick;
            touchThemesMenuItem.Items.Add(lightThemeTouch);

            // Add the Windows XP Blue theme
            NCheckableMenuItem xpBlueMenuItem = new NCheckableMenuItem("Windows XP Blue");

            xpBlueMenuItem.Tag    = new NWindowsXPBlueTheme();
            xpBlueMenuItem.Click += OnThemeMenuItemClick;
            themesMenu.Items.Add(xpBlueMenuItem);

            // Add the Windows Aero theme
            NCheckableMenuItem aeroThemeMenuItem = new NCheckableMenuItem("Windows 7 Aero");

            aeroThemeMenuItem.Tag    = new NWindowsAeroTheme();
            aeroThemeMenuItem.Click += OnThemeMenuItemClick;
            themesMenu.Items.Add(aeroThemeMenuItem);

            // Add the Windows 8 theme (the default theme)
            NCheckableMenuItem windows8ThemeMenuItem = new NCheckableMenuItem("Windows 8");

            windows8ThemeMenuItem.Tag    = new NWindows8Theme();
            windows8ThemeMenuItem.Click += OnThemeMenuItemClick;
            themesMenu.Items.Add(windows8ThemeMenuItem);
            windows8ThemeMenuItem.Checked = true;
            m_CurrentThemeMenuItem        = windows8ThemeMenuItem;

            // Add the Mac Lion theme
            NCheckableMenuItem macLionThemeMenuItem = new NCheckableMenuItem("Mac OS X Lion");

            macLionThemeMenuItem.Tag    = new NMacLionTheme();
            macLionThemeMenuItem.Click += OnThemeMenuItemClick;
            themesMenu.Items.Add(macLionThemeMenuItem);

            // Add the Mac El Capitan theme
            NCheckableMenuItem macElCapitanTheme = new NCheckableMenuItem("Mac OS X El Capitan");

            macElCapitanTheme.Tag    = new NMacElCapitanTheme();
            macElCapitanTheme.Click += OnThemeMenuItemClick;
            themesMenu.Items.Add(macElCapitanTheme);

            // Add the dark theme
            NCheckableMenuItem darkTheme = new NCheckableMenuItem("Nevron Dark");

            darkTheme.Tag    = new NNevronDarkTheme();
            darkTheme.Click += OnThemeMenuItemClick;
            themesMenu.Items.Add(darkTheme);

            // Add the light theme
            NCheckableMenuItem lightTheme = new NCheckableMenuItem("Nevron Light");

            lightTheme.Tag    = new NNevronLightTheme();
            lightTheme.Click += OnThemeMenuItemClick;
            themesMenu.Items.Add(lightTheme);

            return(themesMenu);
        }