DiaCanvas is a library for drawing diagrams. It is completely Model/View/Controller based and has a Visio (DIA) look. The package also contains a Python wrapper for the library.
Be the first to post a text review of DiaCanvas. Rate and review a project by clicking thumbs up or thumbs down in the right column.
2007-07-01 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-item-tool (.c,.h): works for GDK_BUTTON_PRESS and it's family. * dia-canvas-item (.c): change item_button_press_event to dia_item_button_press_event. added dia_canvas_item_get_coord, to return the the item's x,y coord. * dia-canvas-item (.c): added the following signals: dia_item_button_release_event dia_item_motion_notify_event,dia_item_key_press_event,dia_item_key_release_event. * dia-item-tool (.c,.h): added teh following funtions: dia_item_tool_item_canvas_button_release,dia_item_tool_item_canvas_motion_notify, dia_item_tool_item_canvas_key_press,dia_item_tool_item_canvas_key_press dia_item_tool_item_canvas_key_press. * dia-canvas-view.c: hacked dia_canvas_view_button_release, hacked dia_canvas_view_motion_notify,hacked dia_canvas_view_key_press. Fixed {dir}/scripts/gtkdoc-mkpdf on line 19 prefix=/gnome/head/INSTALL by prefix=/usr Boost version to 0.15.4. 2007-06-29 Exell E. Franklin Jimnez <arawaco@ieee.org> * diamarshal.c diamarshal.h: added (diamarshal.list:38) dia_marshal_VOID__OBJECT_POINTER to improve a signal that is emmited when a mouse button is pressed two times on a single item. * diamarshal.list: added VOID:OBJECT,POINTER to mantin the info above. * dia_canvas_item.h, dia_canvas_item.c: added the method void dia_canvas_item_button_press_event that send the signal and is called by itm_tool. * dia-item-tool (.c,.h): added dia_item_tool_item_canvas_button_press is called by dia-canvas-view. * dia-canvas-view.c: -dia_canvas_view_button_press- was (hacked) to improve the signal to the item.Maybe on the future this could be cahnged to improve better events. Boost version to 0.15.3. 2007-05-31 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia_canvas_varius_forma: when the user sets fill_color (plenus_color) the fill flag is activated. * dia_canvas_element.[ch]: Added to dia_canvas_element_insert_new_cnx_p a new parameter called int fluxus to decide the dir from conex. 1=input,0=output, 3= whatever added too: dia_canvas_element_line_angle,dia_canvas_element_angle_off_segment, * Boost version to 0.15.2. 2007-05-28 Exell E. Franklin Jimnez <arawaco@ieee.org> * New on dia canvas element:dia_canvas_varius_forma, based on bezier, can be set by any shape that we want. (Boost version 0.14.7 equ boost version 0.15.0) * Boost version to 0.15.1. 2007-05-24 Exell E. Franklin Jimnez <arawaco@ieee.org> * new features: the user can select where could be connect a line one a element. The user can be select easy if a element is resizable or not. * dia-geometry.h: was made a new dia-type, called DiaAngleConex, it's function is to know, where can be conected a line on a element. The place is asem... to virtual circle whith radius ro, where ro is equal to element's square root from (width/2)^2 +(height/2)^2.:. That type meets the original's place (put by the user in angle form 0-360 degrees in steps by one, taked right to left) and the real angle is always updated by DiaCanvasElement, because the size of the object can be change, and we always need to have equal and know the conexion. We need to know the relative pos from the real angle * diatypes.c: Support funtions to DiaAngleConex:dia_angle_conex_copy, dia_angle_conex_free,dia_angle_conex_new,dia_angle_conex_copy. * dia-canvas-item.c: was added a new var called origo(type:DiaPoint) to obtain the cartesian center. was added a class function: update_center_p. * dia-canvas-element.h: added a new var called resizable(type=int(boolean)); * dia-canvas-element.c: added two more properties:angulus_list, a GList type where a line can be connected to a element.And resizable: easy way to say a element if can be resizable (yes or not). support functions(privates) to the new feautures: dia_canvas_element_relative_angle_from,dia_canvas_relative_hypotenusa_from, relocalize_point_from,save_dia_angleconex_point,save_dia_angleconex_point_to, del_dia_angle_conex_point_r,del_dia_angle_conex_point_u,update_dia_element_angle_conex, get_dia_angle_conex_r,get_diaangle_conex_u,get_dia_angle_conex_list, save_dia_angle_conex_list,find_angle_conex_tolerantia_u, dia_canvas_element_save_conex_list,get_diaangle_conex_u get_dia_angle_conex_r,ind_angle_conex_tolerantia_r,update_center_point. support functions(prublic) to the new feautures: dia_canvas_element_del_cnx_p,dia_canvas_element_exits_cnx_point_h, dia_canvas_element_insert_new_cnx_p. * dia-canvas-element.c:update_center_point && update_dia_element_angle_conex, placed on proper update functions. * Boost version to 0.14.7. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-canvas-item.c: was changed the event connect signal to pre_connect event signal. * dia-canvas-line.c:was changed the event dis-connect signal to pre_disconnect signal. * dia-canvas-item.c & dia-canvas-line.c:was changed the place for a connect events signals. * Boost version to 0.14.6. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * Some new features: more dia-canvas items. * automake: 1.9.6 * Boost version to 0.14.5. 2006-01-03 Arjan Molenaar <arjan at yirdis.nl> * Thanks to wrobel: better Python detection code. commented out virtual methods for now. * Boost version to 0.14.4. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Boosted version to 0.14.3. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Applied patches from wrobell. 2005-07-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * autogen.sh: updated for automake 1.9. Thanks to Robert Staudinger. 2005-02-17 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in: Changed check for gnome.canvas module, so it also works if no X-display is connected. Thanks to Danny Milosavljevic. 2005-01-27 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape-art.c: use Pango 1.6 text rotate functions. 2005-01-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-group.[ch]: Mark dia_canvas_group_foreach() as depricated. * doc/ref/tmpl/dia-canvas-item.sgml: Updated docs. Thanks to Danny Milosavljevic. 2004-11-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */Makefile.am: added patch from Yaakov Selkowitz, so DiaCanvas2 can compile propertly on Cygwin. * diacanvas/dia-export-print.c: added patch from Sylvain Foret that allows pixbufs without alpha channel to be printed. 2004-11-09 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in, python/setup.py: incremented version to 0.14.2. * diacanvas/dia-canvas.[hc]: removed attribute in_undo. * diacanvas/dia-canvas-item.c: fixed bug that caused lines not to reconnect in an undo action when the connected_to item had been removed. * diacanvas/dia-handle.c, diacanvas/dia-canvas-item.c: DiaHandle::connected_to now holds a reference to the item. DiaCanvasItem::connected_handles does not own a reference to the handle. * diacanvas/dia-export-svg.c: do not export text in a CDATA block. 2004-11-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-selection-tool.c: fixed rubber-band selection when canvas is zoomed in/out. Thanks to Sylvian Foret. 2004-10-29 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-line.c: Fixed bug that caused dash style not to update when set to NULL. * python/placementtool.py: fixed bug that placed items on the wrong place when the canvas is zoomed in. 2004-10-26 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */*.c: s/__FUNCTION__/G_STRLOC/ * acinclude.m4: added --with-python option. 2004-10-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.14.0. 2004-10-12 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-editable.c: changed shape signals from POINTER to OBJECT. Thanks to Torsten Schoenfeld. 2004-10-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/pyundo.c: new file, implements UndoManager interface. * python/diacanvas.defs: added undo interface. 2004-10-04 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape.[ch]: new funcion: dia_shape_ref() and dia_shape_unref(). * diacanvas/dia-undo-manager.[ch]: New files. Interface for undo/redo functionality on the Diacanvas. * diacanvas/dia-undo.[ch]: New files. Default implementation of undo/ redo functionality in DiaCanvas2. * diacanvas/dia-canvas.[ch]: dia_canvas_undo_*(), dia_canvas_redo_*(). Depricated. * diacanvas/dia-handle.c: properties "connect" and "disconnect" removed. 2004-10-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-image.h, diacanvas/dia-canvas-view.h: changed '//' comments for '/* */' comments. Patch by Torsten Schoenfeld. * diacanvas/dia-placement-tool.[ch]: new function dia_placement_tool_newv(). Patch by Torsten Schoenfeld. 2004-09-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-element.c (dia_canvas_element_connect): remove old constraints from the handle. 2004-09-22 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-item-tool.c: fixed crash when left clicking a canvas while still holding down the right mouse button. Thanks to Torsten Schoenfeld. 2004-09-14 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/*: added nessesary methods + changes 2004-09-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-canvas-editable.[ch]: Added two functions to the interface: is_editable() and get_editable_shape(). * dia-canvas-view.c: Changed syntax of dia_canvas_view_start_editing(). Now accept (x,y) in stead of a DiaShapeText*. * dia-canvas-text.c: added impl. for get_editable_shape(). You can no longer start editing by calling dia_canvas_editable_start_edit(). You should use dia_canvas_view_start_editing(), which is a bit more logical. 2004-09-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-geometry.c: (dia_distance_line_point) set point_on_line before every return. Credits: Torsten Schoenfeld * dia-canvas-view.c: made move() function a bit more fault tolerant Credits: Torsten Schoenfeld * dia-canvas-item.c: made handles property read-only. * unit_tests/*.c: Added some unit tests. 2004-08-11 Martin Willemoes Hansen <mwh@sysrq.dk> * autogen.sh: Added support for automake-1.8 and aclocal-1.8. * diatypes.c: Added "overload" function dia_dash_style_newv to make it posible to wrap from mono. * dia-shape.h: Ditto 2004-07-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.13.1. 2004-07-23 Arjan Molenaar <arjanmolenaar@hetnet.nl> * DiaCanvas no longer supports the X render * * diacanvas/dia-canvas-view.c, diacanvas/dia-canvas-view-item.c: Removed references to dia_shape_art_x_*() functions. * diacanvas/Makefile.am: removed dia-shape-art-x.[ch]. * diacanvas/dia-shape-view-info.[ch]: New files, contain DiaShapeViewInfo stuff from dia-shape.c. * diacanvas/dia-canvas-view-item.[ch]: Added view info field, which contains view specific information for shapes. This make DiaShape->view_info obsolete. 2004-07-15 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/setup.py: updated version to 0.13.0 (better late than never) * diacanvas/dia-canvas-view.c: Make all text selected when start editing. 2004-06-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/diacanvas.defs, python/diacanvas.override: added code for attribute CanvasItem.connected_handles. * diacanvas/dia-canvas-item.c (dia_real_canvas_item_connect): do an explicit disconnect if the handle is still connected to another item. 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.
2007-07-01 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-item-tool (.c,.h): works for GDK_BUTTON_PRESS and it's family. * dia-canvas-item (.c): change item_button_press_event to dia_item_button_press_event. added dia_canvas_item_get_coord, to return the the item's x,y coord. * dia-canvas-item (.c): added the following signals: dia_item_button_release_event dia_item_motion_notify_event,dia_item_key_press_event,dia_item_key_release_event. * dia-item-tool (.c,.h): added teh following funtions: dia_item_tool_item_canvas_button_release,dia_item_tool_item_canvas_motion_notify, dia_item_tool_item_canvas_key_press,dia_item_tool_item_canvas_key_press dia_item_tool_item_canvas_key_press. * dia-canvas-view.c: hacked dia_canvas_view_button_release, hacked dia_canvas_view_motion_notify,hacked dia_canvas_view_key_press. Fixed {dir}/scripts/gtkdoc-mkpdf on line 19 prefix=/gnome/head/INSTALL by prefix=/usr Boost version to 0.15.4. 2007-06-29 Exell E. Franklin Jimnez <arawaco@ieee.org> * diamarshal.c diamarshal.h: added (diamarshal.list:38) dia_marshal_VOID__OBJECT_POINTER to improve a signal that is emmited when a mouse button is pressed two times on a single item. * diamarshal.list: added VOID:OBJECT,POINTER to mantin the info above. * dia_canvas_item.h, dia_canvas_item.c: added the method void dia_canvas_item_button_press_event that send the signal and is called by itm_tool. * dia-item-tool (.c,.h): added dia_item_tool_item_canvas_button_press is called by dia-canvas-view. * dia-canvas-view.c: -dia_canvas_view_button_press- was (hacked) to improve the signal to the item.Maybe on the future this could be cahnged to improve better events. Boost version to 0.15.3. 2007-05-31 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia_canvas_varius_forma: when the user sets fill_color (plenus_color) the fill flag is activated. * dia_canvas_element.[ch]: Added to dia_canvas_element_insert_new_cnx_p a new parameter called int fluxus to decide the dir from conex. 1=input,0=output, 3= whatever added too: dia_canvas_element_line_angle,dia_canvas_element_angle_off_segment, * Boost version to 0.15.2. 2007-05-28 Exell E. Franklin Jimnez <arawaco@ieee.org> * New on dia canvas element:dia_canvas_varius_forma, based on bezier, can be set by any shape that we want. (Boost version 0.14.7 equ boost version 0.15.0) * Boost version to 0.15.1. 2007-05-24 Exell E. Franklin Jimnez <arawaco@ieee.org> * new features: the user can select where could be connect a line one a element. The user can be select easy if a element is resizable or not. * dia-geometry.h: was made a new dia-type, called DiaAngleConex, it's function is to know, where can be conected a line on a element. The place is asem... to virtual circle whith radius ro, where ro is equal to element's square root from (width/2)^2 +(height/2)^2.:. That type meets the original's place (put by the user in angle form 0-360 degrees in steps by one, taked right to left) and the real angle is always updated by DiaCanvasElement, because the size of the object can be change, and we always need to have equal and know the conexion. We need to know the relative pos from the real angle * diatypes.c: Support funtions to DiaAngleConex:dia_angle_conex_copy, dia_angle_conex_free,dia_angle_conex_new,dia_angle_conex_copy. * dia-canvas-item.c: was added a new var called origo(type:DiaPoint) to obtain the cartesian center. was added a class function: update_center_p. * dia-canvas-element.h: added a new var called resizable(type=int(boolean)); * dia-canvas-element.c: added two more properties:angulus_list, a GList type where a line can be connected to a element.And resizable: easy way to say a element if can be resizable (yes or not). support functions(privates) to the new feautures: dia_canvas_element_relative_angle_from,dia_canvas_relative_hypotenusa_from, relocalize_point_from,save_dia_angleconex_point,save_dia_angleconex_point_to, del_dia_angle_conex_point_r,del_dia_angle_conex_point_u,update_dia_element_angle_conex, get_dia_angle_conex_r,get_diaangle_conex_u,get_dia_angle_conex_list, save_dia_angle_conex_list,find_angle_conex_tolerantia_u, dia_canvas_element_save_conex_list,get_diaangle_conex_u get_dia_angle_conex_r,ind_angle_conex_tolerantia_r,update_center_point. support functions(prublic) to the new feautures: dia_canvas_element_del_cnx_p,dia_canvas_element_exits_cnx_point_h, dia_canvas_element_insert_new_cnx_p. * dia-canvas-element.c:update_center_point && update_dia_element_angle_conex, placed on proper update functions. * Boost version to 0.14.7. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-canvas-item.c: was changed the event connect signal to pre_connect event signal. * dia-canvas-line.c:was changed the event dis-connect signal to pre_disconnect signal. * dia-canvas-item.c & dia-canvas-line.c:was changed the place for a connect events signals. * Boost version to 0.14.6. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * Some new features: more dia-canvas items. * automake: 1.9.6 * Boost version to 0.14.5. 2006-01-03 Arjan Molenaar <arjan at yirdis.nl> * Thanks to wrobel: better Python detection code. commented out virtual methods for now. * Boost version to 0.14.4. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Boosted version to 0.14.3. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Applied patches from wrobell. 2005-07-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * autogen.sh: updated for automake 1.9. Thanks to Robert Staudinger. 2005-02-17 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in: Changed check for gnome.canvas module, so it also works if no X-display is connected. Thanks to Danny Milosavljevic. 2005-01-27 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape-art.c: use Pango 1.6 text rotate functions. 2005-01-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-group.[ch]: Mark dia_canvas_group_foreach() as depricated. * doc/ref/tmpl/dia-canvas-item.sgml: Updated docs. Thanks to Danny Milosavljevic. 2004-11-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */Makefile.am: added patch from Yaakov Selkowitz, so DiaCanvas2 can compile propertly on Cygwin. * diacanvas/dia-export-print.c: added patch from Sylvain Foret that allows pixbufs without alpha channel to be printed. 2004-11-09 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in, python/setup.py: incremented version to 0.14.2. * diacanvas/dia-canvas.[hc]: removed attribute in_undo. * diacanvas/dia-canvas-item.c: fixed bug that caused lines not to reconnect in an undo action when the connected_to item had been removed. * diacanvas/dia-handle.c, diacanvas/dia-canvas-item.c: DiaHandle::connected_to now holds a reference to the item. DiaCanvasItem::connected_handles does not own a reference to the handle. * diacanvas/dia-export-svg.c: do not export text in a CDATA block. 2004-11-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-selection-tool.c: fixed rubber-band selection when canvas is zoomed in/out. Thanks to Sylvian Foret. 2004-10-29 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-line.c: Fixed bug that caused dash style not to update when set to NULL. * python/placementtool.py: fixed bug that placed items on the wrong place when the canvas is zoomed in. 2004-10-26 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */*.c: s/__FUNCTION__/G_STRLOC/ * acinclude.m4: added --with-python option. 2004-10-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.14.0. 2004-10-12 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-editable.c: changed shape signals from POINTER to OBJECT. Thanks to Torsten Schoenfeld. 2004-10-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/pyundo.c: new file, implements UndoManager interface. * python/diacanvas.defs: added undo interface. 2004-10-04 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape.[ch]: new funcion: dia_shape_ref() and dia_shape_unref(). * diacanvas/dia-undo-manager.[ch]: New files. Interface for undo/redo functionality on the Diacanvas. * diacanvas/dia-undo.[ch]: New files. Default implementation of undo/ redo functionality in DiaCanvas2. * diacanvas/dia-canvas.[ch]: dia_canvas_undo_*(), dia_canvas_redo_*(). Depricated. * diacanvas/dia-handle.c: properties "connect" and "disconnect" removed. 2004-10-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-image.h, diacanvas/dia-canvas-view.h: changed '//' comments for '/* */' comments. Patch by Torsten Schoenfeld. * diacanvas/dia-placement-tool.[ch]: new function dia_placement_tool_newv(). Patch by Torsten Schoenfeld. 2004-09-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-element.c (dia_canvas_element_connect): remove old constraints from the handle. 2004-09-22 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-item-tool.c: fixed crash when left clicking a canvas while still holding down the right mouse button. Thanks to Torsten Schoenfeld. 2004-09-14 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/*: added nessesary methods + changes 2004-09-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-canvas-editable.[ch]: Added two functions to the interface: is_editable() and get_editable_shape(). * dia-canvas-view.c: Changed syntax of dia_canvas_view_start_editing(). Now accept (x,y) in stead of a DiaShapeText*. * dia-canvas-text.c: added impl. for get_editable_shape(). You can no longer start editing by calling dia_canvas_editable_start_edit(). You should use dia_canvas_view_start_editing(), which is a bit more logical. 2004-09-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-geometry.c: (dia_distance_line_point) set point_on_line before every return. Credits: Torsten Schoenfeld * dia-canvas-view.c: made move() function a bit more fault tolerant Credits: Torsten Schoenfeld * dia-canvas-item.c: made handles property read-only. * unit_tests/*.c: Added some unit tests. 2004-08-11 Martin Willemoes Hansen <mwh@sysrq.dk> * autogen.sh: Added support for automake-1.8 and aclocal-1.8. * diatypes.c: Added "overload" function dia_dash_style_newv to make it posible to wrap from mono. * dia-shape.h: Ditto 2004-07-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.13.1. 2004-07-23 Arjan Molenaar <arjanmolenaar@hetnet.nl> * DiaCanvas no longer supports the X render * * diacanvas/dia-canvas-view.c, diacanvas/dia-canvas-view-item.c: Removed references to dia_shape_art_x_*() functions. * diacanvas/Makefile.am: removed dia-shape-art-x.[ch]. * diacanvas/dia-shape-view-info.[ch]: New files, contain DiaShapeViewInfo stuff from dia-shape.c. * diacanvas/dia-canvas-view-item.[ch]: Added view info field, which contains view specific information for shapes. This make DiaShape->view_info obsolete. 2004-07-15 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/setup.py: updated version to 0.13.0 (better late than never) * diacanvas/dia-canvas-view.c: Make all text selected when start editing. 2004-06-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/diacanvas.defs, python/diacanvas.override: added code for attribute CanvasItem.connected_handles. * diacanvas/dia-canvas-item.c (dia_real_canvas_item_connect): do an explicit disconnect if the handle is still connected to another item. 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.
2007-07-01 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-item-tool (.c,.h): works for GDK_BUTTON_PRESS and it's family. * dia-canvas-item (.c): change item_button_press_event to dia_item_button_press_event. added dia_canvas_item_get_coord, to return the the item's x,y coord. * dia-canvas-item (.c): added the following signals: dia_item_button_release_event dia_item_motion_notify_event,dia_item_key_press_event,dia_item_key_release_event. * dia-item-tool (.c,.h): added teh following funtions: dia_item_tool_item_canvas_button_release,dia_item_tool_item_canvas_motion_notify, dia_item_tool_item_canvas_key_press,dia_item_tool_item_canvas_key_press dia_item_tool_item_canvas_key_press. * dia-canvas-view.c: hacked dia_canvas_view_button_release, hacked dia_canvas_view_motion_notify,hacked dia_canvas_view_key_press. Fixed {dir}/scripts/gtkdoc-mkpdf on line 19 prefix=/gnome/head/INSTALL by prefix=/usr Boost version to 0.15.4. 2007-06-29 Exell E. Franklin Jimnez <arawaco@ieee.org> * diamarshal.c diamarshal.h: added (diamarshal.list:38) dia_marshal_VOID__OBJECT_POINTER to improve a signal that is emmited when a mouse button is pressed two times on a single item. * diamarshal.list: added VOID:OBJECT,POINTER to mantin the info above. * dia_canvas_item.h, dia_canvas_item.c: added the method void dia_canvas_item_button_press_event that send the signal and is called by itm_tool. * dia-item-tool (.c,.h): added dia_item_tool_item_canvas_button_press is called by dia-canvas-view. * dia-canvas-view.c: -dia_canvas_view_button_press- was (hacked) to improve the signal to the item.Maybe on the future this could be cahnged to improve better events. Boost version to 0.15.3. 2007-05-31 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia_canvas_varius_forma: when the user sets fill_color (plenus_color) the fill flag is activated. * dia_canvas_element.[ch]: Added to dia_canvas_element_insert_new_cnx_p a new parameter called int fluxus to decide the dir from conex. 1=input,0=output, 3= whatever added too: dia_canvas_element_line_angle,dia_canvas_element_angle_off_segment, * Boost version to 0.15.2. 2007-05-28 Exell E. Franklin Jimnez <arawaco@ieee.org> * New on dia canvas element:dia_canvas_varius_forma, based on bezier, can be set by any shape that we want. (Boost version 0.14.7 equ boost version 0.15.0) * Boost version to 0.15.1. 2007-05-24 Exell E. Franklin Jimnez <arawaco@ieee.org> * new features: the user can select where could be connect a line one a element. The user can be select easy if a element is resizable or not. * dia-geometry.h: was made a new dia-type, called DiaAngleConex, it's function is to know, where can be conected a line on a element. The place is asem... to virtual circle whith radius ro, where ro is equal to element's square root from (width/2)^2 +(height/2)^2.:. That type meets the original's place (put by the user in angle form 0-360 degrees in steps by one, taked right to left) and the real angle is always updated by DiaCanvasElement, because the size of the object can be change, and we always need to have equal and know the conexion. We need to know the relative pos from the real angle * diatypes.c: Support funtions to DiaAngleConex:dia_angle_conex_copy, dia_angle_conex_free,dia_angle_conex_new,dia_angle_conex_copy. * dia-canvas-item.c: was added a new var called origo(type:DiaPoint) to obtain the cartesian center. was added a class function: update_center_p. * dia-canvas-element.h: added a new var called resizable(type=int(boolean)); * dia-canvas-element.c: added two more properties:angulus_list, a GList type where a line can be connected to a element.And resizable: easy way to say a element if can be resizable (yes or not). support functions(privates) to the new feautures: dia_canvas_element_relative_angle_from,dia_canvas_relative_hypotenusa_from, relocalize_point_from,save_dia_angleconex_point,save_dia_angleconex_point_to, del_dia_angle_conex_point_r,del_dia_angle_conex_point_u,update_dia_element_angle_conex, get_dia_angle_conex_r,get_diaangle_conex_u,get_dia_angle_conex_list, save_dia_angle_conex_list,find_angle_conex_tolerantia_u, dia_canvas_element_save_conex_list,get_diaangle_conex_u get_dia_angle_conex_r,ind_angle_conex_tolerantia_r,update_center_point. support functions(prublic) to the new feautures: dia_canvas_element_del_cnx_p,dia_canvas_element_exits_cnx_point_h, dia_canvas_element_insert_new_cnx_p. * dia-canvas-element.c:update_center_point && update_dia_element_angle_conex, placed on proper update functions. * Boost version to 0.14.7. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-canvas-item.c: was changed the event connect signal to pre_connect event signal. * dia-canvas-line.c:was changed the event dis-connect signal to pre_disconnect signal. * dia-canvas-item.c & dia-canvas-line.c:was changed the place for a connect events signals. * Boost version to 0.14.6. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * Some new features: more dia-canvas items. * automake: 1.9.6 * Boost version to 0.14.5. 2006-01-03 Arjan Molenaar <arjan at yirdis.nl> * Thanks to wrobel: better Python detection code. commented out virtual methods for now. * Boost version to 0.14.4. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Boosted version to 0.14.3. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Applied patches from wrobell. 2005-07-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * autogen.sh: updated for automake 1.9. Thanks to Robert Staudinger. 2005-02-17 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in: Changed check for gnome.canvas module, so it also works if no X-display is connected. Thanks to Danny Milosavljevic. 2005-01-27 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape-art.c: use Pango 1.6 text rotate functions. 2005-01-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-group.[ch]: Mark dia_canvas_group_foreach() as depricated. * doc/ref/tmpl/dia-canvas-item.sgml: Updated docs. Thanks to Danny Milosavljevic. 2004-11-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */Makefile.am: added patch from Yaakov Selkowitz, so DiaCanvas2 can compile propertly on Cygwin. * diacanvas/dia-export-print.c: added patch from Sylvain Foret that allows pixbufs without alpha channel to be printed. 2004-11-09 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in, python/setup.py: incremented version to 0.14.2. * diacanvas/dia-canvas.[hc]: removed attribute in_undo. * diacanvas/dia-canvas-item.c: fixed bug that caused lines not to reconnect in an undo action when the connected_to item had been removed. * diacanvas/dia-handle.c, diacanvas/dia-canvas-item.c: DiaHandle::connected_to now holds a reference to the item. DiaCanvasItem::connected_handles does not own a reference to the handle. * diacanvas/dia-export-svg.c: do not export text in a CDATA block. 2004-11-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-selection-tool.c: fixed rubber-band selection when canvas is zoomed in/out. Thanks to Sylvian Foret. 2004-10-29 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-line.c: Fixed bug that caused dash style not to update when set to NULL. * python/placementtool.py: fixed bug that placed items on the wrong place when the canvas is zoomed in. 2004-10-26 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */*.c: s/__FUNCTION__/G_STRLOC/ * acinclude.m4: added --with-python option. 2004-10-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.14.0. 2004-10-12 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-editable.c: changed shape signals from POINTER to OBJECT. Thanks to Torsten Schoenfeld. 2004-10-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/pyundo.c: new file, implements UndoManager interface. * python/diacanvas.defs: added undo interface. 2004-10-04 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape.[ch]: new funcion: dia_shape_ref() and dia_shape_unref(). * diacanvas/dia-undo-manager.[ch]: New files. Interface for undo/redo functionality on the Diacanvas. * diacanvas/dia-undo.[ch]: New files. Default implementation of undo/ redo functionality in DiaCanvas2. * diacanvas/dia-canvas.[ch]: dia_canvas_undo_*(), dia_canvas_redo_*(). Depricated. * diacanvas/dia-handle.c: properties "connect" and "disconnect" removed. 2004-10-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-image.h, diacanvas/dia-canvas-view.h: changed '//' comments for '/* */' comments. Patch by Torsten Schoenfeld. * diacanvas/dia-placement-tool.[ch]: new function dia_placement_tool_newv(). Patch by Torsten Schoenfeld. 2004-09-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-element.c (dia_canvas_element_connect): remove old constraints from the handle. 2004-09-22 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-item-tool.c: fixed crash when left clicking a canvas while still holding down the right mouse button. Thanks to Torsten Schoenfeld. 2004-09-14 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/*: added nessesary methods + changes 2004-09-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-canvas-editable.[ch]: Added two functions to the interface: is_editable() and get_editable_shape(). * dia-canvas-view.c: Changed syntax of dia_canvas_view_start_editing(). Now accept (x,y) in stead of a DiaShapeText*. * dia-canvas-text.c: added impl. for get_editable_shape(). You can no longer start editing by calling dia_canvas_editable_start_edit(). You should use dia_canvas_view_start_editing(), which is a bit more logical. 2004-09-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-geometry.c: (dia_distance_line_point) set point_on_line before every return. Credits: Torsten Schoenfeld * dia-canvas-view.c: made move() function a bit more fault tolerant Credits: Torsten Schoenfeld * dia-canvas-item.c: made handles property read-only. * unit_tests/*.c: Added some unit tests. 2004-08-11 Martin Willemoes Hansen <mwh@sysrq.dk> * autogen.sh: Added support for automake-1.8 and aclocal-1.8. * diatypes.c: Added "overload" function dia_dash_style_newv to make it posible to wrap from mono. * dia-shape.h: Ditto 2004-07-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.13.1. 2004-07-23 Arjan Molenaar <arjanmolenaar@hetnet.nl> * DiaCanvas no longer supports the X render * * diacanvas/dia-canvas-view.c, diacanvas/dia-canvas-view-item.c: Removed references to dia_shape_art_x_*() functions. * diacanvas/Makefile.am: removed dia-shape-art-x.[ch]. * diacanvas/dia-shape-view-info.[ch]: New files, contain DiaShapeViewInfo stuff from dia-shape.c. * diacanvas/dia-canvas-view-item.[ch]: Added view info field, which contains view specific information for shapes. This make DiaShape->view_info obsolete. 2004-07-15 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/setup.py: updated version to 0.13.0 (better late than never) * diacanvas/dia-canvas-view.c: Make all text selected when start editing. 2004-06-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/diacanvas.defs, python/diacanvas.override: added code for attribute CanvasItem.connected_handles. * diacanvas/dia-canvas-item.c (dia_real_canvas_item_connect): do an explicit disconnect if the handle is still connected to another item. 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.
2007-07-01 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-item-tool (.c,.h): works for GDK_BUTTON_PRESS and it's family. * dia-canvas-item (.c): change item_button_press_event to dia_item_button_press_event. added dia_canvas_item_get_coord, to return the the item's x,y coord. * dia-canvas-item (.c): added the following signals: dia_item_button_release_event dia_item_motion_notify_event,dia_item_key_press_event,dia_item_key_release_event. * dia-item-tool (.c,.h): added teh following funtions: dia_item_tool_item_canvas_button_release,dia_item_tool_item_canvas_motion_notify, dia_item_tool_item_canvas_key_press,dia_item_tool_item_canvas_key_press dia_item_tool_item_canvas_key_press. * dia-canvas-view.c: hacked dia_canvas_view_button_release, hacked dia_canvas_view_motion_notify,hacked dia_canvas_view_key_press. Fixed {dir}/scripts/gtkdoc-mkpdf on line 19 prefix=/gnome/head/INSTALL by prefix=/usr Boost version to 0.15.4. 2007-06-29 Exell E. Franklin Jimnez <arawaco@ieee.org> * diamarshal.c diamarshal.h: added (diamarshal.list:38) dia_marshal_VOID__OBJECT_POINTER to improve a signal that is emmited when a mouse button is pressed two times on a single item. * diamarshal.list: added VOID:OBJECT,POINTER to mantin the info above. * dia_canvas_item.h, dia_canvas_item.c: added the method void dia_canvas_item_button_press_event that send the signal and is called by itm_tool. * dia-item-tool (.c,.h): added dia_item_tool_item_canvas_button_press is called by dia-canvas-view. * dia-canvas-view.c: -dia_canvas_view_button_press- was (hacked) to improve the signal to the item.Maybe on the future this could be cahnged to improve better events. Boost version to 0.15.3. 2007-05-31 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia_canvas_varius_forma: when the user sets fill_color (plenus_color) the fill flag is activated. * dia_canvas_element.[ch]: Added to dia_canvas_element_insert_new_cnx_p a new parameter called int fluxus to decide the dir from conex. 1=input,0=output, 3= whatever added too: dia_canvas_element_line_angle,dia_canvas_element_angle_off_segment, * Boost version to 0.15.2. 2007-05-28 Exell E. Franklin Jimnez <arawaco@ieee.org> * New on dia canvas element:dia_canvas_varius_forma, based on bezier, can be set by any shape that we want. (Boost version 0.14.7 equ boost version 0.15.0) * Boost version to 0.15.1. 2007-05-24 Exell E. Franklin Jimnez <arawaco@ieee.org> * new features: the user can select where could be connect a line one a element. The user can be select easy if a element is resizable or not. * dia-geometry.h: was made a new dia-type, called DiaAngleConex, it's function is to know, where can be conected a line on a element. The place is asem... to virtual circle whith radius ro, where ro is equal to element's square root from (width/2)^2 +(height/2)^2.:. That type meets the original's place (put by the user in angle form 0-360 degrees in steps by one, taked right to left) and the real angle is always updated by DiaCanvasElement, because the size of the object can be change, and we always need to have equal and know the conexion. We need to know the relative pos from the real angle * diatypes.c: Support funtions to DiaAngleConex:dia_angle_conex_copy, dia_angle_conex_free,dia_angle_conex_new,dia_angle_conex_copy. * dia-canvas-item.c: was added a new var called origo(type:DiaPoint) to obtain the cartesian center. was added a class function: update_center_p. * dia-canvas-element.h: added a new var called resizable(type=int(boolean)); * dia-canvas-element.c: added two more properties:angulus_list, a GList type where a line can be connected to a element.And resizable: easy way to say a element if can be resizable (yes or not). support functions(privates) to the new feautures: dia_canvas_element_relative_angle_from,dia_canvas_relative_hypotenusa_from, relocalize_point_from,save_dia_angleconex_point,save_dia_angleconex_point_to, del_dia_angle_conex_point_r,del_dia_angle_conex_point_u,update_dia_element_angle_conex, get_dia_angle_conex_r,get_diaangle_conex_u,get_dia_angle_conex_list, save_dia_angle_conex_list,find_angle_conex_tolerantia_u, dia_canvas_element_save_conex_list,get_diaangle_conex_u get_dia_angle_conex_r,ind_angle_conex_tolerantia_r,update_center_point. support functions(prublic) to the new feautures: dia_canvas_element_del_cnx_p,dia_canvas_element_exits_cnx_point_h, dia_canvas_element_insert_new_cnx_p. * dia-canvas-element.c:update_center_point && update_dia_element_angle_conex, placed on proper update functions. * Boost version to 0.14.7. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * dia-canvas-item.c: was changed the event connect signal to pre_connect event signal. * dia-canvas-line.c:was changed the event dis-connect signal to pre_disconnect signal. * dia-canvas-item.c & dia-canvas-line.c:was changed the place for a connect events signals. * Boost version to 0.14.6. 2007-05-07 Exell E. Franklin Jimnez <arawaco@ieee.org> * Some new features: more dia-canvas items. * automake: 1.9.6 * Boost version to 0.14.5. 2006-01-03 Arjan Molenaar <arjan at yirdis.nl> * Thanks to wrobel: better Python detection code. commented out virtual methods for now. * Boost version to 0.14.4. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Boosted version to 0.14.3. 2006-01-03 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Applied patches from wrobell. 2005-07-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * autogen.sh: updated for automake 1.9. Thanks to Robert Staudinger. 2005-02-17 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in: Changed check for gnome.canvas module, so it also works if no X-display is connected. Thanks to Danny Milosavljevic. 2005-01-27 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape-art.c: use Pango 1.6 text rotate functions. 2005-01-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-group.[ch]: Mark dia_canvas_group_foreach() as depricated. * doc/ref/tmpl/dia-canvas-item.sgml: Updated docs. Thanks to Danny Milosavljevic. 2004-11-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */Makefile.am: added patch from Yaakov Selkowitz, so DiaCanvas2 can compile propertly on Cygwin. * diacanvas/dia-export-print.c: added patch from Sylvain Foret that allows pixbufs without alpha channel to be printed. 2004-11-09 Arjan Molenaar <arjanmolenaar@hetnet.nl> * configure.in, python/setup.py: incremented version to 0.14.2. * diacanvas/dia-canvas.[hc]: removed attribute in_undo. * diacanvas/dia-canvas-item.c: fixed bug that caused lines not to reconnect in an undo action when the connected_to item had been removed. * diacanvas/dia-handle.c, diacanvas/dia-canvas-item.c: DiaHandle::connected_to now holds a reference to the item. DiaCanvasItem::connected_handles does not own a reference to the handle. * diacanvas/dia-export-svg.c: do not export text in a CDATA block. 2004-11-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-selection-tool.c: fixed rubber-band selection when canvas is zoomed in/out. Thanks to Sylvian Foret. 2004-10-29 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-line.c: Fixed bug that caused dash style not to update when set to NULL. * python/placementtool.py: fixed bug that placed items on the wrong place when the canvas is zoomed in. 2004-10-26 Arjan Molenaar <arjanmolenaar@hetnet.nl> * */*.c: s/__FUNCTION__/G_STRLOC/ * acinclude.m4: added --with-python option. 2004-10-25 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.14.0. 2004-10-12 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-editable.c: changed shape signals from POINTER to OBJECT. Thanks to Torsten Schoenfeld. 2004-10-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/pyundo.c: new file, implements UndoManager interface. * python/diacanvas.defs: added undo interface. 2004-10-04 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-shape.[ch]: new funcion: dia_shape_ref() and dia_shape_unref(). * diacanvas/dia-undo-manager.[ch]: New files. Interface for undo/redo functionality on the Diacanvas. * diacanvas/dia-undo.[ch]: New files. Default implementation of undo/ redo functionality in DiaCanvas2. * diacanvas/dia-canvas.[ch]: dia_canvas_undo_*(), dia_canvas_redo_*(). Depricated. * diacanvas/dia-handle.c: properties "connect" and "disconnect" removed. 2004-10-01 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-image.h, diacanvas/dia-canvas-view.h: changed '//' comments for '/* */' comments. Patch by Torsten Schoenfeld. * diacanvas/dia-placement-tool.[ch]: new function dia_placement_tool_newv(). Patch by Torsten Schoenfeld. 2004-09-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-canvas-element.c (dia_canvas_element_connect): remove old constraints from the handle. 2004-09-22 Arjan Molenaar <arjanmolenaar@hetnet.nl> * diacanvas/dia-item-tool.c: fixed crash when left clicking a canvas while still holding down the right mouse button. Thanks to Torsten Schoenfeld. 2004-09-14 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/*: added nessesary methods + changes 2004-09-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-canvas-editable.[ch]: Added two functions to the interface: is_editable() and get_editable_shape(). * dia-canvas-view.c: Changed syntax of dia_canvas_view_start_editing(). Now accept (x,y) in stead of a DiaShapeText*. * dia-canvas-text.c: added impl. for get_editable_shape(). You can no longer start editing by calling dia_canvas_editable_start_edit(). You should use dia_canvas_view_start_editing(), which is a bit more logical. 2004-09-07 Arjan Molenaar <arjanmolenaar@hetnet.nl> * dia-geometry.c: (dia_distance_line_point) set point_on_line before every return. Credits: Torsten Schoenfeld * dia-canvas-view.c: made move() function a bit more fault tolerant Credits: Torsten Schoenfeld * dia-canvas-item.c: made handles property read-only. * unit_tests/*.c: Added some unit tests. 2004-08-11 Martin Willemoes Hansen <mwh@sysrq.dk> * autogen.sh: Added support for automake-1.8 and aclocal-1.8. * diatypes.c: Added "overload" function dia_dash_style_newv to make it posible to wrap from mono. * dia-shape.h: Ditto 2004-07-24 Arjan Molenaar <arjanmolenaar@hetnet.nl> * Version 0.13.1. 2004-07-23 Arjan Molenaar <arjanmolenaar@hetnet.nl> * DiaCanvas no longer supports the X render * * diacanvas/dia-canvas-view.c, diacanvas/dia-canvas-view-item.c: Removed references to dia_shape_art_x_*() functions. * diacanvas/Makefile.am: removed dia-shape-art-x.[ch]. * diacanvas/dia-shape-view-info.[ch]: New files, contain DiaShapeViewInfo stuff from dia-shape.c. * diacanvas/dia-canvas-view-item.[ch]: Added view info field, which contains view specific information for shapes. This make DiaShape->view_info obsolete. 2004-07-15 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/setup.py: updated version to 0.13.0 (better late than never) * diacanvas/dia-canvas-view.c: Make all text selected when start editing. 2004-06-10 Arjan Molenaar <arjanmolenaar@hetnet.nl> * python/diacanvas.defs, python/diacanvas.override: added code for attribute CanvasItem.connected_handles. * diacanvas/dia-canvas-item.c (dia_real_canvas_item_connect): do an explicit disconnect if the handle is still connected to another item. 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.
Be the first person to add a text review.
Copyright © 2010 Geeknet, Inc. All rights reserved. Terms of Use
Thanks for your rating!
Would you also like to write a review?
Thanks for your review!
Get credit for your review by logging in via OpenID. Click your account provider: