DIANA framework
[/images/components/diana/DianaScreenshot] Diana
Diana is a pure-java drawing framework providing graphical editors above a Java model (a Java program).
It takes its originality by beeing able to associate a graph of interconnected objects with adapted graphical representations.
Graphical representations are considered as graphical properties such as Color or Size, which are then associated to models depending on the context.
Diana is based on Connie and Pamela frameworks.
A Java Swing implementation of Diana has been developped for Openflexo.
Key features of DIANA
Model-driven technology: fully respect the MVC pattern
Non intrusive technology: there is no need to modify your initial code used as a model to be graphical represented and/or edited
Provide Box/Arrow-like diagrams as well as complex geometrical constructions
Rely on a vectorial graphics library
Agnostic technology with multiple renderers (only Swing renderer is provided yet)
Contents of this package
DIANA project contains separate components (defined here as modules):
Diana-geom component, is an extension of java2d library providing symbolic algebra for 2D geometry
Diana-api component, which is the API for Diana
Diana-core component, which contains core implementation for Diana (technology agnostic)
Diana-swing component, which is a Swing rendering engine (Swing implementation for Diana-core)
Three other components are also provided, as application use cases of Diana (or experimentations):
Diana-DrawingEditor, which is a stand-alone implementation of a Swing basic diagram editor
Diana-PowerPointEditor, which is an experimentation for a stand-alone powerpoint editor (limited to one slide)
Diana-GeomEdit, which is an experimental stand alone Swing application dedicated to 2D geometry buildings