예제 #1
0
        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);
        }
예제 #2
0
        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));
            }
예제 #4
0
            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);
            }
예제 #5
0
        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);
        }
예제 #6
0
        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);
        }
예제 #7
0
        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);
        }
예제 #8
0
        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);
        }