GoDiagram

Visualize Information with Diagrams.

Deliver editors that allow your users to see and manipulate diagrams of two-dimensional graphical objects.

Visualize Information with Diagrams.

GoDiagram Features

Graphics objects include shapes, text, and images.
Graphics
GoDiagram's Node Classes provide a rich set of features.
Node Classes
GoDiagram link features.
Links
Subgraphs allow graphs to contain graphs.
GoDiagram Subgraphs
Automatic graph layout saves you work.
Automatic Layout
GoDiagram instruments provide dials, gauges, and more.
Instruments
Samples are free and redistributable.
Samples
Graphics objects include shapes, text, and images.

Graphics objects include shapes, text, and images.

GoObject defines the basics of a graphical object: a bounding rectangle (the Bounds property) and some common attribute properties: Visible, Selectable, Movable, Copyable, Resizable, Reshapable, Deletable, Editable, AutoRescales, ResizesRealtime, and Shadowed. GoObject uses the full power of the .NET System.Drawing namespace for drawing.

GoDiagram's Node Classes provide a rich set of features.

GoDiagram's Node Classes provide a rich set of features.

GoDiagram makes it easy to build applications where users can see and manipulate graphs of nodes connected by links. GoDiagram provides this functionality with the GoNode, GoPort and GoLink classes. Nodes are groups containing one or more ports. Links connect two ports. GoDiagram provides many built-in Node classes as well as several samples Node classes. Groups provide a way of making a single “object” out of other objects. Nodes are typically implemented as a group of simpler but distinct objects (such as text and an icon, along with ports for connecting links). The rich features of GoDiagram's Node Classes allow you to create highly expressive visual diagrams.

GoDiagram link features.

GoDiagram link features.

Links connect 2 Ports, and are used for building diagrams with GoDiagram. There are default path algorithms with GoDiagram, or you can override the method to choose the path in your application. The AutoLayout add-on to GoDiagram will do more sophisticated routing. Ports define the endpoints of links in nodes. They can have any drawable appearance, or they can be zero sized points. If the position of one or both of its GoPorts changes, the GoLink redraws itself to connect the new positions. Users can draw new links and relink existing links, with links "snapping" only to valid ports. Your application can customize the validity checking performed during a linking operation. Links can also have labels and arrowheads.

Subgraphs allow graphs to contain graphs.

Subgraphs allow graphs to contain graphs.

Support for Subgraphs is important to many different graphical applications. Subgraphs are user-collapsible nodes that contain graphs, supporting links within and across the subgraph boundaries.

Automatic graph layout saves you work.

Automatic graph layout saves you work.

Automatic Layout package provides well laid out diagrams.

GoDiagram instruments provide dials, gauges, and more.

GoDiagram instruments provide dials, gauges, and more.

The Instruments library for GoDiagram is a set of classes built to display numeric values in a graphical manner as part of GoDiagram applications. The classes implement scale objects that display a scale with regular markings and labels and they implement indicator objects that indicate a value on a scale. The objects can be customized and combined to present many different kinds of appearances. In the real world, depending on the industry, such things are called meters, dials, rulers or gauges. Because there is so much customization that can be done, GoInstruments does not provide any prebuilt instruments. The InstrumentDemo sample application, however, does define many such objects for various purposes and with various appearances and behaviors.

Samples are free and redistributable.

Samples are free and redistributable.

Full source code is included for over 30 sample WinForms and ASP.NET diagram and graph applications in both C# and Visual Basic.