root/gaphor/tags/gaphor-0.8.1/TODO

Revision 741, 5.1 kB (checked in by wrobell, 3 years ago)

- dependency problem seems to be fixed now

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
Line 
1 ======= 0.8.0 ========
2 - load uml2.gaphor and open other file or split flows and undo/redo.
3   exception is raised. seems to be related to diagram item unlinking.
4
5     Traceback (most recent call last):
6       File "build/lib/gaphor/diagram/diagramitem.py", line 163, in disconnect
7         ids = self.__handler_to_id[key]
8     KeyError: (<bound method association.__on_unlink of <gaphor.UML.properties.association object at 0x3034e030>>, <gaphor.UML.uml2.ControlFlow object at 0x3083b150>)
9
10 ======= End of 0.8.0 ========
11
12 As always, there is much to do...
13
14 - Check association removal when connected to a class.
15
16 - Fix namespace relations between Lifeline and Interaction and Message and
17   Interaction
18
19 #- Store application state:
20   #- last opened files
21   #- open/closed status of diagram toolbox
22   #- window size
23   #- reset tool option
24
25 #- When Stereotype has no submenu items, grey it out. Same goes for "Export"
26   menu. This will be handled by the UIManager in the near future.
27
28 - disable actions when editing.
29
30 - write really good test cases for undo functionality. Have some already.
31
32 - An option that shows the selected item (in the namespace view) in a diagram.
33
34 - Stereotype export and import function. Allow to export packages and import
35   them into other models.
36
37 #- Create distinctive icons for Include and Extend relationships (use cases).
38
39 - How to figure out if a module exists without loading it?
40
41 - Exporting diagrams to UML XMI (work in progress),
42   code, images (SVG/png), etc. - make a plugin!
43
44 - fix accelarators (HOW?), partially done, accelerators on items in popup menus
45   does not work.
46   Accelerators should be activated by the (Abstract)Window, should not depend
47   on menu items. Intercept Window::key_pressed_event and let it handle
48   popup menu actions.
49
50 - In some cases (like when editing attributes) Enter should be used to
51   complete the edit action.
52
53 - Create a good algorithm for placement of lines and maybe nodes too.
54
55 #- Use GTK+ 2.4 UIManager and ActionGroups (?):
56   . We have to keep the gaphor.misc.action module intact.
57   . As far as I can see, cross action updates, are not supported.
58   . Properties can be mapped in a straightforward way.
59   . Should actions be split up: one for the main window, one group per
60     diagram and one group per item type?
61   . GtkUIManager looks useful, some structures in Gaphor may have to be
62     reconsidered. What to do with AccelMaps for example. (I really have
63     to read the tutorial some day ;-).
64   . The current structure is simple and quite Pythonic. It should be this way.
65   . Stuff like a recent-file box will be easier to create (I guess).
66   Conclusion: keep using the gaphor.misc.action code
67
68 #- Storing last open files or having a quick-list of most important
69   directories or so would be great
70   Problem: the existing <Placeholder> stuff works only on construction time.
71     For this we need a menu that can change during the life of the application.
72
73 #- Make associations look nice with usecases:
74    . No arrows at the end
75    . Disable popup menu for navigability and composition
76
77 #- Automatically draw relations when an item is DND-ed from the tree-view
78   to the diagram.
79
80 #- confirmation window when creating a new model.
81
82 #- Copy/Paste for diagramitems
83   - in order to make copy/paste work, the load/save functions should be
84     generatlised to allow a subset to be saved/loaded (which is needed
85     anyway for exporting/importing stereotype Profiles).
86   - How many data should be saved? (e.g. we copy a diagram item, remove it
87     (the underlaying UML element is removed) and the paste the copied item.
88     The diagram should act as if we have placed a copy of the removed item
89     on the canvas and make the uml element visible again.
90
91 #- Undo/redo functionality
92
93 #- Make text selected when starting to edit it: fixed in DiaCanvas2
94
95 #- Stereotypes: check documentation page 581 (597 absolute). Fixed. An extra
96    association has been created between Stereotype and Class, Interface and
97    Package.
98
99 #- Set up a plugin architecture. Since the internals of gaphor are pretty
100    modular, plugins should not be that hard. I'm very happy with the new one
101    it is easy to program, yet powerful (due to the XML description file, which
102    allows gaphor to check several dependencies upfront.
103
104 Diagram Items
105 =============
106 Gaphor does not need to support *all* diagram types, but at least some
107 functinality should be provided for those.
108
109 - Deployment diagram:
110   . Node
111   . Artifact
112   . some relations
113 - Sequence diagram:
114   . Life line
115   . different message types
116   . Interaction
117
118 UI
119 --
120 >I would like to see
121 > some logic to align diagrams like Visio does, it's probably hard to do
122 > correct though. Also Visio has a very nice feature for bending lines in
123 > 90 degree bends by holding down shift, something like that would be very
124 > nice in Gaphor
125
126 Lineup selected elements vertically, horizontally in context menu
127
128 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)
129
130 The text editing also needs a facelift.
131
132 Alert a user when deleting the last reference to an object (Are you sure you want to remove all the selected elements from the model?)
Note: See TracBrowser for help on using the browser.