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. - Undo functionality - use easysetup tools, move gaphas to a separate package and use zope.interface in stead of our included zope tree. current implementation in esetup.py. open issues: - can't build a proper egg (where to put images) - how should plugins be handles? Added to code base and initiated through pkg_resources (egg_info) - installing locales - sdist target includes too much files (strip MANIFEST.in?) - remove zope/ folders - remove gaphas xref. upload a development snapshot - Load / save regression testing !!! Create some example diagrams, - get rid of resource(). Create an Application instance instead (should make unit testing easier too). This should get rid of the pseudo singletons (_default* instances per module) - using stereotypes - 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. - use GTK's UIManager for menu management. * figure out naming conventions, also for diagram item popup menus. * - 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__ - __fixed_stereotype__ - Use setuptools (pkg_resources) to load plugins. Maybe define stuff in terms of services, like PIDA does (pida.org?) - 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.