root/gaphor/tags/release-0.10.2/TODO

Revision 1190, 4.0 kB (checked in by arj..@yirdis.nl, 2 years ago)

moved data/ inside gaphor/ package: easier accessible when installed as egg

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