1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
|
For 0.10.0 and later:
---------------------
=== zope.component-3.4dev_r72749-py2.4.egg ===
- bug in zope.component package: in zope.component.globalregistry.py zope.testing is included. This package is only a dependency for the [test] setting. zope.testing is not mandatory.
Use a more recent version
- add more property pages.
- Stereotype
- Load / save regression testing
!!! Create some example diagrams,
- using stereotypes
- reimplement the mechanism that adds already existing relationships to the
diagram if an item is copied to that diagram.
- components and stuff
- lot's of tests are dependent on a decently initialized main window.
There is no need for these actions to depend on a main window, they only
need a gaphas.View instance.
- Use actions only for action definitions. use Events for notification
between actions.
* use zope.component.event for centralized event notification.
- Copy/Paste for diagramitems
- How to do a copy/paste? shallow copy or deep copy? -> just create a diagram
item item referening the same model element or also copy the model element?
I think we should stick with shallow copy for now.
- namedelement.py: from NamedElement
- items.tex: describe:
- __uml__
- __stereotype__
- In some cases (like when editing attributes) Enter should be used to
complete the edit action.
Older (long term ;) todo items:
-------------------------------
- At this point we have three event systems:
2. Actions - used for (pseudo) menu actions (artifical actions are triggered
some times (e.g. to notify about changes in the Undo Manager)
works with string based notifiers.
3. Zope - fairly optimized, works with interfaces and objects for a
change.
Actions work fine, for menu actions. Gaphor specific and should work
with the GTK+ menu manager classes.
Zope classes are quite optimized. However, mainly provides the same
functionality as Actions, but not as fine grained.
Use zope.component.events for all notification!
- Add meta data (such as text alignment) to the model file (add a meta:
namespace?)
.
- Fix namespace relations between Lifeline and Interaction and Message and
Interaction
- disable actions when editing.
- write really good test cases for undo functionality. Have some already.
- An option that shows the selected item (in the namespace view) in a diagram.
- Stereotype export and import function. Allow to export packages and import
them into other models.
- How to figure out if a module exists without loading it? Solved by setuptools
- Exporting diagrams to UML XMI (work in progress),
code, images (SVG/png), etc. - make a plugin!
- Create a good algorithm for placement of lines and maybe nodes too.
- Automatically draw relations when an item is DND-ed from the tree-view
to the diagram.
#- Stereotypes: check documentation page 581 (597 absolute). Fixed. An extra
association has been created between Stereotype and Class, Interface and
Package.
Diagram Items
=============
Gaphor does not need to support *all* diagram types, but at least some
functinality should be provided for those.
- Sequence diagram:
. Life line
. different message types
. Interaction
UI
--
>I would like to see
> some logic to align diagrams like Visio does, it's probably hard to do
> correct though. Also Visio has a very nice feature for bending lines in
> 90 degree bends by holding down shift, something like that would be very
> nice in Gaphor
- Lineup selected elements vertically, horizontally in context menu
- I also intend to "merge" lines (as is often used for generalizations: a
line with one arrow, which splits into two lines, one for each subclass)
- The text editing also needs a facelift.
|