Drawing View and Drawing Document
In This Topic
About Drawing Views and Drawing Documents
A drawing document is represented by the NDrawingDocument class, which derives from the NGenericDocument<NDrawing>, which essentially means that the content of a drawing document is an instance of the NDrawing class, which represents a diagram drawing (see Drawings for more information).
The drawing view is represented by the NDrawingView class, which is essentially a widget that is designed to display the content of a drawing document. In this way you can integrate a drawing inside any NOV UI hierarchy (see UI Overview for more info).
The drawing document displayed by the drawing view is accessible via the Document property. When a drawing view is created, it by default also creates an empty drawing document inside it.
The following code creates a drawing view, the document of which has some shapes and is placed inside a stack panel.
Drawing View Example |
Copy Code
|
// create a stack panel
NStackPanel stack = new NStackPanel();
stack.Add(new NButton("Some Button"));
// add a drawing view in the stack panel
NDrawingView drawingView = new NDrawingView();
stack.Add(drawingView);
// get the drawing view document and its active page
NDrawingDocument document = drawingView.Document;
NPage activePage = document.Content.ActivePage;
// add a rectangle shape to the active page items
NShape rectangleShape = new NBasicShapeFactory().CreateShape(ENBasicShape.Rectangle);
rectangleShape.Text = "My First Shape";
activePage.Items.Add(rectangleShape);
|
Drawing View Tools
The drawing view Interactor is populated with tools that perform different actions upon the drawing view and its content (see the Interactors topic for a fundamental overview of interactors).
All tools that reside inside in the drawing view Interactor are defined in the Nevron.Nov.Diagram.DrawingTools namespace.
Most commonly you will have to enable a given tool and disable all others. To do so, use the SingleEnableTool of the interactor:
Enable the Create Rectangle tool |
Copy Code
|
drawingView.Interactor.SingleEnableTool(NCreateRectangleTool.NCreateRectangleToolSchema, true);
|
The line of code above will activate the "Create Rectangle" drawing tool and disable all others like shown on the following image:

To enable and disable tools you can also use the EnableTool, EnableAllTools, DisableTool and DisableAllTools methods.
Following is a brief overview of all tools:
Tool Class |
Description |
General Tools
|
NPointerTool |
A composite tool that aggregates the following atomic tools:
NCreateGuidelineTool - creates a horizontal or vertical guideline, if the drags from the drawing view rulers.
NDragHandleTool - implements the interactive dragging of handles.
NClickSelectTool - selects the clicked shape
NRectangleSelectTool - selects the set of shape hit by a visually defined rectangle.
NMoveTool - moves the currently selected shapes
|
NPanTool |
A tool that implements interactive panning (scrolling) of the currently active page. |
Create Element Tools
|
NCreateRectangleTool |
Creates a rectangle shape inside the active page |
NCreateEllipseTool |
Creates an ellipse shape inside the active page |
NCreateLineTool |
Creates either a line segment that continues a previously drawn open figure, or creates a simple line shape. |
NCreateCubicBezierTool |
Creates either a cubic bezier segment that continues a previously drawn open figure, or creates a simple cubic bezier shape. |
NCreateArcTool |
Creates either an arc segment that continues a previously drawn open figure, or creates a simple arc shape. |
NCreateEllipticalArcTool |
Creates either an elliptical arc segment that continues a previously drawn open figure, or creates a simple elliptical arc shape. |
NCreateConnectorTool |
Creates a routable connector |
NCreateTextTool |
Creates a text shape |
Ambient Tools
|
NContextMenuTool |
Shows a context menu for the currently selected page items. |
NScrollAndZoomTool |
Implements mouse wheel scrolling and zooming of the active page. |
NInplaceEditTool |
Starts in-place editing of the shape that is double clicked. |
NDragDropTargetTool |
Extends the Drop target functionality of drawing views, by providing them with the ability to handle dropped library clippings, text, images etc. |
Drawing View Commands
The drawing view Commander is populated with commands that perform different actions upon the drawing view and its content (see the Commanding topic for a fundamental overview of commands).
All commands that reside inside in the drawing view Commander are defined in the Nevron.Nov.Diagram.DrawingCommands namespace.
See Also