2004-05-25  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/placementtool.py: do not raise an error if no handle_tool
	was created.
	* diacanvas/dia-canvas-element.c: Do only align handles if one of
	the first eight handles was moved.
	* python/diashapemodule.c: make Dash style handle NULL correctly.
	* diacanvas/dia-canvas-line.c: update dash style, even if the style
	is set to NULL.

2004-04-25  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diaview.defs: updated tool wrappers.
	* python/placementtool.py, diacanvas/dia-placement-tool.c:
	updated, now use DiaHandleTool.
	* diacanavs/dia-canvas-view-item.c: removed some "dead" code.
	* diacanvas/dia-default-tool.[ch]: added getters and setters.
	* diacanvas/dia-handle-tool.[ch]: added
	dia_handle_tool_set_grabbed_handle().
	* python/demo.py, demos/test-canvas.c: unset placement tool on a
	button-release event, in stread of a button-press event (since handle
	motion should be handled by the placement tool/handle tool now).

2004-04-23  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* diacanvas/dia-canvas-view-item.c: use dispose() destructor in stead
	of destroy(), which makes the canvas crash.
	* diacanvas/dia-canvas-view-item.c: Removed property "interactive".

2004-04-22  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* acinclude.m4: (PKG_CHECK_MODULES_EXIST) fixed bug that returned
	wrong code when a check fails.
	* diacanvas/dia-canvas-view-item.c: Replace the dispose() by the
	destroy() destructor.
	* diacanvas/dia-handle-tool.[ch], dia-item-tool.[ch],
	dia-default-tool.[ch], dia-selection-tool.[ch]: New files. Implement
	behavior of the canvas previously implemented in DiaCanvasView(Item)
	DiaHandleLayer and DiaCanvasItem.
	NOTE: This involves that the DiaCanvasItem::event() handler is no
	longer called.
	* diacanvas/dia-canvas-view.c, dia-canvas-view-item.c,
	dia-handle-layer.c: moved behavioral code to tools.
	* python/diaview.defs: added defs for new classes.

2004-03-30  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* diacanvas/dia-canvas-item.c (dia_canvas_item_dispose): set the
	handles owner to NULL.
	* configure.in: version bump to 0.12.0.

2004-03-26  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* diacanvas/dia-canvas-view.c (dia_canvas_view_focus_out): do not
	set active view to NULL on focus out event.

2004-03-24  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/pydiacanvasitem.c: fixed a few others.
	* diacanvas/dia-canvas-groupable.c: (dia_canvas_groupable_get_iter)
	call dia_canvas_iter_destroy if there are no items in the iteration
	and destroy_func() is set.
	* diacanvas/dia-canvas-item.c: same for
	dia_canvas_item_get_shape_iter().

2004-03-23  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/pydiacanvasitem.c: fixed memleak in pydia_canvas_item_glue().

2004-01-28  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* diacanvas/dia-shape-art.c: fix bug that occured while fixing code
	that makes your app crash if both a DiaShapePath has a transparent
	line and fill color.

2004-01-25  Martin Willemoes Hansen  <mwh@sysrq.dk>

	* doc/ref/diacanvas2-overrides.txt: Added, fixed building of docs problem.

2004-01-21  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* diacanvas/diatypes.c: fixed bug in DiaDashStyle.new().
	* unit_tests/dia-shape.c: new file.

2004-01-20  Martin Willemoes Hansen  <mwh@sysrq.dk>

	* diacanvas/dia-shape.c: Method
	void dia_shape_text_set_wrap_mode (DiaShape *shape, PangoWrapMode wrap_mode)
	wrongly used PangoWrapMode as its parameter type, fixed to use DiaWrapMode instead. 

2004-01-20  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* autogen.sh: added libtoolize execution. Otherwise the bootstrap is
	incomplete.

2004-01-18  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diashape.defs: Added definition for
	dia_shape_text_set_markup().
	
2003-12-31  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c: do editing-done stuff in an idle function,
	so the focus-out event of the GtkTextView won't cause aborts
	(blink_cb).

2003-12-07  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* acinclude.m4: Fixed Python check so also release candidates can
	be located.

2003-11-20  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-groupable.[ch]: changed the add and remove signals
	to return void. The signals are chaanged to G_SIGNAL_RUN_FIRST.
	* python/pydiacanvasitem.c, python/diacanvas.defs: updated due to
	the changes.
	* diacanvas: moved files from src/ to diacanvas/.
	* configure.in, Makefile.am, python/Makefile.am: changed references
	from src/ to diacanvas/.
	
2003-10-22  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-shape.h, src/diatypes.c: new functions dia_dash_style_new()
	and dia_dash_style_free().
	* debian/python-diacanvas2: renamed debian/diacanvas2-python to this
	name, so we conform to Debian guidelines.
	* debian/control: replace the generated file debian/control.in by this
	file, so debian builds actually works.

2003-10-12  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/Makefile.am: added demoitem.py
	* src/dia-canvas-item.c: fixed bug in dia_canvas_item_set_child_of().

2003-10-09  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-export-print.c: fixed bug.
	* src/dia-shape.[ch]: removed dia_shape_text_pretty_fill_layout(),
	and dia_shape_text_set_cursor().
	* src/dia-shape.[ch]: Added new type DiaWrapMode, this replaces
	PangoWrapMode. Also changed dia_shape_text_set_wrap_mode().
	* src/dia-canvas-view.c: also changed.

2003-10-09  Martin Willemoes Hansen  <mwh@sysrq.dk>

	* src/dia-canvas.[ch]: Changed dia_canvas_new_pango_layout to dia_canvas_get_pango_layout
	and registred it as a property.
	* src/dia-shape-art.[ch]: Changed dia_shape_art_new_pango_layout to dia_shape_art_get_pango_layout.
	* src/dia-shape-x.[ch]: Changed dia_shape_x_new_pango_layout to dia_shape_x_get_pango_layout and
	fixed a typo.
	* src/dia-shape.c: Updated to use dia_canvas_get_pango_layout
	* src/diacanvas.defs: Ditto

2003-10-04  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/setup.py: New file. Build the python bindings in a Pythonic
	way. Thanks to Lorenzo Gil Sanchez <lgs at sicem.biz>.
	* configure.in: boost version to 0.10.0. Now require PyGTK 2.0.0 for
	Python bindings.
	* src/dia-canvas-groupable.c: New file. DiaCanvasGroupable stuff from 
	dia-canvas-item.c is moved to this file.
	* src/dia-canvas-groupable.c (dia_canvas_groupable_add,
	dia_canvas_groupable_remove): New behavior: Make sure you call
	dia_canvas_item_set_parent() from within you're
	DiaCanvasGroupable::add/remove callbacks.
	* src/dia-canvas-item.c: added function dia_canvas_item_set_parent()
	and dia_canvas_item_set_child_of(). set_child_of() should be used to
	set the low-level parent-child relation, whereas set_parent() uses the
	DiaCanvasGroupable interface.
	* python/diacanvas.defs: added method CanvasItem.set_parent() and
	CanvasItem.set_child_of().

2003-09-30  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c: make textView behave, even if an item is
	grabbed.
	* src/dia-handle.c: added property 'index'. This makes the 'owner'
	property much simpler.

2003-09-17  Martin Willemoes Hansen <mwh@sysrq.dk>

	* dia-copy.[ch]: Removed, the files is old, unmaintained and not needed.
	* dia-storage.[ch]: Ditto
	* dia-canvas-bezier.c: Removed old, not needed persistens functionality.
	* dia-canvas-element.c: Ditto
	* dia-canvas-ellipse.c: Ditto
	* dia-canvas-line.c: Ditto
	* dia-handle.c: Ditto	

2003-09-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c (dia_canvas_view_update_text_view):
	Now only set a size_request if DiaShapeText::text_width is set.

2003-08-29  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-groupable.h, src/dia-canvas-item.c: 
	DiaCanvasGroupableIface::pos and DiaCanvasGroupableIface::length
	are now obsolete. The functions dia_canvas_groupable_(pos|length)
	will exist, but now they use the iterator to achive their goals.

2003-08-29  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* .cvsignore, debian/.cvsignore, unit_tests/.cvsignore: updated
	thanks to Martin Willemoes Hansen.

2003-08-23  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diacanvas.override: fixed bug in set_editable.
	* python/placementtool.py: removed tabs.

2003-08-19  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/pydiacanvasitem.c: fixed some callbacks: now check if a
	return object is True.
	* src/dia-canvas-view.c: fixed view-state callback function.

2003-08-16  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-editable.[ch]: removed new_bounds from the signal
	prototype of DiaCanvasEditableIface::text_changed.
	* src/dia-canvas-text.c: big code cleanup, since a lot of code is
	obsolete due to the new CanvasEditable interface.
	* src/dia-canvas-view.c: some cleanup in the text_view edit stuff.
	The size of the text view is now changed if the text shape is changed
	during the emission of the "text_changed" signal.
	* python/diacanvas.defs: Changed GenericCanvasGroupable to
	CanvasGroupable.
	Added interface DiaCanvasEditable as CanvasEditable.
	The interfaces now have the suffix 'Iface'.

2003-07-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-groupable.h: Changed DiaCanvasGroupable to
	DiaCanvasGroupableIface. Added dummy typedef DiaCanvasGroupable. This
	makes the interface definition in line with the way interfaces are
	defined in GTK+ and ATK.
	* src/dia-canvas-editable.h: same thing as for dia-canvas-groupable.h
	* src/dia-canvas-groupable.c, src/dia-canvas-editable.c: updated
	* src/*.[ch]: updated 
	* demos/*.c: updated
	* unit_tests/*.c: updated
	* python/*.c: updated
	* python/diacanvas.defs: renamed CanvasAbstractGroup to
	GenericCanvasGroupable.
	* python/__init__.py: added CanvasAbstractGroup for backwards
	compatibility.

2003-07-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.[ch]: Text editing works.
	Added funtions: dia_canvas_view_start_editing() and
	dia_canvas_view_editing_done().
	* src/dia-shape-art.c: removed cursor handling.
	* src/dia-canvas-view-item.c: added signal handlers for the
	DiaCanvasEditable interface.

2003-07-12  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diageometry.override: Applied fix for
	dia_distance_point_point[_manhattan]() where GValue's weren'tr
	initialzed. Thanks for Martin Soto <soto-at-informatik.uni-kl.de>.
	* python/diacanvasview.c, python/diacanvasview.defs,
	python/diacanvasview.override, python/diacanvasviewmodule.c:
	New module: diacanvas.view contains view stuff. This allows you
	to use diacanvas models on non-X environments.
	* doc/text-handling.txt: New file. How to handle text.
	* src/dia-canvas-editable.c, src/dia-canvas-editable.h: proposed
	interface for editable items (see doc/text-handling.txt).
	* src/dia-canvas-group.h, src/dia-canvas-groupable.h,
	src/dia-canvas-item.h, src/dia-canvas-iter.c, src/dia-canvas-iter.h:
	split dia-canvas.h into several files. It was becoming quite big
	(containing 3 classes and 1 interface).
	* src/*.[ch]: use new header files.
	* dia-canvas-view.[ch]: Added GtkTextView stuff. 
	* demos/test-canvas.c, unit_tests/*.c: use new header files.
	* python/diaview*: Separated view code from the canvas.
	* python/Makefile.am: added view module.
	* python/__init__.py: load view module.

2003-07-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.[ch]: added a GtkTextView to DiaCanvasView.

2003-06-30  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diashape.override: fixed override for DiaShapeBezier.bezier.
	It only expects a sequence of points.

2003-06-18  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.[ch]: Make boolean fields one bit wide. Added field
	allow_state_requests (to enable/disable requests via
	DiaCanvasItemClass::has_state).
	* unit_tests/test-canvas.c: fixed some tests to not explicitly test
	for TRUE/FALSE.
	* src/dia-export-svg.c, src/dia-export-print.c: set
	allow_state_requests to FALSE before creating an export.

2003-06-18  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-text.[ch]: signal text_changed is depricated, use
	notify::text instead. (_event): Also added notifications for cursor.

2003-06-05  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c (dia_canvas_view_init): Create GtkAdjustment
	objects during initialization, this will ensure that you can scroll the
	canvas by pressing the arrow buttons on the scrollbar ends.
	* src/dia-canvas-view-item.c (item_state_changed_cb): do not focus
	an item if it already has focus (or a composite child has the focus).
	* configure.in: do a "import gnome.canvas" instread of
	"imp.find_module('gnome/canvas')". This avoids errors on Windows.

2003-06-02  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.h, dia-canvas-view-item.c:
	changed dia_canvas_view_item_has_focus() to
	dia_canvas_view_item_is_focused() for more consistent interface.
	* python/diacanvas.defs: updated bindings

	* src/dia-canvas.h: removed flags DIA_SELECT, DIA_FOCUS and DIA_GRAB.
	Added signal has_state to DiaCanvasItemClass. Added enum
	DiaCanvasItemUIStateFlags. State is no longer put in flags, but it
	is requested from the DiaCanvasViewItem via the has_state signal.
	new functions:
	dia_canvas_view_item_is_(visible|selected|focused|grabbed)(). Use
	those in stead of the macros.
	* src/dia-canvas-item.c, src/dia-canvas-view-item.c: implemented
	changed due to API change.

	* src/dia-canvas-view.h: Added DiaCanvasViewItem.redraw_area.
	New function dia_canvas_view_item_request_redraw_uta().
	* src/dia-canvas-view-item.c: Keep track of the area occupied by
	the canvas item (by means of redraw_area).
	dia_canvas_view_item_request_redraw_uta() should be used to redraw
	areas.
	The use of DIA_SHAPE_VISIBLE* flags is obsolete. The state of the item
	is set before shapes are iterated, so the iterator functions can
	determine if a shape should be drawn or not. (get_shape_iter(),
	shape_next() and shape_value() are not stateful wrt selecting, focus
	and grab!).

2003-05-29  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c: fixed the fix, there was a typo in it ;-(.
	* python/placementtool.py: change cursor into a watch when the item
	is created.

2003-05-28  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* configure.in: updated gnomeprint to 2.2.0, pygtk to 1.99.16.
	* src/dia-canvas-view.c: fixed bug that made double clicks deselect
	items. Thanks to Martin Soto.
	* src/dia-export-print.c: updated for GnomePrint 2.2. Thanks to
	Archie Campbell.
	* doc/ref/diacanvas2-docs.xml: updated docs for Python.

2003-05-26  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.[ch], dia-canvas-view-item.c:
	Added flags for Interactive and Visible. Just for a start...
	* python/diacanvas.defs, python/diacanvas.override:
	Implemented new iteration scheme. Removed function get_shape_iter(),
	shape_next(), shape_value(), groupable_get_iter(), groupable_next()
	and groupable_value(). Added shape_iter() and groupable_iter(), should
	return a PyIter object.

2003-05-19  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* doc/ref/tmpl/dia-canvas-item.sgml: added documentation
	* src/dia-canvas-view(-item).c: added focus event
	* src/dia-event.h: focus event

2003-04-06  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-export-svg.c: Added extra check do that non-visible
	canvas item do not get drawn.

2003-03-18  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.[ch], src/dia-canvas-view-item.c: removed
	bug that made you click twoce on text before you can move it.
	* src/dia-shape-art.h: made some comments where to handle text
	selection.
	* src/dia-canvas-text.c: added text paste functionality.

2003-03-13  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-item.c (dia_real_canvas_item_move): Changed check
	for item parent to more specific item->canvas->root.
	* src/dia-canvas-view.c (update_extents): do more smart updating.
	Not the upper left point always stays in the upper left corner, even
	if you zoom out very much.
	(dia_canvas_view_size_allocate): update view extents when the canvas
	is resized.

2003-03-01  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-shape-art.c: (text_update) Changed text handling so it will
	scale an image with the default font, instead of scaling the font
	itself (with font scaling the text's aspect ratio changes :-( ).

2003-03-01  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view-item.c: (.._set_property) Check if the item is
	visible and show/hide the view item.

2003-02-22  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* configure.in: Require PyGTK 1.99.15.
	* doc/ref/diacanvas2-docs.xml: fixed doctype (thanks William
	Halliburton).
	* python/pydiacanvasitem.c: fixed bug in on_point caller.
	* python/demo.py: fixed behavior for Del focused item (remove parent
	in case we have a composite item).

2003-02-21  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-line.c: added function
	dia_canvas_line_get_closest_segment().
	* python/diacanvas.defs: added python binding.

2003-02-15  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	RELEASE 0.9.1

	* src/dia-handle-layer.c: changed the color scheme for handles. Now
	it should be easier to see which item is selected and which item has
	the focus. Thanks to Aurelien Campeas.
	* src/Makefile.am: added LIBADD to libdiacanvas2.

2003-02-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diacanvas.defs, python/diacanvas.override: added new method
	CanvasItem.get_bounds(affine).
	* src/dia-features.h.in: new file: Diacanvas' features
	* src/dia-export-print.[ch]: use dia-features.h for GnomePrint
	support.
	* configure.in: generate dia-features.h
	special thanks go to Aurelien Campeas for reporing failure of
	compilation without GnomePrint failing.

2003-01-26  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	RELEASE 0.9.0

	* src/dia-canvas-line.c (dia_canvas_line_update): set fill for arrows
	to DIA_FILL_SOLID.

2003-01-18  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h: Added attribute connected_handles to DiaCanvasItem.
	* src/dia-canvas.c: Move disposal of root item and solver to finalize
	function. This will keep the canvas valid as long as possible.
	* src/dia-canvas-group.c: Moved DiaCanvasGroupable stuff to
	dia-canvas-item.c
	* src/dia-canvas-item.c: New function: dia_canvas_item_set_parent(),
	used to set canvas and parent from dia_canvas_groupable_add/remove().
	Also add links to DiaCanvasItem::connected_handles for connected
	handles.
	(dia_canvas_item_disconnect_handles): also disconnect connected
	handles.

2003-01-11  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.c: changed order in which stuff is disposed. First
	make sure no idle handlers are active before disposing.

2003-01-05  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-group.c (dia_canvas_group_groupable_add): fixed
	bug in adding canvas items. Thanks to Rubens Ramos.
	* src/dia-shape.[ch]: Changed values for text_width, max_with,
	max_height and line_spacing to gdouble. Changed impl. where nessesary.
	* python/diashape.defs: also changed.
	* dia-export-svg.c: do better text markup.
	* dia-canvas-text.[ch]: new property: wrap_word.

2002-12-30  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-export-svg.c (render_text): export text as SVG in a way
	rsvg and sodipodi can handle it.

2002-12-29  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* autogen.sh: now check for automake-1.6/7 explicitly.

2002-12-28  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-item.c (dia_canvas_item_set_property): use
	dia_canvas_item(in)visible() for PROP_VISIBLE.
	(dia_canvas_item_visible): preserve properties.
	* src/dia-canvas-view-item.c: fixed bug in state changed callback.
	* doc/ref/Makefile.am: Use XML for formatting, with the new layout.

2002-12-22  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-shape-art.c: fix bug in text alignment (text_update).

2002-12-22  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-text.c: make width property return the width (bug).

2002-12-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-text.c: Added property "markup".
	Handle key strokes well for marked up text.

2002-12-07  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-shape.[ch] (dia_shape_text_pretty_fill_pango_layout): new
	function. (dia_shape_text_set_markup): New function. Enable markuped
	text.

2002-11-25  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-element.c (dia_canvas_element_connect):
	fix code that figures out which handles a connection use.
	* src/diatypes.c, src/dia-shape.h: Created seperate GTypes for
	shapes.
	* src/dia-shape.[ch]: created new dia_shape_get_type_function.
	* python/diashape.defs: use new shape types.
	* python/diashape.defs: removed support for the Clip shape.
	* python/diashape.override: use new dia_shape_get_type() function.
	* src/dia-shape-art.c (text_update): use pango_layout_set_markup now.

2002-11-19  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-element.[ch]:
	(dia_canvas_element_get_opposite_handle) new function.
	(dia_canvas_element_handle_motion) Now moving a handle with SHIFT
	button pressed expands the shape around the center, thanks to
	William Conrad Halliburton.
	* src/dia-shape.c: (dia_shape_text_fill_pango_layout) set text
	in PangoLayout as markuped text.
	
2002-11-17  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.[ch]: removed move signal for DiaCanvas.
	* src/dia-canvas.h, src/dia-canvas-item.c: made 'move' callback a
	signal.
	* src/dia-canvas-view-item.c: connect to 'move' signal.
	* src/dia-canvas-view.[ch]: New function: dia_canvas_view_move().
	* configure.in, src/dia-export-print.c: make export_print interface
	available, even if libgnomeprint is not found. This is a safe setting
	for compatibility.
	* configure.in: fixed rebuild prefix.
	* unit_tests/test-canvas-view.c: fixed some unit tests to test
	behavior for composite items.
	* unit_tests/test-canvas.c: added new test.

2002-11-13  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c: Only set the active_view in 
	dia_canvas_view_focus_in() and unset it in dia_canvas_view_focus_out().
	* src/dia-export-svg.c: create clip path based on rect in stead of svg.
	For now, removed the clipping around text. RSVG doesn't support it
	yet.

2002-10-27  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.c: force an update in dia_canvas_pop_undo/redo().
	* src/dia-canvas-text.c: Added text preservation for text property.

2002-10-19  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diacanvas.defs, python/diacanvas.override: Added wrapper
	for DiaCanvasView.selected_items.

2002-10-12  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h: Reordered the flags in DiaCanvasItemFlags.
	This breaks backward compatibility (again). Rebruild all code
	based on diacanvas.
	Added flag DIA_UPDATE_ALL, tells us that all child objects have
	been requesting an update.
	* src/dia-canvas-item.c: implemented new flag.
	* src/dia-canvas-line.c, dia-canvas-element.c: removed
	request_update() in DIA_EVENT_MOTION code. Only the views should
	update.

2002-10-11  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-group.c: fixed bug that prevended deleted items
	from being added to the canvas again.
	* src/dia-handle-layer.c: fixed bug: grabs that stay after you place
	a new item on the canvas.
	* src/dia-shape.c: fixed bug that caused fonts to scale the font
	description.
	* src/dia-shape-art.c: restructured text_update() code for better
	readability. Fixed line width for ellipses.

2002-10-10  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* configure.in: increased version number to 0.9.0
	fixed gnome.canvas module search code to work with latest pygtk.
	* src/dia-canvas-view.[ch]: Added signals 'focus_item', 'select_item'
	and 'unselect_item'. Added property 'zoom'. Implemented property
	notifiers and the new signals.
		(dia_canvas_view_item_focus): renamed to
		dia_canvas_view_item_has_focus()
		Added dia_canvas_view_item_is_selected().
	* src/dia-canvas-view-item.c, src/dia-canvas-view.c: Implemented a
	better selection policy. Only non-composite objects are selected. see
	doc/composite.txt for the applied rules.
	* src/dia-canvas.c (dia_canvas_find_objects_in_rectangle): only
	non-composite items are selected.
	* src/dia-handle.c: fixed bug in get_property function: pos_[iw] were
	not set properly.
	* python/diacanvas.defs: changed dia_canvas_view_item_has_focus(),
	added dia_canvas_view_item_is_selected().
	* python/diashape.defs, python/diashape.override: fixed code for
	set_color() and set_fill_color() wrappers.

2002-10-09  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* dia-canvas.[ch]: new signal in DiaCanvasClass: undo
	new functions: dia_canvas_get_(un/re)do_depth(). Notify and give
	information about the current state of undo information.
	Added function dia_canvas_item_expand_bounds().
	* python/diacanvas.defs: added functions to python bindings

2002-09-27  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-export-print.c: updated export filter to support new shapes
	* demos/Makefile.am: allow GnomePrint support to be linked in.

2002-09-24  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-shape-art.c: Changed ART renderer to draw new shapes.
	* src/dia-canvas-box.[ch]: removed 'fill', now everything can be done
	by one shape
	* demos/dia-clock.[ch]: idem

2002-09-23  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h, src/dia-canvas-item.c: Added new signal
	state_changed.
	* src/dia-canvas-view-item.c: implemented changes due to new signal.
	* src/dia-shape(-art).[ch]: extended Path, Bezier, Ellipse shapes.
	* acinclude.m4, configure.in: Added fixes by wrobell...

2002-09-10  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/gencallbacks.sh: substituted $(..) stuff by `..`. $(..) is
	bash specific.

2002-09-07  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/demo.py: Make demo.py a shell script. It sets LD_LIBRARY_PATH
	to point to the freshly compiled libraries.
	* python/Makefile.am: No longer add diacanvascallback.defs to the
	distribution. - Now create a symlink diacanvas->.libs and copy
	__init__.py to .libs. demo.py can be executed without the need to
	install diacanvas first.

2002-09-04  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diacanvas.defs: Added defs for DiaExportSVG.

2002-09-03  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	Released 0.8.0

	* configure.in: Do better checking for libgnomeprint.
	* acinclude.m4: Added m4 macro PKG_CHECK_MODULES_EXIST
	* **/Makefile.am: updated
	* diacanvas2.pc.in: Added (optional) dependency to libgnomeprint.

2002-08-29  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* autogen.sh: New autogen.sh. Use a autogen.sh based on Gtk+. This
	allows us to better check for new automake.

2002-08-28  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* Makefile.am: Now require Automake 1.6

2002-08-21  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-export-svg.c: Fixed some issues wrt SVG output. Except for
	images and text, everything is imported correctly by Sodipodi. Other
	SVG renderers seem to screw up.
	Added text output.

2002-08-20  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/Makefile.am, doc/ref/Makefile.am: Added GnomePrint libraries
	* src/dia-canvas-group.c, python/diacanvas.override: implemented
	interface change.
	* configure.in: re-enable gnome-print support by default.

2002-08-18  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h, src/dia-canvas-item.c: Changed interface of
	dia_canvas_item_update_child(), put affine argument at the end.
	* configure.in: increased version number to 0.8.0.

2002-08-09  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* configure.in: Set GnomePrint support disabled by default.
	* src/dia-export-print.c: fixed printing of bitmap images.

2002-08-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-export-print.[ch]: New files. Export functionality
	through GnomePrint thanks to Nik Kim.
	* configure.in: added checks for GnomePrint. GnomePrint support is
	optional.
	* **/Makefile.am: Altered to support new functionality.
	* demos/test-canvas.c: Added "export to PS" function, demonstrating
	GnomePrint support.
	
2002-08-03  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* acinclude.m4, configure.in: There were some problems locating
	the right python interpreter. This is fixed by creating our own
	AM_PATH_PYTHON macro (reported by Owen Cliffe).

2002-07-26  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-export-svg.[ch]: New files. Export a DiaCanvas to SVG.

2002-07-25  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.[ch]: New function dia_canvas_view_select_all().
	* src/dia-shape-art.c, src/dia-shape.c: implemented bezier curves

2002-07-20  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h, src/dia-canvas-group.c: new function
	dia_canvas_groupable_remove_destruction(), as counterpart pf
	dia_canvas_groupable_add_construction().
	* src/dia-canvas-item.c: use new function in dispose method.

2002-07-18  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-handle-layer.c: When zooming in things went wrong, now
	the correct transformation matrix is used.

2002-07-17  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-handle-layer.c: Handles are now scaled wrt the root canvas
	item.

2002-07-08  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h, src/dia-canvas-group.c: Added new function
	dia_canvas_grouapble_add_constuction() for adding child objects
	suring construction.
	* python/diacanvas.defs: added dia_canvas_grouapble_add_constuction().

2002-07-05  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diacanvas.override: Added Py_DECREF()s since there were some
	serious reference leaks. Now everything should work fine...
	* python/pydiacanvasitem.c: idem
	* src/dia-canvas-group.c: Moved some stuff from the signal handler to
	dia_canvas_groupable_(add|remove). Now the signal handler only has to
	take care of getting the group -> child relationship right and the
	add/remove functions takes care of creating the child -> group
	relationship.
	Added weak reference pointers to item->parent and item->canvas. These
	fields will now automatically be set to NULL if the item on the other
	end dies.
	* src/dia-canvas-item.c: fixed code for PROP_PARENT to work well with
	'new style' dia_canvas_groupable_(add|remove).

2002-07-04  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-box.c: Fixed bug: parent dispose() method was not
	called.

2002-07-03  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h, src/dia-canvas-item.c: New function
	dia_canvas_item_update_child().

2002-06-28  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-text.c: Added property 'cursor' and used it for
	storing cursor undo info. Renamed cursor_index to cursor.
	* src/dia-canvas.c: New function: dia_canvas_clear_undo()
	* python/diacanvas.defs: Added field 'in_undo' to Canvas class.
	Renamed CanvasText.cursor_index to CanvasText.cursor
	* src/dia-placement-tool.c, python/placementtool.py: do not set
	allow_undo to FALSE/0 when creating and populating new objects.

2002-06-25  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c: (dia_canvas_view_focus_in) set active_view on
	focus_in event.
	* python/pydiacanvasitem.c: (pydia_canvas_item_glue) fixed reference
	leak
	* python/placementtool.py: split code from do_button_press_event()
	into multiple methods.

2002-06-22  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-text.c: ensure the shape is up to date when creating a
	PangoLayout.
	* python/diacanvas.defs: added entry for DiaCanvasItem.set_bounds()
	* python/placementtool.py: use 'override' in __gsignals__ definition.

2002-06-21  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c: Removed request_update() from
	extents_changed_cb.

2002-06-07  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.c: Added g_return_if_fail() checks for pubic
	functions where they were missing.
	* src/dia-canvas.c: (dia_canvas_dispose) Changed disposal order to
	fix strange crashes of Gaphor.

2002-05-31  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-item.c: Fixed bug that disallows parent to be
	set to NULL.
	* src/dia-canvas-view.c: (empty_canvas_view) avoid warning.
	* src/dia-canvas-text.c: Added property alignment
	* python/diacanvas.defs: Added fields for DiaCanvasText
	* python/diacanvas.override: Added override for DiaCanvasText.text

2002-05-30  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-tool.c: fixed typo: s/morion_notify_event/motion_notify_event/
	Set default values for result in tool methods.
	* src/dia-canvas-element.h: gave handle-enum a name.
	* python/placementtool.py: (new) Placement tool for Python objects.
	Replaces C placement tool.
	* python/diacanvas.defs: removed PlacementTool. Added handle_layer to
	DiaCanvasView. added glue_distance to DiaHandleLayer. Added 
	DiaCanvasElementHandle. changed return type for color() to gulong.
	* python/diacanvas.override: added wrappers for
	dia_canvas_item_affine_w2i(), dia_canvas_item_affine_i2w(),
	dia_canvas_item_affine_point_w2i(), dia_canvas_item_affine_point_i2w(),
	dia_canvas_glue_handle().
	* doc/ref/diacanvas2-docs.sgml: updated docs.

2002-05-26  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diacanvas.defs: Changed CanvasGroupable2 to
	CanvasAbstractGroup.

2002-05-24  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-item.c: (dia_real_canvas_item_move) do an explicit
	dia_canvas_request_update().
	* src/dia-canvas-view.c: (move_cb) fixed comments.
	* python/pydiacanvasitem.c: do not explicitly check if a method is
	defined in the DiaCanvasItemClass struct.
	* src/dia-canvas.h: Removed DIA_FLAGS macro. Fixed in
	dia-canvas-element.c and dia-handle-layer.c
	* python/diacanvas.defs: Added methods DiaCanvasItem.(un)set_flags.

2002-05-17  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/Makefile.am: Splitted diacanvas into diacanvas.canvas,
	diacanvas.shape and diacanvas.geometry.
	* python/diashapemodule.c, python/diageometrymodule.c:
	new files. 
	* python/diacanvasmodule.c: Only load canvas part.
	* python/pydiacanvasitem.c: Implemented CanvasGroupable interface.
	* python/diacanvas.defs, python/diacanvas.override: New function
	set_groupable().
	* src/dia-canvas-text.[ch]: Added properties width, height, multiline,
	editable and layout.
	* src/dia-canvas-group.c: do a dia_canvas_item_request_update() when
	items are added through the CanvasGroupable interface.

2002-05-16  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* configure.in: Added defines for major, minor, and micro version.
	* python/pydiacanvasitem.c: (pydia_canvas_item_on_glue): now returns
	(d(dd)).
	* python/diacanvas.defs: Removed defs for geometry functions
	* python/diageometry.defs: New file. Geometry functions go here.
	* python/diageometry.override: New file.
	* python/diacanvasmodule.c: Added support for diacanvas.geometry.

2002-05-15  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-shape.h: Added macros for easy shape creation.
	* src/dia-shape.[ch]: (dia_shape_text) changed parameter order,
	  text now comes before font_desc.
	* python/Makefile.am: also install diacanvascallbacks.defs

2002-05-15  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	RELEASE 0.6.0

2002-05-14  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* python/diacanvas.defs: Added function color.

2002-05-13  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-placement-tool.c: fixed reference leak.
	* demos/test-canvas.c: Added a weak_ref to every canvas item so we
	get proper notification if the item is actually destroyed.
	* src/dia-boxed.defs: put DiaAffine in comments.
	* python/pydiacanvasitem.c: use Sequence[6] in *_update methods.

2002-05-13  Arjan Molenaar <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-element.c: removed debug comments.
	* src/dia-canvas.h, src/dia-canvas-group.c: (dia_canvas_groupable_add)
	Should increment refcount if the item is referenced.
	* src/dia-canvas-item.c: (*_get_property) set ref/unref around
	parent property handling.
	* src/diatypes.c: Added copy/free handler for DiaShape (should never
	be reached!).
	* python/pydiacanvasitem.c, python/diacanvascallbacks.defs.tmpl,
	python/diacanvascallbacks.override.tmpl: Added code for callbacks.
	* demos/test-canvas.c: reflect changes in DiaCanvas2.

2002-05-01  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* python/diacanvas.defs: generated a new defs file by using h2def.py.
	* python/demo.py: renamed from test-canvas.py.
	* python/test-canvas.py: unit tests for DiaCanvas.
	* python/test-canvas-view.py: unit tests for DiaCanvasView.
	* src/dia.defs: removed
	* src/dia-canvas.h: removed DIA_PERSISTENT defines.

2002-04-15  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view-item.c: (dia_canvas_view_item_event)
	The item only get's the focus if it doesn't already have it. This
	solves the problem of composite objects getting the focus while
	their child delegates the event to the parent.
	* src/dia-canvas-view-item.c: (dia_canvas_view_item_event)
	Non-interactive canvas items no longer recieve events.

2002-04-13  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-view.c: (move_cb) Only move items whose parent item(s)
	is (are) not in the list. This is important for grouped and composed
	items.
	*src/dia-canvas-group.c: DiaCanvasGroupable::add/remove signals now
	return a boolean.

2002-04-06  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-item.c: set the 'canvas' attribute for all children
	when assigning item->parent;
	* demos/dia-textbox.[ch]: New files. Demonstration of the DIA_COMPOSITE
	property.
	* src/dia-canvas-view-item.c: New function dia_canvas_view_item_focus().
	Determine if an item has focus, taking into account composite objects.
	* src/dia-canvas-view.h: reassigned DIA_CANVAS_VIEW_ITEM_FOCUS().
	* src/dia-canvas-text.[ch]: Now inherits from DiaCanvasItem. The text
	is set as DIA_COMPOSITE object.
	* src/dia-shape.[ch]: new function: dia_shape_text_set_static_text().

2002-03-25  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* doc/ref/*: Updated reference documentation. Removed depricated
	DiaPersistence stuff.

2002-03-24  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h: Added get_shape_iter(), shape_next() and
	shape_value() to DiaCanvasItemClass. This allows a more high
	level iteration of shapes.
	Removed DiaCanvasItem::shapes.
	Renamed dia_canvas_item_new() to dia_canvas_item_create().
	* src/dia-canvas-*.[ch]: implemented new iterator.
	* src/dia-canvas-view.c: implemented new iterator.
	
2002-03-23  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* python/diacanvas.override: Use the same coding style as used in src/*
	* src/dia-canvas.h, src/dia-canvas-group.c: new function:
	dia_canvas_group_create_item(). substitute for the old
	dia_canvas_item_new().
	* python/diacanvas.override: Bug fix for PlacementTool.__init__().

2002-03-22  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h, src/dia--canvas-item.c: Changed interface
	to dia_canvas_item_new(). Now we don't require a parent.
	NOTE: This breaks backwards compatibility!
	* src/dia-handle.[ch]: DiaHandle::pos_i is not a DiaSPoint.

2002-03-21  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-placement-tool.c: (dia_placement_tool_button_release)
	unref the new object.
	
2002-03-16  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-stack-tool.[ch]: New file. This is a tool that allows other
	tools to be added in a stack-wise way (push/pop).
	* python/diacanvas.defs: Added entries for the Python wrapper.

2002-03-05  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h: created DiaCanvasGroupable interface.
	* src/dia-canvas.h, src/dia-canvas-item.c: removed
	dia_canvas_item_raise/lower().
	* src/dia-canvas.h, src/dia-canvas-group.c: added
	dia_canvas_group_raise/lower_item().
	* src/dia-canvas-group.c: Support the DiaCanvasGroupable interface.
	* src/dia-canvas-view-item.c: Implemented new interface in stead of
	accessing DiaCanvasGroup attributes directly.
	* python/diacanvas.override: override function for
	dia_canvas_groupable_get_iter()
	* python/diacanvas.defs: Added interface DiaCanvasGroupable and
	added changes in the DiaCanvas2 interface.

2002-02-28  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* configure.in: Set version to 0.5.1.
	* src/dia-handle.c: added property notifiers for
	dia_handle_set_pos_[iw]().
	
2002-02-15  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-group.c: Fixed bug in dia_canvas_group_foreach(). Now
	TRUE should be returned to interrupt the foreach function.
	* src/dia-canvas.c: Implemented fixed dia_canvas_group_foreach()

2002-02-10  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-ellipse.c: 
	* src/dia-canvas-bezier.c: 
	* src/dia-canvas-box.c: 
	* src/dia-canvas-image.c: 
	* src/dia-canvas-text.c: 
	* src/dia-canvas-line.c: 
	Create shapes in the construction, in stead of the update function.
	* src/dia-canvas-element.c: 
	* src/dia-canvas-view.c: 
	* src/dia-shape-art.c: 
	Removed messages.

2002-02-10  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-group.c: (dia_real_canvas_group_remove) Remove
	connections from the item before removing it from the canvas.
	* configure.in: 
	* acconfig.h:
	Added define ENABLE_DEBUG (with --enable-debug option).
	* src/dia-canvas.c: (dia_canvas_dispose) put message between
	ENABLE_DEBUG block.
	* src/dia-canvas-item.c: (dia_canvas_item_dispose) idem.

2002-02-06  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-item.c: (disconnect_on_remove) Send the disconnect
	signal in stead of calling the items disconnect function directly.
	* python/diacanvas.defs: added CanvasGroup.children and
	CanvasItem.handles
	* python/diacanvas.override: Add attribute functions for
	CanvasGroup.children and CanvasItem.handles

2002-02-05  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-boxed.defs: Added entry for DIA_TYPE_AFFINE
	* python/diacanvasmodule.c: added python<->C conversion functions for
	affine.

2002-02-04  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-element.c: Added min-height/width read property.
	* src/dia-canvas-group.c: send notify::parent signal on group_add_item()
	and group_remolve_item()
	* src/dia-canvas-item.c: do a freeze/thaw() section in
	set_property::parent.
	* src/dia-canvas.[ch], python/diacanvas.defs: normalized undo
	functions: s/undo_push/push_undo/, s/undo_pop/pop_undo/,
	s/redo_pop/pop_redo/, s/redo_clear/clear_redo/
	* src/dia-canvas-view.c, demos/test-canvas.c, python/test-canvas.py:
	implemented changes in undo functions.
	
2002-02-01  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-solver.h, src/dia-variable.h, src/dia-handle.h,
	src/dia-constraint.h, src/dia-geometry.h, src/dia-canvas.h,
	src/dia-tool.h, src/dia-canvas-view.h, src/dia-handle-layer.h: 
	Made headers nicer to look (alignment stuff etc.)
	* src/dia-placement-tool.[ch]: Added property `new_object'. This is
	a pointer to the item created by the placement tool.
	* src/dia-canvas.c: Small bug in idle_handler() caused idle handler
	not to be removed after a call to dia_canvas_update_now()
	* src/dia-shape-art.c: Fixed small bug in text_update(). Now text
	with grow and shrink with the zoom factor.
	* unit_tests/Makefile.am: Added two tests: DiaCanvas and DiaCanvasItem
	* unit_tests/unit-test.h: s/EPSILON/TESTFL_EPSILON/
	* python/diacanvas.defs: added DiaCanvasView::unselect_all()

2002-01-25  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-shape-art.c: (text_render) Allow empty data in ViewInfo.
	* src/dia-shape.[ch]: (dia_shape_text and dia_shape_text_set_text)
	  text string is now a const gchar*.
	* src/dia-canvas-element.[ch]: Removed DIA_NEED_ALIGN_HANDLES flag.
	  You should use dia_canvas_element_align_handles() instead.
	* src/dia-canvas-group.c: (dia_canvas_group_add_item) call
	  dia_canvas_item_update_handles_i2w() on the added item.
	* python/test-canvas.py: implemented Del focused option.

2002-01-24  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-element.c: (handle_motion) object is not moved if
	  user drags a handle on the left or top side.

2002-01-20  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-line.c: Now by default two points are created on
	  the line. you can change the position by setting the "head_pos" and
	  "tail_pos" properties.
	* src/dia-canvas-view.c: Changed event handlers to do default handling
	  is a tool returns FALSE.
	* demos/test-canvas.c: Implemented changed made to DiaCanvasLine.
	* python/test-canvas.py: Added more features to make a more complete
	  demo app.
	* python/diacanvas.defs: Added some definitions.
	* python/diacanvas.override: Fixed bugs in
	  _wrap_dia_placement_tool_new()

2002-01-19  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/diamarshal.list: Added marshal function for tool events.
	* src/dia-tool.[ch]: Made tool events signals.
	* src/Makefile.am: Added placement tool.
	* src/dia-canvas-item.c: some cleanup
	* src/dia-canvas-view.[ch]: Added function dia_canvas_view_set_tool()
	  and a "tool" property.
	* src/dia-placement-tool.[ch]: Implemented
	* demos/test-canvas.c: Use placement tool for placing lines and boxes.

2002-01-18  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-handle-layer.[ch]: New function dia_handle_layer_grab_handle()
	  grabs a handle (for use with the placement tool). Some obsolete
	  code has been removed in _button_press().
	* src/dia-placement-tool.[ch]: New files. This will be a generic
	  tool for placing objects on the canvas.

2002-01-15  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* configure.in: if PKG_CHECK_MODULES can't find the pygtk package,
	  the configure script is not terminated anymore.

2002-01-12  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	Released 0.5.0

	* configure.in: do explicit check for the existance of ln -s.

2002-01-11  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-image.c: change finalize to dispose.
	* src/dia-canvas-text.c: changed finalize to dispose.
	* src/dia-canvas-element.c: idem.
	* demos/dia-clock.c: idem.
	* src/dia-canvas.[ch]: New function: dia_canvas_new_pango_layout()
	  creates a  PangoLayout based on FreeType.
	* src/dia-shape-art.[ch]: renamed dia_shape_art_get_default_pango_layout()
	  to dia_shape_art_new_pango_layout()
	* src/dia-shape-x.[ch]: idem
	* src/dia-canvas-view.[ch]: idem
	* src/dia-shape.c: DiaShapeText now uses dia_canvas_new_pango_layout()

2002-01-10  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* python/diacanvas.defs: Made canvas and aa properties of DiaCanvasView
	  constructor optional.
	* src/dia-canvas-line.c: Added a new property: add_segment. This is the
	  inverse operation of del_segment.
	* src/dia-canvas-element.[ch]: Added new properties: min_width and
	  min_height.
	* src/dia-canvas-view.c: Now key events are send to the object
	  that has the focus (highlighted handles) in stead of the object
	  under the mouse button (GnomeCanvas default).
	* src/dia-canvas-view.[ch]: New function: dia_canvas_view_aa_new.

2002-01-08  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-item.c, src/dia-canvas-view-item.c,
	  src/dia-canvas.c, src/dia-canvas-view.c: Removed some messages.

2002-01-07  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* doc/ref/*: Some updates in the documentation.
	* src/dia-canvas-element.[ch]: Added flag DIA_NEED_ALIGN_HANDLES.
	* src/dia-shape-art.c: Now centered and right aligned text work okay.
	* configure.in: Some cleanup

2001-12-21  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-line.c: Changed constraint building order to ensure
	  a nice orthogonal line is created, even if both line ends are
	  connected to another object.
	* src/dia-handle-layer.c: The handles are only drawn in a focused state
	  of the DiaCanvasView has the focus.
	* src/dia-canvas-view.c: Added rules to redraw the focused item if
	  the focused is removed from the DiaCanvasView.
	* src/dia-shape-art.c: The text cursor is only drawn if the
	  DiaCanvasView has the focus.
	* src/dia-shape.h: Added comment to DiaShapeText.

2001-12-20  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-shape.[ch]: Implemented the cursor as part of the
	  DiaShapeText. This will gove us better cursor positioning due to
	  font size differences at different zoom levels.
	  Added dia_shape_text_cursor_from_pos().
	* src/dia-shape-art.c: Implemented cursor support for DiaShapeText.
	* src/dia-canvas-text.c: Implemented changes.

2001-12-18  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas-text.c: Fixed crashes that could happen if you enter
	  a the Enter key.
	* src/dia-shape-art.c: Some tweaks in text_update() to avoid different
	  wrapping behaviour at different zoom levels due to font scaling
	  problems.
	* src/dia-shape.[ch]: New function: dia_shape_text_fill_pango_layout()

2001-12-17  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-shape-art.[ch], src/dia-shape-x.[ch],
	  src/dia-canvas-view.[ch], dia-shape.[ch]: Added some extra functions
	  on behalf of text handling:
	  - dia_canvas_view_get_active_view(): returns active view.
	  - dia_canvas_view_get_default_pango_layout(): returns layout for view
	  - dia_shape_art_get_default_pango_layout(): layout for AA renderer
	  - dia_shape_x_get_default_pango_layout(): layout for X renderer
	  - dia_shape_text_to_pango_layout(): create a PangoLayout based
	     on a DiaShapeText object.
	* AUTHORS: changed e-mail address for me.
	* src/dia-canvas-text.[ch]: The text widget will now let the user
	  edit the text in the canvas! Under any angle ;-).

2001-12-10  Arjan Molenaar  <arjanmolenaar@hetnet.nl>

	* src/dia-canvas.h: changed interface for dia_canvas_new(), now
	  no dummy argument is required.
	* src/dia-canvas-view.[ch]: Added function dia_canvas_view_get_canvas().
	* python/: new directory. Here is a python wrapper for DiaCanvas2. The
	  wrapper is based on James Henstridge's PyGTK package.
	* src/Makefile.am: Added dia.defs and dia-boxed.defs to EXTRA_DIST

	In order to use the Python stuff you'll need AutoMake 1.5 or
	AutoMake 1.4 patched with the patches supplied with the gnome-python
	package.

2001-12-08  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas.h: Added attribute "first_move" (is set true the
	  first time a motion event is issued after a button press).

2001-12-03  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas-group.c: Moved undo-stuff from "parent" property
	to here.
	* src/dia-canvas-view-item.c: 
	* src/Makefile.am: Added dia-tool.[ch] and dia-magnify-tool.[ch]
	* src/dia-canvas-view.c: Some fixes: workaround for if the selection
	box got stuck, implemented hooks for DiaTool.
	* src/dia-canvas-view.h: Added DiaTool
	* src/dia-tool.[ch], dia-magnify-tool.[ch]: New files. Generic event
	handlers for DiaCanvasViews.
	* src/dia.[ch]: removed (did nothing useful anyway).
	* demos/test-canvas.c: Several improvements (menu bar!)

2001-11-30  Arjan Molenaar  <arjan@xirion.nl>

	Release 0.4.1

	* Documentation: added some text...
	* src/dia-clock.c: Made clock unconnectable.
	* src/dia-shape-art.c: include glib-object instead of gobject/*.h
	* src/prop-editor.c: New property editor.
	* src/Makefile.am: Changed build rules for diatypebuildins.[ch]
	* src/diatypes.c: include glib-object instead of gobject/*.h
	* src/dia-canvas-box.c: Added undo information
	* src/dia-canvas-line.c: Made line work better wrt undo-ing
	* src/dia-canvas.[ch]: Added function dia_canvas_redo_clear().
	* src/dia-handle.c: Added some code for property "owner" to make it
	  usable for undo actions.
	* src/dia-shape-art.c: Make line drawing more beautiful
	* unit_tests/test-geometry.c: include glib-object instead of gobject/*.h
	* demos/: new directory. test-canvas and friend has been moved to here.
	* src/test-canvas.c, src/dia-clock.[ch], src/image.png, rc/prop-editor.c -> demos/

2001-11-26  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas.h: removed function
	dia_canvas_preserve_property_force()
	added dia_canvas_preserve_property_last()
	* src/dia-canvas-item.c: Using dia_canvas_preserve_property_last() in
	stead of *_force()
	* src/dia-canvas-line.c: using .._last in stead of .._force()
	* src/dia-canvas.c: implemented API change.

2001-11-20  Arjan Molenaar  <arjan@xirion.nl>

	Released 0.4.0

	* src/dia-canvas-group.c, src/dia-canvas-item.c: Implemented undo
	functionality for adding and removing items from the canvas.
	* src/dia-canvas-view-item.c: fixed bug in "z_order" callback.
	* src/dia-canvas.h: Added dia_canvas_item_raise/lower() functions
	* src/dia-canvas-item.c: implemented dia_canvas_item_raise/lower().

2001-11-19  Arjan Molenaar  <arjan@xirion.nl>

	* src/diatypes.c: Added type for dashes.
	* src/dia-canvas-box.c: Implemented value preservation
	* src/dia-canvas-element.c: idem
	* src/dia-canvas-item.c: idem
	* src/dia-canvas-line.c: idem
	* src/dia-handle.c: idem.
	* src/dia-canvas.c: fixed some bugs in undo functionality.
	* src/dia-canvas.h: New function: dia_canvas_item_preserve_property().
	* src/dia-shape.h: Added type DiaDashStyle.
	* src/test-canvas.c: added redo button.

2001-11-18  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas-element.c: Added undo properties for DiaCanvasElement.
	* src/dia-canvas-item.c: Added undo for movements
	* src/dia-canvas-view.c: Start new undo entry on a button press.
	* src/dia-canvas.c: Implemented undo functionality
	* src/dia-canvas.h: dia_canvas_preserve(),
	dia_canvas_preserve_property(), dia_canvas_undo_push(),
	dia_canvas_undo_pop, dia_canvas_redo_pop,
	dia_canvas_set_undo_stack_depth(), dia_canvas_get_undo_stack_depth():
	New functions wrt undo functionality.
	* src/dia-handle.c: do an undate_handles() on pos_i and pos_w props.
	* src/test-canvas.c: Added UNDO button.

2001-11-15  Arjan Molenaar  <arjan@xirion.nl>

	* src/diatypes.c: Added type for DiaCanvasItem::affine
	* src/dia-handle-layer.[ch]: Now the event mask is determined on
	button_press.
	* src/dia-canvas-item.c: Added properties: connect, disconnect, affine
	* src/dia-canvas.h: Added interface for undo.

2001-11-13  Arjan Molenaar  <arjan@xirion.nl>

	Released 0.3.0

2001-11-12  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-constraint.c, src/dia-solver.c, src/dia-variable.c,
	src/dia-canvas-item.c: Added some comments
	* src/dia-shape.[ch]: Now DiaShape is no longer an union of all kinds
	of shapes.
	* src/dia-canvas-view-item.c, src/dia-shape-x.c, src/dia-shape-art.c:
	Implemented changed DiaShape stuff.
	* acconfig.h: New File.
	* src/dia-constraint.[ch]: dia_constraint_new_middle() removed.

2001-11-10  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-constraint.c: Added i18n support.
	* src/dia-solver.c: idem.
	* src/dia-variable.c: idem.
	* src/dia-canvas-image.c: idem.
	* src/dia-handle.c: idem.
	* src/dia-handle-layer.c: idem.
	* src/dia-canvas-group.c: idem.
	* src/dia-canvas.c: idem.
	* src/dia-canvas-box.c: idem.
	* src/dia-canvas-line.c: idem.
	* src/dia-canvas-text.c: idem.
	* src/dia-canvas-view-item.c: idem.
	* src/dia-canvas-view.c: idem.
	* src/dia-selector.c: idem.
	* src/dia-canvas-element.c: idem.
	* src/dia-canvas-item.c: idem.
	* src/test-canvas.c: idem.
	* autogen.sh: Changed to standard GNOME autogen
	* Makefile.am: added i18n support
	* configure.in: idem
	* dia-canvas-i18n.h: New file. 

2001-11-07  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas-element.c: fixed shearing bug.
	* src/dia-canvas.h: Changed dia_canvas_item_shear_[xy]() interface.
	* src/dia-canvas-item.c: changed dia_canvas_item_shear_[xy]().
	* unit_tests/unit-test.h: Added documentation

2001-11-06  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas-text.[ch]: Now use PangoFontDescription and text
	instead of a PangoLayout.
	* src/dia-shape.[ch]: Changed DiaShapeText, no longer use PangoLayout.
	* src/dia-shape-art.c: Make text scale better when zoomiing in/out.

2001-11-05  Arjan Molenaar  <arjan@xirion.nl>

	* src/prop-editor: New file: property editor from gtk+/tests
	* src/dia-canvas-text.c: implemented "text" property
	* src/dia-shape.c: implemented polygon, made dia_shape_reset() public.
	* src/dia-shape.h: added dia_shape_reset()
	* src/dia-canvas-view-item.c: (update()) check for visibility here.
	* src/dia-canvas-line.[ch]: Added arrowheads and a lot of properties
	* src/dia-shape-art.c: Some tweaks for path rendering.
	* src/Makefile.am: Added src/prop-editor.c to the test_canvas appl.
	* src/test-canvas.c: Now uses the property editor in prop-editor.c.

2001-11-03  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-shape.c: Added support for dashes in DiaShapePath.
	* src/dia-shape.h: Implemented dia_shape_path_set_dash().
	* src/dia-canvas-line.c: Made lines be dashed by means of example.
	* src/dia-shape-art.c: (path_update) Added support for dashed lines.

2001-10-31  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas-box.c: did some make--up in dia_canvas_box_update()
	* src/dia-canvas-view.c: do a '- canvas->zoom_[xy]ofs' for the selector
	  coordinates.
	* unit_tests/test-constraint.c, unit_tests/test-expression.c,
	  unit_tests/test-solver.c, unit_tests/test-strength.c,
	  unit_tests/test-variable.c, unit_tests/test-geometry.c: 
	  set includes for DiaCanvas to diacanvas/<incfile>.
	* configure.in: Create symlink src -> diacanvas in project root dir.

2001-10-29  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas-box.[ch]: Added line_width attribute

2001-10-22  Arjan Molenaar  <arjan@xirion.nl>

	* doc/ref/Makefile.am: Added rules for creating PDF output

2001-10-20  Arjan Molenaar  <arjan@xirion.nl>

	* unit_test/test-geometry.c: Added some tests
	* src/dia-geometry.c: fixed bug in dia_intersection_line_rectangle().

2001-10-18  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-shape-art.c: Added "fill" support for ellipses
	* src/dia-canvas-line.c: remove ortho constraints on dispose.
	* src/dia-clock.c: added clock background.

2001-10-16  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-canvas-line.[ch]: Added properties "orthogonal" and "horizontal".
	  Lines can now be orthogonal too.

2001-10-16  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-geometry.c: dia_*_*_intersection() to dia_intersection_*_*().
	* src/dia-handle-layer.c: Now handles are drawn more precise.
	* src/dia-canvas-view.c: Better handling for selection box.
	* src/dia-clock.[ch]: New files. Simple clock item.

2001-10-15  Arjan Molenaar  <arjan@xirion.nl>

	* src/dia-selector.[ch]: Reimplemented. Now it's a non-interactive
	  object.
	* src/dia-canvas-view.c: Implemented DiaSelector
	* src/dia-canvas-view-item.c: use g_object_run_dispose() in stead of
	  g_object_unref(). Seems to work better.
	* TODO: updated.

2001-10-12  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-group.c: do no longer set item->canvas to NULL when removed
	  from a group.

2001-10-11  Arjan Molenaar  <arjan@xirion.nl>

	* test-canvas.c: Added button for snap-to-grid functionality.
	* configure.in: make symlink for diacanvas -> . in src/.
	* *.h: point to DiaCanvas2 include files in diacanvas/.
	* dia-canvas-line.[ch], dia-canvas-element.[ch]: Make the connect()
	  function independant from point() and glue(). This means that the
	  canvas objects are now stateless wrt connections. This also makes
	  it possible to connect two objects by just calling
	  dia_canvas_item_connect().
	* test-canvas.c: connect a line to a box.

2001-10-08  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-view.[ch]: added dia_canvas_view_find_view_item().
	* dia-shape.[ch]: changed text and image shape to hold an affine
	  matrix.
	* dia-shape.[ch]: Added clip rectangle.
	* dia-shape-art.c: Implemented clip rect. for lines and images.
	* dia-canvas-view.c: implemented clip rectangle support for AA canvas.
	
2001-10-07  Arjan Molenaar  <arjan@xirion.nl>

	* dia-handle.c: Added properties.
	* dia-canvas-element: changed dia-canvas_element_init() to use
	  the properties.
	* dia-shape-art.c: Added text drawing support.
	* dia-canvas-text.[ch]: New files. Test element for text.
	* dia-shape.c: implemented fill property for path like shapes.
	
2001-10-05  Arjan Molenaar  <arjan@xirion.nl>

	Released version 0.2.0

	* dia-canvas-element.c: fixed bug that obfuscated the width and height
	properties.
	* test-canvas.c: can now add boxes.
	* dia-handle.h: removed the DIA_HANDLE_* flags and added bitfields to
	DiaHandle.
	* dia-canvas.h, dia-canvas-item.c: removed dia_canvas_item_unparent().
	* Added reference documentation.

2001-10-03  Arjan Molenaar  <arjan@xirion.nl>

	*dia-canvas.h: changed DiaCanvasItemClass::handle_motion, added
	the DiaEventMask parameter.

	* dia-canvas-element.c: Added shearing for elements.
	* dia-handle.[ch]: new function: dia_handle_add_line_constraint(), for
	connecting a handle on a line segment.

2001-10-02  Arjan Molenaar  <arjan@xirion.nl>
	
	* dia-canvas-view.c, dia-canvas-view-item.c,
	dia-canvas.c, dia-canvas-item.c: Fixed reference counting stuff. Now
	objects can be added and removed and the views will update themselves.

2001-10-02  Arjan Molenaar  <arjan@xirion.nl>

	* diatypes.c, dia-shape-art.c: updated code to GLib snapshot of
	20011001.
	* configure.in Makefile.am: cleanup to make the 0.2.0 version clean.
	
2001-10-01  Arjan Molenaar  <arjan@xirion.nl>

	* test-canvas.c: Added some new functions.

2001-09-30  Arjan Molenaar  <arjan@xirion.nl>

	* dia-event.h: New file. A subset of GdkEvent used by the canvas.

2001-09-27  Arjan Molenaar  <arjan@xirion.nl>

	* dia-variable.[ch], dia-strength.h dia-constraint.[ch],
	dia-solver.[ch]: Files for the constraint solver.
	* dia-canvas-box.[ch]: a rectangle.
	* dia-canvas-element.c: removed code for drawing a rectangle.
	* dia-canvas-image.[ch]: new! A class constaining an image.
	* image.png: new! test image for test-canvas.
	* dia-grid-layer.[ch]: obsolete, code moved to dia-canvas-view.c
	* added a bunch of documentation.
	* dia-shape-art.c: Added code for image displaying.
	* dia-canvas-bezier.[ch]: new! a bezier curve, doesn't work, though.

2001-09-21  Arjan Molenaar  <arjan@xirion.nl>

	* created a simple constraint solver for DiaCanvas2. This makes it
	no longer nessesary to rely on Cassowary.

2001-09-14  Arjan Molenaar  <arjan@xirion.nl>

	* Overall changes: ported to GTK+ 2.0 and GObject.
		- DiaCanvasItem depends only on GLib now.
		- persistency currently disabled.
		- Anti Alias canvas works nice now.
		- X canvas' grid doesn't work properly

2001-09-03  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-item.c, dia-canvas-view.c: Implemented group move. You
	can now select multiple objects and move them while holding the
	SHIFT button.

2001-08-31  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-element.[ch]: New: element (box) like shapes.
	* Many small improvements.
	* dia-shape.[ch]: Altered interfface for future speed improvements.

2001-08-14  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-ellipse.[ch]: New files... A nice ellipse shape.

2001-08-13  Arjan Molenaar  <arjan@xirion.nl>

	* dia-handle-layer.c: speed improvements
	* several small fixes...

2001-08-07  Arjan Molenaar  <arjan@xirion.nl>

	* dia-shape-x.c: created path shape.
	* test-canvas.c: added also an X canvas!!!

2001-08-03  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-line.c: Made connections work.

2001-08-01  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-line.[ch]: New files: a line object.
	* added several peaces of documentation.
	* fixed a few bufd in DiaPersistent.

2001-07-31  Arjan Molenaar  <arjan@xirion.nl>

	* dia-handle-layer.c: Made handle behaviour more friendly.
	* dia-shape-art.[ch]: New files. LibArt rendering should go in here.
	* dia-shape-x.[ch]: New files. X rendering should go in here.

2001-07-31  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-item.c, dia-handle.c, dia-canvas.c:
	The constraint solver is integrated in the DiaCanvas!

2001-07-27  Arjan Molenaar  <arjan@xirion.nl>

	* dia-hancle.[ch]: Created a new interface for DiaHandle. It should
	be iesier to integrate the constraint solver now.
	* *.[ch]: implemented the new dia-handle interface.

2001-07-26  Arjan Molenaar  <arjan@xirion.nl>

	* New dia_handle_layer_update_handles(). Does redraw requests
	for handles.
	* The DiaCanvas now has its own update cycle. No DiaCanvasView is
	needed to do that.

2001-07-23  Arjan Molenaar  <arjan@xirion.nl>

	* Made DiaCanvas2 depend on GtkCassowary at last. 

2001-07-19  Arjan Molenaar  <arjan@xirion.nl>

	* dia-geometry.[ch]
	Added functions for determining distances from points to
	point/line/rect etc. (from diacanvas/DIA)

	* test-object.c
	Updated TestObject to use them.

2001-05-16  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas.h
	Created new function dia_canvas_glue_handle().

	* dia-handle-layer.c
	Use dia_canvas_glue_handle().

	* dia-canvas-view-item.c,dia-canvas-group.c
	Made *_foreach functions, and use them for a few procedures.
	This makes code more readable.

2001-05-11  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-view.h, dia-canvas-view-item.c, dia-canvas-view.c
	Implemented focused item. The focused item is determined by
	DiaCanvasViewItem. The focused item is referenced by
	DiaCanvasView::focus_item.
	Selecting and Focusing is done by DiaCanvasViewItem::event().
	DiaCanvasItems can still unfocus/select if they like.

	* dia-handle-layer.c
	Focused items are checked for handles before normal items are.

	* unit_test/dia-canvas_.c, unit_test/dia-canvas-item_.c
	New unit tests.

2001-05-01  Arjan Molenaar  <arjan@xirion.nl>

	* dia-handle-layer.c test-object.c dia-canvas-item.c
	Made connect() work nicer, also made disconnect().
	Changes are reflected in test-object.c.

2001-04-28  Arjan Molenaar  <arjan@xirion.nl>

	* dia-handle-layer.[ch], et al.
	Implemented glue()/connect() scheme. Works Nice!

	* test-object.c
	Updated to make use of glue() and connect().

2001-04-26  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-group.c
	Fixed bug that did incomplete redraws.

	* dia-canvas.h, dia-canvas-item.c
	New function: dia_canvas_item_bb_affine(): affine the bounding
	box of the item (used by DiaCanvasGroup and DiaCanvasViewItem).

2001-04-06  Arjan Molenaar  <arjan@xirion.nl>

	* unit_tests/Makefile.am
	Check the result of the individual unit tests and exit if one failes.

2001-04-05  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-view-item.c, dia-canvas-view.c, dia-handle-layer.c, a.o.
	Implemented SELECT and FOCUS (partly) for CanvasItems. ALso unselecting
	objects is partly implemented.

2001-04-03  Arjan Molenaar  <arjan@xirion.nl>
	* unit_tests/
	New directory. The idea is to place unit tests here

	* */Makefile.am
	Included a 'test' statement: run the unit tests

	* several files
	Make handles work correctly. Make zooming work.

2001-03-18  Arjan Molenaar  <arjan@xirion.nl>
	* dia-handle.[ch]
	New. A Handle object. Handles should be used to manipulate the object
	in the same way as DIA does.

	* dia-handle-layer.[ch]
	New. This is the object that should draw the handles on top of
	the canvas. This way handles are always visible, even if the canvas
	item is covered by another item.
	
	* dia-canvas-view.[ch]
	Incorporated changes involved by DiaHandleLayer.

2001-02-05  Arjan Molenaar  <arjan@xirion.nl>
	* dia-shape.[ch]
	Added DiaShapeViewInfo: view specific information about a shape
	(like its SVP). dia_shape_svp_from_path() converts paths to SVP.

	* dia-grid.[ch] (now canvas-grid.[ch])
	New files. Grid for DiaCanvas. Originally from Sodipodi, included
	whichout a change. I love GPL :-).

	* dia-canvas-view-item.c
	Updated dia_canvas_view_item_update() to make usage of DiaShapeViewInfo.

	* dia-canvas-view.[ch]
	Added pointers to the grid and the item-root (note that item-root is
	not equal to GnomeCanvas::root).
	
2000-10-29  Arjan Molenaar  <arjan@xirion.nl>
	* DiaShape.[ch]
	Information for DiaCanvasViewItem's is stored on the DiaShape.

	* dia-canvas-view-item.c dia-canvas-view.[ch] dia-canvas-item.[ch]
	Several enhancements (why is that thing updating so bad?

2000-10-29  Arjan Molenaar  <arjan@xirion.nl>

	* dia-shape.[ch] dia-canvas-item.c dia-canvas-view-item.c
	Better interaction between the DiaCanvas and the GnomeCanvas.

	* test-canvas.c test-object.[ch]
	New files. Test aplication for the DiaCanvas.

2000-10-21  Arjan Molenaar  <arjan@xirion.nl>

	* all files
	Made a fork: diacanvas2. The idea is to use GnomeCanvas as render
	engine instead of writing a special render engine for DiaCanvas.
	DiaCanvas will become a wrapper around GnomeCanvas, providing useful
	features like multiple displays and an abstraction from the special
	LibArt and X rendering used by GnomeCanvas.
	Updates all over the field.

	* */Makefile.am
	Fixed the makefiles so distributions and snapshots can be build
	easely.
	
2000-08-20  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-item.c
	Created a few functions to convert world coordinates to object
	coordinates using the affine transformation.

	* dia-canvas.h
	New stage for CanvasItems: "draw". This is where the Shape's are
	created and updated (the "update" stage is for updating the object's
	state)

	* doc/guide
	First attempt to an introduction in DiaCanvas, written in LyX.
	
2000-08-05  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas-art.[ch]
	New files. Functions for scaling, rotating, translating and shearing
	of objects.

2000-08-04  Arjan Molenaar  <arjan@xirion.nl>

	* dia-canvas.h
	Merged with dia-canvas-item.h. dia-canvas-item.h is now obsolete.

	* dia-shape.[ch]
	New files. Basic functions for creating shapes. Shapes are pre-computed
	CanvasView independant representations of the object (eg. as vector
	path).

	*dia-renderer.h
	Removed shape stuff from the DiaRendererClass.

	* *
	Added/changed various pieces of code.

2000-08-03  Arjan Molenaar  <arjan@xirion.nl>

	* Need a dependancy on Libart, I really don't want to figure
 	out all those calculations again.

	* dia-canvas-item.h
	Definition of DiaCanvasViewItem. Added affine transformation to
	DiaCanvasItem. Affines (from Libart) take care of zooming, rotating,
	translating and shearing.

	* dia-canvas-view-item.c
	New file. Small object that holds view specific canvas information.

	* doc/dia-canvas-item.txt
	New file. Summary of the features of the DiaCanvasItem.

	* dia-canvas-view.c
	Changed to support DiaCanvasViewItem.

2000-07-16  Arjan Molenaar  <arjan@xirion.nl>

	* dia-persistent.[ch]
	Added dia_persistent_factory_{add|remove}_object(). (for re-parenting
	objects).
	Implemented load/save functionality for DiaCanvasGroup::children.

	* doc/use-cases.txt
	Added a few use cases.

	* dia-canvas*
	Improvements at various places.

	* dia-copy.h
	New file. functionality for application wide canvas item copy.
	
2000-07-15  Arjan Molenaar  <arjan@xirion.nl>

	* dia-storage.[ch]
	Added a NIL tag. This is used for values that are set to NULL.

	* dia-canvas-item.[ch]
	DiaCanvasItem is now inherited from DiaPersistent.
	DiaCanvasItem and DiaCanvasGroup now have persistence capabilities.
	
2000-07-14  Arjan Molenaar  <arjan@xirion.nl>

	* dia-storage.c
	- Added a test directory.
	- Enumerations now save their values by name rather than an integer
	  value.
	- Added support for GTK_TYPE_FLAGS. Therefore I introduced the 'Flag'
	  tag (No interface functions!).
	- If a type is not found, the parent is automatically searched.

	* dia-persistent.c
	Improved freeing code (no change for deadlock or stange behaviour now)
	
	* test/persistent/*
	New files. Example directory for usage of persistency with custom
	enumerations and flags.

2000-07-09  Arjan Molenaar  <arjan@xirion.nl>

	* dia-storage.[ch]
	Created a new interface and implemented it.

	* dia-persistent.[ch]
	Clean up.
	Saving, loading and signal handling now works nice.

	* test-persistent.c
	Few more tests.
	
2000-06-28  Arjan Molenaar  <arjan@xirion.nl>

	* diatypes.c makeenums.pl maketypes.awk
	New files. Usable for GTK_TYPE stuff like gtk+ and libgnomeui does.

	* src/ old/
	New directory. Sources are placed here.

	* dia-geometry.h test-diacanvas.c dia-persistent.c
	  test-persistent.c dia-persistent.h test-storage.c
	  dia-storage.c test_persistent.c dia-storage.h teststorage.c
	Moved to src. Other files will be placed there if they actually *do*
	something.

2000-06-25  Arjan Molenaar  <arjan@xirion.nl>

	* dia-storage.c
	Added entries for lists.

	* dia-persistent.c
	Added save support for GList's. Also extended the test app.

	* doc/dia-stor.txt
	New file. New DIA storage format.

	* doc/undo.txt
	New file. Some ideas for an integrated Undo system based on
	DiaPersistent.

	* Makefile.am
	Changed so it will not build the library, but the test apps instead.
	
2000-06-22  Arjan Molenaar  <arjan@xirion.nl>
	
	* doc/persistent.txt
	New file. Explanation why to use persistence

	* doc/storage.txt
	New file. Something about the new DIA storage format.

	* dia-storage.[ch]
	New file. Low level storage procedures. Saving works, loading not yet
	implemented.

	* dia-persistent.[ch]
	New file. Base class for DIA's persistent objects. This should ease
	saving/loading of files and undo/redo functionality (to be implemented
	on top of DiaPersistent.
	Saving of objects works!

	* test-storage.c, test-persistent.c
	New files. Test files for DiaStorage and DiaPersistent. Use
	Makefile.test-persistent and Makefile.test-storage to build.
	
2000-06-10  Arjan Molenaar  <arjan@xirion.nl>

	* doc/new-discanvas.dia:
	Added Handle class.

	* dia-handle.h:
	New file.

	* dia-canvas-item.h:
	Added a new signal(s) (move).
	
2000-05-28  Arjan Molenaar  <arjan@xirion.nl>

	* doc/new-canvas.dia:
	Added some of my ideas to the class diagram

	* doc/use-cases.txt:
	New file. Description of a few common use cases.

2000-05-03  Alexander Larsson  <alla@lysator.liu.se>

	* Makefile.am:
	Added dia-geometry.h

	* dia-geometry.h:
	New file for (right now) points and rectangles.

	* dia-renderer.h:
	Moved methods from implementation to class.
	Added functions for calling the methods.
	Changed to use DiaPoint.
	Changed color to use GdkColor.
	Removed some old TODO notes, added some new.
	Made DiaShape refcounted.
	Added renderer argument to all set_* functions.

2000-05-02  James Henstridge  <james@daa.com.au>

	* dia-canvas-view.c (dia_canvas_view_set_canvas): hook up the
	dirty_region signal handler.
	(dia_canvas_view_set_canvas): thaw the layout after performing the
	scroll_to call.  Now the expose events occur as expected.
	(dia_canvas_view_size_allocate): set the step_increment for the
	adjustments during size_allocate.  For now, just one tenth of the
	view width/height.

	* dia-canvas.c (dia_canvas_remove_view): fix assertion.

	* dia-canvas-view.c (dia_canvas_view_set_canvas): fixed assertion.
	We want to make sure the view doesn't have a canvas set yet.

	* dia-canvas-item.c (dia_canvas_item_class_init): change distance
	and event signals to be GTK_RUN_LAST.

	* test-diacanvas.c (main): start of test program.  Doesn't do
	anything useful yet.

2000-04-30  James Henstridge  <james@daa.com.au>

	* dia-canvas.c (dia_canvas_get_item_at): routine to pick the non group
	canvas item at a particular point, allowing a certain amount of
	error.

	* dia-canvas-item.c (dia_real_canvas_item_distance): dummy
	implementation of distance signal.  Returns G_MAXDOUBLE.

	* dia-canvas.c (start_update): unset the need_update flag on the root
	after an update.

	* dia-canvas-group.c (dia_canvas_group_update): only update objects
	that have the need_update flag set.

	* dia-canvas-item.c (dia_canvas_item_request_update): don't schedule
	the update if we are currently in the middle of an update.

	* dia-canvas-group.c (dia_canvas_group_render): implement canvas group
	rendering -- just render all visible children intersecting the redraw
	region.
	(dia_canvas_group_update): implement update routine for groups --
	update all children and set bounding box from visible child bounding
	boxes.

	* dia-canvas-view.c (dirty_region): update handler for taking
	dirty regions from the canvas.

	* dia-canvas.c (dia_canvas_schedule_update): function to start the
	update.
	(dia_canvas_ensure_update): function that will perform any pending
	updates right away.
	(dia_canvas_dirty_region): mark a region as being dirty.

	* dia-canvas-item.c (dia_canvas_item_request_update): update
	handling architecture.

2000-04-29  James Henstridge  <james@daa.com.au>

	* dia-canvas-view.c (emit_event): start of event emission code for
	views.
	(update_handler): add the update code that actually calls the
	render_rect signal.

2000-04-28  James Henstridge  <james@daa.com.au>

	* dia-canvas-item.[ch]: added event signal.

2000-04-27  James Henstridge  <james@daa.com.au>

	* dia-canvas-view.[ch]: start of UTA redraw code.

	* uta.[ch]: Federico's fast UTA manipulation functions.  Currently
	GPL'd, so we will have to ask him about LGPL'ing them.

2000-04-25  James Henstridge  <james@daa.com.au>

	* dia-canvas-view.c (dia_canvas_view_set_canvas): function to set
	the canvas for this view.  Should be called by subclassed views on
	initialisation.

	* dia-canvas.c (dia_canvas_{add,remove}_view): functions for adding
	and removing views.  Should only be called by DiaCanvasView's.

2000-04-24  Alexander Larsson  <alla@lysator.liu.se>

	* dia-renderer.h:
	First cut at the renderer interface.

2000-04-23  James Henstridge  <james@daa.com.au>

	* dia-*.h: more fixups in the headers.  jrb's emacs macro doesn't
	get the naming of the type code's correct.  Mainly just doing
	s/DIA_TYPE_/GTK_TYPE_DIA_/ and adding a few more #include's.

	* configure.in, Makefile.am: simple makefile to build everything as
	a library.

2000-04-22  James Henstridge  <james@daa.com.au>

	* dia-*.[ch]: skeletons of the new canvas code.  No actual code yet.

