|
Revision 1132, 1.5 kB
(checked in by arjanmol, 2 years ago)
|
renamed undomanager.undoable to transactional. added misc.partial
|
- Property svn:eol-style set to
native
- Property svn:keywords set to
Author Date Id Revision
|
| Line | |
|---|
| 1 |
Gaphor |
|---|
| 2 |
~~~~~~ |
|---|
| 3 |
|
|---|
| 4 |
Gaphor is a UML CASE tool aiming for symplicity. It is written in Python. |
|---|
| 5 |
The goal is to write as much as possible in Python (easy scriptable for |
|---|
| 6 |
code generators). |
|---|
| 7 |
|
|---|
| 8 |
So here's what has to be created: |
|---|
| 9 |
- A main window containing a tree-like representation of the classes |
|---|
| 10 |
- Windows which display the various diagrams |
|---|
| 11 |
- A model that contain all abstract data (generate from the UML metamodel |
|---|
| 12 |
definition) |
|---|
| 13 |
- Graphical items for classes, use cases, etc. (in C) |
|---|
| 14 |
- Keep the code modular and easy to extend in Python |
|---|
| 15 |
|
|---|
| 16 |
Main Window |
|---|
| 17 |
~~~~~~~~~~~ |
|---|
| 18 |
The main window can be created in Python. It can be created using Glade. |
|---|
| 19 |
We need a custom GtkTreeModel class that acts as a view over the UML model. |
|---|
| 20 |
The model is very extensive since it is generated from the UML Metamodel |
|---|
| 21 |
definition. |
|---|
| 22 |
|
|---|
| 23 |
Diagram Windows |
|---|
| 24 |
~~~~~~~~~~~~~~~ |
|---|
| 25 |
Diagrams have to be displayed in separate windows. Each window should carry |
|---|
| 26 |
a toolbox with diagram related objects. We do not restrict the use of elements |
|---|
| 27 |
from different diagram types in one diagram (like the Catalyst method). |
|---|
| 28 |
Actually we do restrict as little as possible, as long as it is permitted by |
|---|
| 29 |
the "MetaModel". |
|---|
| 30 |
|
|---|
| 31 |
Data Model |
|---|
| 32 |
~~~~~~~~~~ |
|---|
| 33 |
The data model itself is generated from the UML Metamodel. This has the |
|---|
| 34 |
advantage that we can do everything with it as long as the OMG's (Object |
|---|
| 35 |
Management Group <http://www.omg.org>, they develop UML now) rules are |
|---|
| 36 |
not violated. |
|---|
| 37 |
|
|---|
| 38 |
Graphical items |
|---|
| 39 |
~~~~~~~~~~~~~~~ |
|---|
| 40 |
Of course we need something to draw. The items that are to be placed on the |
|---|
| 41 |
diagrams need to be created. |
|---|
| 42 |
|
|---|
| 43 |
|
|---|