root/gaphor/tags/gaphor-0.9.2/TODO

Revision 1142, 4.5 kB (checked in by arjanmol, 2 years ago)

--

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