Welcome at the DiaCanvas home page on Sourceforge.
Time has passed by and DiaCanvas has had it's time in place. Current development on GTK+ (mainly the integration of the Cairo library and the deprication of the GnomeCanvas library) has made this library quite out-of-date. For most people this library has become an installation nightmare.
Gaphor, the foremost application thatuses DiaCanvas, has abandoned this library in favor of it's own, Python based,library. Libraries like goocanvas and crcanvas have taken the place of DiaCanvas.
DiaCanvas is in its second incarnation: DiaCanvas2. Aiming towards future
computing needs on GNOME based desktop
environments, DiaCanvas2 is providing you with a full featured diagramming
- 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
- 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
Projects using DiaCanvas2
- Gaphor is a UML modeling tool written in Python.
- C# bindings
- Martin Willemoes Hansen is doing a pretty good job creating
C# language bindings for DiaCanvas2.
- A graph editor tool written by Camille Huot and Aurelien Campeas (a.o.).
- GNU Concept
- A colaborative MindmapTool written by Fiz Vazquez.
If you also have a project that uses DiaCanvas, please send an e-mail.
You can download DiaCanvas2 from the
DiaCanvas Project Page.
To build DiaCanvas2 you need the following stuff installed:
You can also check out the latest version from CVS. The module name is
'diacanvas2'. Note that you'll need version
1.6 of AutoMake.
And if you run into trouble with DiaCanvas or if you just have a question
or you would like a specific feature you can always send a mail to the
DiaCanvas mailing list
or contact one of the maintainers listed on the
DiaCanvas Project Page
There is also a nice IRC channel: #diacanvas at