root/gaphor/tags/gaphor-0.2.0/doc/plan.txt

Revision 194, 2.2 kB (checked in by anonymous, 6 years ago)

This commit was manufactured by cvs2svn to create tag
'release-0_2_0'.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 GModeler Plan
2 -------------
3
4 GModeler is different from other modeling engines in that it is created
5 as Free Software, with extensibility in mind. GModeler is also different in
6 that it produced nice diagrams.
7
8 The motto is: What you see is what you have. All information should be in
9 the diagrams.
10
11 To come up with a real modeling evironment a lot of things have to
12 be done:
13 - Make the UML model editable through a tree-view and the diagrams.
14 - Store and load projects
15
16 What we have:
17 - A generated UML meta-model (UML module).
18
19 What we need:
20 - A Tree view
21 - A Diagram editing facility
22 - Property dialogs
23 - Save/Load functionality
24 - Extension points (e.g. for code generation)
25
26 Tree view
27 ---------
28 I think it's nice to have a MetaModel browser first. At this point a browser
29 is available, but it outputs text. To get comfortable with the GtkTreeModel
30 interface it would be a nice exercise to browse the meta-model through a
31 graphical interface.
32
33 Diagrams
34 --------
35 We need to create diagram objects for the representation of elements. It would
36 be easiest (aand fastest) to create those in C. We can create a small python
37 interface on top of it. My guess is that this won't be very hard, just a lot
38 of work.
39
40 Property dialogs
41 -----------------
42 Maybe we can use something similar to the property editor in one of the GTK+
43 demos (also available in the DiaCanvas2 demo).
44 It would be nice if we can generate property dialogs based on the information
45 of the MetaModel (UML module).
46
47 Save and load
48 -------------
49 The pure Python objects could be saved by the Pickle module. It would be nicer
50 however, to store the information as XMI file.
51
52 We also need some way to save the diagrams. I think it will be easiest to
53 let the diagrams store themselves as XML data also. This way we can embed
54 diagram information in the XML file.
55
56 Extension points
57 ----------------
58 That's why we use Python... It should be easy...
59
60 So the plan will be:
61 - Create a Tree view of the Meta model
62 - Create a tree view of some live data
63 - Some elements to visualize (first Use Cases)
64 - Create new use cases on the canvas and on the tree view
65 - DND support between the tree view and the Diagram
66 - Load and save functionality (maybe a full blown XMI parser)
67
68 Oh, and find a nice name for this project...
69
Note: See TracBrowser for help on using the browser.