Nevron Open Vision Documentation
Ribbon

This topic contains the following sections:
Diagram Ribbon Builder

NOV Diagram provides a ribbon builder that can be used to create and associate ribbon commanding UI to a drawing view. The builder is represented by the NDiagramRibbonBuilder class. The following code fragment demonstrates how to create a ribbon based commanding UI and associate it with a drawing view:

Create Ribbon UI
Copy Code
NDiagramRibbonBuilder ribbonBuilder = new NDiagramRibbonBuilder();
NWidget uiWidget = ribbonBuilder.CreateUI(drawingView);

Another way to create a drawing view with ribbon is to use the NDrawingViewWithRibbon class. The example below demonstrates how to create a drawing view with ribbon hosted in a NOV widget host. You can then add this host to a form's Controls collection if you are creating a WinForms application or set it as the content of a WPF window in a WPF application project.

Create a Drawing View with Ribbon
Copy Code
NNovWidgetHost<NDrawingViewWithRibbon> novContent = new NNovWidgetHost<NDrawingViewWithRibbon>();
Modifying Ribbon Group Builders Collection

If you want to remove a given ribbon tab page, you can easily do so by using the Remove method of the TabPageBuilders collection of the diagram ribbon builder. To remove a ribbon group from a tab page, you should use the Remove method of the RibbonGroupBuilders collection of the ribbon group builder.

The names of all diagram ribbon tab pages are exposed as constants in the NDiagramRibbonBuilder class. Each of the tab page builders exposes as constants the names of its ribbon group builders. The following piece of code demonstrates how to remove the "Editing" ribbon group of the "Home" tab page of the diagram ribbon:

Remove ribbon group
Copy Code
NRibbonTabPageBuilder homeTabBuilder = ribbonBuilder.TabPageBuilders[NDrawingRibbonBuilder.TabPageHomeName];
homeTabBuilder.RibbonGroupBuilders.Remove(NHomeTabPageBuilder.GroupEditingName);

In order to add or insert your own ribbon group builders, you can use the Add or Insert methods of the RibbonGroupBuilders collection respectively.

Add custom ribbon group
Copy Code
NRibbonTabPageBuilder homeTabBuilder = ribbonBuilder.TabPageBuilders[NDrawingRibbonBuilder.TabPageHomeName];
homeTabBuilder.RibbonGroupBuilders.Insert(0, new CustomRibbonGroupBuilder());
Custom Ribbon Group Builders

To create a custom ribbon group builder you should create a class, which inherits NRibbonGroupBuilder:

Custom ribbon group builder
Copy Code
public class CustomRibbonGroupBuilder : NRibbonGroupBuilder
{
    public CustomRibbonGroupBuilder()
        : base("Custom Group", NResources.Image_Ribbon_16x16_smiley_png)
    {
    }

    protected override void AddRibbonGroupItems(NRibbonGroupItemCollection items)
    {
        // Add the "Copy" command
        items.Add(CreateRibbonButton(NResources.Image_Ribbon_32x32_clipboard_copy_png,
            Nevron.Nov.Presentation.NResources.Image_Edit_Copy_png, NDrawingView.CopyCommand));

        // Add the custom command
        items.Add(CreateRibbonButton(NResources.Image_Ribbon_32x32_smiley_png,
            NResources.Image_Ribbon_16x16_smiley_png, CustomCommand));
    }
}
See Also

UI

Send Feedback