Critical bugs
-------------
- Need to redraw the shapes properly after state changes (selected, focused,
  grabbed).
- For some reason text editing doesn't work right always... Maybe it's a bug
  in Pango and it will go away after I update my distro... ;-(...

#0  0x401c940e in g_type_check_instance_cast ()
   from /usr/lib/libgobject-2.0.so.0
#1  0x41155710 in reset_path_helper (helper=0x87863b0, item=0x878d478)
    at dia-shape-art.c:281
#2  0x4115582b in path_free (view_info=0x87716d0) at dia-shape-art.c:411
#3  0x4113e633 in dia_shape_free (shape=0x87e8040) at dia-shape.c:277

--
Gtk-ERROR **: file gtktextview.c: line 4425 (blink_cb): assertion failed: (GTK_WIDGET_HAS_FOCUS (text_view))
aborting...

Outstanding issues
------------------
- Deleting marked-up text doesn't handle markup tags well
  Currently are warning is issued if you want editable markup text.
- Integrate Aurelien's edge/node

- multiline=1 on text does not work well with centered text.
- centered text is not handled well in SVG exporter, this is partly due to
  the lack of support from rsvg, Batic does a pretty good job (but uses
  different fonts ;-( ).
- Remove diacanvas.shape.Text.text and add properties for reading attributes.
- Catch ESC keywhen editing text (return original text)

- replace the DiaCanvasGroupable::add_construction() and remove_destruction()
  with something like DiaCanvasItem::set_parent(). Should have a different
  name, since this is confusing with the 'parent' property.

Wishlist
--------
- Aurelien: The ability to partition a canvas into layers
- Arjan: split Undo/Redo code and put it in a separate class
- Martin: add an extra property to the line (fuzzyness) that makes it easier to
  select the line. Currently the distance from the line depends on the line
  width, which makes it very hard to select small lines.
- Martin: (Python) Add some functions for affine transformations.
- Camille: Create a Bezier path. Maybe with a generic superclass for both line
  and bezier.
- Arjan: I'd like to set, as well as retrieve values from DiaShape objects in
  Python.

Future enhancements
-------------------
- Better text handling:
  . better scaling of fonts when zoomin in/out
  . better support for marked up text, including export filters.

- Unit tests for DiaCanvas, DiaCanvasItem, DiaHandle, DiaShape and the
  geometry functions.
- Implement Shapes. Still some shapes need to be implemented.
- Create an OpenGL canvas. Quite fancy, might improve performance under XFree4.
- What should be a nice way to do blending (like in The Gimp) within shapes?
  That would really make the canvas awesome!!!!!!! (to do in LibArt)

- depricate the X CanvasView

