root/gaphor/tags/gaphor-0.12.3/doc/gaphor.txt

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
Note: See TracBrowser for help on using the browser.