TODO:
=====
general:
* change cursors more, 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.
* Must be able to change background color.
* Maybe be able to set a default linestyle, much like the current
  linewidth widget.
* Is there a better way to calculate font-properties? Rendering 100 pixel high fonts
  is very slow.
* Update to automake 1.4 and libtool 1.3 when they're released. It has
  much better support for dlopen:ed modules.
* Add paper size + paper orientation. Draw the paper on screen. Flip ps output if
  landscape orientation. Export real size to postscript file.
* Export to WMF.
* Accelerators for buttons in the toolbar.
* Fix the transitive selection
* User selectable grid color.

functions:
* Turn on/off showing of connectionpoints
* undo, see event model later in this file.

objects:
* Add bezier object.
* finish the network objects
* Add connections to the network bus object via the object menu.
* render_object: better distance_from that can be specified by the object programmer.
* Vector image object (for maps and stuff). CGM?

UML:
 Aggregate: * Has some problems laying out the text at the ends.
 All:   * Change some entries to comboboxes with pre-selectable texts.
          (Mostly stereotypes)
 Class:
   * Keyboard shortcuts in properties dialog... new, duplicate, up/down etc.
   * Scroll to end of properties list when new prop added.



Big stuff:
 * 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.

 * Add a clean event model so that all modifications of the diagram and objects
   goes by a well known path. This makes it possible to have a history of
   modifications which means UNDO is easy!

---------------------------------------------------------------

BUGS:
=====
* Dia breaks on solaris 7 (sparc). Fix that!

* Strings with only spaces in them seems to get zero width. Most visible on an "UML - Note".

* doesn't use latin-1 or some other well-known 8-bit encoding in eps_renderer

* If you move an object outside the visible screen, scroll there move the object back
  and then scroll back, the (now) unused area is not removed.

* Toggling rulers changes the size of the window to the default size.
  I don't know how this can be fixed.

* Changing arrow properties on a line and then double-clicking on another line sometimes crashes
  Dia.

Old bugs i can't reproduce but don't know if they're solved:
============================================================

* Sometimes the scrollbars turn weird when you remove the last
  object. (Try: move around the last object a bit and then press ctrl-x.)

* UML - Association with direction==Right doesn't always show arrow.
  Problem with bounding box.

* If you double-click on the color-selector as the first thing you do
  sometimes the program crashes.

---------------------------------------------------------------

Interesting Stuff from the real Visio:
======================================
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.
