root/gaphor/tags/gaphor-0.7.1/TODO

Revision 529, 4.6 kB (checked in by arjanmol, 4 years ago)

*** empty log message ***

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