private NApplicationMenu CreateMenu() { NApplicationMenu appMenu = new NApplicationMenu("File"); NMenu menu = appMenu.MenuPane; // Create the "Open" and "Save" menu items menu.Items.Add(new NMenuItem(NResources.Image_Ribbon_32x32_folder_action_open_png, "Open")); menu.Items.Add(new NMenuItem(NResources.Image_Ribbon_32x32_save_png, "Save")); // Create the "Save As" menu item and its sub items NMenuItem saveAsMenuItem = new NMenuItem(NResources.Image_Ribbon_32x32_save_as_png, "Save As"); saveAsMenuItem.Items.Add(new NMenuItem("PNG Image")); saveAsMenuItem.Items.Add(new NMenuItem("JPEG Image")); saveAsMenuItem.Items.Add(new NMenuItem("BMP Image")); saveAsMenuItem.Items.Add(new NMenuItem("GIF Image")); menu.Items.Add(saveAsMenuItem); // Create the rest of the menu items menu.Items.Add(new NMenuSeparator()); menu.Items.Add(new NMenuItem(NResources.Image_Ribbon_32x32_print_png, "Print")); menu.Items.Add(new NMenuItem(NResources.Image_Ribbon_32x32_settings_png, "Options")); menu.Items.Add(new NMenuSeparator()); menu.Items.Add(new NMenuItem(NResources.Image_Ribbon_32x32_exit_png, "Exit")); // Create a label for the content pane appMenu.ContentPane = new NLabel("This is the content pane"); // Create 2 buttons for the footer pane appMenu.FooterPane = new NApplicationMenuFooterPanel(); appMenu.FooterPane.Add(new NButton("Options...")); appMenu.FooterPane.Add(new NButton("Exit")); return(appMenu); }
private void OnTreeViewItemMouseDown(NMouseButtonEventArgs arg) { if (arg.Cancel || arg.Button != ENMouseButtons.Right) { return; } // Mark the event as handled arg.Cancel = true; // Get the right clicked tree view item NTreeViewItem item = (NTreeViewItem)arg.CurrentTargetNode; // Create the context menu NMenu contextMenu = new NMenu(); NMenuItem copyLinkToClipboard = new NMenuItem("Copy link to clipboard"); copyLinkToClipboard.Click += OnCopyLinkToClipboardClick; copyLinkToClipboard.Tag = item.Tag; contextMenu.Items.Add(copyLinkToClipboard); // Show the context menu NSplitter splitter = (NSplitter)m_TreeView.ParentNode.ParentNode; double x = splitter.X + m_TreeView.X + arg.CurrentTargetPosition.X; double y = splitter.Y + m_TreeView.Y + item.YInRootItems + arg.CurrentTargetPosition.Y; NPopupWindow.OpenInContext(new NPopupWindow(contextMenu), m_TreeView, new NPoint(x, y)); }
/// <summary> /// Appends the context menu action items from this group to the given menu. /// </summary> /// <param name="menu">The menu to append to.</param> /// <param name="textElement">The text element this menu is built for.</param> public override void AppendActionsTo(NMenu menu, NTextElement textElement) { // Add the "Copy" command menu.Items.Add(CreateMenuItem(Nevron.Nov.Presentation.NResources.Image_Edit_Copy_png, NRichTextView.CopyCommand)); // Add the custom command menu.Items.Add(CreateMenuItem(NResources.Image_Ribbon_16x16_smiley_png, CustomCommand)); }
protected override void CreateCustomCommands(NMenu menu) { base.CreateCustomCommands(menu); // Create a context menu builder NContextMenuBuilder builder = new NContextMenuBuilder(); // Add a custom command builder.AddMenuItem(menu, NResources.Image_Ribbon_16x16_smiley_png, CustomCommand); }
private NMenu CreateImageAndTextContextMenu() { NMenu contextMenu = new NMenu(); for (int i = 0; i < 3; i++) { contextMenu.Items.Add(new NMenuItem(MenuItemImages[i], "Option " + (i + 1).ToString())); } return(contextMenu); }
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 void OnTargetWidgetMouseDown(NMouseButtonEventArgs args) { NGroupBox ownerGroupBox = (NGroupBox)args.CurrentTargetNode.GetFirstAncestor(NGroupBox.NGroupBoxSchema); string groupBoxTitle = ((NLabel)ownerGroupBox.Header.Content).Text; if ((groupBoxTitle.StartsWith("Left") && args.Button != ENMouseButtons.Left) || (groupBoxTitle.StartsWith("Right") && args.Button != ENMouseButtons.Right)) { return; } // Mark the event as handled args.Cancel = true; // Create and show the popup CreateMenuDelegate createMenuDelegate = (CreateMenuDelegate)args.CurrentTargetNode.Tag; NMenu contextMenu = createMenuDelegate(); NPopupWindow.OpenInContext(new NPopupWindow(contextMenu), args.CurrentTargetNode, args.ScreenPosition); }
private NRibbonTabPage CreateHomePage() { NRibbonTabPage page = new NRibbonTabPage("Home"); #region Clipboard Group NRibbonGroup ribbonGroup = new NRibbonGroup("Group Title"); ribbonGroup.InitialState = (int)ENRibbonGroupState.Medium; NRibbonGroup group = new NRibbonGroup("Clipboard"); group.Icon = NResources.Image_Ribbon_16x16_clipboard_copy_png; page.Groups.Add(group); NRibbonSplitButton pasteSplitButton = NRibbonSplitButton.CreateLarge("Paste", NResources.Image_Ribbon_32x32_clipboard_paste_png); pasteSplitButton.CollapseToMedium = ENCollapseCondition.Never; pasteSplitButton.CollapseToSmall = ENCollapseCondition.Never; NMenu pasteMenu = new NMenu(); pasteMenu.Items.Add(new NMenuItem("Paste")); pasteMenu.Items.Add(new NMenuItem("Paste Special...")); pasteMenu.Items.Add(new NMenuItem("Paste as Link")); pasteSplitButton.Popup.Content = pasteMenu; group.Items.Add(pasteSplitButton); NRibbonCollapsiblePanel collapsiblePanel = new NRibbonCollapsiblePanel(); collapsiblePanel.InitialState = (int)ENRibbonWidgetState.Medium; group.Items.Add(collapsiblePanel); collapsiblePanel.Add(new NRibbonButton("Cut", null, NResources.Image_Ribbon_16x16_clipboard_cut_png)); collapsiblePanel.Add(new NRibbonButton("Copy", null, NResources.Image_Ribbon_16x16_clipboard_copy_png)); collapsiblePanel.Add(new NRibbonButton("Format Painter", null, NResources.Image_Ribbon_16x16_copy_format_png)); #endregion #region Font Group group = new NRibbonGroup("Font"); group.Icon = NResources.Image_Ribbon_16x16_character_change_case_png; page.Groups.Add(group); NRibbonWrapFlowPanel wrapPanel = new NRibbonWrapFlowPanel(); wrapPanel.HorizontalSpacing = NDesign.HorizontalSpacing; group.Items.Add(wrapPanel); NRibbonStackPanel stackPanel = CreateStackPanel(); wrapPanel.Add(stackPanel); NFontNameComboBox fontNameComboBox = new NFontNameComboBox(); fontNameComboBox.SelectedIndex = 5; stackPanel.Add(fontNameComboBox); NComboBox fontSizeComboBox = new NComboBox(); FillFontSizeCombo(fontSizeComboBox); fontSizeComboBox.SelectedIndex = 2; stackPanel.Add(fontSizeComboBox); stackPanel = CreateStackPanel(); stackPanel.Add(NRibbonButton.CreateSmall("Grow Font", NResources.Image_Ribbon_16x16_font_grow_png)); stackPanel.Add(NRibbonButton.CreateSmall("Shrink Font", NResources.Image_Ribbon_16x16_font_shrink_png)); stackPanel.Add(new NRibbonSeparator()); wrapPanel.Add(stackPanel); NRibbonMenuDropDown changeCaseMenu = NRibbonMenuDropDown.CreateSmall("Change Case", NResources.Image_Ribbon_16x16_character_change_case_png); changeCaseMenu.Menu.Items.Add(new NMenuItem("lowercase")); changeCaseMenu.Menu.Items.Add(new NMenuItem("UPPERCASE")); changeCaseMenu.Menu.Items.Add(new NMenuItem("Capitalize Each Word")); wrapPanel.Add(changeCaseMenu); stackPanel = CreateStackPanel(); stackPanel.Add(NRibbonToggleButton.CreateSmall("Bold", NResources.Image_Ribbon_16x16_character_bold_small_png)); stackPanel.Add(NRibbonToggleButton.CreateSmall("Italic", NResources.Image_Ribbon_16x16_character_italic_small_png)); stackPanel.Add(NRibbonToggleButton.CreateSmall("Underline", NResources.Image_Ribbon_16x16_character_underline_small_png)); stackPanel.Add(NRibbonToggleButton.CreateSmall("Strikethrough", NResources.Image_Ribbon_16x16_character_strikethrough_small_png)); NRibbonStackPanel panel2 = CreateStackPanel(); panel2.Add(NRibbonToggleButton.CreateSmall("Subscript", NResources.Image_Ribbon_16x16_character_subscript_small_png)); panel2.Add(NRibbonToggleButton.CreateSmall("Superscript", NResources.Image_Ribbon_16x16_character_superscript_small_png)); stackPanel.Add(new NToggleButtonGroup(panel2)); stackPanel.Add(new NRibbonSeparator()); wrapPanel.Add(stackPanel); NFillSplitButton fillSplitButton = new NFillSplitButton(); fillSplitButton.Image = NResources.Image_Ribbon_16x16_TextFill_png; wrapPanel.Add(fillSplitButton); #endregion #region Paragraph Group group = new NRibbonGroup("Paragraph"); group.Icon = NResources.Image_Ribbon_16x16_paragraph_align_center_png; page.Groups.Add(group); wrapPanel = new NRibbonWrapFlowPanel(); wrapPanel.HorizontalSpacing = NDesign.HorizontalSpacing; group.Items.Add(wrapPanel); stackPanel = CreateStackPanel(); stackPanel.Add(NRibbonSplitButton.CreateSmall("Bullets", NResources.Image_Ribbon_16x16_list_bullets_png)); stackPanel.Add(NRibbonSplitButton.CreateSmall("Numbering", NResources.Image_Ribbon_16x16_list_numbers_png)); NRibbonMenuDropDown multilevelListMenu = NRibbonMenuDropDown.CreateSmall("Multilevel List", NResources.Image_Ribbon_16x16_list_multilevel_png); multilevelListMenu.Menu.Items.Add(new NMenuItem("Alpha and Numeric")); multilevelListMenu.Menu.Items.Add(new NMenuItem("Alpha and Roman")); multilevelListMenu.Menu.Items.Add(new NMenuItem("Numeric and Roman")); stackPanel.Add(multilevelListMenu); stackPanel.Add(new NRibbonSeparator()); wrapPanel.Add(stackPanel); stackPanel = CreateStackPanel(); stackPanel.Add(NRibbonButton.CreateSmall("Decrease Indent", NResources.Image_Ribbon_16x16_paragraph_indent_left_png)); stackPanel.Add(NRibbonButton.CreateSmall("Increase Indent", NResources.Image_Ribbon_16x16_paragraph_indent_right_png)); stackPanel.Add(new NRibbonSeparator()); wrapPanel.Add(stackPanel); stackPanel = CreateStackPanel(); stackPanel.Add(NRibbonButton.CreateSmall("Sort", NResources.Image_Ribbon_16x16_sort_az_png)); stackPanel.Add(new NRibbonSeparator()); stackPanel.Add(NRibbonButton.CreateSmall("Marks", NResources.Image_Ribbon_16x16_paragraph_marker_small_png)); wrapPanel.Add(stackPanel); stackPanel = CreateStackPanel(); stackPanel.Add(NRibbonToggleButton.CreateSmall("Align Left", NResources.Image_Ribbon_16x16_paragraph_align_left_png)); stackPanel.Add(NRibbonToggleButton.CreateSmall("Align Center", NResources.Image_Ribbon_16x16_paragraph_align_center_png)); stackPanel.Add(NRibbonToggleButton.CreateSmall("Align Right", NResources.Image_Ribbon_16x16_paragraph_align_right_png)); stackPanel.Add(NRibbonToggleButton.CreateSmall("Justify", NResources.Image_Ribbon_16x16_paragraph_align_justified_png)); stackPanel.Add(new NRibbonSeparator()); wrapPanel.Add(new NToggleButtonGroup(stackPanel)); stackPanel = CreateStackPanel(); NRibbonMenuDropDown lineSpacingMenu = NRibbonMenuDropDown.CreateSmall("Line Spacing", NResources.Image_Ribbon_16x16_paragraph_spacing_before_png); lineSpacingMenu.Menu.Items.Add(new NMenuItem("1.0")); lineSpacingMenu.Menu.Items.Add(new NMenuItem("1.15")); lineSpacingMenu.Menu.Items.Add(new NMenuItem("1.5")); lineSpacingMenu.Menu.Items.Add(new NMenuItem("2.0")); lineSpacingMenu.Menu.Items.Add(new NMenuItem("3.0")); lineSpacingMenu.Menu.Items.Add(new NMenuSeparator()); lineSpacingMenu.Menu.Items.Add(new NMenuItem("Line Spacing Options...")); stackPanel.Add(lineSpacingMenu); stackPanel.Add(new NRibbonSeparator()); wrapPanel.Add(stackPanel); fillSplitButton = new NFillSplitButton(); wrapPanel.Add(fillSplitButton); #endregion #region Styles Group group = new NRibbonGroup("Styles"); group.Icon = NResources.Image_Ribbon_16x16_table_design_png; page.Groups.Add(group); NRibbonGallery gallery = new NRibbonGallery("Table Style", NResources.Image_Ribbon_32x32_table_design_png, new NTableStylePicker()); gallery.MinimumPopupColumnCount = 7; gallery.PopupMenu = new NMenu(); gallery.PopupMenu.Items.Add(new NMenuSeparator()); gallery.PopupMenu.Items.Add(new NMenuItem("Modify Table Style...")); gallery.PopupMenu.Items.Add(new NMenuItem("New Table Style...")); group.Items.Add(gallery); #endregion return(page); }