DiaCanvas2 is a flexible diagramming widget. It is based on GnomeCanvas. It uses its own constraint solver to maintain relationships between items on the canvas.
DiaCanvas2 is Model, View and Controller-based and makes full use of GnomeCanvas' features.
Here are some key features of "DiaCanvas2":
· Model/View/Controller based design: The DiaCanvas class only holds abstract data (using DiaShape objects), the data is rendered by one or more DiaCanvasView's.
· The widely used GnomeCanvas for visualization. This makes it easy to let DiaCanvas2 display anti-aliased diagrams with translucency (alpha) support.
· Export facilities for GnomePrint and SVG.
· Objects can be rotated/sheared/resized/etc. without the need to recalculate shapes. DiaCanvas relies heavily on the LibArt library (which is a standard GNOME library).
· Objects can connect to each other with handles. The connection is represented as a mathematical equation, which is solved using a linear constraint solver (see the reference documentation for more info). Handles do not need predefined connection points, but can connect to each other in a more generic way.
· Of course DiaCanvas2 has all the features a modern application needs, including undo/redo functionality.
· DiaCanvas2 is tested using Unit-tests. The unit test is a set of tests that ensure a consistent (application programming) interface.
Note that DiaCanvas is not related to the diagramming tool DIA, except for its look and feel.
Product's homepage