TODO: ===== * When creating an object and moving the mouse to resize it. Warp the pointer to the handle that is being moved. * Change cursors more often, ie. when the mouse is grabbed for resizing/moving stuff. * Run purify on Dia. I don't have purify, anyone who has it is welcome to try! * Tab order in properties dialogs. (How do you specify this in gtk?) * If you hold down shift while moving the handle of an 'Element', scale while keeping same proportions. * Should be able to change background color. * Is there a better way to calculate font-properties? Rendering 100 pixel high fonts is very slow. * Draw the paper-size on the screen. * Add export to WMF capabilities for windows stuff. * Accelerators for buttons in the toolbar. * Implement transitive selection. This means you select an object and all objects it is somehow connected to. * resizable groups. * auto-save backup files * Add more network objects * render_object: better distance_from that can be specified by the object programmer. * Vector image object (for maps and stuff). CGM? SVG? * Add pre-selectable stereotypes to all UML objects with stereotypes. * Add keyboard shortcuts in the "UML - Class" properties dialog. * In "UML - Class" properties dialog. Scroll to the end of the properties list when new properties are added. Same thing with operations. * Add some kind of 'plug-in api' so that libraries like uml can add new functions to the menus (like: load UMX or export SQL ). This is the reason that DiagramData was broken out of Diagram and moved to lib/diagramdata.h. [ this has partly been done with the export filters interface. More to come with adding menu items and such -- James. ] * Implement guides. Probably swipe the guide implementation from gimp-1.1. * Change the way plugins are registered. As we get more plugins, the user will probably want a bit more control over what is and isn't loaded. If we are going to do an interface for this, we really need some way for plugins to describe what they do (ie. a short description and a plugin name to show in a dialog box). Interesting Stuff from the real Visio: ====================================== This part contains some stuff that exist in the Windows program Visio. These are not on my "TODO" list for stuff to be implemented right now, but they are nice to have around in case someone wants to work with Dia and needs ideas for new cool stuff. * Move connection points * Fill patterns * line patterns * shadow color * object corner types * Editing of groups in a separate window * Perspecitve point * Lockable handles * Rotate stuff, to complex to be implemented in this version.