GoDiagram provides a variety of basic graphical objects such as rectangles, ellipses, polygons, text, images, and lines. You can group objects together to form more complex objects. You can customize their appearances and behaviors by setting properties and overriding methods.
Subgraphs
Graphics
Nodes
Links
Graph Layout
A True .NET component
GoDiagram is written entirely in C#. It only depends on the standard .NET Framework classes and does not explicitly call any external functions.
Sample Program
Here is the full VB.NET source code to MinimalApp. The screenshot shows how the MinimalApp appears after selecting the two initial nodes, drag-copying them, moving them, creating links between some of them, and then renaming a blue one to “blue” and a magenta one to “magenta”.
GoDiagram View
GoDiagram Document
A GoDiagram document implements a model that supports manipulation of objects. Adding an object to the document makes it visible in the document's views. You can organize objects in layers. GoDiagram provides support for composing and manipulating graphs (node & arc diagrams), where nodes have ports that are connected by links.
Flexibility and Extensibility
The GoDiagram library is flexible and extensible. Predefined node classes make it easy to build many kinds of graphs. You can easily customize most objects for application-specific purposes by setting properties or by subclassing. You can add completely new graphical objects to the existing framework.
AutoLayout
To provide greater customizability and ease of use, Northwoods offers, as a separate option, another library, Northwoods.Go.Layout. This option extends GoDiagram by providing sophisticated automatic layout algorithms for nodes in graphs. The AutoLayout component is sold and documented separately.
The full documentation to GoDiagram is provided in the evaluation kit.