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; } } }
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); }
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; }
/// <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); }
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); }
/// <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?"); } }
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; } } }
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; }
/// <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); }