#ifdef'd xmlerror.h
[dia.git] / ChangeLog
blobd56496f88d925aec230133a0cdf5f55b16040866
1 2002-05-18  Steffen Macke <sdteffen@web.de>
3         * app/app_procs.c: #ifdef'd xmlerror.h (comes with 
4         libxml2)
5         * doc/en/graphics/greendots.png:
6         * doc/en/home_network.png:
7         * doc/en/line_props.png: 
8         * dia-diagram.png:
9         * dia_gnome_icon.png:
10         * dia_gnome_menu_icon.png:
11         * dia_logo.png:
12         * shapes/network/telephone.png:
13         * shapes/Logic/and.png:
14         * shapes/Logic/buffer.png:
15         * shapes/Logic/connector.png:
16         * shapes/Logic/inverter.png:
17         * shapes/Logic/nand.png:
18         * shapes/Logic/nor.png:
19         * shapes/Logic/not.png:
20         * shapes/Logic/or.png:
21         * shapes/logic/xor.png:
22         * samples/ER-demo.dia:
23         * samples/SADT.dia:
24         * samples/UML-demo.dia:
25         * samples/chronograms.dia:
26         * samples/grafcet.dia: re-added as binary files
28 2002-05-17  Hans Breuer  <hans@breuer.org>
30         * lib/libdia.def : reflect removing of render_store.[ch]
32         * */makefile.mingw : remove VERSION definition it's
33         done in config.h.win32. Dia still doesn't work if
34         build with mingw ...
36         * RELEASE-PROCESS : removed */makefile.mingw
38         * app/sheets_dialog_callbacks.c : if we use those
39         ugly charconv_gtk_* functions lib/charconv.h needs to
40         be #included ...
41         * lib/charconv.h : ... and needs to contain the 
42         necesseray prototypes _and_ #defines
44         * plug-ins/shape/shape-export.c : with libxml2 xmlNewGlobalNs
45         is deprecated and does nothing but spit a warning. This broke
46         the shape format writing. Fixed.
47         Also with libxml2 pretty formatted xml isn't the default
48         anymore, but needs to be enabled explicit: It is done now 
49         for shape files, which almost always needed to be edited by
50         hand ... 
52         * app/app_procs.c : #if G_OS_WIN32 redirect xmlErrorReporting
53         from stderr - which is invalid on Dia/win32 - to g_print -
54         which opens up a console window if necessary. This way
55         a xml-deprecation-error shouldn't stay unnoticed next time
57 2002-05-17  Steffen Macke <sdteffen@web.de>
59         * shapes/Misc/folder.png:
60         * shapes/Misc/file.png: re-added as binary files
61         
62 2002-05-16  Lars Clausen  <lrclause@cs.uiuc.edu>
64         * lib/font.c: Fixed segfault for fonts without family_name.
66 2002-05-17  Cyrille Chepelov  <cyrille@chepelov.org>
68         * po/POTFILES.in: added app/sheets_dialog_callbacks.c
70         * app/sheets_dialog_callbacks.c: While reviewing UTF-8isation upon
71         Lars' request, minor cosmetic stuff (mostly _() of human-readable
72         XML comments in .sheet files; one translator booby-trap disarmed).
74         * lib/charconv.c: moved #hell inside the body of the new
75         charconv_*gtk* functions (otherwise the Win32 or gtk2.0 linker
76         will yell)
77         
78 2002-05-16  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
80         * plug-ins/wpg/Makefile.am (INCLUDES): 
81         * plug-ins/shape/Makefile.am (INCLUDES): 
82         * plug-ins/svg/Makefile.am (INCLUDES): 
83         * plug-ins/pstricks/Makefile.am (INCLUDES): 
84         * plug-ins/metapost/Makefile.am (INCLUDES): Added UNICODE_CFLAGS
85         and DEBUG_CFLAGS in some missing places.
87         * MAINTAINERS: New file containing list of known package
88         maintainers. 
90         * lib/charconv.h: 
91         * lib/charconv.c: Charconv versions of some common gtk calls.
93         * app/sheets_dialog_callbacks.c
94         (on_sheets_new_dialog_button_ok_clicked),
95         (on_sheets_dialog_button_edit_clicked),
96         (on_sheets_dialog_button_remove_clicked),
97         (on_sheets_edit_dialog_button_ok_clicked):
98         * app/sheets.c (sheets_optionmenu_create),
99         (sheets_optionmenu_create): Added utf8 translations.
101         * app/sheets_dialog.c: 
102         * app/sheets.c: 
103         * app/sheets_dialog_callbacks.c: Added some missing _()'s.
105 2002-05-16  Cyrille Chepelov  <cyrille@chepelov.org>
107         * po/POTFILES.in: added app/sheets_dialog.c
109 2002-05-15  Cyrille Chépélov  <cyrille@chepelov.org>
111         * lib/charconv.c: (charconv_local8_to_utf8),
112         (charconv_utf8_to_local8): tweaked the warnings to get more 
113         informations
114         * lib/font.c: (font_get_suckfont): handled a potential case of
115         uninitialised data being used (just paranoid)
116         
117         * objects/GRAFCET/boolequation.c: (opstring),
118         (opblock_get_boundingbox), (opblock_draw),
119         (boolequation_calc_boundingbox): some extra hoops needed now dia
120         talks UTF8 (but gtk doesn't). More #hell. Beeek. Basically, the
121         symbols can't yet be used with their proper Unicode cells, since
122         gtk will demand them in the Symbol font, expressed in the local
123         8-bit encoding.
124         
125         * samples/grafcet.dia: re-saved, now with a fixed bounding box (by
126         the fix just above).
128 2002-05-14  Lars Clausen  <lrclause@cs.uiuc.edu>
130         * app/diagram_tree.c (get_object_name): Check that name property
131         doesn't have null string.
133 2002-05-13  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
135         * autogen.sh (DIE): Added conditional --force to gettextize.
137         * app/pagesetup.c (pagesetup_ok): Commented out missing Gnome
138         function call.
140 2002-05-13  Cyrille Chepelov  <cyrille@chepelov.org>
142         * RELEASE-PROCESS: added James' notes on how to properly make the
143         tarball.
145         * configure.in: removed macro nesting related to libpng.h, which
146         was causing some problems on some systems (like mine, which made
147         the snapshots bad).
149         Made --enable-unicode, previously an option, the mandatory case.
151         * app/Makefile.am: updated EXTRA_DIST
152         
153         * NEWS:
154         * app/makefile.mingw:
155         * dia.spec:
156         * doc/en/dia-manual.sgml:
157         * plug-ins/makefile.mingw:
158         * configure.in: bumped up the version number to 0.90.RC1
160         * lib/render_objects.[ch]:
161         * po/POTFILES.in: removed render_objects from the build.
163         * plug-ins/Makefile.am:
164         * plug-ins/wmf/Makefile.am (new): EXTRA_DIST'ed the WMF plug-in,
165         so we keep its source in the tarball.
167         * objects/network/*.c, Makefile.am:
168         * objects/sybase/*.c, Makefile.am:
169         * po/POTFILES.in: cleaned up the non-existent files from the po
170         build process.
172         * plug-ins/Makefile.am: re-enabled metapost plug-in.
173         
174 2002-05-13  Steffen Macke <sdteffen@web.de>
176         * AUTHORS:
177         * app/command.c: added M. C. Nelson to the Authors
178         * sheets/Circuit/Makefile.am: added firewall shape to build
179         * sheets/network/Makefile.am: added telephone and microphone
180           shapes to build
182 2002-05-13  Lars Clausen  <lrclause@cs.uiuc.edu>
184         * RELEASE-PROCESS: Added list of files that contain the release
185         number or should otherwise be changed at each release.
187 2002-05-12  Lars Clausen  <lrclause@cs.uiuc.edu>
189         * objects/UML/uml.c (uml_operation_read): Forgot to commit this
190         (reported fixed) bug: POLYMORPHIC -> LEAF for default.
192 2002-05-12  Hans Breuer  <hans@breuer.org>
194         * config.h.win32 : changed VERSION to 0.90.RC1
196         * app/makefile.msc lib/makefile.msc : use renamed
197         gdk-pixbuf version (same content but renamed because
198         all the other gtk+ dlls are renamed) to avoid trouble
199         mixing gtk versions (of which one would not 
200         be initialized ...
202         * app/app_procs.c : removed recently unneeded
203         inclusion of "sheets.h"
205         * app/render_gdk.c : removed my own debug spew
206         which should never made it to cvs
208         * lib/render_object.[hc] : added
209         #error "File not used anymore."
211         * lib/libdia.def : updated externals
213         * app/interface.c : dropped filenames need to be
214         converted from uri with Gtk+2.0
216 2002-05-12  Cyrille Chepelov  <cyrille@chepelov.org>
218         * RELEASE-PROCESS (new): a draft document about how to release. To
219         be discussed. (already with some input from Hans Breuer)
221 2002-05-12  Steffen Macke <sdteffen@web.de>
223         * sheets/Makefile.am: re-added Misc sheet to make process
224         
225 2002-05-12  Lars Clausen  <lrclause@cs.uiuc.edu>
227         * objects/FS/function.c: Added comments to humungous list of menu
228         items, to aid translators.
230 2002-05-11  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
232         * app/interface.c (create_toolbox): Disallow shrinking beyond
233         requested size.  Fixes bug #59439, and confirms to GTK guidelines
234         (see gtk_window_set_policy).
235         (create_sheets): Removed now unnecessary set_usize call.
237 2002-05-10  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
239         * lib/beziershape.c (remove_handles): Fixing removal of last
240         segment.  Undo of removal still hokey.
242 2002-05-10  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
244         * lib/bezier_conn.c (remove_handles): Proper offset for fixing
245         handles. 
246         * lib/beziershape.c (beziershape_init): Removed early call to
247         beziershape_update_data where points aren't set yet.
248         (beziershape_add_segment): Use segment 0 instead of overflowing
249         points array with segment+1.
250         (beziershape_remove_segment): Proper offset for fixing
251         connectionpoints. 
252         (remove_handles): Proper offset.
254 2002-05-08  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
256         * objects/GRAFCET/action.c (action_update_data): Init x value of
257         click point for call to connpointlist_adjust_count.
259         * app/modify_tool.c (create_modify_tool): Init tool->auto_scrolled
261         * app/render_pixmap.c (new_pixmap_renderer): Moved first linestyle
262         setting to where values are inited.
264         * lib/polyshape.c (polyshape_init): Removed call to
265         polyshape_update_data that tried to use uninitialized data.
267 2002-05-06  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
269         * app/sheets_dialog.c: Mass removal of //-style comments.  The
270         Irix compiler doesn't like them:(  I do...
272 2002-05-06  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
274         * app/render_libart.c (draw_string): Bail out when no GDK font is
275         found.
276         (set_font): Give error when font not found.
277         (set_fillstyle): Intlized error msg.
279         * app/pagesetup.c (pagesetup_ok, pagesetup_apply): Sets diagram
280         modified when applied (and ok only does apply if apply is set
281         sensitive).  Fixes bug #75623.
283 2002-05-06  Pablo Saratxaga  <pablo@mandrakesoft.com>
285         * configure.in: Added Vietnamese (vi) to ALL_LINGUAS
287 2002-05-05  Steffen Macke <sdteffen@web.de>
289         * app/Makefile.am: added $(UNICODE_CFLAGS)
290         
291 2002-05-02  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
293         * app/commands.c (help_manual_callback): Check return value of
294         opendir.
296         * plug-ins/xfig/Makefile.am (INCLUDES): Added DEBUG_FLAGS
298         * plug-ins/xfig/xfig-import.c: Fixed misspelled Poly_L_ine, added
299         checks for errors.
301 2002-04-30  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
303         * app/render_gdk.c (draw_string): Extra free killed.  Thanks valgrind!
305         * objects/UML/uml.c (uml_operation_read): Fix of UML default
306         inheritance. 
308 2002-04-30  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
310         * app/filedlg.c (file_save_as_callback, file_save_as_ok_callback):
311         Added button to toggle diagram compression.
313 2002-04-29  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
315         * lib/font.c: Support for loading extra kerning files, plus got
316         rid of rounding errors.  Bounding box mostly perfect for freetype
317         fonts.
318         (font_string_width): Fudge factor to get around nonlinearity of
319         font scaling.
321 2002-04-29  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
323         * lib/font.c (font_string_width): YA font calculation scheme, with
324         comments.
326         * objects/UML/class.c (umlclass_calculate_data): Uses the same
327         font for drawing and calculating now.
329         * configure.in: Added utime.h check.
331         * app/render_gdk.c (draw_string): Uses gdk_draw_text_wc when in
332         GTK_DOESNT_TALK_UTF8_WE_DO.  Thus it matches the string width calc.
334 2002-04-26  Hans Breuer  <hans@breuer.org>
336         [ Instead of fixing about 70 occurances in 20 files
337           where GTK_TALKS_UTF8_WE_DONT needed to be handled
338           Dia on win32 from now on uses glib-2.0 and not 
339           only talks utf-8 with gtk-1.3 but also internally.
340           GTK_TALKS_UTF8_WE_DONT isn't supported/needed
341           anymore. ]
343         * config.h.win32 : #define UNICODE_WORK_IN_PROGRESS
344         #undef GTK_TALKS_UTF8_WE_DONT
346         * */makefile.msc : changes to use glib-2.0 (still
347         using gtk+1.3(win32-production)
349         * app/disp_callbacks.c : remove GTK_TALKS_UTF8_WE_DONT,
350         adapt kevent->string handling, add <string.h>
351         * app/render_gdk.c (get_text_width) : the length given
352         is in chars, gdk_text_width() needs bytes
354         * app/render_libart.c : 
355         * app/render_pixmap.c : remove GTK_TALKS_UTF8_WE_DONT
356         (could simplify the same way as done in render_gdk.c)
358         * app/diagram_tree.c app/paginate_gdiprint.cpp
359           app/sheets.c :
360         * lib/prop_basic.c lib/prop_geomtypes.c 
361           lib/propdialgs.c lib/propobject.c :
362         added <string.h> which is now removed from charconv.h
364         * lib/charconv.h : optional use infrastructure from
365         glib-2.0 -> only five direct function mapping left
367         * lib/charconv.c : avoid to build this with glib-2.0
369         * lib/font.c : no string conversion needed anymore      
370         when Dia and Gtk talk utf-8, also code adaptions
371         for GLIB_CHECK_VERSION(2,0,0)
373         * lib/libdia.def : removed charconv functions
375         * lib/prop_inttypes.c : removed GTK_TALKS_UTF8_WE_DONT,
376         replace charconv_unichar_to_utf8() with g_unichar_to_utf8()
378         * lib/prop_text.c lib/prop_widgets.c lib/font.c : 
379         removed GTK_TALKS_UTF8_WE_DONT
381         * lib/text.c : finally(?) fixed cursor <place|move>ment 
382         for Umlauts. Also fixed char insertion, still wondering
383         how this could ever work. Does realloc on Linux 
384         initialize the memory with zeros ?
386         * objects/chronogram/chronoline_event.c
387           objects/grafcet/boolequation.c :
388         there is no uni_get_utf8 when building for glib-2.0.
389         Replace with g_utf8_get_char() and g_utf8_next_char().
391         * objects/uml/stereotype.c (bracketted_to_string) : 
392         simplify while adding code for glib-2.0 build
394 2002-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
396         * app/diagram.h: Autosave field
397         * app/diagram.c (diagram_set_modified): Sets autosave field.
398         
399         * objects/UML/usecase.c (usecase_update_data): 
400         * objects/flowchart/ellipse.c (ellipse_update_data): 
401         * objects/flowchart/parallelogram.c (pgram_update_data): 
402         * objects/flowchart/diamond.c (diamond_update_data): 
403         * objects/custom/custom_object.c (custom_update_data): 
404         * objects/UML/state.c (state_update_data): 
405         * objects/UML/small_package.c (smallpackage_update_data): 
406         * objects/UML/object.c (objet_update_data): 
407         * objects/UML/note.c (note_update_data): 
408         * objects/UML/node.c (node_update_data): 
409         * objects/UML/component.c (component_update_data): 
410         * objects/UML/classicon.c (classicon_update_data): 
411         * objects/UML/actor.c (actor_update_data): 
412         * objects/SADT/box.c (sadtbox_update_data): 
413         * objects/FS/function.c (function_update_data): 
414         All now update text boundaries from update_data.
415         
416         * lib/widgets.c (dia_font_selector_set_styles): Made the style set
417         correctly. 
419 2002-04-26  Hans Breuer  <hans@breuer.org>
421         * config.h.win32 : added VERSION definition here
422         (and removed from makefile.msc's)
424         * app/makefile.msc : added new files
426         * app/app_procs.c (app_init): remove sheets_dialog_create()
427         from start-up and ... 
429         * app/sheet.c (sheets_dialog_show_callback) : ... lazy create
430         sheet_dialog here when it is really needed.
431         #include "../lib/message.h", make sheets_dialog_create() 
432         return it's success or failing on (!custom_type_symbol). 
433         Although editing shapes is nice IMHO it isn't crucial enough 
434         to abort() Dia if       it isn't possible.
436         * app/sheet.h : adapt create_sheet_dialog() prototype
438         * app/sheets_dialog.c : add #ifdef HAVE_UNISTD_H
440         * app/sheets_dialog_callbacks.c : #ifdef HAVE_UNISTD_H and
441         #ifdef HAVE_UTIME_H. Otherwise #include <sys/utime.h> and
442         name space corrections for utime() and utim_buf #ifdef
443         G_OS_WIN32
445         * lib/libdia.def : export new sheet functions
447         * lib/makefile.msc : added new files
449         * lib/render.c : don't put draw_bezier_with_arrows() in
450         the DrawLineWithArrowsFunc slot
452         * objects/custom/custom_object.c : #include <gmodule.h>
453         and export 'custom_type' via G_MODULE_EXPORT
455         * objects/uml/class_dialog.c : removed 'incompatible 
456         types' warnings. Some refactoring while making it fit
457         on screen with 800x600 again.
459         * plug-ins/python/pydia-cpoint.h : add PyDiaConnectionPoint_Check
461         * plug-ins/python/pydia-handle.h : extra parameter to
462         PyDiaHandle_New to store the owner of the handle
463         * plug-ins/python/pydia-handle.c : store handle owner
464         on construction and use it in new method .connect()
465         * plug-ins/python/pydia-object.c plug-ins/python/pydia-diagram.c : 
466         adapt to changed prototype
468 2002-04-24  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
470         * lib/text.c (text_calc_boundingbox): Will now return early if box
471         passed is NULL.
473         * objects/flowchart/box.c (box_update_data): Now updates text
474         width info from update_data.
476 2002-04-23  Steffen Macke <sdteffen@web.de>
478         * plug-ins/xfig/xfig-import.c: fixed text import
479         
480 2002-04-22  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
482         * app/export_png.c: Moved dialog functions to their own file.
483         * app/dialogs.[ch]: New files with standard functions for creating
484         small, transient dialogs (e.g. export options).
485         * app/Makefile.am: Added dialogs.[ch]
487 2002-04-19  Steffen Macke <sdteffen@web.de>
489         * shapes/Misc/folder.*:
490         * shapes/Misc/file.*:
491         * shapes/Misc/Makefile.am:
492         * shapes/Makefile.am:
493         * sheets/Misc.sheet.in:
494         * sheets/Makefile.am:
495         * configure.in: added new Misc sheet containing filesystem shapes
496         
497 2002-04-18  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
499         * app/lineprops_area.c: Arrow selector in toolbox changed to use
500         standard arrowdraw code.  Line is thinner to make some arrowheads
501         distinguishable. 
503 2002-04-18  Steffen Macke <sdteffen@web.de>
505         * sheets/network.sheet.in:
506         * shapes/network/telephone.shape:
507         * shapes/network/Makefile.am: added telephone shape
508         
509 2002-04-16  Steffen Macke <sdteffen@web.de>
511         * sheets/EML.sheet.in: commented out unavailable shapes
512         
513 2002-04-15  M.C. Nelson <mcn@kobayashimaru.org>
515         * app/sheets_dialog_callbacks.c:  Fixed segfault caused by mis-ordered
516           variable assignment.
517         
518 2002-04-15  Steffen Macke <sdteffen@web.de>
520         * plug-ins/dxf/dxf-import.c: text import works again
521         * shapes/Pneumatic/Makefile.am: added compush shape
522         * sheets/Pneumatic.sheet.in: commented out unavailable shapes dist33
523         and dist53
524         
525 2002-04-11  M.C. Nelson <mcn@kobayashimaru.org>
527         * All these modifications are for the 'Sheets and Objects' dialog
528           (new feature):
530         * app/pixmaps/line_break.xpm: new icon representing a line break.
531         
532         * app/pixmaps/n_a.xpm: new empty icon representing not available.
534         * app/Makefile.am: added sheets_*.[ch] files to compile list.
535         
536         * app/menus.c: added GNOME and gtk menu items for 'Sheets and Objects'
537         
538         * app/sheets_dialog.c: [new file] definition of 'Sheets & Objects' dlgs
540         * app/sheets_dialog.h: [new file] support for Sheets & Objects dlgs 
541         
542         * app/app_procs.c: added call to sheets_dialog_create() in app_init()
543         
544         * app/sheets_dialog_callbacks.c: [new file] callbacks for S & O dialogs
546         * app/sheets_dialog_callbacks.h: [new file] support for " " "
548         * app/interface.c: added 'interface_current_sheet_name' global to 
549           fill_sheet_wbox(); made fill_sheet_menu() non-static
551         * app/interface.h: added extern declaration for aboves.
553         * app/sheets.c: [new file] instantiation and other funcs for S & O dlgs
555         * app/sheets.h: [new file] declarations for backing store structures
557         * lib/sheet.c: modification of new_sheet() parameters; introduction
558           of USER and SYSTEM scope for sheets; procedure for sorting sheets;
559           changes to load_register_sheet().
561         * lib/sheet.h: added 'user_data_type' field to SheetObject structure;
562           added 'has_icon_on_sheet' flag to SheetObject structure; added 
563           'filename', 'scope', 'shadowing' fields to Sheet structure.
565         * lib/plug-ins.c: moved _PluginInfo declaration to header file where
566           it belongs.
568         * lib/plug-isn.h: see above.
570         * lib/object.c: added 'sheet.h' to include list; added several 
571           functions
572           to detect objects which are not found on any sheet (for future use)
573           object_type_detect_nosheet_callback(), object_types_detect_nosheet(),
574           object_type_get_sheet_name(), object_type_strip_sheet_from_name().
576         * lib/object.h: added public declarations for above functions where
577           necessary.
579         * objects/custom/custom.c: made custom_object_load() non-static so we
580           can load and interpret .shape files from the Sheets & Objects dialog
582         * objects/custom/custom_object.c: made 'custom_type' non-static so 
583           we can differentiate between SVG shapes and other types.a
585 2002-04-07  Hans Breuer  <hans@breuer.org>
587         * app/object_ops.c (object_list_align_v): Fix the 'Leak fix'
588         from 2002-01-22 to not destroy diagram->data->selected. 
589         Avoids to crash on Objects/Align/Vertical/Top
591         * app/render_eps.c (draw_string) : un-const buffer
592         It isn't at all const (g_malloc(), assignment, g_free()).
593         Doesn't gcc catch such ?
595         * lib/arrows.h : prototype calculate_arrow_point()
597         * lib/font.c (font_get_suckfont) : no need to
598         special case gdk_draw_string() with GTK_TALKS_UTF8,
599         cause all the parameter differences are handled above
601         * lib/libdia.def : updated externals
603         * lib/makefile.msc : removed string_prerenderer, added render
605         * lib/render.c (draw_rect) : don't pass a Point** if a Point*
606         is expected. [Sometimes it's good to read compiler warnings.]
608         * objects/standard/image.c : simplified by use of g_strconcat()
610         * plug-ins/python/makefile.msc : updated for Python 2.2
612 2002-04-03  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
614         * objects/standard/zigzagline.c (zigzagline_draw): Fixed
615         directionality problem for zero-length line segments.
617 2002-03-28  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
619         * app/diagram.c (diagram_ungroup_selected) 
620         (diagram_update_menu_sensitivity): Now allows ungrouping of
621         several groups at once.
623 2002-03-15  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
625         * lib/render.c, all renderers: Binary incompatibility, change to
626         expandable renderops structure.
628 2002-03-15  Steffen Macke <sdteffen@yahoo.com>
630         * objects/standard/Makefile.am:
631         * objects/network/Makefile.am:
632         * objects/UML/Makefile.am:
633         * objects/ER/Makefile.am:
634         * objects/FS/Makefile.am:
635         * objects/flowchart/Makefile.am:
636         * objects/custom/Makefile.am:
637         * objects/GRAFCET/Makefile.am:
638         * objects/chronogram/Makefile.am:
639         * objects/SADT/Makefile.am:
640         * plug-ins/cgm/Makefile.am:
641         * plug-ins/pstricks/Makefile.am:
642         * plug-ins/hpgl/Makefile.am:
643         * plug-ins/wpg/Makefile.am:
644         * plug-ins/svg/Makefile.am:
645         * plug-ins/shape/Makefile.am: added $(UNICODE_CFLAGS)
646         
647 2002-03-13  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
649         * app/render_eps.c: Support for dumping TrueType fonts (taken from
650         ttfps).
652 2002-03-12  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
654         * lib/render.c: New abstract super class for renderers.
656 2002-03-07  Akira TAGOH  <tagoh@redhat.com>
658         * objects/ER/attribute.c (attribute_save): save a font property.
659         (attribute_load): load a font property, and if can't load it, it's
660         initialized.
662         * objects/ER/entity.c (entity_save): save a font property.
663         (entity_load): load a font property, and if can't load it, it's
664         initialized.
666         * objects/ER/relationship.c (relationship_save): save a font property.
667         (relationship_load): load a font property, and if can't load it, it's
668         initialized.
670         * objects/UML/class.c (fill_in_fontdata): don't replace if it already
671         has a vaule.
672         (umlclass_save): save the font and the font size properties.
673         (umlclass_load): load the font and the font size properties.
675 2002-03-05  Cyrille Chepelov  <cyrille@chepelov.org>
677         * lib/string_prerenderer.[ch] (REMOVED):
678         * lib/render.h:
679         * lib/diagramdata.c:
680         * lib/Makefile.am:
681         * app/render_eps.c: got rid of the string-specific string
682         prerenderer, transitioned its functionality towards Lars'
683         two-phase rendering
685 2002-03-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
687         * configure.in: Using Freetypes own check for ver >= 1.0.5.  You
688         may need to rerun aclocal.
690 2002-03-04  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
692         * lib/font.c: First attempt at Unicodeness for Freetype.
694 2002-03-02  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
696         * lib/font.c (font_string_width): Fixed font_string_width for
697         freetype.  BB is now almost right.
699 2002-03-01  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
701         * app/render_eps.h: 
702         * app/paginate_psprint.c (paginate_psprint): 
703         * lib/font.c: 
704         * app/render_eps.c: Support for dumping postscript fonts into
705         postscript files with freetype.  Fairly primitive, but works.
706         Unicode version may have problems.
708 2002-02-28  Akira TAGOH  <tagoh@redhat.com>
710         * objects/UML/class_dialog.c (class_read_from_dialog)
711         (class_fill_in_dialog), (class_create_page): add the font selector and
712         the font size selector.
714         * objects/UML/class.c (umlclass_draw): uses each font_height.
715         (umlclass_calculate_data): ditto.
716         (fill_in_fontdata): add initial value of new font_height.
717         (umlclass_copy): add new font_height.
719 2002-02-27  Cyrille Chepelov  <chepelov@calixo.net>
721         Patch from Geoff Gerrietts <ggerrietts@yahoo.com>:
722         
723         * lib/font.c: calculate font metrics properly and stop guessing at
724         string widths.
726 2002-02-28  Akira TAGOH  <tagoh@redhat.com>
728         * configure.in: changed gtk_advancement value to dia_talks_utf8.
729         right now Dia is working with UTF-8 internally. it means Dia probably
730         support most languages also including the languages which heretofore
731         didn't work correctly.
733 2002-02-26  Akira TAGOH  <tagoh@redhat.com>
735         * objects/FS/function.c: add related text properties.
736         (function_get_props), (function_set_props): add handling attribute.
738         * objects/FS/flow.c: add related text properties.
739         (flow_get_props), (flow_set_props): add handling attribute.
741         * objects/FS/flow-ortho.c: add related text properties.
742         (orthflow_set_props), (orthflow_get_props): add handling attribute.
744         * objects/ER/relationship.c: add PROP_STD_TEXT_FONT to property.
746         * objects/ER/entity.c: ditto.
748         * objects/ER/attribute.c: ditto.
750 2002-02-26  Cyrille Chepelov  <cyrille@chepelov.org>
752         Patch contributed by Geoff Gerrietts <ggerrietts@yahoo.com>:
753         
754         * autogen.sh: add a check for missing intltoolize.
756 2002-02-20  Akira TAGOH  <tagoh@redhat.com>
758         * lib/ps-utf8.c (unicode_to_ps_name): if this function calls with same
759         charcode, it was registered the duplicate item to HashTable. fix.
761         * app/render_gnomeprint.c (get_width_string): add new function.
762         (draw_string): fix non-multibyte specific code.
764 2002-02-19  Cyrille Chepelov  <cyrille@chepelov.org>
766         Patch contributed by Matthieu Sozeau <mattam@netcourrier.com>:
767         
768         * lib/font.c: do not try to search paths that do not begin with
769         '/', like X Font Server addresses.
770         
771         * objects/UML/message.c (message_draw): free mname when not 
772         message->text but CREATE or DESTROY.
773         
774         * objects/UML/uml.h:
775         * objects/UML/uml.c:
776         * objects/UML/class_dialog.c: added code to handle a stereotype 
777         attribute for operations.
779 2002-02-19  Akira TAGOH  <tagoh@redhat.com>
781         * lib/Makefile.am: add LIBART_CFLAGS.
783 2002-02-15  Hans Breuer  <hans@breuer.org>
785         * lib/font.c (font_get_suck_font): the black and white pixel values 
786         need to be taken from a 1 bit colormap rather than the default colormap.
787         (fixed again, last time was 2000-05-26)
789         Also handle the case where GTK_TALKS_UTF8 and expects all strings
790         passed in to be in this encoding.
792         * lib/libdia.def : export suck_font_free()
794         * lib/text.c (text_draw) : avoid circular dependency to ../app
795         at least for the !USE_XIM case, where it is unnecessary.
797 2002-02-15  Cyrille Chepelov  <cyrille@chepelov.org>
799         Changes contributed by Matts Kivik <kivik@firstlinux.net>:
800         
801         * shapes/Circuit/microphone_de.(shape|xpm) (NEW):
802         * sheets/Circuit.sheet.in: added new shape microphone
803         * shapes/Circuit/speaker_de.shape: Added a connection point.
804         
805 2002-02-13  Akira TAGOH  <tagoh@redhat.com>
807         * app/render_libart.c (draw_string): fixed build issue for Win32.
809         * lib/font.c (font_get_suckfont): fixed typo. it could't build under
810         Win32.
812         * configure.in: fixed testing gtk_advancement.
814         * app/render_gnomeprint.c (draw_string): uses utfchar instead of char.
816 2002-02-12  Akira TAGOH  <tagoh@redhat.com>
818         * lib/text.c (text_draw): fixed XIM position, when menubar is shown for
819         diagram window.
821 2002-02-11  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
823         * app/group.c (group_copy): Made new object properly initialized
824         before copy.
826 2002-02-11  Steffen Macke <sdteffen@yahoo.com>
828         * app/Makefile.am: added plug-ins to DIA_LIB_PATH in run_dia.sh
829         
830 2002-02-10  Akira TAGOH  <tagoh@redhat.com>
832         * lib/text.c (text_draw): fixed XIM transaction.
834         * app/interface.c (create_display_shell): add signal for
835         size_allocate.
837         * app/disp_callbacks.c (ddisplay_size_allocate): add new function for
838         XIM transaction.
839         (set_input_dialog): remove.
840         (ddisplay_canvas_events): remove XIM transaction. it can't transact
841         correctly on this function.
843 2002-02-10  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
845         * app/app_procs.c:
846         * app/export_png.c: Added checks for interactivity (maybe this
847         should be a hook after all?).
849         * app/filedlg.c (file_export_callback): Made export dialog add
850         suffix when reopened.
852         * app/export_png.c: Added dialog asking for export size.
854 2002-02-09  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
856         * lib/widgets.c: Fixed font reselection problem and first font
857         bogus warning.
859         * objects/UML/actor.c (actor_update_data): Changed to have
860         connection points below text.
862 2002-02-08  Akira TAGOH  <tagoh@redhat.com>
864         * lib/text.c (text_split_line): use g_strndup() instead of g_malloc()
865         and memcpy().
867 2002-02-07  Akira TAGOH  <tagoh@redhat.com>
869         * lib/font.c (font_get_suckfont): rewrited. generating suckfont from
870         strings which is given.
871         (suck_font): remove. it's any longer needed.
873         * app/render_libart.c (set_font): don't get suckfont.
874         (draw_string): get suckfont only which is needed for now.
876 2002-02-05  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
878         * lib/text.c: Fixes for misunderstood width functions.
880 2002-02-05  Hans Breuer  <hans@breuer.org>
882         * lib/dia_xml.c : use g_strconcat() instead of 
883         malloc, strcpy, strcat dance
884         * app/properties.c : same here and plug memory leak
885         (gtk functions don't eat strings)
887         * objects/UML/message.c : there is no g_sprintf()
888         use g_strdup_printf() instead ...
890 2002-02-05  Akira TAGOH  <tagoh@redhat.com>
892         * lib/message.c (gtk_message_internal): doesn't need to convert to
893         UTF-8.
895         * app/render_libart.c (draw_string): fixed transaction for UTF-8
896         support.
897         (get_text_width): ditto.
899         * app/Makefile.am (EXTRA_DIST):
900         s/paginate_gdiprint.c/paginate_gdiprint.cpp/
902         * app/render_gdk.c (gdk_freetype_copy_glyph): fixed build issue.
903         This function needs ifdef HAVE_FREETYPE because don't use it for
904         --disable-freetype
906 2002-02-04  Cyrille Chepelov  <cyrille@chepelov.org>
908         * NEWS: updated with the new dependencies.
909         
910         Patch from Matthieu Sozeau <mattam@netcourrier.com>:
912         * objects/UML/class.h:
913         * objects/UML/class.c:  
914         * objects/UML/class_dialog.c: added code to handle the UMLParameterKind
915         property using a GtkMenu. Options are Undefined, In, Out, In & Out
917 2002-02-04  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
919         * app/render_libart.c: Slow but working libart freetype renderer,
920         with color!
922 2002-02-03  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
924         * app/render_gdk.c (draw_string): Fixed gc_function bug.
926         * lib/widgets.c (dia_font_selector_init): Sorts the font list.
928         * lib/font.c (freetype_render_string): 
929         * lib/font.h:
930         * app/render_gdk.c:
931         * app/render_gdk.h: Changed freetype_render_string to use
932         callback.  Rendering is broken.
934 2002-02-03  Cyrille Chepelov  <cyrille@chepelov.org>
936         Patch from Matthieu Sozeau <mattam@netcourrier.com>:
938         * objects/UML/uml.h:    
939         * objects/UML/uml.c: added UMLInheritanceType and isQuery
940         (constant) UML Operation attributes. UMLInheritanceType is either
941         UML_ABSTRACT or UML_POLYMORPHIC  or UML_LEAF.
943         * objects/UML/class.h:
944         * objects/UML/class.c:  
945         * objetcs/UML/class_dialog.c: added code to handle new
946         UMLOperation attributes via a GtkMenu and a checkbox.
948 2002-02-03  Akira TAGOH  <tagoh@redhat.com>
950         * app/disp_callbacks.c (ddisplay_realize): fixed XIM issue.
951         several client doesn't work with previous codes.
953 2002-02-01  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
955         * lib/font.c (freetype_render_string): Kerning.  Very few fonts
956         seem to use it.
958 2002-02-02  Akira TAGOH  <tagoh@redhat.com>
960         * app/disp_callbacks.c (ddisplay_canvas_events): fixed crashes,
961         when doing the operation like invert the objects after active view is
962         destroyed. when changes focus, it needs to set active_display.
964         * app/layer_dialog.c (dia_layer_update_from_layer):
965         (layer_dialog_edit_layer): need to convert to locale encoding
966         if GTK_DOESNT_TALK_UTF8_WE_DO is defined.
967         (edit_layer_ok_callback):
968         need to convert to UTF8 if GTK_DOESNT_TALK_UTF8_WE_DO is defined.
970         * lib/diagramdata.c (new_diagram_data): ditto.
972         * app/layer_dialog.c (layer_dialog_new_callback): ditto.
974         * lib/diagramdata.c (new_layer): use utfchar instead of char for
975         argument.
977         * lib/widgets.c: if HAVE_FREETYPE isn't defined, it can't build. fixed.
978         (dia_font_selector_set_styles): when HAVE_FREETYPE is defined only,
979         it's needed for now. also this function needs prototype declaration.
981 2002-01-31  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
983         * lib/widgets.c: Style now functional on font selector.  Some leak
984         possible, but doesn't show up under stress test.
986 2002-01-31  Akira TAGOH  <tagoh@redhat.com>
988         * app/plugin-manager.c (clist_select_row): name and description needs to
989         convert to locale encoding, when GTK_DOESNT_TALK_UTF8_WE_DO is defined.
990         (get_plugin_manager): ditto.
992         * lib/plug-ins.c (dia_plugin_info_init): name needs to convert to UTF-8.
994         * app/diagram_tree.c (get_object_name): fixed transaction for UTF-8
995         support.
997         * lib/prop_text.c (stringprop_reset_widget): fixed crashes,
998         when prop->string_data is NULL.
1000 2002-01-30  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
1002         * lib/widgets.c: 
1003         * lib/widgets.h: New font selector separating font and style.
1004         Style not functional yet.
1006 2002-01-30  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1008         * lib/text.c: 
1009         * app/render_gdk.c (draw_string): More freetype support, now
1010         renders text.  Still broken is font selection and exporting.
1012 2002-01-30  Akira TAGOH  <tagoh@redhat.com>
1014         * objects/chronogram/chronoref.c (chronoref_create): missing gettextize
1015         for font.
1017         * objects/chronogram/chronoline.c (chronoline_create): ditto.
1019         * objects/UML/usecase.c (usecase_create): ditto.
1021         * objects/UML/state.c (state_create): ditto.
1023         * objects/UML/object.c (objet_create): ditto.
1025         * objects/UML/node.c (node_create): ditto.
1027         * objects/UML/message.c (message_create): ditto.
1029         * objects/UML/component.c (component_create): ditto.
1031         * objects/UML/classicon.c (classicon_create): ditto.
1033         * objects/UML/actor.c (actor_create): ditto.
1035         * objects/SADT/box.c (sadtbox_create): ditto.
1037         * objects/SADT/annotation.c (annotation_create): ditto.
1039         * objects/GRAFCET/transition.c (TRANSITION_FONT): ditto.
1041         * objects/GRAFCET/step.c (STEP_FONT):
1042         * (step_create): ditto.
1044         * objects/GRAFCET/condition.c (CONDITION_FONT): ditto.
1046         * objects/GRAFCET/action.c (ACTION_FONT):
1047         (action_create): ditto.
1049         * objects/FS/function.c (function_create): ditto.
1051         * objects/FS/flow.c (flow_create):
1052         (flow_load): 
1053         (flow_apply_defaults): ditto.
1055         * objects/FS/flow-poly.c (flow_create):
1056         (flow_load):
1057         (flow_apply_defaults): ditto.
1059         * objects/FS/flow-ortho.c (orthflow_create):
1060         (orthflow_load):
1061         (orthflow_apply_defaults): ditto.
1063         * objects/ER/relationship.c: use utfchar instead of char for structure.
1064         (relationship_create): name needs to convert to UTF-8.
1066         * objects/ER/attribute.c: use utfchar instead of char for structure.
1067         (attribute_create): name needs to convert to UTF-8.
1069         * objects/ER/entity.c: use utfchar instead of char for structure.
1070         (entity_create): name needs to convert to UTF-8.
1072         * app/interface.c (fill_sheet_wbox): needs to convert UTF-8 to locale
1073         encoding for tooltips, if GTK_TALKS_UTF8 isn't defined.
1074         (fill_sheet_menu): needs to convert UTF-8 to locale encoding for menu
1075         items. if GTK_TALKS_UTF8 isn't defined.
1077 2002-01-29  Akira TAGOH  <tagoh@redhat.com>
1079         * objects/UML/class.c (umlclass_calculate_data): fixed malloc size.
1080         it was my careless mistake...
1082         * lib/attributes.c (attributes_set_default_font): temporarily gettextize
1083         a font name, because there are strings which isn't shown by "Courier".
1084         We need to consider a way to feel free to choose a font at runtime.
1086         * lib/render_object.c (render_object_load): ditto.
1088         * lib/text.c (data_text): ditto.
1090         * objects/EML/instantiation.c (instantiation_create): ditto.
1092         * objects/EML/interaction-ortho.c (interaction_ortho_create):
1093         (interaction_ortho_load): ditto.
1095         * objects/EML/interaction.c (interaction_create):
1096         (interaction_load): ditto.
1098         * objects/EML/process.c (fill_in_fontdata): ditto.
1100         * objects/ER/attribute.c (attribute_create): 
1101         (attribute_load): ditto.
1103         * objects/ER/entity.c (entity_create): 
1104         (entity_load): ditto.
1106         * objects/ER/relationship.c (relationship_create): 
1107         (relationship_load): ditto.
1109         * objects/UML/association.c (association_create): 
1110         (association_load): ditto.
1112         * objects/UML/class.c (fill_in_fontdata): ditto.
1114         * objects/UML/constraint.c (constraint_create): ditto.
1116         * objects/UML/dependency.c (dependency_create): ditto.
1118         * objects/UML/generalization.c (generalization_create): ditto.
1120         * objects/UML/implements.c (implements_create): ditto.
1122         * objects/UML/large_package.c (largepackage_create): ditto.
1124         * objects/UML/note.c (note_create): ditto.
1126         * objects/UML/realizes.c (realizes_create): ditto.
1128         * objects/UML/small_package.c (smallpackage_create): ditto.
1130         * objects/custom/shape_info.h (FONT_DEFAULT): ditto.
1132         * objects/custom/custom_object.c (custom_create): ditto.
1134         * objects/network/antenna.c (render_to_store): ditto.
1136         * objects/network/computer.c (render_to_store): ditto.
1138         * objects/network/disc.c (render_to_store): ditto.
1140         * objects/network/flash.c (render_to_store): ditto.
1142         * objects/network/hub.c (render_to_store): ditto.
1144         * objects/network/modem.c (render_to_store): ditto.
1146         * objects/network/modularswitch.c (render_to_store): ditto.
1148         * objects/network/monitor.c (render_to_store): ditto.
1150         * objects/network/printer.c (render_to_store): ditto.
1152         * objects/network/rj45plug.c (render_to_store): ditto.
1154         * objects/network/scead-plug.c (render_to_store): ditto.
1156         * objects/standard/textobj.c (textobj_load): ditto.
1158         * objects/sybase/client.c (render_to_store): ditto.
1160         * objects/sybase/dataserver.c (render_to_store): ditto.
1162         * objects/sybase/ltm.c (render_to_store): ditto.
1164         * objects/sybase/repserver.c (render_to_store): ditto.
1166         * objects/sybase/rsm.c (render_to_store): ditto.
1168         * objects/sybase/stableq.c (render_to_store): ditto.
1170         * plug-ins/dxf/dxf-import.c (read_entity_text_dxf): ditto.
1172         * objects/UML/uml.h (UML_STEREOTYPE_START):
1173         (UML_STEREOTYPE_END): changes default strings.
1175 2002-01-28  Akira TAGOH  <tagoh@redhat.com>
1177         * objects/UML/stereotype.c (string_to_bracketted): fixed transaction
1178         for UTF-8 support. if GTK+ and Dia don't handle UTF-8, all of characters
1179         which is given to arguments isn't UTF-8. so don't need to convert it.
1180         if GTK+ handle UTF-8, also don't need to convert it.
1181         (strend): remove.
1182         (bracketted_to_string): fixed transaction for UTF-8 support.
1183         also start/end bracket is not necessarily 1 character. so that when use
1184         strend(), it doesn't work correctly.
1185         (string_to_stereotype): use utfchar instead of char.
1186         (remove_stereotype_from_string): ditto.
1187         (stereotype_to_string): ditto.
1189         * objects/UML/stereotype.h: ditto.
1191         * objects/UML/message.c: use utfchar instead of char for structure.
1192         (MESSAGE_CREATE_LABEL, MESSAGE_DESTROY_LABEL): remove.
1194         * objects/UML/small_package.c: use utfchar instead of char for structure.
1196         * objects/UML/realizes.c: ditto.
1198         * objects/UML/object.c: ditto.
1200         * objects/UML/large_package.c: ditto.
1202         * objects/UML/implements.c: ditto.
1204         * objects/UML/generalization.c: ditto.
1206         * objects/UML/dependency.c: ditto.
1208         * objects/UML/constraint.c: ditto.
1210         * objects/UML/component.c: ditto.
1212         * objects/UML/class_dialog.c (attributes_get_current_values):
1213         (attributes_list_new_callback, attributes_fill_in_dialog):
1214         (parameters_set_values, parameters_get_values):
1215         (parameters_get_current_values, parameters_list_new_callback):
1216         (operations_set_values, operations_get_values):
1217         (operations_get_current_values, operations_list_new_callback):
1218         (operations_fill_in_dialog, templates_set_values):
1219         (templates_get_values, templates_get_current_values):
1220         (templates_list_new_callback, templates_fill_in_dialog):
1221         fixed transaction for UTF-8 support.
1223 2002-01-27  Akira TAGOH  <tagoh@redhat.com>
1225         * objects/UML/message.c (message_draw): fixed transaction for UTF-8 support.
1227         * objects/UML/class_dialog.c (class_read_from_dialog):
1228         (class_fill_in_dialog):
1229         (attributes_get_values): ditto.
1231         * objects/UML/actor.c (actor_create): ditto.
1233         * objects/UML/class.c (umlclass_calculate_data): ditto.
1235         * objects/UML/association.c (association_apply_properties):
1236         (fill_in_dialog): ditto.
1238         * objects/UML/uml.c (uml_get_attribute_string):
1239         (uml_get_operation_string):
1240         (uml_get_parameter_string):
1241         (uml_get_formalparameter_string): use utfchar instead of char.
1243         * objects/UML/uml.h: gettextize UML_STEREOTYPE_START and
1244         UML_STEREOTYPE_END.
1246         * objects/UML/class.h: use utfchar instead of char.
1248         * lib/dia_xml.c (data_add_string): ditto.
1250         * lib/text.c (text_insert_char): fixed characters# calculation
1251         when includes multibytes character in strings.
1253 2002-01-26  Steffen Macke  <sdteffen@yahoo.com>
1255         Patch from Richard Rowell <rwrowell@bellsouth.net>:
1257         * app/lineprops_area.c:
1258         * lib/arrows.h:
1259         * lib/arrows.c: 
1260         * lib/widgets.c: added crow foot arrow and cross arrow
1261         
1262         Patch from Frank Gevaerts <frank.gevaerts@fks.be>:
1263         
1264         * plug-ins/svg/render_svg.c: fixed arcs, fill and text alignment
1266 2002-01-26  Cyrille Chepelov  <cyrille@chepelov.org>
1268         * po/update.pl (REMOVED):
1269         * po/update.sh (REMOVED):
1270         * xml-i18n-merge.in.kg (REMOVED):
1271         * xml-i18n-update.in.kg (REMOVED):
1272         * sheets/Makefile.am:
1273         * Makefile.am:
1274         * autogen.sh:
1275         * configure.in: converted from xml-i18n-tools to intltools
1277         This looks like it fixes the build bugs of the snapshot tarballs, 
1278         and it supersedes #69611.       
1280 2002-01-25  Akira TAGOH  <tagoh@redhat.com>
1282         * lib/text.c (text_insert_char): fixed characters# calculation.
1283         it's not string length.
1285         * lib/plug-ins.c (dia_plugin_info_init): when GTK_DOESNT_TALK_UTF8_WE_DO
1286         is defined, needs to convert a description to UTF-8.
1288         * app/render_gdk.c (get_text_width): fixed transaction for
1289         UTF-8 support. also should uses gdk_text_width_wc() instead
1290         of gdk_text_width().
1292         * app/render_gdk.c (draw_string): when GTK_DOESNT_TALK_UTF8_WE_DO
1293         is defined, needs to convert to locale encoding for display.
1294         Also use utfchar instead of char for argument.
1296 2002-01-24  Hans Breuer  <hans@breuer.org>
1298         * app/commands.c(edit_paste_callback and more) : 
1299         call diagram_modified(ddisp->diagram) to fix #68083
1300         (help_menu_callback) : plug a DIR leak
1302         * app/disp_callbacks.c(ddisplay_canvas_events) : handle 
1303         GTK_TALKS_UTF8_WE_DONT
1305         * app/render_gdk.c(get_text_with) : it's a bad idea to use
1306         gdk_string_with() when GTK_TALKS_UTF8_WE_DONT instead of
1307         gdk_text_width(). The length value is still questionable ...
1309         * lib/charconv.c : use functions already available in early
1310         GLIB-1.3 days whiches API hasn't changed since, to avoid
1311         version problems with the win32 build
1313         * lib/font.c : finally fix #58045 and #68208
1315         * lib/dia_xml.c (xmlDiaSaveFile) : gzdopen in binary mode
1317 2002-01-24  Akira TAGOH  <tagoh@redhat.com>
1319         * app/disp_callbacks.c (ddisplay_canvas_events): when event returned
1320         no strings, fixed transaction.
1322         * lib/charconv.h: fixed typo.
1324         * app/menus.c: fixed typo.
1326         * lib/charconv.c (charconv_utf8_strchr): remove. use uni_strchr instead.
1328         * objects/UML/object.c: attrib's type uses utfchar instead of char.
1330         * app/disp_callbacks.c (ddisplay_canvas_events): forget g_free()
1332         * lib/text.c (text_create_change): use unichar instead of char.
1334         * lib/text.c (data_add_text, data_text, apply_textstr_properties):
1335         use utfchar instead of char.
1337         * lib/text.c (text_insert_char, text_key_event): fixed transaction for
1338         UTF-8 support.
1340         * lib/charconv.c (charconv_utf8_get_char): add new function.
1342 2002-01-23  Akira TAGOH  <tagoh@redhat.com>
1344         * lib/text.c (text_delete_forward, text_delete_backward,
1345         text_split_line): fixed transaction for UTF-8 support.
1347         * lib/text.c (text_copy): when UNICODE_WORK_IN_PROGRESS is defined,
1348         strlen[] has string length for UTF-8, so has to use alloclen[].
1350         * dia.pot: remove.
1352         * .cvsignore: add dia.pot.
1354 2002-01-24  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
1356         * configure.in: Added "sk" to ALL_LINGUAS.
1358 2002-01-22  Akira TAGOH  <tagoh@redhat.com>
1360         * lib/text.c (text_set_string, new_text, text_copy,
1361         text_get_string_copy, text_join_lines): use utfchar instead of gchar
1362         for strings.
1364         * lib/text.c (set_string): use charconv_utf8_strchr() instead of
1365         strchr().
1367         * lib/charconv.c (charconv_utf8_strchr): add new function.
1369         * lib/charconv.c (charconv_keyval_to_unicode): ditto.
1371         * lib/charconv.c (charconv_utf8_from_gtk_event_key): ditto.
1373         * app/disp_callbacks.c (ddisplay_canvas_events): needs to convert
1374         strings to the appropriate encoding.
1376 2002-01-22  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1378         * app/object_ops.c (object_list_align_[hv]): Leak fix.
1380         * lib/Makefile.am (INCLUDES): Added debug flags.
1382         * app/object_ops.c: Fixed ordering problem of align equi-distant &
1383         adjacent. 
1385 2002-01-21  Akira TAGOH  <tagoh@redhat.com>
1387         * lib/font.c (font_string_width): use gdk_text_width_wc() instead of
1388         gdk_string_width().
1390         * objects/GRAFCET/boolequation.c: fixed invalid comment.
1392         * objects/UML/stereotype.c (string_to_bracketted): fixed build problem
1393         when defined UNICODE_WORK_IN_PROGRESS.
1395         * lib/dia_xml.c (data_add_string): fixed typo.
1397 2002-01-20  Akira TAGOH  <tagoh@redhat.com>
1399         * configure.in: fixed test gtk_advancement.
1401 2002-01-019  Steffen Macke  <sdteffen@yahoo.com>
1403         * plug-ins/svg/render_svg.c: fix for #69053, alignment of text
1404         exported to SVG
1406         Patch from M.C. Nelson <mcn@mani.kobayashimaru.org>: 
1408         * app/recent_files.[ch]: reworked to support GNOME, accelerators,
1409         tool tips, preferences, and arbitrarily long ~/.dia/history
1411         * app/menus.c: made 'Plugins' consistantly spelled and accelerated;
1412         removed 'Open Recent'; added new separators for recent documents on
1413         File menu.
1415         * app/interface.[ch] (interface_get_toolbox_shell): new function
1417         * app/diagram.c: added new parameter to recent_file_history_add() call
1419         * app/preferences.[ch]: added new 'Recent documents list size'
1420         preferences item
1421         
1422 2002-01-18  Akira TAGOH  <tagoh@redhat.com>
1424         * lib/font.c (font_get_gdkfont_helper): use gdk_fontset_load ().
1425         if it failed, should be used gdk_font_load ().
1427         * lib/font.c (font_data): added the font entries for CJK.
1429 2002-01-17  Steffen Macke  <sdteffen@yahoo.com>
1431         Patch from M.C. Nelson <mcn@mani.kobayashimaru.org>:
1433         * app/menus.c: replaced GDK_F1 with "F1" to fix segfault on startup
1434         
1435 2002-01-04  Cyrille Chepelov  <cyrille@chepelov.org>
1437         Patch from Martin Cracauer <cracauer@cons.org>:
1438         
1439         * app/menus.c: add missing #include <gdk/gdkkeysyms.h> (useful in the
1440         non-GNOME case ?)
1442 2002-01-01  Hans Breuer  <hans@breuer.org>
1444         * app/command.c : optional use GDI printing on windoze
1446         * app/preferences.[hc] : add option 'prefer_psprint' to 
1447         select the print engine to use (could be used for Dia/Gnome
1448         as well)
1450         * app/paginate_gdiprint.(h|cpp) : new files, which interlink the
1451         wmf plug-in with the common win32 print api. Now printing
1452         should work almost as expected from a windows program :-)
1454         * app/diagram.c app/menus.[hc] : rename _UpdatableMenuItems.delete
1455         to .edit_delete to avoid clashes with C++
1457         * app/makefile.msc : updated for GDI printing
1459         * plug-ins/wmf/wmf.cpp : some small modifications to support
1460         GDI printing. Also swap R and B channel in draw_image()
1462         * app/makefile.am : added windows only files to EXTRA_DIST
1464         * objects/uml/class.c(umlclass_set_props) : force recalculation
1465         when applying properties
1467         * lib/charconv.c lib/dia_xml.c : temporary back-ported to
1468         glib-1.3.2 (for win32) IMHO causes recent cvs introduces too
1469         many incompatible changes (and would force a gtk update)
1471         * objects/makefile.msc : don't build C-Objects which are
1472         already available as 'pure shape'
1474         * plug-ins/makefile.msc : remove diaimport from build. It was
1475         only available via mailing-list and is broken since the
1476         StdProp overhaul.
1479         Patch from Jose A Ortega Ruiz  <jaortega@acm.org>
1481         * app/preferences.[hc] : tweaked preferences.c to make 
1482         PREF_STRING work. Use it for 'diagram_tree_hidden'. Also
1483         added some more DiagramTree prefererences and their own
1484         notebook page.
1486         * app/diagram_tree.[hc] : allow to sort by object type or name
1487         and hide by type ...
1488         * app/diagram_tree_menu.[hc] : ... add respective menu entries ...
1489         * app/diagram_tree_menu_callbacks.[hc] : ... and callbacks.
1491         * app/diagram_tree_window.c : handle hidden types and window
1492         size restoring.
1494 2001-12-20  Hans Breuer  <hans@breuer.org>
1496         * plug-ins/python/Makefile.am : patch from Peter Moulder 
1497         <pmoulder@csse.monash.edu.au> to make the python plug-in
1498         compile on *nix too.
1500 2001-12-03  Cyrille Chepelov  <chepelov@calixo.net>
1502         Patch from Alan <horkana@tcd.ie>:
1504         * app/menus.c: bind the F1 shortcut to the Help/_Manual function.
1506 2001-11-20  Hans Breuer  <hans@breuer.org>
1508         * app/makefile.msc : add new diagram_tree_menu(_callbacks).obj
1510 2001-11-18  Jose A Ortega Ruiz  <jaortega@acm.org>
1512         * app/diagram_tree.[hc] : Added new functions and types for
1513         sorting diagram and objects, and attaching the popup menus.
1515         * app/preferences.h: Added more diagram tree preferences, using a
1516         DiagramTreeConfig struct in DiaPreferences. The new prefs are the
1517         height and width of the diagram tree window and the default sort
1518         orders for diagrams and objects.
1520         * app/preferences.c (prefs_data): Added new entries for the new
1521         diagram tree preferences.
1523         * app/preferences.c (prefs_tabs): New tab for diagram tree
1524         preferences.
1526         * app/diagram_tree_window.[hc] (create_diagram_tree_window): 
1527         * app/diagram_tree_window.c (diagram_tree_window_new): 
1528         * app/interface.c (create_tree_window): The diagram tree window is
1529         initialised using the DiagramTreeConfig part of prefs.
1532 2001-11-14  Jose A Ortega Ruiz  <jaortega@acm.org>
1534         * app/diagram_tree_menu.[hc]: New files. Functions to create the
1535         diagram tree popup menus.
1537         * app/diagram_tree_menu_callbacks.[hc]: New files. Callbacks for
1538         the diagram tree popup menus.
1540         * app/Makefile.am (dia_core_files): diagram_tree_menu* files
1541         added.
1543 2001-11-13  Jose A Ortega Ruiz  <jaortega@acm.org>
1545         * app/diagram_tree.c (double_click_callback, diagram_tree_new):
1546         double-clicking a diagram tree node raises the diagram window
1547         to the foreground (and, if a object node was clicked, selects the
1548         object in the diagram).
1550         * app/diagram_tree.c (select_tree_widget): selecting an object
1551         node with single click simply updates it (no raise).
1553 2001-11-08  Jose A Ortega Ruiz  <jaortega@acm.org>
1554         These changes make the diagram tree lazy: it is not created unless
1555         the diagram tree window is requested.
1556         
1557         * app/diagram_tree_window.[hc] (create_diagram_tree_window): new
1558         function for creating the tree window.
1560         * app/interface.c (create_tree_window): call
1561         create_diagram_tree_window() instead of diagram_window().
1563         * app/diagram_tree.c (diagram_tree_add, diagram_tree_remove) 
1564         (diagram_tree_update, diagram_tree_update_name) 
1565         (diagram_tree_add_object, diagram_tree_add_objects) 
1566         (diagram_tree_remove_object, diagram_tree_remove_objects) 
1567         (diagram_tree_update_object): accept a NULL tree as a nominal
1568         argument (and do nothing in this case!), so that the diagram tree
1569         is not initialised if not used.
1571         * app/diagram_tree_window.c (diagram_tree): do not create the
1572         diagram tree until diagram_window() or diagtree_show_callback()
1573         are invoked.
1575 2001-10-31  Jose A Ortega Ruiz  <jaortega@acm.org>
1576         [slightly modified and applied from Hans Breuer <hans@breuer.org>]
1578         * app/diagram_tree_window.[hc] : (new files) implementation of 
1579         the diagram tree window, a container for a diagram tree. [Removed
1580         the horizontal scroll bar glitch by disableing it]
1582         * app/diagram_tree.[hc] : (new files) implementation of the 
1583         diagram tree widget. [Don't rely on the layers GPtrArray to be
1584         NULL terminated, but use its ->len field] 
1586         * app/Makefile.am (dia_core_files): added new files
1587         diagram_tree.[hc] and diagram_tree_window.[hc]
1589         * app/interface.[hc] : (create_tree_window): this function 
1590         creates the new diagram tree window widget
1592         * app/undo.c (delete_objects_apply) (delete_objects_revert) 
1593         (insert_objects_apply) (insert_objects_revert) (group_objects_apply) 
1594         (ungroup_objects_apply) (ungroup_objects_revert): 
1595         every time that an undoable command modifies a diagram 
1596         adding/removing/(un)grouping objects, a diagram_tree_something() is 
1597         invoked to keep the diagram tree window in sync
1599         * app/properties.c (properties_apply): call to
1600         diagram_object_modified(), which updates the diagram tree window
1601         when the properties of an object are modified
1603         * app/preferences.[hc] : new "show_diagram_tree" configuration option 
1604         (whether the diagram tree window should be shown on dia startup)
1606         * app/menus.c : added '<Toolbox>/File/Diagram Tree' entry
1608         * app/diagram.h (diagram_object_modified): callback notifying of a
1609         diagram object modification
1611         * app/diagram.c (diagram_load_into): added call to
1612         diagram_tree_add() to add newly loaded diagrams to the diagram
1613         tree window
1614         (diagram_destroy): call to diagram_tree_remove() to remove a
1615         destroyed diagram from the diagram tree window
1616         (diagram_add_object): call to diagram_tree_add_object() to add an
1617         object to the diagram tree window
1618         (diagram_add_object_list): as above, but with an object list
1619         (diagram_selected_break_external): deletion of objects from the
1620         diagram is detected here, and diagram_tree_remove_object() is
1621         invoked to remove the object from the diagram tree window (it
1622         would be nice to have a diagram_remove_object() in the Diagram
1623         interface)
1624         (diagram_set_filename): update the diagram tree window when a
1625         diagram's filename changes
1627         * app/commands.c (file_new_callback): added call to
1628         diagram_tree_add() to add newly created diagrams to the diagram
1629         tree window
1631         * app/app_procs.c (app_init): added call to create_tree_window()
1633         * app/makefile.msc : updated
1635 2001-10-28  Hans Breuer  <hans@breuer.org>
1637         * app/preferences.h (DiaPreferences): 
1638         * app/preferences.c (prefs_data): new "show_diagram_tree"
1639         configuration option (whether the diagram tree window should be
1640         shown on dia startup)
1642         * app/menus.c: added the new "<Toolbox>/View/Diagram tree" menu
1643         entry (both for GNOME and gtk)
1645         * app/diagram.h (diagram_object_modified): callback notifying of a
1646         diagram object modification
1648         * app/diagram.c (diagram_load_into): added call to
1649         diagram_tree_add() to add newly loaded diagrams to the diagram
1650         tree window
1651         (diagram_destroy): call to diagram_tree_remove() to remove a
1652         destroyed diagram from the diagram tree window
1653         (diagram_add_object): call to diagram_tree_add_object() to add an
1654         object to the diagram tree window
1655         (diagram_add_object_list): as above, but with an object list
1656         (diagram_selected_break_external): deletion of objects from the
1657         diagram is detected here, and diagram_tree_remove_object() is
1658         invoked to remove the object from the diagram tree window (it
1659         would be nice to have a diagram_remove_object() in the Diagram
1660         interface)
1661         (diagram_set_filename): update the diagram tree window when a
1662         diagram's filename changes
1664         * app/commands.c (file_new_callback): added call to
1665         diagram_tree_add() to add newly created diagrams to the diagram
1666         tree window
1668         * app/app_procs.c (app_init): added call to create_tree_window()
1670 2001-10-28  Hans Breuer  <hans@breuer.org>
1672         * plug-ins/python/pydia-property.c : apparently I missed
1673         to commit this last time. Now it has some more SetAttr
1674         support (apply from property)
1676         * plug-ins/python/pydia-properties.h : added PyDiaProperty_Check
1678         * plug-ins/python/pydia-text.[ch] : new files
1680 2001-10-14  Hans Breuer  <hans@breuer.org>
1682         * lib/charconv.c : g_locale_to_utf8() does not handle NULL
1683         strings. Use g_strdup() for these.
1685         libxml2 does not produce 'any extra indentation when saving a tree'
1686         [libxml2-2.4.2/doc/upgrade.html] anymore, which was the default with
1687         libxml(1). To get human readable XML some extra tweaking is required.
1688         It is enabled by setting 'pretty_formated_xml' to 'true' in 'diarc'.
1689         * lib/dia_xml.[hc] : provide and use 'DIAVAR pretty_formated_xml'
1690         * app/preferences.[ch] : initialize 'pretty_formated_xml'
1692         * lib/libdia.def : updated externals
1694         * lib/properties.h : add prototype for prop_list_from_single ()
1696         * plug-ins/makefile.msc : build metapost plug-in
1698         * plug-ins/metapost/render_metapost.c : msvc does not like
1699         switch labels without operation 'default: }'. Added a noop.
1701         * plug-ins/python/pydia-text.[hc] : (new files) wrap DiaText
1702         * plug-ins/python/diamodule.c : added PyDiaText 
1703         * plug-ins/python/makefile.msc : dito. Also added LIBXML_CFLAGS.
1704         Although the python plug-in does not use libxml at all, the
1705         headers are required to use the lib/prop*.h headers
1707         * plug-ins/python/pydia-diagramdata.c : added wrappers for
1708         update_extents and get_sorted_selected (should I duplicate
1709         more functions from PyDiaDiagram or should they be moved?)
1711         * plug-ins/python/pydia-properties.c : allow to set (some) properties
1712         through the dictionary api
1713         * plug-ins/python/pydia-property.h : declare PyDiaProperty_ApplyToObject
1714         * plug-ins/python/pydia-property.c : implement it (currently only
1715         string properties can be set)
1717         Reimplement PyDiaProperty_GetAttr by means of the new StdProp api.
1718         Quoting myself: 'Still not convinced that this is better than an 
1719          integral property->type and some casting ...
1720          It is trading a straightforward 40 lines switch statement to
1721          this nice 'type safe' function mapping (about 125 lines)'
1722         (But now it works again, better than changing the News file :)
1723         
1724 2001-10-14  Cyrille Chepelov  <chepelov@calixo.net>
1726         patch from <robert.young@dsto.defence.gov.au>: 
1727         * objects/UML/component.c: remember to set font in UML component
1728         object (fixes #62132)   
1730 2001-10-02  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1732         * plug-ins/metapost/metapost.c: 
1733         * plug-ins/metapost/Makefile.am:
1734         * plug-ins/metapost/render_metapost.c:
1735         * plug-ins/metapost/render_metapost.h:
1736         Metapost renderer from Chris Sperandio
1738 2001-09-14  Hans Breuer  <hans@breuer.org>
1740         * app/render_gdk.c : reflect the fact, that GTK already talks
1741         UTF8 on win32, fixes #59982, #56100, (#55992 ?) ...
1743         * lib/font.c : 
1744         * app/render_libart.c : trying to fix #58045 but it appears
1745         to be an Gdk/win32, too. 
1747         * lib/charconv.c : handle utf8 conversion with the help of
1748         glib-1.3 even in the !HAVE_UNICODE case.
1750         * lib/dia_xml.c : reduce complaing about missing encoding, by
1751         detecting if the default (utf8) would break the file.
1753 2001-09-13  Cyrille Chepelov  <chepelov@calixo.net>
1755         * lib/charconv.c: (get_local_charset): at least please try to not 
1756         silently change the logic, while avoiding crashes. 
1758         * lib/font.c: (suck_font): put a #error, we have a nasty something
1759         to fix there before we switch to Gtk 2.0.
1760         
1761 2001-09-09  Hans Breuer  <hans@breuer.org>
1763         * **/makefile.mingw : Approach to compile Dia with mingw.
1764         Compiling mostly works but running does not (yet) ... 
1766         * lib/geometry.h : 
1767         - use G_OS_WIN32 instead of _MSC_VER to drag in isinf, etc. definitions. 
1768           Apparently mingw needs it too.
1769         - enable 'normalization' of a null verctor. Otherwise the beziergon
1770           bounding box calculation would be broken at least with msvc. What's
1771           the mathematical correct result of 0.0/0.0 ?
1773         * lib/dia_xml.c : isinf() for mingw too.
1775         * lib/dia_dirs.c : use MAX_PATH instead of _MAX_PATH (works for mingw 
1776         and msvc)
1778         * lib/charconv.c : still crashes if strcmp(NULL, "UTF-8"). 
1779         Please don't do it.
1781         * lib/font.c : Trying to reflect that GTK_TALKS_UTF8_WE_DONT
1783         * lib/libdia.def : updated externals. Apparently mingw needs
1784         them to produce the right mangling.
1786         * plug-ins/shape/shape-exports.c : get prototypes for xmlStrdup
1787         and xmlDiaSaveFile
1789 2001-09-08  Wang Jian  <lark@linux.net.cn>
1791         * configure.in(ALL_LINGUAS): Renamed zh_CN.GB2312 to zh_CN
1793 2001-09-07  Cyrille Chepelov  <chepelov@calixo.net>
1795         * lib/dia_xml_libxml.h:
1796         * lib/dia_xml.c: (data_add_string), (xmlDiaSaveFile): Duplicated
1797         libxml1's code, to rework the output file before it gets committed
1798         to disk. This is rubbish, and will be removed when libxml2
1799         switches from discouraged to mandatory. 
1800         All in all, this fixes #60152. 
1801         
1802         * lib/charconv.h: 
1803         * lib/charconv.c: (charconv_unichar_to_utf8):
1804         made the type of the input parameter explicitly an unsigned long.
1806         * configure.in: Added a check for libz (we must now include it
1807         explicitly, for xmlDiaSaveFile).
1808         
1809         * app/load_save.c: (diagram_data_save):
1810         * lib/plug-ins.c: (ensure_pluginrc), (info_fill_from_pluginrc),
1811         (dia_pluginrc_write):
1812         * plug-ins/shape/shape-export.c: (new_shape_renderer),
1813         (end_render), (draw_string):
1814         * plug-ins/svg/render_svg.c: (new_svg_renderer), (end_render),
1815         (draw_string):
1817         Made sure we always write UTF-8 XML files, and through
1818         xmlDiaSaveFile().
1820         * NEWS: documented that fact.
1821         
1822 2001-09-07  James Henstridge  <james@daa.com.au>
1824         * configure.in (found_libxml): refactor the check for libxml a
1825         little so that it handles finding both libxml1 and 2 better.
1827 2001-09-03  Cyrille Chepelov  <chepelov@calixo.net>
1829         * app/app_procs.c: removed a spurious } which caused a compilation
1830         error in the (!HAVE_GNOME && HAVE_POPT_H) case
1832         * lib/charconv.c: (get_local_charset): some versions of iconv(1)
1833         don't know what ANSI X3.4-1968 is. I didn't know until this day,
1834         but it's just plain old ASCII. Added a check to shield the poor
1835         XML library.
1837         Patches from <robert.young@dsto.defence.gov.au>:
1839         * lib/text.c: (text_calc_boundingbox) Bounding box now calculates the
1840         width and height of text before calculating bounds. Fixes #59928
1842         * app/preferences.c: Moved grid related items into Grid Tab.
1843         
1844 2001-09-02  Cyrille Chepelov  <chepelov@calixo.net>
1846         * app/interface.c: (create_zoom_widget): connected one more signal
1847         to the Zoom selector combo's list. Fixes #59879.
1849         * app/app_procs.[ch]: (app_init) (do_convert)
1850         (build_output_file_name): brought back into the main executable
1851         the rare useful bits of the ill-fated diaconv. This means we have
1852         one new feature : --export-to-format (-t), which should make
1853         writing conversion scripts easier, and a crude implementation of
1854         -t and -e for the poptless argument parsing, which means the Win32
1855         port should be able to take advantage of it (that should make
1856         resolving #58197 possible).
1858         * app/diaconv.c: kept the poor duck compiling (but that's about
1859         it).
1861         * plug-ins/svg/render_svg.c: updated the SVG DTD header (I hope
1862         I've got it right).
1864         * NEWS: updated about the new feature above, and documented the 
1865         "missing encoding specification" complaint. 
1866         
1867 2001-09-01  Abel Cheung  <maddog@linux.org.hk>
1869         * configure.in: Rename zh_TW.Big5 -> zh_TW in ALL_LINGUAS.
1871 2001-09-01  Cyrille Chepelov  <chepelov@calixo.net>
1873         * objects/standard/bezier.c: used g_new0 instead of g_new, to take
1874         care of #59837.
1876 2001-09-01  James Henstridge  <james@daa.com.au>
1878         * */Makefile.am: various changes to include missing files, and fix
1879         sheets dir to handle building with builddir != srcdir.
1881         * autogen.sh: unconditionally pass the --enable-maintainer-mode
1882         and --enable-db2html flags so that builds from CVS work correctly.
1884         * configure.in: increment version number.  Also add an
1885         --enable-db2html flag.  Without the flag, db2html won't be run (if
1886         the flag is passed and db2html is not present, do nothing).
1888 2001-08-30  Cyrille Chepelov  <chepelov@calixo.net>
1890         * lib/poly_conn.c: (polyconn_copy): it's a wonder this routine
1891         even compiled. It's really too bad there is no lint tool easily
1892         available (or a more cautious, pedandic, paranoid and verbose
1893         compiler). Anyway, this fixes #59662. (this didn't affect 0.88.x)
1895 2001-08-27  Cyrille Chepelov  <chepelov@calixo.net>
1897         * app/load_save.c:
1898         * dia/lib/plug-ins.c: use g_strdup() instead of strdup(). Patch
1899         from <robert.young@dsto.defence.gov.au>. Fixes #59591.
1901         * app/menu.c: added ellipsis(...) to diagram properties menu item.
1902         * app/dia-props.c: diagram properties dialog contents did not
1903         represent current diagram settings.
1904         * app/dia-props.[ch]:
1905         * app/display.c: diagram properties contents now follows currently
1906         selected diagram.
1907         Patch also from <robert.young@dsto.defence.gov.au>, fixes #59409.
1909         * AUTHORS: added Robert Young.
1910         
1911 2001-08-27  Cyrille Chepelov  <chepelov@calixo.net>
1913         * app/modify_tool.c: (modify_button_release): Patch from
1914         <robert.young@dsto.defence.gov.au>. Fixes the remaining bit from
1915         #59090: if selection dragging was released outside of the window, 
1916         artifacts of the selection box remained.
1918 2001-08-25  Cyrille Chepelov  <chepelov@calixo.net>
1920         * Objects/custom/shape_info.c: added missing #include <xmlmemory.h>
1922 2001-08-19  Cyrille Chepelov  <chepelov@calixo.net>
1924         * configure.in:
1925         * sheets/Makefile.am: prepared the terrain for the Version of
1926         xml-i18n-tools Which Comes After 0.9 (and which will feature at
1927         last a sane behaviour with XML files). Some reasonible delay
1928         before enforcing that version *will* be given.
1930         * xml-i18n-merge.in.kg: included the current CVS xml-i18n-merge.in
1931         
1932         * lib/plug-ins.c: <xmlmemory.h> defines xmlFree(), otherwise it
1933         becomes a nonexistent symbol.
1934         
1935 2001-08-18  Hans Breuer  <hans@breuer.org>
1937         * app/app_procs.c : made it compile without ENABLE_NLS
1939         * app/diap_callbacks.c : strcmp isn't guaranteed to work
1940         with NULL pointers
1942         * app/load_save.c :
1943         * lib/plug-ins.c : 
1944         * objects/custom/shape_info.c : avoid mixing allocators and dealocators. 
1945         It has to be :
1946                 xmlGetProp, ... -> xmlFree
1947                 malloc, strdup -> free
1948                 g_new, g_malloc, g_strdup - > g_free
1950         * app/win32print.c : some more error checking, still not
1951         working on Win9x
1953         * lib/charconv.c : get_local_charset is used even with !HAVE_UNICODE
1955         * lib/dia_xml.c : msvc still has no unistd.h
1957         * lib/dia_xml.c :
1958         * lib/sheets.c : temporary resolved libxml include brokeness
1960         * plug-ins/python/pydia-*.c : reflect Font and StdProp api
1961         changes. Compiles again, but doesn't do anything useful anymore.
1962         (see THE_PROP_TYPE_IS_INTEGRAL)
1964         * **/makefile.msc : updated to use LIBXML2
1966         * lib/libdia.def : reflect api changes
1968 2001-08-17  Cyrille Chepelov  <chepelov@calixo.net>
1970         * config.h.win32: added defines telling that gtk speaks UTF8.
1971         Hans, I believe this reflects what GTK on Win32 does.
1973         * app/app_procs.c: if GTK talks UTF8, we'll feed it UTF8 localised
1974         strings.        
1975         * lib/prop_inttypes.c: 
1976         * lib/prop_text.c:
1977         * lib/prop_widgets.c: fixed typos in the GTK_TALKS_UTF8_WE_DONT
1978         code path.
1979         
1980         * lib/plug-ins.c: (dia_register_plugins_in_dir): If there is a
1981         trailing // (or whatever (G_DIR_SEPARATOR * 2) is), a recursive
1982         search for plug-ins is done.
1983         * app/Makefile.am: made app/run_dia.sh use the // capability. No
1984         need to update this anymore if we get a new plug-in library (or
1985         remove one).
1987         * lib/dia_xml.c: #include <unistd.h> was missing.
1988         
1989         * lib/properties.h: 
1990         * lib/proplist.c: (pdtpp_defaults): Added a new flag,
1991         PROP_FLAG_NO_DEFAULTS. Will be used in the "automatic defaults"
1992         support.        
1994 2001-08-16  Cyrille Chepelov  <chepelov@calixo.net>
1996         * sheets/civil.sheet: removed duplicate "Danish" entries.
1998         * autogen.sh:
1999         * configure.in: 
2000         * .cvsignore:
2001         * sheets/Makefile.am: 
2002         * po/POTFILES.in:
2003         * Makefile.am: applied the xml-i18n-tools README's instructions.
2005         * po/(da de fr hu nl nn no sl).po: merged the translations from
2006         the sheet files into the .po files. I hope I haven't mixed
2007         languages...
2008         * sheets/*.sheet (REMOVED):
2009         * sheets/*.sheet.in (NEW): moved the sheet files sans
2010         translations into .sheet.in files. 
2011         
2012         * sheets/xml-i18n-unicodify: (NEW) included from xml-i18n-tools,
2013         because we don't yet want to force all translators to work using
2014         UTF-8 editors. We'll want to do that sometime (sooner rather than
2015         later). Okay, I sing a slightly different tune in po/ChangeLog...
2017         * dia.desktop (REMOVED):
2018         * dia.desktop.in (NEW): used also the x18t infrastructure for
2019         this too.
2021         * xml-i18n-update.in.kg (NEW): This one will stay in CVS until an
2022         "official" version of x18t with support for .sheet files is available.
2023         * xml-i18n-merge.in.kg (NEW): This one will stay in CVS until an
2024         "official" version of x18t which doesn't corrupt UTF-8 data in XML
2025         is available.
2026         
2027         ** yes, we are now using xml-i18n-tools to manage the sheet
2028         translations. For the Win32 build, Nemo stores snapshots of
2029         translated strings next to the CVS snapshots. **
2031         * sheets/checktrans.py: suddenly, some sheets have lots of
2032         translations (objects which existed before sheets, mostly).
2033         Adapted the formatting.
2035         * po/README (REMOVED): this is obsolete ! It was ignored, anyway.
2037         * app/display.[ch]: (ddisplay_autoscroll), (ddisplay_scroll):
2038         * app/modify_tool.[ch]: (modify_motion): A (modified) patch from
2039         <robert.young@dsto.defence.gov.au>, to fix #59090.
2041         * app/display.c: (ddisplay_scroll): While at it, added some
2042         margin, so that autoscrolling can happen within a margin outside
2043         the diagram's extents.
2045         * app/tool.[ch]: 
2046         * app/interface.c:
2047         * app/disp_callbacks.c: Robert "forced" me to go when I usually
2048         don't, namely the app/ directory. So while I was there, I
2049         scratched a long-time itch. If no object has focus, pressing the
2050         space bar will select back the tool which was selected before the 
2051         current one (I find this especially useful with "reset after create" !)
2052         
2053         * lib/proplist.c: (prop_list_from_single): Renamed
2054         prop_list_singleton() to avoid confusion with the Singleton
2055         pattern (which it definitely is not).
2056         
2057         * lib/propobject.c: (object_prop_by_name_type),
2058         (object_prop_by_name): The "flags" parameter was not necessary.
2059         These don't return synthetic properties, but properties built from
2060         a real property description list; therefore, we don't call
2061         make_new_prop() but use the existing property descriptor, which
2062         has perfectly valid (and meaningful) flags.
2064         * lib/proplist.c: (pdtpp_synthetic), (pdtpp_from_object): These
2065         new predicates better reflect the reason why properties exist when
2066         they're created by make_new_prop() or object_prop_by_name().    
2068         * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name):
2069         * lib/prop_basic.c: (make_new_prop): used the new reasons instead
2070         of pdtpp_true().
2072         * lib/properties.h: reflects all the above changes.
2074         * objects/SADT/arrow.c:
2075         * objects/SADT/annotation.c:
2076         * sheets/SADT.sheet: minor renamings to better match FIPS 183's
2077         IDEF0 terminology.
2078         
2079 2001-08-15  Cyrille Chepelov  <chepelov@calixo.net>
2081         * lib/properties.h:
2082         * lib/proplist.c: (prop_list_singleton):
2083         * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name):
2084         Added these, to simplify interactions of plug-ins with the StdProp
2085         core.
2087         * lib/Makefile.am:
2088         * lib/dia_xml.h:
2089         * lib/dia_xml_libxml.h (NEW): 
2090         * app/load_save.c:
2091         * lib/dia_xml.c:
2092         * lib/plug-ins.c:
2093         * lib/sheet.c:
2094         * objects/custom/shape_info.c: A few prototypes were causing
2095         #include hell, because we generally attempt to not pull the whole
2096         libxml header set when we include dia_xml.h. Moved those
2097         prototypes away for the rare cases they're necessary.
2098         
2099 2001-08-15  Hans Breuer  <hans@breuer.org>
2101         * lib/font.c : made LARS_TRACE_MESSAGES Standard C conform
2103         * lib/libdia.def : 
2104         * lib/makefile.msc : updated
2106         * lib/prop_basic.c : __FUNCTION__ is a gcc extension. Please
2107         use G_GNUC_FUNCTION instead.
2109         * lib/prop_inttypes.c : include <stdlib.h> for strtol()
2111         * objects/sadt/annotation.c : disable TEMPORARY_EVENT_TEST for
2112         msvc instead of cleaning missing includes
2114         * plug-ins/wmf/wmf.cpp :
2115         * plug-ins/wmf/wmf_gdi.h : fixed for Font to DiaFont renaming
2117 2001-08-15  Cyrille Chepelov <chepelov@calixo.net>
2119         * app/app_procs.c:
2120         * app/load_save.c:
2121         * lib/dia_xml.c:
2122         * lib/plug-ins.c:
2123         * lib/sheet.c:
2124         * objects/custom/shape_info.c:
2125         * plug-ins/shape/shape-export.c:
2126         * plug-ins/svg/render_svg.c: used the libxml1/libxml2
2127         compatibility macros as taught by http://xmlsoft.org/upgrade.html;
2128         removed xmlKeepBlanksDefault(0) in favour for proper
2129         xmlIsBlankNode() testing. Lots of other fixups to use the
2130         "libxml1.5" (libxml2 parser embedded in recent libxml1), and to
2131         make libxml1 output correct files.
2133         * configure.in: use libxml2 (>= 2.3.9) if it's found, or
2134         libxml1 (>= 1.8.14). Exactly one of these must be installed (devel
2135         packages). If both devel packages are found, the build will stop 
2136         (Fredrik: please add a Build-Conflicts: on libxml2-dev for the moment) 
2138         * lib/bezier_conn.c: (bezierconn_init): Lars, you forgot to
2139         allocate the first handle :-)
2140         
2141         * lib/object.c: (object_init): <gratuitous>g_new() used instead of
2142         a cast and a sizeof.</gratuitous>
2144         * objects/custom/custom_object.c: (custom_copy): don't call
2145         text_get_attrbutes if the shape has no text...
2146         (custom_update_data): The info->resize_with_text code was a bit
2147         directive; basically, the shape's bounding box was forced to be 
2148         proportional to the text's bounding box.... This fixes #57187.
2149         
2150         * objects/custom/shape_info.c: (load_shape_info): Set an obvious
2151         default for info->aspect_ratio; unobfuscated a line about
2152         info->resize_with_text;
2153         
2154 2001-08-15  Cyrille Chepelov <chepelov@calixo.net>
2156         * lib/properties.h: added comments next to the PROP_TYPEs to tell
2157         which C Property subclass to use.
2158         
2159         * plug-ins/dxf/dxf-import.c: (read_entity_line_dxf): Removed the
2160         cast-ridden form of setting properties in a list, in favour for
2161         the "local pointers" form. I'll take any better offer...
2163 2001-08-14  Cyrille Chepelov <chepelov@calixo.net>
2164         
2165         * lib/font.c: fprintf(...) --> fprintf(format...)
2167         * configure.in: added a disabled versioned test for glib.
2168         * lib/prop_geomtypes.c: (bezpointprop_load), (bezpointprop_save),
2169         (bezpointarrayprop_load), (bezpointarrayprop_save): replaced
2170         g_critical() with a simple g_error(). Proper fix is to implement
2171         that stuff. 
2173         * lib/properties.h: PROP_STD_TEXT is a PROP_TYPE_TEXT, not a
2174         PROP_TYPE_STRING.
2175         
2176         * lib/properties.h:     
2177         * lib/propdesc.c: (prop_desc_list_calculate_quarks):
2178         * lib/proplist.c: (find_prop_by_name_and_type):
2179         * lib/prop_basic.c: (make_new_prop), (initialize_property):
2180         * lib/propoffsets.c: (do_set_props_from_offsets),
2181         (do_get_props_from_offsets), (prop_offset_list_calculate_quarks):
2182         Added a type_quark member to PropDescription, Property and
2183         PropOffset. Used it to implement a safety in
2184         do_[sg]et_props_from_offsets().
2185                 
2186         * objects/flowchart/diamond.c: the diamond's text was not saved,
2187         and thus not even copied (c&p).
2188         * objects/standard/textobj.c: ditto.
2190         Most of the above changes thanks to Robert Young's testing. Thanks !
2191         
2192 2001-08-14  Kjartan Maraas  <kmaraas@gnome.org>
2194         * sheets/*.sheet: Added some Norwegian translations (both nynorsk
2195         and bokmål).
2196         
2197 2001-08-13  Cyrille Chepelov  <chepelov@calixo.net>
2199         * lib/proplist.c (prop_list_from_descs): added a call to
2200         prop_desc_list_calculate_quarks(). (find_prop_by_name_and_type):
2201         too embarrassing to tell.
2202         
2203         * lib/propdesc.c (prop_desc_list_calculate_quarks): converted the
2204         while loop to a for loop, for symmetry with
2205         prop_offset_list_calculate_quarks().
2207         * lib/geometry.h: new inline function, rectangle_equals.
2209         * lib/diagramdata.[ch]: refactored a bit the diagram extents
2210         computation logic, and changed it to always be the union of the
2211         visible layers' extents. This should close #58882 (Debian
2212         #107167), and fixes #55498.
2214         * app/display.c: made the initial visible box more coherent with
2215         the diagram being loaded's extents.
2217         * app/prop_attr.c: don't set the font (from offset) if font_data
2218         is NULL. Two brainos in colorprop_load() and fontprop_load().
2219         
2220 2001-08-13  Cyrille Chepelov  <chepelov@calixo.net>
2222         * lib/properties.[ch]: split in a lot of pieces: 
2224         * lib/prop_*.[ch] (NEW): all property types are now first-class
2225         objects, inheriting from the original abstract Property type.
2226         * lib/propdesc.c (NEW): property description handling routines
2227         * lib/propoffsets.c (NEW): property offset handling routines
2228         * lib/proplist.c (NEW): property list handling routines
2229         * lib/propobject.c (NEW): property list <-> object routines
2230         * lib/propregistry.c (NEW): holds the PropertyType-->PropertyOps
2231         relations.
2232         * lib/propinternals.h: prototypes for stuff not usually needed by 
2233         the outside of StdProps.
2234         * lib/Makefile.am: a lot of new files have been added...
2236         THE ABOVE CHANGES ARE MAJOR CHANGES AND AFFECT THE WHOLE TREE, IN
2237         BOTH INTERFACES AND RUN-TIME STABILITY.
2239         * lib/plug-ins.h: bumped up DIA_PLUGIN_API_VERSION
2240         
2241         * lib/object.h: removed the incestuous relationship with
2242         properties.h' contents. Now a Property list is a GPtrArray -->
2243         object interface change !
2245         * app/app_procs.c/app_init(): removed a disabled call to a
2246         non-existent routine. Added a call to stdprops_init().
2247         
2248         * objects/Makefile.am: disabled the construction of EML. I'm not
2249         touching these until a certain issue is solved (or this module
2250         removed).
2251         * app/group.c:  
2252         * objects/**/*.c except objects/EML/*: adapted all stdprop-using 
2253         objects to the interface changes.
2254         
2255         * app/disp_callbacks.c: killed a warning.
2256         * lib/dia_xml.[ch]: sprinkled "const" modifiers. 
2258         * app/commands.c: 
2259         The macros PROP_VALUE_* have disappeared. Adapted to using the new 
2260         interface.
2262         * plug-ins/dxf/dxf-import.c: 
2263         * plug-ins/xfig/xfig-import.c: 
2264         PROP_VALUE_* macros have been removed. Converted to the new API.
2266         * plug-ins/python/**/*: I gave up converting this; I can't
2267         compile --with-python (problems with object.h defined both by us
2268         and by Python). I'll gladly help whomever cares to fix it !
2269         (or, fix it myself if someone tells me how to compile it).
2270         
2271         * configure.in: added the UNICODE-related progress defines.
2272                 
2273         * configure.in:
2274         * lib/geometry.h: On Solaris and perhaps other systems, finite()
2275         is defined in ieeefp.h rather than in math.h. Patch from Andrew
2276         Halper <ashalper@acm.org> with further modifications, isinf() is
2277         provided by -lsunmath (sunmath.h).
2278         
2279         * lib/font.c: conditionally disabled Lars' debugging messages.
2280         Bracketed the definition of DiaFontFamily with #ifdef HAVE_FREETYPE.
2281         
2282 2001-08-11  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2284         * lib/bezier_conn.h: 
2285         * objects/standard/bezier.c (bezierline_create): 
2286         * lib/bezier_conn.c (bezierconn_init): 
2287         Preparations for use of userdata for bezier lines.
2288         
2289         * objects/standard/polygon.c: 
2290         * objects/standard/create.h:
2291         * lib/polyshape.c:
2292         * lib/polyshape.h:
2293         * plug-ins/xfig/xfig-import.c:
2294         Use of user_data for polygon as well, including adding
2295         polyshape_set_points.  Include file for non-interactive 
2296         creation of standard objects, objects/standard/create.h
2298 2001-08-10  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2300         * app/render_gdk.c: 
2301         * app/render_gdk.h: 
2302         * lib/font.c:
2303         * lib/font.h:
2304         * lib/widgets.c:
2305         More preliminary freetype support.  Not at all functional, crashes
2306         when rendering.
2308         * lib/poly_conn.h: 
2309         * lib/poly_conn.c: 
2310         * objects/standard/polyline.c: 
2311         Support for creating polyline objects with more than two points.
2312         This includes an extra function and a prototype change in the
2313         poly_conn lib object.
2315         * lib/object.c (object_copy): Fixed memory leak of handles and
2316         connections.
2318 2001-08-08  Abel Cheung  <maddog@linux.org.hk>
2320         * dia.desktop: added traditional Chinese strings
2322 2001-08-04  Cyrille Chepelov  <chepelov@calixo.net>
2324         * NEWS: updated to reflect build-time dependencies.
2326         * lib/properties.[ch]: wrote get_prop_descriptions() as a wrapper
2327         around obj->ops->describe_props(obj). Quarks are none of an
2328         object's business in the general case... 
2329         * lib/text.c: Added an apply_textattr_properties() function to
2330         factor out some common code related to applying a dialog's text
2331         attribute properties to a (Text *) which wasn't edited there. 
2332         Ditto for textstr, for the string part of an objet.
2334         * objects/GRAFCET/action.c:
2335         * objects/SADT/annotation.c:
2336         * objects/SADT/box.c: used apply_textattr_properties().
2337         
2338         * objects/UML/actor.c: 
2339         * objects/UML/branch.c:
2340         * objects/UML/component.c:
2341         * objects/UML/constraint.c:
2342         * objects/UML/small_package.c:
2343         * objects/UML/state.c:
2344         * objects/UML/usecase.c:
2345         * objects/UML/large_package.c:
2346         * objects/UML/note.c:
2347         * objects/UML/node.c:
2348         * objects/UML/message.c:
2349         * objects/UML/classicon.c:
2350         * objects/UML/object.c:
2351         * objects/UML/realizes.c:
2352         * objects/UML/dependency.c:
2353         * objects/UML/implements.c:
2354         slim-fast(tm) cure using more StdProps, and UTF-8 audit.
2355         (most objects were already using StdProps to some extent ; this
2356         systematises usage and removes some dead wood). 
2357         
2358         * objects/UML/stereotype.[ch]: use UTF-8 internally. const police work.
2359         * objects/UML/uml.[ch]: audited for UTF-8.
2361         * objects/UML/class.c: the UML_STEREOTYPE_* strings defined by
2362         uml.h can be in UTF-8... this code isn't yet ready. Duplicating a
2363         private (ISO-8859-1) definition.
2364         
2365         * lib/charconv.c: Added a warning if we didn't run
2366         nl_langinfo(CODESET) but rely instead on a hardcoded default.
2367         
2368 2001-08-02  Cyrille Chepelov  <chepelov@calixo.net>
2370         * lib/diamenu.h:
2371         * app/disp_callbacks.c: added a way for an object to cause an
2372         already realised menu to be destroyed (for instance if it changes
2373         too much).
2375         * objects/custom/custom_object.c: used the above to fix #55073.
2377 2001-08-01  Lars Clausen  <lrclause@cs.uiuc.edu>
2379         * configure.in: Remove 2.50 prereq.
2381 2001-07-30  Cyrille Chepelov  <chepelov@calixo.net>
2383         * po-checktrans.py: under some circumstances, there was one column 
2384         more than what was supposed to be, thus breaking the formatting.
2385         
2386 2001-07-29  Cyrille Chepelov  <chepelov@calixo.net>
2387         
2388         * objects/SADT/annotation.c: forgot to add a #include <stdlib.h>
2390         * NEWS: updated with new stuff since 0.88
2392         * shapes/network/antenna.shape: the text was misplaced ; fixed.
2394         * shapes/network/firewall.(shape|xpm) (NEW): a brick-wall looking
2395         firewall router (upon request from Cyril Lacoux
2396         <clacoux@easter-eggs.com>)
2398         * configure.in (didn't rename to configure.ac): autoconf 2.50
2399         constructs were used ; added an AC_PREREQ call to guard against
2400         older autoconfs.
2401         
2402 2001-07-27  Cyrille Chepelov  <chepelov@calixo.net>
2404         * lib/properties.c: minor clean-ups with the event delivery code.
2406         * EML/instantiation.c: brought this object back from stone and ice
2407         age.    
2409         * app/diaconv.c(NEW): added a command-line conversion tool. Still
2410         lacks a man page and correctness. In fact, it doesn't work. Please
2411         see #58196 if you want to finish it.
2412         
2413         * lib/message.[ch]: redefined things a little so that a different
2414         message_internal routine could be passed.
2415         applications can use that to fit themselves to the display model.
2417 2001-07-26  Cyrille Chepelov  <chepelov@calixo.net>
2419         * objects/SADT/box.c: 
2420         * objects/GRAFCET/action.c: spelling in property descriptors (name
2421         field...)
2422         * objects/SADT/annotation.c: ditto, plus a temporary test of the
2423         event delivery code (try to click on the "click me !" button !).
2425         * app/group.c: 
2426         * lib/properties.[ch]: improved (fixed) support for group event 
2427         handlers. Fixed various things from yesterday's code to make it
2428         not too obviously crash.
2430 2001-07-26  Cyrille Chepelov  <chepelov@calixo.net>
2432         * app/group.c: added delivery of events to the first member of the
2433         group which is able to process it.
2435         * lib/properties.c(prop_desc_lists_intersection): properties
2436         don't match if they don't have identical event handler.
2437         * lib/properties.h: simplified the PropEventHandler signature.
2439         Event delivery code is still untested so far, but should be
2440         lurking harmless.
2441         
2442 2001-07-25  Cyrille Chepelov  <chepelov@calixo.net>
2444         * lib/properties.[ch]: Added (untested !) property event handler
2445         capability. Added a new PROP_TYPE_BUTTON, for the purpose of
2446         generating such events. This stuff compiles, and should lurk
2447         around silently as long as you don't declare property descriptors
2448         with events (AFAICT).
2449         In object_create_props_dialog() and friends:
2450         attached a single structure with lots of data instead of lots of
2451         little attachments of data to the dialog widget.
2452         
2453         * lib/object.h: fixed mild typedef breakage introduced by the above.
2455 2001-07-17  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2457         * lots of files: Changed Font to DiaFont
2458         * */Makefile.am: Added FREETYPE_LIBS
2459         * plug-ins/xfig/xfig-export.c: Improved (working:) color handling
2461 2001-07-13  Kjartan Maraas  <kmaraas@gnome.org>
2463         * configure.in: Added "nn" to ALL_LINGUAS.
2464         
2465 2001-07-09  Alex Larsson  <alexl@redhat.com>
2467         * app/disp_callbacks.c:
2468         Add gdk_im_ready() calls to XIM code.
2470 2001-07-04  Cyrille Chepelov  <chepelov@calixo.net>
2472         * lib/properties.[ch]: splitted prop_get_widget() into
2473         prop_get_widget() (gives a widget but doesn't fill it) and 
2474         prop_reset_widget() (fills an existing widget with a property's value).
2476         * lib/widgets.[ch]: const enforcement police work.
2478         * shapes/network/antenna.shape: added a connection point at top,
2479         upon request from <Emmanuel.Quemener@cri.ens-cachan.fr>.
2480         
2481 2001-06-25  Cyrille Chepelov  <chepelov@calixo.net>
2483         * intl/*: tested with gettext-0.10.38
2484         * configure.in: moved a macro call around (AM_PROG_CC) to keep
2485         some of autogen.sh from complaining.
2486         * INSTALL: added a warning against gettext older than at least 0.10.36
2487         
2488 2001-06-19  Cyrille Chepelov  <chepelov@calixo.net>
2490         * configure.in: added explicit calls to AM_LANGINFO_CODESET and
2491         AM_ICONV (both provided by gettext)
2493 2001-06-14  Cyrille Chepelov  <chepelov@calixo.net>
2495         * lib/charconv.c: corrected the degraded mode for when
2496         !HAVE_UNICODE. Thanks to Ben A. Hetland for reporting this.     
2498         * objects/chronoline/chronoline_events.c: UTF8 compliance.
2499         
2500 2001-06-13  Cyrille Chepelov  <chepelov@calixo.net>
2502         * lib/properties.[ch]: convenience macros around PROP_NOTEBOOKS ;
2503         new "eye candy" properties: PROP_MULTICOL_(BEGIN|PAGE|END) to lay 
2504         widgets on several columns, PROP_FRAME_(BEGIN|END) to put widgets
2505         into a frame box.
2507         * objects/chronogram/chronoline.c:
2508         * objects/chronogram/chronoref.c: took advantage of the above to
2509         make nicer looking dialogs.
2511         * lib/charconv.[ch]: added charconv_unichar_to_utf8 ("inspired"
2512         from libunicode's internals).
2513         * lib/message.c: convert strings to local encoding prior to
2514         display (UNICODE_WORK_IN_PROGRESS)
2515         * lib/properties.[ch]: convert strings to local encoding prior to
2516         display, and back to UTF8 (UNICODE_WORK_IN_PROGRESS).
2517         * lib/render.h: tagged strings as (utfchar *) instead of (char *)
2518         * lib/stringprerenderer.[ch]: ditto
2520         (lib/text.c has been audited for UTF8, but the size of the changes
2521         make them inappropriate for commit before 0.89)
2522         
2523 2001-06-12  Cyrille Chepelov  <chepelov@calixo.net>
2525         * objects/boolequation.h (<save|load>_boolequation): made the 
2526         prototypes for match the .c file.
2527         
2528         * samples/grafcet.dia: minor non-conformance with IEC-848
2529         fixed (in the transition from step 100 to step 101).
2531         * lib/properties.[ch]: added a flag (PROP_FLAG_DONT_MERGE) to
2532         disallow editing of properties if the object is part of a group.
2534         * objects/chronogram/chronoline.c: 
2535         * objects/SADT/annotation.c:
2536         * objects/SADT/box.c:
2537         * objects/GRAFCET/step.c:
2538         * objects/GRAFCET/transition.c:
2539         * objects/GRAFCET/condition.c: took advantage of PROP_FLAG_DONT_MERGE.
2540         
2541 2001-06-12  Hans Breuer  <hans@breuer.org>
2543         * lib/libdia.def : removed lazyprop exports
2544         * lib/makefile.msc : removed lazyprop.obj
2546         * objects/custom/custom_objects.c : use HAVE_UNISTD_H
2547         and avoid crashes by always creating a custom->text,
2548         when (custom->info->has_text) 
2550         * objects/makefile.msc : removed sybase from build
2552         * objects/GRAFCET/boolequation.c (<save|load>_boolequation) :
2553         ObjectNode is a pointer already, which is what we want
2554         instead of a pointer pointer.
2556         * plug-ins/wmf/wmf.cpp : fixed problem with arc scaling
2557         and implemented working export for images
2559         * shapes/network/zip-disk.shape : added connection points 
2561 2001-06-12  Cyrille Chepelov  <chepelov@calixo.net>
2563         * objects/SADT/box.c: removed lazyprops for standard props.
2564         * objects/chronograms/chronoline.c: removed lazyprops (phew !)
2565         * objects/chronograms/chronoref.c: ditto 
2567         * lib/Makefile.am:
2568         * lib/dummy_dep.h:
2569         * lib/connpoint_line.c:
2570         * lib/lazyprops.[ch] (DELETED): good riddance (closes #55895)
2571         * lib/properties.[ch]: new property types:
2572             - PROP_TYPE_STATIC: static text to be displayed in the dialog.
2573             - PROP_TYPE_MULTISTRING: same as string, but renders as a
2574             multi-line entry box.
2575             - PROP_TYPE_NOTEBOOK_BEGIN,_PAGE,_END: stuff to make dialogs
2576             in a tabbed-notebook style (this is a bit complicated to use; 
2577             see objects/chronograms/chronoline.c for an example).
2578                
2579 2001-06-11  Cyrille Chepelov  <chepelov@calixo.net>
2581         * objects/GRAFCET/boolequation.[ch]: zap lazyprops. Add standard props.
2582         * objects/GRAFCET/step.c: ditto.
2583         * objects/GRAFCET/vector.c: ditto.
2584         * objects/SADT/annotation.c: ditto.
2585         * objects/SADT/arrow.c: ditto (plus bounding box fixes).
2586         
2587         * lib/properties.[ch]: two more non-visible types
2588         (PROP_TYPE_ENUMARRAY and PROP_TYPE_INTARRAY).
2590         * lib/neworthconn.[ch]:
2591         * lib/orthconn.[ch]: added support for manipulation through
2592         standard properties.
2594         * configure.in: removed -fomit-frame-pointer, this seems to
2595         confuse recent gcc/gdb's, maybe we'll get better stack dumps in 
2596         bugzilla.
2598         * charconv.[ch]: more functions from unicode.h.
2599         get_local_charset() wasn't working properly, fixed now.
2600         A subtle crashbug in charconv_utf8_to_local8() nailed (thanks to 
2601         ElectricFence !)
2602         
2603         * objects/EML/process.h: pulled the bits of lazyprops.h it uses.
2604         * lib/lazyprops.[ch]: put a big fat warning in.
2606         * app/render_eps.c: one line mysteriously went away, causing a
2607         variable to be used uninitialised....
2609 2001-06-10  Cyrille Chepelov  <chepelov@calixo.net>
2611         * app/app_procs.c: commented out the call to
2612         bind_textdomain_codeset(): it's premature.
2613         
2614         * lib/connpoint_line.c: a NULL point can be given to
2615         connpointline_adjust_count(), in case there's not really a clicked
2616         point.
2618         * lib/textattr.h(NEW): moved the definition of TextAttributes to sort
2619         #include order troubles. #included by lib/text.h, so there is no 
2620         impact outside lib/.
2621         * lib/properties.[ch]: added support for CONNPOINT_LINE and
2622         (nonvisible) TEXT properties.
2624         * objects/GRAFCET/action.c:
2625         * objects/GRAFCET/vergent.c: dropped lazyprops for standard
2626         properties.
2627         
2628         * objects/UML/lifeline.c: pruned some legacy stuff (now pure
2629         standard properties code). Grafted a dynamic number of connection
2630         points (heavily inspired from what Vergent does). This is the real
2631         fix for #55863.
2633         * objects/GRAFCET/boolequation.[ch]: audited for UTF-8
2635         * lib/fonts.c: some hardening (mostly g_assert())
2636 2001-06-09  Cyrille Chepelov  <chepelov@calixo.net>
2638         * app/app_procs.c (app_init): added a call to
2639         bind_textdomain_codeset() so that gettext gives us UTF-8 strings
2640         (UNICODE_WORK_IN_PROGRESS).
2641         
2642 2001-06-08  Cyrille Chepelov  <chepelov@calixo.net>
2644         * plug-ins/xfig/xfig-import.c: corrected a typo (fixes #55910)
2646         * objects/UML/lifeline.c: patch from Marc <mrw@siemens.ch> 
2647         (fixes #55863) : some clean-ups in the handling of connection
2648         points. Now the total number of connection points is just a
2649         #define (the proper solution is to retrofit the GRAFCET Vergent's
2650         dynamic behaviour wrt connection points).
2651         
2652 2001-06-07  Cyrille Chepelov  <chepelov@calixo.net>
2654         * app/app_procs.c (app_init): added a call to unicode_init() (only
2655         if HAVE_UNICODE, of course).
2657         * lib/charconv.c: simplified the code which detects the local
2658         charset. No need to use <langinfo.h>, libunicode already takes the
2659         burden of figuring that out. Also, if local charset is utf8, no
2660         conversion will take place.
2661         Exposed a way to get the current charset (similar to
2662         unicode_get_charset() but actually working, hopefully).
2664         * lib/charconv.h: Added a partial non-UTF8 implementation of
2665         unicode.h if !HAVE_UNICODE (actually, all the time for the
2666         moment). The UTF8 implementation is just macros on libunicode (use
2667         the functions prefixed by uni_, as defined by charconv.h, not
2668         unicode_, unless that code is to be compiled only if HAVE_UNICODE).
2669         From now on, all strings which don't *need* to be ASCII should be
2670         utfchar *, not gchar *. Just include charconv.h, let it sort out
2671         the details (such as: "is libunicode available and enabled?") 
2673         * lib/ps-utf8.c: fixed a few name clashes. Used the charconv.h
2674         "API" instead of directly libunicode. Removed the now unnecessary
2675         speculative clustering of characters in encoding pages.
2677         * app/render_eps.c: made the local8->utf8 conversions dependent of
2678         !UNICODE_WORK_IN_PROGRESS (this is not where the local8/utf8
2679         boundary will be when this WIP is done).
2681         * lib/dia_xml.c (data_point): fixed a format string typo.
2683         * po/POTFILES.in: added all C files from lib/ 
2684         
2685 2001-06-06  Cyrille Chepelov  <chepelov@calixo.net>
2687         * app/disp_callbacks.c: make sure the objects' connected objects
2688         are updated when the objects' size changes after a keypress event
2689         (fixes #51222)
2691         * configure.in: added a big warning about the possible future
2692         non-optionality of --enable-unicode. 
2694         * TODO: removed entries which look like done ; added a few ones
2695         (Bugzilla "enhancement" bugs may be a better way to keep track of
2696         this)
2697         
2698 2001-06-05  Cyrille Chepelov  <chepelov@calixo.net>
2700         * objects/UML/message.c: got rid of #55564 and of message_copy()
2701         by using more standard properties (are the message_state_*()
2702         functions still necessary ?)
2704 2001-06-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
2706         * lib/plug-ins.c: 
2707         * objecs/custom/shape_info.c:
2708         * plug-ins/shape/shape-export.c:
2709         * plug-ins/svg/render_svg.c: patch from obecian <obecian@openbsd.org>
2710         use xmlChar instead of obsolete CHAR.
2712 2001-06-03  Hans Breuer  <hans@breuer.org>
2714         * app/diagram.h : added prototype for diagram_update_menu_sensitivity()
2715         * app/commands.c : give the right number of parameters
2716         to diagram_update_menu_sensitivity ()
2718         * app/preferences.c : do proper initialization for DiaPrefsData:
2719         render_bounding_boxes. It would be a real surprise if 'hidden'
2720         properties would have ever worked before.
2721         Don't try to access the widgets of hidden property, it does not
2722         have one.
2724         * lib/diagramdata.h : make render_bounding_boxes a DIAVAR, cause
2725         it is defined in libdia, but initialized from dia app, which 
2726         otherwise gave nice start-up crashes.
2728         * lib/diagramdata.c : initialize the color for rendering bounding 
2729         boxes in the Dia range (0 .. 1.0)
2731         * lib/libdia.def : added *_bbox functions for export
2733         * lib/makefile.msc : added new sources
2735         * objects/custom/custom_object.c : use HAVE_UNISTD_H
2737 2001-05-30  Cyrille Chepelov  <chepelov@calixo.net>
2739         * app/interface.c:
2740         * app/menus.c: patch from Hubert Figuiere <hfiguiere@teaser.fr> ;
2741         removes a translation of menus (in a place where there shouldn't
2742         have been), which gets rid of a waterfall of warnings if LANG!=C,
2743         and a fix to #55047.
2745 2001-05-29  Steffen Macke     <sdteffen@yahoo.com>
2747         * lib/charconv.c : added #include <errno.h>
2749         * app/dia_embedd.c : updated menus_get_item_from_path usage
2750         
2751 2001-05-27  Cyrille Chepelov  <chepelov@calixo.net>
2753         * lib/ps-utf8.c: Strings in Symbol fonts were incorrectly rendered.
2754         Added a special case for Symbol strings, so that they're not
2755         re-encoded using the LN encoding (we use the bare Adobe encoding
2756         instead).
2758         * objects/custom/custom_object.c: Now that #52912 is fixed,
2759         I could remove the ugly hack I wrote to squash the shape bounding box
2760         problem shown by Ben A. Hetland a few months ago, and fix it
2761         properly this time.
2762         
2763         * lib/text.c: enlarged a little the bounding box to account for
2764         the cursor in rightmost position.
2765         
2766         * lib/diagramdata.c: draw bounding boxes only if the relevant
2767         variable is set (as before), but also only if the rendere is
2768         interactive (ie, don't bother rendering bounding boxes on 
2769         Postscript...)
2770         Made the bounding box's line width a fixed value, 0.01
2771         
2772         * lib/boundingbox.c: fixed the "pointy corners" code for polylines
2773         and assymmetric control beziers. Implemented ellipse_bbox().
2774         
2775         * Makefile.am: incantations to get po/dia.pot build, as suggested
2776         by Hubert in #55075.
2777         
2778         * shapes/network/computer.shape: typo fixed.
2779         * shapes/network/antenna.shape: fixed #55074 (antenna is now
2780         properly translucent, except for its base where it makes sense. It
2781         doesn't look that ugly anymore if transparent mode is on).
2783         * configure.in: --enable-unicode is now the default. This
2784         still currently affects only printing.
2785         
2786 2001-05-26  Cyrille Chepelov  <chepelov@calixo.net>
2788         * lib/boundingbox.c: fixed a minor logic error wrt closed shapes. 
2789         The overshoot code is buggy, and the bounding boxes for polyshapes
2790         looks a bit cheezy. To be done ASAP.
2792 2001-05-26  James Henstridge  <james@daa.com.au>
2794         * configure.in: call AM_PATH_PYTHON rather than AM_PATH_PYTHON_JH.
2795         This should clear up some of the build problems people have been
2796         having.
2798         * acinclude.m4: call AM_PATH_PYTHON_JH AM_PATH_PYTHON
2800 2001-05-26  Cyrille Chepelov  <chepelov@calixo.net>
2802         * lib/Makefile.am:
2803         * lib/boundingbox.[ch] (NEW): (some) refactoring of the bounding
2804         box code (beginning with lines, polylines and polybeziers), into a
2805         more generic facility. While at it, a better shot at correctly
2806         computing the bounding box of a Bezieroid (should take care of
2807         #53424, #51233 and of course is part 1 of #52912).
2809         * lib/diagramdata.c: turned the RENDER_BOUNDING_BOXES conditional
2810         into a hidden preference (set render_bounding_boxes in diarc).
2811         * app/preferences.[ch]: Added support for hidden preferences.
2813         * lib/geometry.[ch]: sprinkled with "const" modifiers.
2814         
2815         * lib/bezier_conn.[ch]:
2816         * lib/beziershape.[ch]:
2817         * lib/connection.[ch]:
2818         * lib/element.[ch]:
2819         * lib/poly_conn.[ch]:
2820         * lib/orth_conn.[ch]:
2821         * lib/neworth_conn.[ch]:
2822         * lib/polyshape.[ch]: adapted to take advantage of
2823         boundingbox.[ch] instead of relying on private (duplicate) code.
2825         * object/FS/flow.c:
2826         * object/GRAFCET/action.c:
2827         * objects/GRAFCET/condition.c:
2828         * objects/GRAFCET/vergent.c:
2829         * objects/GRAFCET/vector.c:
2830         * objects/SADT/annotation.c:
2831         * objects/SADT/arrow.c:
2832         * objects/ER/participation.c:
2833         * objects/UML/constraint.c:
2834         * objects/UML/implements.c:
2835         * objects/UML/lifeline.c:
2836         * objects/UML/message.c:
2837         * objects/UML/realizes.c:
2838         * objects/UML/generalization.c:
2839         * objects/UML/association.c:
2840         * objects/UML/dependency.c:
2841         * objects/FS/flow-ortho.c:
2842         * objects/network/bus.c:
2843         * objects/standard/arc.c:
2844         * objects/standard/bezier.c:
2845         * objects/standard/beziergon.c:
2846         * objects/standard/line.c:
2847         * objects/standard/polygon.c:
2848         * objects/standard/zigzagline.c:
2849         
2850         * objects/standard/polyline.c: Some *BBExtras structures changed
2851         names while moving to boundingbox.[ch]. A trivial mass-renaming.
2852         
2853 2001-05-20  Cyrille Chepelov  <chepelov@calixo.net>
2855         * app/disp_callbacks.c (ddisplay_canvas_events): Take into account
2856         wheel mouses for scrolling (from Patrick Sung <phsung@ualberta.ca>)
2858         * app/display.c (ddisplay_update_scrollbars): from Patrick's
2859         suggestion, remove the extra scrollable area (it was only visible
2860         to the scrollbars). This is experimental.
2861         
2862         * objects/custom/custom_object.c: If a shape's icon file doesn't 
2863         exist, warn and substitute a default icon, instead of crashing.
2864         (fixes #52913)
2865         
2866         * objects/network/network.c:
2867         * shapes/network/modularswitch.(shape|xpm) (NEW):
2868         * shapes/network/printer.(shape|xpm) (NEW):
2869         * shapes/network/genmonitor.(shape|xpm) (NEW):
2870         * shapes/network/computer.(shape|xpm) (NEW):
2871         * shapes/network/Makefile.am: four less objects, four more shapes.
2872         These were the last known RenderObjects. (phew !)
2874         * lib/Makefile.am:
2875         * lib/dummy_dep.h:
2876         * objects/sybase/Makefile.am: 
2877         * objects/network/Makefile.am: Removed the older Renderobjects
2878         from the build, and their infrastructure (not yet deleted,
2879         though).
2881         * shapes/network/sceadplug.shape:
2882         * shapes/network/antenna.shape:
2883         * shapes/network/modem.shape:
2884         * shapes/network/hub.shape:
2885         * shapes/network/rj45plug.shape:
2886         * shapes/sybase/client.shape:
2887         * shapes/sybase/dataserver.shape:
2888         * shapes/sybase/ltm.shape:
2889         * shapes/sybase/repserver.shape:
2890         * shapes/sybase/rsm.shape:
2891         * shapes/sybase/stableq.shape: Minor corrections (line widths were
2892         ten times too narrow).
2893         
2894 2001-05-19  Cyrille Chepelov  <chepelov@calixo.net>
2896         * objects/network/network.c:
2897         * shapes/network/sceadplug.(shape|xpm) (NEW):
2898         * shapes/network/antenna.(shape|xpm) (NEW):
2899         * shapes/network/modem.(shape|xpm) (NEW):
2900         * shapes/network/Makefile.am: four less objects, four more shapes.
2901         
2902         * lib/Makefile.am:
2903         * lib/diagramdata.c:
2904         * lib/render.h:
2905         * lib/string_prerenderer.[ch] (NEW):
2906         Add a new renderer primitive, predraw_string() (does nothing, to be
2907         used as a hook to optimise the character encodings if needed). 
2908         Added a string pre-renderer, which can be viewed as a filter
2909         renderer (to route draw_string() to predraw_string() and ignore
2910         the rest, in a first rendering pass)
2911         
2912         * app/render_eps.c: Took advantage of the above to make wholly
2913         optimised Postscript encoding page(s), even (especially) with 
2914         non-latin1 code (HAVE_UNICODE must be true).
2916         (#53512 in fact is wholly resolved).
2917         
2918 2001-05-18  Cyrille Chepelov  <chepelov@calixo.net>
2920         * lib/charconv.c: steps towards resolution of #53512 (inspired by
2921         Alexey Novodvorsky <aen@logic.ru>'s patch).
2923         * app/menus.c (dia_menu_signal_proxy): checked that the signal
2924         handler is not NULL before transferring control to it... (fixes #52836)
2926         * app/app_procs.c (app_init): removed non-constant initialiser
2927         (fixes #52950)
2929         * objects/custom/custom_object.c:
2930         * objects/custom/shape_info.[ch]:
2931         * objects/custom/test.xml: merged patch #53476 from Steven Hawkins 
2932         <skh@mathstar.com>. This add support for a <svg:text> shape
2933         element, and some related style properties (font, font height, 
2934         alignment)
2936         * doc/custom_shapes: a precision about the meaning of case in a
2937         SVG path (closes #52364)
2939         * lib/dummy_dep.h: fix for SGI IRIX 6.2 (#53053, reported and
2940         fixed by <drk@sgi.com>)
2941         
2942 2001-05-17  Cyrille Chepelov  <chepelov@calixo.net>
2944         * objects/network/network.c:
2945         * shapes/network/Makefile.am:
2946         * shapes/network/hub.(shape|xpm) (NEW):
2947         * shapes/network/flash.(shape|xpm) (NEW):
2948         * shapes/network/rj45plug.(shape|xpm) (NEW):
2949         More shapes, less renderobjects.
2951 2001-05-16  Cyrille Chepelov  <chepelov@calixo.net>
2952         
2953         * plug-ins/svg/render_svg.c: typo made exported ellipses
2954         corrupted (zero Y pseudo-radius).
2956         * objects/network/network.c:
2957         * objects/network/disc.c:
2958         * shapes/network/disc.(shape|xpm): Converted the first
2959         Renderobject into a shape. Normally, old diagrams should reload
2960         without problems (please check this against your diagrams). More
2961         flexibility should be gained that way. I intend to hunt and
2962         eradicate all renderobjects as I can commit cycles to that. 
2964         * objects/Makefile.am:
2965         * configure.in:
2966         * app/Makefile.am:
2967         * objects/sybase/sybase.c:
2968         * shapes/sybase/Makefile.am(NEW):
2969         * shapes/sybase/client.(xpm|shape) (NEW):
2970         * shapes/sybase/dataserver.(xpm|shape) (NEW):
2971         * shapes/sybase/ltm.(xpm|shape) (NEW):
2972         * shapes/sybase/repserver.(xpm|shape) (NEW):
2973         * shapes/sybase/rsm.(xpm|shape) (NEW):
2974         * shapes/sybase/stableq.(xpm|shape) (NEW): converted Sybase
2975         renderobjects into shapes. The Sybase objects are now not compiled
2976         anymore, and ready to be nuked if nobody objects in the next few weeks.
2977         
2978         * app/commands.c:
2979         * app/diagram.[ch]:
2980         * app/disp_callbacks.c:
2981         * app/display.[ch]:
2982         * app/interface.[ch]:
2983         * app/menus.[ch]:
2984         * app/modify_tool.c:
2985         * app/preferences.[ch]:
2986         * app/recent_files.c:
2987         * app/select.c: Added patch #52364 from Hubert Figuiere. This adds
2988         a menu bar reflecting the popup menu, to each display window. This
2989         is optional (changing the preference currently doesn't affect
2990         already opened windows; a few other rough edges to cut).
2992         * plug-ins/wpg/wpg.c:
2993         * plug-ins/xfig/xfig-import.c:
2994         * plug-ins/python/pydia-property.c:
2995         * plug-ins/python/pydia-properties.c:
2996         * plug-ins/python/pydia-geometry.c:
2997         * plug-ins/pstricks/render_pstricks.c:
2998         * lib/arrows.c:
2999         * objects/EML/dbox.c:
3000         * lib/ps-utf8.c: paleolithic C compilers choke on //. Should fix 
3001         #53054.
3003         * lib/ps-utf8.c: improved the clustering of alphabetic character
3004         definitions in custom encodings pages.
3005         
3006 2001-05-02  Hans Breuer  <hans@breuer.org>
3008         * lib/object.h : OBJECT_COMMON_PROPERTIES_OFFSETS correct type 
3009         of 'obj_bb' to PROP_TYPE_RECT
3011         * objects/custom/custom_object.c : take all quarks into account, 
3012         not only 4 as copy&paste suggests
3014         * objects/uml/objects.c : completed the implementation of the
3015         property api to avoid reading of totally bogus data. Removed
3016         the PROBABLY_DEAD_CODE. It actually was dead code, but not because
3017         there was too much but too less ...
3018   
3019         The above changes removed all known crashes (mentioned below) 
3020         from the Property API. Property access is still incomplete though.
3022         * objects/flowchart/box.c :
3023         * objects/flowchart/diamond.c :
3024         * objects/flowchart/ellipse.c :
3025         * objects/flowchart/parallelogram.c :
3026         * objects/uml/classicon.c :
3027         * objects/uml/state.c : calculate number of quarks from quark array 
3028         size instead of using hardcoded values for consistence and to avoid 
3029         future bugs like the above
3030         
3031         * objects/eml/nlist.c : include <string.h> for strcmp()
3033         * lib/dia_xml.c : relax g_warning for values, which
3034         appear to be too small. There is nothing which prevents
3035         them while saving
3037         * plug-ins/python/pydia-geometry.c : changed stringifying of
3038         geometry objects accept BezPoint back to %f, which does not
3039         crash anymore, because all the data is intialized now and it
3040         simply is more readable than %e ...
3042         * plug-ins/python/python-startup.py : removed dependency
3043         to PyGtk, because it isn't required here and probably won't
3044         in i.e.: export filters.
3046         * plug-ins/python/gtkcons.py : create the gtkoutfile even
3047         if sys.stderr.fileno() isn't supported
3049         * app/makefile.msc : make version 0.88
3050         * plug-ins/makefile.msc : make version 0.88 an added new
3051         xfig files to build
3053 2001-05-11  James Henstridge  <james@daa.com.au>
3055         * NEWS: remember to add news items this time.
3057         * dia.spec: update spec file for 0.88 release.
3059         * configure.in: up version number to 0.88
3061         * plug-ins/python/Makefile.am (EXTRA_DIST): fix up typo that was
3062         preventing any of the useful python scripts from being
3063         distributed.
3065         * sheets/Makefile.am (sheet-translation-report): fix bustage I
3066         introduced in my fixups for the 0.87 release :(
3068 2001-05-10  Lars Clausen  <lrclause@cs.uiuc.edu>
3070         * plug-ins/xfig/xfig-import.c: Finally got groups working.
3072 2001-05-09  Lars Clausen  <lrclause@cs.uiuc.edu>
3074         * plug-ins/xfig/xfig-import.c: Improvements to error handling and
3075         group manipulation.
3077 2001-05-09  Cyrille Chepelov  <chepelov@calixo.net>
3079         * lib/ps-utf8.[ch]:
3080         * lib/Makefile.am: fix makefile breakage which led to not
3081         including ps-utf8.[ch] in the released tarballs. 
3083 2001-05-09  James Henstridge  <james@daa.com.au>
3085         * Makefile.am (core-translation-report): dist scripts needed for
3086         this target, and change to $(srcdir) before running.
3088         * sheets/Makefile.am (EXTRA_DIST): actually dist the sheets.  DATA
3089         files aren't automatically included in the tarball by automake
3090         because they could be generated files.
3092         * objects/EML/Makefile.am (EXTRA_DIST): fix directory names.
3094         * doc/en/Makefile.am (install-data-hook): fix up where graphics
3095         are installed.
3097         * configure.in: up version number to 0.87
3099         * plug-ins/python/*.py: no longer necessary to explicitly set
3100         sys.argv, as python.c does it for us now (like it should).
3102         * plug-ins/python/gtkcons.py: fix up so it plays nicely as a dia
3103         python plugin.
3105         * plug-ins/python/python-startup.py: startup script that imports
3106         all modules in $(datadir)/dia/python and ~/.dia/python.
3108         * plug-ins/python/python.c (dia_plugin_init): change so that it
3109         only runs the $(datadir)/dia/python-startup.py script.  Make sure
3110         that sys.argv and __main__.__file__ are set when calling the
3111         startup script.
3113         * plug-ins/python/Makefile.am: update makefile.  Make it install
3114         gtkcons.py plugin.  I haven't set any other plugins to install, as
3115         they look like they are mainly for debugging purposes.
3117         * configure.in: add tests to detect if python is available, so we
3118         can build the python plugin.  Only run if --with-python passed to
3119         configure.
3121 2001-05-08  James Henstridge  <james@daa.com.au>
3123         * acinclude.m4: add macros for detecting python.
3125         * app/menus.c (dia_gnome_menu_get_widget): handle paths that point
3126         at GNOME_APP_UI_SUBTREE entries.
3127         (menus_add_path): function to add a menu item to the menubars.
3128         Uses a hash table to keep track of extra menu items it adds.  Also
3129         notifies the item factory about the entries so that accels can be
3130         saved for them.
3131         (menus_add_path): implement gtk only version.
3132         (menus_init): use menus_add_path() to add the menu.
3133         (plugin_callback): simplify.
3135 2001-05-08  Steffen Macke <sdteffen@yahoo.com>
3137         * app/menu.c: removed #ifndef GNOME; GNOME build was broken
3138         
3139 2001-05-08  Lars Clausen  <lrclause@cs.uiuc.edu>
3141         * plug-ins/xfig/xfig-export.c: 
3142         * plug-ins/xfig/xfig-common.c: 
3143         * plug-ins/xfig/xfig-import.c: 
3144         * plug-ins/xfig/xfig.c: 
3145         * plug-ins/xfig/xfig.h: 
3146         * app/Makefile.am: Added support for exporting to Fig format
3147         (except splits, which are less powerful in Fig).  Some refactoring
3148         along the way.
3150 2001-05-02  Hans Breuer  <hans@breuer.org>
3152         * plug-ins/python/debug_objects.py : added another
3153         test to get massive crashes from the Property API due
3154         to unintialized data.
3156         * app/menu.c : the callback_action wasn't incremented
3157         (should have checked my last optimization). Now more
3158         than one plug-in callback is supported again.
3160         * plug-ins/python/pydia-geometry.c : avoid crashes from
3161         glib, when trying to g_strdup_printf unintialized floats.
3163         * plug-ins/python/pydia-property.c : avoid crashes from
3164         because of string_data == NULL (PROP_TYPE_FILE, PROP_TYPE_STRING)
3166 2001-05-01  Hans Breuer  <hans@breuer.org>
3168         * objects/makefile.msc : added eml
3169         * objects/eml/instantiation.c : initialize 'inst' pointer
3170         before using, zero initialization for objects
3171         * objects/eml/interaction-ortho.c :
3172         * objects/eml/interaction.c : zero initialization for objects
3174         * app/menus.c : removed Gimp mru stuff which slipped in at
3175         2000-08-15, was never activated and will never be needed, 
3176         because of Steffens recent file list patch added at 2001-01-05.
3178         * objects/eml/*.c : some more zero initialization of objects
3179         to avoid infinite (uninitialized) bounding boxes
3181         Implemented a callback api which allows plug-ins to register
3182         menu call backs. Dia for Gnome should compile, but will need 
3183         some extra tweaking to make it work because I can't test it.
3185         * plug-ins/python/pydia-error.h :
3186         * plug-ins/python/pydia-render.c : moved Pxthon function return 
3187         value handling from pydia-render.c to pydia-error.h, to make it
3188         usable for
3189         * plug-ins/python/diamodule.c : implement callback function
3190         registration from and relaying to Python code
3192         * app/menus.c : register and use plug-in menu callbacks
3194         * lib/filter.[hc] : implement filter_register_callback() and
3195         filter_get_callbacks() for the above
3196         * lib/libdia.def : export them
3198         * plug-ins/python/debug_objects.py (new file): 
3199         sample using the above
3201 2001-04-27  Lars Clausen  <lrclause@cs.uiuc.edu>
3203         * plug-ins/shape/shape-export.c (new_shape_renderer): 
3204         The name of a shape is now taken from the dir, to conform with
3205         standard naming.
3207 2001-04-25  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3209         * app/properties.c (properties_show): Added title containing
3210         object type, plus (hopefully) fix of the ghost properties dialog.
3212 2001-04-16  Cyrille Chepelov  <chepelov@calixo.net>
3214         * app/display.c: remove the display idle handler in case we
3215         destroy the ddisplay (caused crashes in ddd, probably random
3216         crashes elsewhere).
3218         * autogen.sh: 
3219         * configure.in:
3220         * Makefile.am: hack around gettext-0.10.36's new "features".
3221         
3222         * lib/properties.[ch]: added new function object_copy_props().
3223         Added new property type PROP_TYPE_ENDPOINTS
3225         * lib/connection.h: added support for load/saving through the
3226         properties interface.
3228         * lib/object.[ch]: object_load/save/copy_using_properties()
3229         support functions (code factorisations).
3230         
3231         * objects/GRAFCET/boolequation.c: check against null values in
3232         boolequation_set_value() and boolequation_destroy().
3234         * objects/GRAFCET/transition.c: Converted from lazyprops to
3235         standard properties. 31% less (x86) code !
3237         * objects/GRAFCET/condition.c: also converted from lazyprops to
3238         standard properties. Also killed lots of code.
3239         
3240 2001-04-13  Hans Breuer  <hans@breuer.org>
3242         * plug-ins/wmf/wmf.cpp : changed text conversion from
3243         g_utf8_utf16 to g_convert usage. The latter function is already
3244         available in tml's last "official" Gtk+ version (2000-12-26).
3245         This change allows to use recent Dia with either the official
3246         version or the latest cvs "gtk-1-3-win32-production"-branch.
3248 2001-04-14  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3250         * Patch from David S. Thompson <dcthomp@mail.utexas.edu>:
3251         * app/disp_callbacks.c:
3252         - Allow submenus in DiaMenus.
3253         - Don't require DiaMenu.title to be non-null (so that
3254           submenus aren't required to have titles)
3256         * objects/FS/function.c:
3257         - object menu now has submenus, an almost complete list of
3258           standard-basis verbs, and a start on nouns.
3259         - box padding, dash length, and other visual attributes are
3260           scaled by the font size... eventually font height will be
3261           a function property.
3262         - draw functions with smaller font to make initial view hold
3263           a reasonable number of functions.
3264         
3265 2001-04-13  Cyrille Chepelov  <chepelov@calixo.net>
3267         * sheets/ER.sheet:
3268         * sheets/chronogram.sheet:
3269         * sheets/jigsaw.sheet:
3270         * sheets/sybase.sheet: Updated Dutch sheet translations from Dag
3271         Wieers <dag@wieers.com>
3273 2001-04-13  Hans Breuer  <hans@breuer.org>
3275         * app/app_procs.c (app_exit) : added g_return_if_fail (!app_exit_once)
3276         to ensure that all the deinitialization is only done once. Fixes
3277         recent app exit crash on win32
3279         * lib/dia_xml.c : provide isinf() replacement for msc which does only
3280         have _finite()
3282         * lib/libdia.def : updated
3284         * objects/makefile.msc : added wanlink.c 
3286         * objects/network/wanlink.c : added M_PI_2 definition for poor
3287         platforms which don't have one
3289         * objects/standard/arc.c :
3290         * objects/standard/zigzagline. c: part of ConectionBBExtras wasn't
3291         initialized which led to rather huge bounding boxes (try Ctrl^A on
3292         diagrams with Arcs or ZigZagLines).
3293         * objects/*/*.c : to avoid further bugs like the above changed all
3294         object initializations to g_malloc0 or g_new0
3297 2001-04-09  Cyrille Chepelov  <chepelov@calixo.net>
3299         * lib/paper.[ch]: get rid of "no previous prototype fo `foo'" by
3300         doing a s/T foo()/T foo(void)/ for all possible values of T and foo.
3302         * objects/UML/class.c: 
3303         * objects/UML/usecase.c:
3304         * objects/UML/large_package.c:
3305         * objects/UML/message.c:
3306         * objects/UML/object.c:
3307         * objects/UML/lifeline.c:
3308         * objects/FS/flow.c:
3309         * objects/FS/flow-ortho.c:
3310         * objects/FS/function.c:
3311         * objects/custom/custom_object.c:
3312         * objects/GRAFCET/vergent.c:
3313         * objects/chronogram/chronoref.c:
3314         * objects/SADT/box.c:
3315         * objects/SADT/annotation.c:
3316         * plug-ins/dxf/dxf-import.c:
3317         * plug-ins/xfig/xfig-import.c:
3318         * plug-ins/wpg/wpg.c:
3319         * app/command.c:
3320         * app/app_procs.c:
3321         * app/display.c: /* certainly more WIP than dead code there */
3322         Unused variables, unused static function definitions, forgotten or
3323         incomplete prototypes added or fixed, lack of const or unwanted const,
3324         etc. (mostly clean-ups of leftovers of the pre-properties era).
3325         Non-obvious cases bracketed by #define THIS_IS_PROBABLY_DEAD_CODE,
3326         please check these.
3328         * app/lineprops_area.c: More of the same. Missing prototypes
3329         added, and functions unused outside made static.
3331         * app/recent_files.c:
3332         * app/properties.c:
3333         * app/defaults.c: some variables are used only when doing a GNOME
3334         build.
3335         
3336         * app/magnify.c: missing #include <stdlib.h>.
3338         * app/paginate_gnomeprint.c: Unused variable; missing "message.h".
3340         These are a lot of clean-ups (by the way, this compiles and runs
3341         cleanly with "gcc-3.0 -O2 -Wall --std=gnu99" too !); please grep
3342         for DEAD_CODE, and if it's yours, judge it.
3343         
3344 2001-04-07  Cyrille Chepelov  <chepelov@calixo.net>
3346         * plug-ins/dxf-import.c: some progress with the arcs; still some
3347         clean-ups to do and line width scaling issues to figure out.
3349         * objects/standard/arc.c: start_point and end_point properties
3350         (duplicated from standard/line.c)
3352         * plug-ins/xfig/xfig-import.c: zip ! zap ! no more dead DXF import
3353         code there.
3354         
3355 2001-04-06  Cyrille Chepelov  <chepelov@calixo.net>
3357         * plug-ins/dxf-import.c: setlocale-related clean-ups and fixes ;
3358         preliminary support for arcs (doesn't work). Circles and ellipses are
3359         now transparent. Coordinate and width scaling are now a common 
3360         static constant (probably before morphing into a preference).
3361         
3362         * sheet/checktrans.py: improved error reporting. Made checktrans
3363         count lack of <name xml:lang="code"> as a lack of translation for
3364         language "code" (no, it's not a plot to bring down other
3365         language's scores !)
3366         
3367         * sheet/*.sheet: Ensured all sheets have an encoding="iso-8859-1"
3368         in the header, and have <name xml:lang="fr"> components.
3369         
3370 2001-04-05  Cyrille Chepelov  <chepelov@calixo.net>
3372         * objects/custom/custom_object.c: temporary hack to fix the shape
3373         bounding box reported by Ben A. Hetland. Proper fix isn't .87
3374         material, see bugzilla #52912.
3376 2001-04-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3378         * objects/standard/image.c (get_directory): Now uses
3379         G_SEPARATOR_CHAR_S instead of "/"
3381         * sheets/network.sheet: 
3382         * sheets/Logic.sheet:
3383         * sheets/Flowchart.sheet:
3384         * sheets/Electric.sheet:
3385         * sheets/Circuit.sheet:
3386         * sheets/ER.sheet:
3387         * sheets/Pneumatic.sheet:
3388         * sheets/SDL.sheet:
3389         * sheets/UML.sheet:
3390         * sheets/GRAFCET.sheet:
3391         * sheets/MSE.sheet:
3392         * sheets/chronogram.sheet:
3393         * sheets/civil.sheet:
3394         * sheets/network.sheet:
3395         Danish translations.
3396         
3397         * objects/standard/image.c (get_directory): Changed get_directory
3398         to use g_dirname to find the directory part.
3400 2001-04-05  Cyrille Chepelov  <chepelov@calixo.net>
3402         * sheets/ER.sheet:
3403         * sheets/Electric.sheet:
3404         * sheets/Flowchart.sheet:
3405         * sheets/Logic.sheet:
3406         * sheets/network.sheet: More Dutch translations from Dag Wieers.
3408 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
3410         * sheets/checktrans.py: now emits a warning when two descriptions
3411         for a single language code are found.
3413         * Makefile.am:
3414         * sheets/Makefile.am: -translation-reports now also depend on their
3415         checktrans.py
3416         
3417 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
3419         * sheets/Circuit.sheet:
3420         * sheets/Contact.sheet:
3421         * sheets/Logic.sheet:
3422         * sheets/chronogram.sheet:
3423         * sheets/sybase.sheet: 
3424         Dutch translations from Dag Wieers <dag@wieers.com>
3426 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
3428         * po-checktrans.py: Now shows the detailed counts alongside the
3429         percentage of translations.
3430         
3431 2001-04-03  Cyrille Chepelov  <chepelov@calixo.net>
3433         * Makefile.am:
3434         * po-checktrans (NEW):
3435         * po-checktrans.py (NEW): builds core-translation-report:
3436         percentages of core (gettext) translations done [Not placed into
3437         po/ where that should belong, because of integration fear^Wissues
3438         with gettextize]. 
3440         TO THE KIND ATTENTION OF PACKAGERS: core-translation-report and 
3441         sheets/sheet-translation-report probably ought to be copied on the 
3442         user's /usr/share/doc/dia (or equivalent) directory.
3444         * sheets/Makefile.am: sheet-translation-report now a simple
3445         EXTRA_DIST; make install won't install it by default. 
3446         
3447 2001-04-03  Cyrille Chepelov  <chepelov@calixo.net>
3449         * app/preferences.c: changed the default grid colour to something
3450         less intrusive. 
3452         * shapes/SDL/*.shape:
3453         * sheets/SDL.sheet: renamed all SDL shapes to conform to the
3454         "$LIBRARY - $NAME" convention. THIS REQUIRES FIXING THE EXISTING
3455         DIA FILES (well, for files using SDL), see the mailing list
3456         archive "SDL (ab)using the global shape namespace" for a script to
3457         do this conversion.
3459         * sheets/SDL.sheet: translated into French
3460         * sheets/network.sheet: fixed XML typos. Yay ! 100% :-)
3461         
3462 2001-04-02  Cyrille Chepelov  <chepelov@calixo.net>
3464         * lib/dia_xml.c: made data_point() more paranoid
3466         * sheets/Makefile.am:
3467         * sheets/checktrans (NEW):
3468         * sheets/checktrans.py: Made checktrans handle more gracefully the
3469         absence of python and python-xml packages, and made the error
3470         message more helpful.
3471         
3472 2001-04-01  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3474         * lib/render_object.c (new_render_object): Made initial handles
3475         behave like on most other objects.
3477         * app/load_save.c (read_objects): Fixed premature free'ing ofr
3478         typestr causing garbage.
3480 2001-04-01  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
3482         * objects/FS/flow-ortho.c: Fixed a crashbug causes by not
3483         accouting for handle ordering through copy and save. (#51479)
3485 2001-03-31  Cyrille Chepelov  <chepelov@calixo.net>
3487         * sheets/Circuit.sheet: Norwegian translation mistagged to German.
3489 2001-03-31  Steffen Macke  <sdteffen@yahoo.com>
3491         * sheets/Circuit.sheet
3492         * sheets/UML.sheet
3493         * sheets/network.sheet: Updated German translations
3494         
3495 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
3496         * lib/arrows.[ch]:
3497         * lib/widgets.c:
3498         * app/lineprops_area.c: The return of the revenge of the arrow
3499         heads. Now all types covered by ISO 10303-201 should be covered.
3500         
3501 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
3503         * sheets/Flowchart.sheet: translations in probably Hungarian were
3504         a victim of cut-n-paste from the German one. Fixed (hopefully).
3505         * sheet/UML.sheet: translation in probably Norwegian was a victim
3506         of cut-n-paste from the French one. Fixed (hopefully).
3507         * sheets/Logic.sheet: French translation not tagged with
3508         xml:lang="fr".
3509         
3510         * sheets/checktrans.py:
3511         * sheets/Makefile.am: new file, sheet-translation-report, to be
3512         installed along the sheets, show how much of them has been
3513         translated into which language (I wish the result was prettier...)
3515         * po/README: most translators don't read this file, but anyway...
3517         * sheets/.cvsignore:
3518         * objects/network/.cvsignore: the usual negotiation with CVS.
3520 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
3522         * sheets/*.sheet: French translations
3524 2001-03-28  Cyrille Chepelov  <chepelov@calixo.net>
3526         Added patch #52363 from Hubert Figuiere <hfiguiere@teaser.fr>:
3528         ** objects/network/network.c:
3529         ** objects/network/wanlink.c:
3530         ** objects/network/pixmaps/wanlink.c:
3531         ** sheets/network.sheet:
3532         ** objects/network/Makefile.am: a better object to use instead of
3533         the older WAN Connection.
3534         
3535         ** lib/geometry.[ch]: rotation matrix functions in geometry.c (derived from gimp)
3537         ** objects/GRAFCET/vector.c: renamed Vector to GRAFCETVector to avoid a
3538         name clash 
3540         * objects/GRAFCET/vector.c: Re-renamed GRAFCETVector into
3541         Arc; kept the C file name (because CVS wouldn't like it), and
3542         still registering the older object name (but advertising the newer
3543         one in sheets/GRAFCET.sheet).   
3545 2001-03-24  Hans Breuer  <hans@breuer.org>
3547         * app/dia.def : some plug-ins (currently only python, xfig) are using 
3548         functions from the dia executable. To get them working these functions 
3549         need to be explicit exported on win32. IMO the much cleaner way would
3550         be to move these functions to libdia, but that would require some
3551         long term restructuring ...
3553         * lib/libdia.def : updated
3555         * plug-ins/makefile.msc : build xfig plug-in
3557 2001-03-24  Hans Breuer  <hans@breuer.org>
3559         * app/diagram.c : g_strdup (dia->filename) because it will be
3560         g_free ()d
3562         * app/display.c : set ddisp->renderer to NULL after destruction.
3563         This may solve or help to identify erroneous access to it after
3564         destruction.
3566         * plug-ins/wmf/wmf.cpp : convert string from utf8 to wchar to
3567         get 'umlauts' working
3569 2001-03-22  Cyrille Chepelov  <chepelov@calixo.net>
3571         * object/chronogram/chronoline_event.c: stupid bug ; rises and falls
3572         were reversed... (look for the patch, and drink a beer to my
3573         stupidity)      
3574         
3575 2001-03-23  Hans Breuer  <hans@breuer.org>
3577         * app/app_procs.c : don't g_error () if the config directory
3578         can't be created (at least not on windoze) because it's quite
3579         common that the user don't read or understand the FAQ ...
3581         * app/cursor.c : use ddisplay_active () instead of active_display
3582         from app/display.c
3584         * app/display.[hc] : made active_display var static and provide
3585         an accessor funtion ddisplay_active_diagram ()
3587         * app/dia-props.c : don't store the active_diagram, but ask
3588         for it everytime it needed.
3590         * lib/properties.h : #include "intl.h"
3592         * lib/makefile.msc : need to take care of inclusion order to
3593         avoid clashes with gtk+2.0's gdk-pixbuf
3595         * objects/makefile.msc : added uml/stereotype.c to build
3597 2001-03-23  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3599         * **/*.c: Added config.h to the remaining .c files, and changed
3600         all to be <config.h>.
3602 2001-03-22  Steffen Macke <sdteffen@yahoo.com>
3604         * lib/arrows.c
3605         * lib/arrows.h
3606         * lib/widgets.c
3607         * app/lineprops_area.c: added new arrow types with double
3608         heads
3609         
3610 2001-03-20  Steffen Macke <sdteffen@yahoo.com>
3612         * shapes/Civil/civil_gas_bottle.xpm
3613         * shapes/Civil/civil_gas_bottle.shape
3614         * sheets/civil.sheet
3615         * shapes/Civil/Makefile.am: Added gas bottle shape by Arne
3616         Battermann
3617         
3618 2001-03-20  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3620         * objects/custom/shape_info.c (load_shape_info): 
3621         * objects/custom/shape_info.h: 
3622         * objects/custom/custom_object.c (custom_update_data): 
3623         Better support for text outside the box -- new attributes 'resize'
3624         and 'align' for text entity.  Align not fully supported yet.
3626         * lib/text.c (text_calc_boundingbox): Adding BB for cursor width.
3628 2001-03-20  James Henstridge  <james@daa.com.au>
3630         * app/interface.c (display_data_received_callback): comment out
3631         status message.
3633 2001-03-19  James Henstridge  <james@daa.com.au>
3635         * app/GNOME_Dia.oaf: rename from GNOME_Dia.oafinfo.
3637         * objects/UML/realizes.c: similar here.
3639         * objects/UML/implements.c: similar here.
3641         * objects/UML/component.c: similar here.
3643         * objects/UML/generalization.c: same here.
3645         * objects/UML/dependency.c: allow NULL for ->name and
3646         ->stereotype.  This fixes a number of problems in loading saved
3647         files.
3649         * lib/properties.c: various changes so that NULL string properties
3650         should work.
3652         * objects/standard/line.c (line_update_data):
3653         line->extra.start_long and line->extra.end_long were not being
3654         initialised.  This fixes potential problems with the bounding box
3655         of "Standard - Line" objects.
3657 2001-03-19  Hans Breuer  <hans@breuer.org>
3659         * app/commands.c : added win32 specific code to display a html
3660         file. #include "text.h" for text_delete_all prototype.
3662         * app/dia.ico :
3663         * app/dia.rc : (new) to give Dia win32 an icon
3665         * app/win32print.[ch] : new files to support direct postscript
3666         file printing on win32. Beware: it *requires* a ps-printer!
3668         * app/paginate_psprint.c : disable the signal code for win32 build
3669         and added small specific changes to support win32print.
3671         * app/makefile.msc : added win32print and linking shell32.lib
3673         * lib/libdia.def : updated
3675 2001-03-18  Kevin Breit <battery841@mediaone.net>
3677         * doc/en/dia-C.omf: Added file.  Dia should now list in the Nautilus
3678           Help tabs.
3680 2001-03-17  James Henstridge  <james@daa.com.au>
3682         * app/paginate_psprint.c (diagram_print_ps): add code that traps
3683         SIGPIPEs during printing.  This gets rid of a number of crashes
3684         caused by printing (eg. typing an incorrect print command).
3686         * dia.spec (%install): gzip the manpage.
3688         * lib/beziershape.c (beziershape_save): fix off by one error in
3689         beziershape save code, which was adding an extra segment to the
3690         object on save.
3692         * app/menus.c: add a separator in the gnome version of the help
3693         menu.
3695         * app/app_procs.c (app_init): add a --nosplash argument which
3696         disables the splash screen.
3698         * app/dia_embedd.c (main): don't leave the splash screen open for
3699         embeddable component.
3701         * app/splash.c (app_splash_init): the gtk_widget_show_now() call
3702         didn't seem to be showing the splash screen like expected, so I
3703         have replaced it with some code that calls gtk_main() until the
3704         first exposure of the window.
3706 2001-03-16  James Henstridge  <james@daa.com.au>
3708         * app/Makefile.am (EXTRA_DIST): add extra pixmaps.
3710         * objects/UML/Makefile.am (libuml_objects_la_SOURCES): add
3711         stereotype.h
3713         * lib/Makefile.am (libdia_a_SOURCES): add diavar.h here.
3715         * app/Makefile.am (dia_core_files): remove splash.h from file
3716         list, as it doesn't exist.
3718         * doc/en/Makefile.am (uninstall-local): remove the docdir on
3719         uninstall.
3721         * doc/Makefile.am (uninstall-local): target to remove the C
3722         symlink.
3724         * dia.spec (%files): include the documentation in the package.
3726         * app/menus.c (toolbox_menu_items): add menu item for manual,
3727         which calls help_manual_callback.
3729         * app/commands.c (help_manual_callback): find help file and load
3730         netscape to view it.
3732         * app/commands.h: add prototype for help_manual_callback()
3734         * doc/Makefile.am (helpdir): similar here.
3736         * doc/en/Makefile.am (helpdir): make the helpdir
3737         $(pkgdatadir)/help/en in the non gnome case.
3739         * configure.in (HAVE_GNOME): add conditional.
3741         * doc/en/Makefile.am: handle the graphics in a more general way,
3742         so it is easier for Kevin to add them to the build (just add them
3743         to the GRAPHICS var).
3745         * app/Makefile.am (embed_extra_print_files): make the case of
3746         building without gnome-print support but with bonobo support work.
3747         dia-embedd needs to be include the gnome-print
3749 2001-03-09  Cyrille Chepelov  <chepelov@calixo.net>
3751         * samples/Makefile.am: included all samples in the distribution....
3752         
3753 2001-03-09  Cyrille Chepelov  <chepelov@calixo.net>
3755         * configure.in: removed premature test for DPS. Added -*- m4 -*-
3756         at the beginning. Made HAVE_UNICODE non-default. po/es_ES.po has
3757         vanished, removed it from ALL_LINGUAS.
3759         * lib/charconv.[ch] (NEW): a very small wrapper around
3760         unicode_iconv to convert strings between utf8 and local charset
3761         (actually, ISO-8859-1, though one can do
3762         CFLAGS="-DEFAULT_8BIT_CHARSET=\"ISO-8859-2\"" and the like).
3764         * lib/ps-utf8.[ch] (NEW): A PostScript Unicoder ; a smallish
3765         library to help build Postscript streams which use as many custom
3766         font encodings as necessary to correctly represent all characters
3767         used (testing from users with non-latin1 and/or more than 256
3768         characters in routine use *very* welcome).
3770         * app/Makefile.am, lib/Makefile.am: integrated these into the
3771         build process.
3773         * shapes/Logic/.cvsignore (NEW): .cvsignore
3774         
3775         * app/render_eps.h: forwarded some changes Lars forgot to include.
3776         * app/render_eps.c: turned off ASCII85 and FILTERS, as this
3777         doesn't yet build.
3779 2001-03-08  Kevin Breit <battery841@mediaone.net>
3781         * doc/en/home_network.png: Added file.
3782         * doc/en/line_props.png: Added file.
3783         * doc/en/usage-objects.sgml: Added two graphics to file.
3784         * doc/en/usage-quickstart.sgml: Added one graphic to file.
3786 2001-03-06  Kjartan Maraas  <kmaraas@gnome.org>
3788         * app/grid.h: Place comment around text after #endif.
3789         * lib/bezier_conn.c: #include <string.h>.
3790         * lib/beziershape.c: #include <string.h>.
3791         * lib/connpoint_line.h: Comment after #endif.
3792         * lib/dia_dirs.c: #include <string.h>.
3793         * lib/element.c: Same.
3794         * lib/lazyprops.c: #include <config.h> and "intl.h".
3795         * lib/lazyprops.h: Comment out text after #endif.
3796         * lib/neworth_conn.c: #include <string.h>
3797         * lib/orth_conn.c: Same here.
3798         * lib/poly_conn.c: Here too.
3799         * lib/polyshape.c: And here.
3800         * lib/properties.c: Remove #include "intl.h" from here and add
3801         an array of static strings to work around bug in gettext that
3802         makes it miss strings in a #define body.
3803         * objects/GRAFCET/action_text_draw.h: Comment out text after #endif.
3804         * objects/GRAFCET/boolequation.h: Same here.
3805         * objects/chronogram/chronoline_event.h: Add prototype for
3806         destroy_cle().
3807         
3808 2001-03-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3810         * objects/FS/function.c: 
3811         * objects/FS/flow.c: 
3812         * objects/FS/flow-ortho.c: 
3813         Updated to use properties.
3815 2001-03-03  James Henstridge  <james@daa.com.au>
3817         * lib/lazyprops.c (__propdlg_build_enum): translate the radio
3818         button labels when creating them.
3820 2001-02-28  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3822         * objects/UML/actor.c
3823         * objects/UML/realizes.c 
3824         * objects/UML/implements.c 
3825         * objects/UML/generalization.c 
3826         * objects/UML/dependency.c 
3827         * objects/UML/constraint.c
3828         Updated to use properties.
3829         
3830         * objects/UML/stereotype.c 
3831         * objects/UML/stereotype.h
3832         Generalized to any kind of bracketting.
3833         
3834 2001-02-28  James Henstridge  <james@daa.com.au>
3836         * app/menus.c: add help entry to the help menu.  Need to get this
3837         working for the non GNOME case as well (maybe put help under
3838         $(datadir)/dia/help for non GNOME?)
3840         * doc/en/topic.dat: add a topic.dat file for GNOME menus.
3842         * doc/en/dia-manual.sgml (legalnotice): add an id attribute to
3843         this element so that we get a meaningful filename in the html
3844         translation.
3846         * doc/Makefile.am, doc/en/Makefile.am: new makefiles to handle the
3847         documentation.
3849         * configure.in (DB2HTML): add a check for the db2html program, and
3850         set an automake conditional if it is found.
3852         * Makefile.am: remove EXTRA_DIST rules that cover doc/ directory,
3853         and descend into doc/ directory while building.
3855         * configure.in (AC_OUTPUT): add doc/ makefiles to output list, now
3856         we need more complex rules for building the docs.
3858 2001-02-25  Hans Breuer  <hans@breuer.org>
3860         * config.h.win32 : some cleanup
3862         * app/prefererences.c : g_scanner_(freeze|thaw)_symbol_table
3863         are deprecated since glib-1.3.2. Sorry needing to use them
3864         contionally, but there is no glib-1.2 for win32
3866         * app/recent_files.c : use g_strescape (params) conditionally
3868         * lib/connection.c : include string.h for memcpy
3870         * lib/geometry.h : added some stuff for compatibility with
3871         msvc, which previously came from included config.h
3873         * lib/libdia.def : updated
3875         * objects/makefile.msc : updated
3877         * objects/GRAFCET/action.c(490) : fixed warning C4700: local variable 
3878         'extra' used without having been initialized
3880         * objects/network/bus.c(658) : initialize 'extra'
3882         * plug-ins/makefile.msc : updated
3884         * plug-ins/cgm/cgm.c :
3885         * plug-ins/pstricks/render_pstricks.c : 
3886         g_free() memory allocated by dia_image_rgb_data(). Plugs possibly 
3887         huge memory leaks.
3889         * plug-ins/python/python.c : use HAVE_DIRENT_H
3891 2001-02-23  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3893         * lib/connection.c (connection_update_boundingbox): 
3894         Made the BB shrink on right and lower sides, too.
3896 2001-02-23  Kjartan Maraas  <kmaraas@gnome.org>
3898         * */*.c: #incude <config.h> at the top.
3899         * */*.h: Remove include of "config.h" since it should only
3900         be included in .c files and at the very top for things to
3901         work.
3902         * sheets/*.sheet: Updated Norwegian translations.
3903         
3904 2001-02-22  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3906         * objects/UML/small_package.c: 
3907         * objects/UML/class.c: 
3908         * objects/UML/node.c: 
3909         * objects/UML/usecase.c:
3910         * objects/UML/lifeline.c: 
3911         * objects/UML/message.c:
3912         Various cleanup of properties in particular.  Now much more use of
3913         standard properties.
3915         * lib/diagramdata.c (layer_render): Visualization of bounding
3916         boxes, for debugging purpoises.
3918 2001-02-22  Cyrille Chepelov  <chepelov@calixo.net>
3920         * lib/geometry.h:
3921         * lib/connection.[ch]:
3922         * lib/poly_conn.[ch]:
3923         * lib/polyshape.[ch]:
3924         * lib/bezier_conn.[ch]:
3925         * lib/beziershape.[ch]:
3926         * lib/orth_conn.[ch]:
3927         * lib/neworth_conn.[ch]:
3928         * lib/element.[ch]: Changed a bit the _update_boundingbox()
3929         interface. Now the parent elements have an extra_spacing
3930         structure, which child objects just need to fill, to take care of
3931         most arrow & line width extra space needs.
3933         * objects/**/*.c: updated all objects to the new interface.
3934         While at it, killed all instances of (Object *) downcasts (phew !)
3936         * objects/GRAFCET/condition.c: removed the arrowhead, which IEC848
3937         doesn't speak about.
3938         
3939 2001-02-21  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3941         * sheets/Logic.sheet: New sheet for Logic symbols.
3943 2001-02-21  James Henstridge  <james@daa.com.au>
3945         * app/menus.c (dia_gnome_menu_get_widget): new function to find a
3946         widget by its path name.  Walks the GnomeUIInfo heirachy rather
3947         than widget tree, compares untranslated label names and ignores
3948         underscores in the labels.
3949         (menus_get_item_from_path): use dia_gnome_menu_get_widget so that
3950         lookups are not dependent on the current locale, as with
3951         gnome_app_find_menu_pos.
3953         * acconfig.h: guard against multiple inclusion of config.h.
3955         * app/select.c (select_style_callback): simply set the selection
3956         style to the value of action.
3958         * app/menus.c (menus_init): simplify the item factory based menu
3959         code a bit.  It looks like it was using some code cut and pasted
3960         from the gimp, which looked a bit unnecessary.  Things work fine
3961         without it.
3962         (selectmenu): set the action to the type of selection mode
3963         requested.
3964         (display_menu_items): use the symbolic enumeration values for the
3965         action field.
3967         * app/plugin-manager.c: 
3968         * app/plugin-manager.h: 
3969         * app/filedlg.c:
3970         * app/filedlg.h: 
3971         * app/select.c:
3972         * app/select.h: change prototypes.
3974         * app/commands.c: update all callback prototypes, and get rid of
3975         some #ifdef GNOME's.
3977         * app/commands.h: change function prototypes.
3979         * app/dia_embedd.c (save_fn):
3980         s/ex_Bonobo_IOError/ex_BonoboStorage_IOError/
3982         * app/menus.c (menus_init): for gnome menus, use
3983         gnome_app_fill_menu_custom and pass in a GnomeUIBuilderData
3984         structure that proxies the callbacks to have the same signature as
3985         GtkItemFactory type 1 callbacks.
3986         (menus_init): for GTK menus, change from callback type 2 to type
3987         1.
3988         (display_menu_items): add back tearoffs.  I don't know who removed
3989         these for the gtk menu case.
3991 2001-02-20  Kevin Breit <battery841@mediaone.net>
3993         * doc/en/usage-objects-special.sgml: Fixed a few of the special
3994         object descriptions.  More to come in the next few days.
3996 2001-02-20  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3998         * app/render_eps.c: Fixed for internationalized floating point
3999         output. 
4001         * objects/UML/note.c: Fixed properties -- was missing
4002         Get/ApplyPropertiesFunc.  Also improved update to recalculate text
4003         position. 
4005 2001-02-19  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
4007         * plug-ins/xfig/xfig-import.c: 
4008         File added importing xfig files.  Still very rough, but good
4009         enough to let others hack on it.
4011 2001-02-07  Cyrille Chepelov  <chepelov@calixo.net>
4013         * app/interface.c:
4014         * app/linewidth_area.c:
4015         * lib/lazyprops.c:
4016         * lib/properties.c:
4017         * lib/widgets.c:
4018         * objects/ER/attribute.c:
4019         * objects/ER/entity.c:
4020         * objects/ER/relationship.c:
4021         * objects/custom/custom_object.c:
4022         * objects/flowchart/box.c:
4023         * objects/flowchart/diamond.c:
4024         * objects/flowchart/ellipse.c:
4025         * objects/flowchart/parallelogram.c:
4026         * objects/standard/box.c:
4027         * objects/standard/textobj.c: per Vlad Harchev's request, made
4028         page sizes of gtk_adjustments different than their step sizes.
4029         When sensible values of page size weren't found (overwhelming
4030         majority of cases), page sizes were set to 10.0 * respective step
4031         size.   
4033 2001-02-07  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
4035         * objects/network/hub.c: 
4036         Patch from Hubert Figuiere applied, adding connection points.
4038 2001-02-02  James Henstridge  <james@daa.com.au>
4040         * app/display.c (new_display): set update id to 0 here.
4041         (ddisplay_update_handler): rename from ddisplay_flush, and set
4042         update_id to 0 at end of processing.
4043         (ddisplay_flush): new implementation that simply sets an idle
4044         handler to perform the actual drawing.
4046         * app/display.h: add structure member to hold the redraw idle
4047         handler id.
4049 2001-01-31  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
4051         * objects/standard/ellipse.c (ellipse_copy): 
4052         * objects/standard/zigzagline.c (zigzagline_copy): 
4053         Fix of copying provided by Martin Hawlisch.
4055 2001-01-23  Kevin Breit <battery841@mediaone.net>
4057         * doc/en/graphics/: added directory
4059         * doc/en/graphics/greendots.png: added file
4061         * doc/en/*sgml: made minor and some major changes to prepare for 1.4
4062         release.
4064 2001-01-23  Kevin Breit <battery841@mediaone.net>
4066         * doc/en/*sgml: made some grammar changes and fixed a few markup bugs.
4067                         thanks to John Fleck!
4069 2001-01-21  Kevin Breit <battery841@mediaone.net>
4071         * doc/en/*sgml: made just minor changes to a few lines; nothing major.
4073 2001-01-12  Michael Meeks  <michael@helixcode.com>
4075         * app/dia_embedd.c (init_server_factory): do a bonobo_activate
4076         so our POA gets setup properly.
4078         * app/paginate_gnomeprint.c (paginate_gnomeprint): g_free
4079         things we g_malloc.
4081         * configure.in: Use bonobox_print.
4083         * app/dia_embedd.c (embeddable_factory): add print interface.
4084         (object_print): impl.
4086 2001-01-11  Michael Meeks  <michael@helixcode.com>
4088         * app/dia_embedd.c (embeddable_factory): aggregate PersistFile.
4089         (load_fn, save_fn): impl.
4090         (view_factory): hide modified status bar, & use activate fn.
4091         (refresh_view): force redraws of the views.
4092         (view_show_hide): split from
4093         (dia_view_activate): here.
4095         * app/diagram.c (diagram_load_into): split from diagram_load.
4096         (new_diagram): simplify bu splittin stuff into
4097         (diagram_init): here.
4099 2001-01-10  Steffen Macke <sdteffen@yahoo.com>
4101         * shapes/jigsaw/*.shape: replaced #000000 with foreground
4102         and #ffffff with background
4103         
4104 2001-01-08  Steffen Macke <sdteffen@yahoo.com>
4106         *configure.in: GTK+-build was broken due to missing
4107         have_bonobo=no
4108         
4109 2001-01-06  Michael Meeks  <michael@helixcode.com>
4111         * app/dia_embedd.c (main): add running context support.
4112         (dia_embeddable_destroy): remove old running object counting.
4113         (embeddable_factory): ditto.
4114         (view_factory): comment out menu path hiding.
4116         * lib/sheet.c (load_register_sheet): use free to free
4117         stuff from libxml not g_free.
4119         * acconfig.h: kill cover for USE_BONOBOX and USE_OAF
4121         * configure.in: remove USE_OAF checks, check for a precice
4122         Bonobo version >= 0.31, revamp bits.
4124         * app/dia_embedd.c (init_server_factory): upd.
4125         (init_dia_factory): remove OAF conditionals, everything uses
4126         oaf now.
4128         * app/GNOME_Dia.oafinfo: rename OAFIIDs
4130         * app/Makefile.am: remove ancient gnorba code.
4131         rename dia.oafinfo to GNOME_Dia.oafinfo
4133 2001-01-07  Hans Breuer <Hans@Breuer.Org>
4135         * config.h.win32
4136         * install.win32
4137         * readme.win32 : some more files required or useful to build 
4138         Dia on win32
4140         * plug-ins/wmf/wmf.cpp : fixed open issues like fill_arc and
4141         fill_bezier implementation, boundary drawing in fill mode, etc.
4142         Next one complaining gets the source, uncommented ...
4144         * shapes/network/router-symbol.xpm 
4145         * shapes/network/switch-atm-symbol.xpm 
4146         * shapes/network/switch-symbol.xpm : removed "-*- picture -*- "
4147         from /* XPM */ header, cause it stopped Dia/gdk_pixbuf to detect 
4148         the files as XPMs. Maybe the X versions of these functions are more
4149         tolerant ...
4151 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
4153         * plug-ins/python/Makefile.am: added libart path
4155         * plug-ins/python/python.c: added dirent.h
4157         * configure.in: added es_ES and pt_BR to ALL_LINGUAS
4158         
4159 2001-01-06  Hans Breuer <Hans@Breuer.Org>
4161         * objects/uml/actor.c
4162         * objects/uml/branch.c
4163         * objects/uml/class.c
4164         * objects/uml/classicon.c
4165         * objects/uml/component.c
4166         * objects/uml/large_package.c
4167         * objects/uml/node.c
4168         * objects/uml/note.c
4169         * objects/uml/object.c
4170         * objects/uml/small_package.c
4171         * objects/uml/state.c
4172         * objects/uml/usecase.c : started to implement the generic property
4173         interface for the uml objects. Would appreciate some help on how
4174         to implement properties which are list of properties themselves,
4175         e.g. member functions and their parameters of UMLClass.
4177 2001-01-06  Hans Breuer <Hans@Breuer.Org>
4179         * plug-ins/python/diamodule.c : finally ported to win32.
4180         Added new objects and implemented register_export function.
4182         * plug-ins/python/pydia-object.h
4183         * plug-ins/python/pydia-display.c
4184         * plug-ins/python/pydia-handle.c
4185         PyObject_HEAD_INIT needs some tweakink on win32. Done in
4186         pydia-object.h; others files simply using it.
4188         * plug-ins/python/pydia-layer.c : reflect 
4189         layer_find_closest_connection(_)point renaming
4191         * plug-ins/python/pydia-object.c : add property properties.
4192         Also change bounding_box to DiaRectangle.
4194         * plug-ins/python/python.c : extended error reporting; use
4195         all *.py files from Dia's plug-in dir instead of hardcoded
4196         test.py. This sollution should be fine with Win32, but on
4197         Unix it may need some tweaking (dunno) ...
4199         * plug-ins/python/export-object.py
4200         * plug-ins/python/export-render.py : test and documentation 
4201         implementations for export filter implementations in Python
4203         * plug-ins/python/pydia-color.[hc]
4204         * plug-ins/python/pydia-diagramdata.[hc]
4205         * plug-ins/python/pydia-error.[hc]
4206         * plug-ins/python/pydia-export.[hc]
4207         * plug-ins/python/pydia-font.[hc]
4208         * plug-ins/python/pydia-geometry.[hc]
4209         * plug-ins/python/pydia-image.[hc]
4210         * plug-ins/python/pydia-properties.[hc]
4211         * plug-ins/python/pydia-property.c
4212         * plug-ins/python/pydia-render.c : new objects in new files 
4214         * plug-ins/python/makefile.am : added new files but can't test it
4216         * plug-ins/python/pydia.def
4217         * plug-ins/python/makefile.msc : for win32 build
4219         * plug-ins/cgm/cgm.c
4220         * plug-ins/dxf/dxf-import.c
4221         * plug-ins/dxf/dxf-export.c
4222         * plug-ins/hpgl/hpgl.c : reflect export API change
4224         * plug-ins/shape/shape-export.c : reflect export API change
4225         and check for libart (better the availibility of a png exporter) 
4226         at run-time instead of compile-time. 
4228 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
4230         * app/recent_files.h was missing from Hans's commit
4232         * plug-ins/shape/shape_export.c: shape export was broken
4233         due to interface changes
4234         
4235 2001-01-05  Hans Breuer <Hans@Breuer.Org>
4237         Applied Steffen's recent file list patch :
4238         * app/Makefile.am : added recent_files.[hc]
4239         * app/diagram.c : add files to recent file list
4240         * app/menus.c : add recent file menu
4241         * app/app_procs.c : changed initialization order to
4242         make recent file list work with command line processing.
4244         The Filter export()/import() functions have got an additional 
4245         parameter to allow multiple filters via one C callback (required
4246         for Python bindings)
4248         * app/commands.[hc] : corrected the signature for gtk menu callback
4249         functions, which actually use the second or third parameter. This
4250         is the absolute minimum change to make these functions/menu entries
4251         work again. Using the other possible gtk menu callback signature
4252         would have required one more function to change. (see mailing list
4253         thread "Objects/Align/Equal Distance" for more information.
4255         * app/disp_callbacks.c : applied Gustavo J.A.M. Carneiro's
4256         zoom-combo focus patch
4258         * app/display.c
4259         * app/interface.c : wrapped the Zoom Combo code into 
4260         #ifndef WITHOUT_ZOOM_COMBO because IHMO it isn't an useabilty
4261         improvement but cluttering the user interface. Also it wasn't
4262         compiling on Win32 anyway. The win32 version does define 
4263         WITHOUT_ZOOM_COMBO to keep the old look. 
4264         There are plans to use the statusbar to display size and placement
4265         of selected objects, whereas the Zoom Combo would need to get out
4266         of the way as well.
4268         Added "Save Changes?" to diagram close dialog. Hopefuly the
4269         Yes/No/Cancel option isn't too much windoze like. IHMO this is
4270         an useability improvement.
4272         * app/export_png.c
4273         * app/filedlg.c
4274         * app/load_save.c
4275         * app/layer_dialog.c
4276         * app/paginate_psprint.c
4277         * app/render_eps.c
4278         - reflect signature changing of filter->export function
4279         - replaced '/' with G_DIR_SEPARARTOR where appropriate
4281         * app/diaunitspinner.c
4282         * app/render_libart.c
4283         added misssing headers like <string.h>
4285         * app/object_ops.c : fixed copy&paste bug in dialog string
4287         * app/splash.c : gdk_widget_show_now () does not ensure actual
4288         drawing of the splash screen, at least not on win32. Reuse the
4289         previous implementation with gtk_main_iteration() again.
4291         * */makefile.msc : make use of the build module (available in
4292         gnome-cvs/build. Updated for other source changes
4294         * lib/filter.h : added an user_data pointer to <ex/im>port()
4295         function signature and Dia<Im/Ex>portFilter to allow different
4296         filters to reuse the same callback function
4298         * lib/font.c : #include <string.h>
4300         * lib/orth_conn.c 
4301         * lib/poly_conn.c 
4302         * lib/poly_shape.c 
4303         * lib/neworth_conn.c
4304         * lib/text.c : don't mix allocator functions (g_)realloc, free, ...
4306         * */*.def : export function definition files required by win32 build
4308         * objects/custom/custom.c : #include <string.h>
4310         * plug-ins/pstricks/render_pstricks.c
4311         * plug-ins/shape/shape_export.c
4312         * plug-ins/svg/render_svg.c
4313         reflect changes to filter export function signature
4315         * plug-ins/wmf/wmf.cpp : fixed indent and scaling. It now should
4316         mostly work as expected
4317         * plug-ins/wmf/wmf_gdi.[hc] : Updated comment. Still not used
4318         to build the wmf plug-in because on the one hand the GDI emulation 
4319         isn't finished and on the other hand it isn't required when building
4320         for win32. Is there anybody out there, who wants to save WMF on non
4321         windoze platforms ?
4323         * plug-ins/wpg/wpg.cpp : fixed scaling to take axis dependent
4324         offset into account.
4326 2001-01-02  Steffen Macke <sdteffen@yahoo.com>
4328         * app/Makefile.am: added missing plug-ins to run_dia.sh
4330         * lib/paper.c: added paper sizes A0, A1, A2
4332         * objects/UML/class.c
4333         objects/UML/class.h
4334         objects/UML/class_dialog.c: added support for colored UML
4335         classes
4336         
4337 2000-12-30  Kevin Breit <battery841@mediaone.net>
4339         * doc/en/usage-customization.sgml: added more content
4341 2000-12-24  Kevin Breit <battery841@mediaone.net>
4343         * doc/en/usage-layers.sgml: added file, contributed by Remypsb
4344         <remy.viard@laposte.net>
4346 2000-12-24  Steffen Macke <sdteffen@yahoo.com>
4348         * added limiting lines to Civil Engineering sheet,
4349         fixed vertical pump icon
4350         
4351 2000-12-20  Steffen Macke <sdteffen@yahoo.com>
4353         * updated/additional Civil Engineering shapes: better icons,
4354         shapes use foreground/background colors now and are filled
4355         
4356 2000-12-03  Kevin Breit  <battery841@mediaone.net>
4358         * doc/en/dia-manual.sgml Integrated a few diffs.  New section should be
4359         the selection <sect1>
4361 2000-11-29  Fredrik Hallenberg  <hallon@lysator.liu.se>
4363         * app/load_save.c (diagram_data_save): avoid using obsoleted
4364         libxml calls (only matters when compiling with libxml2)
4366 2000-11-25  James Henstridge  <james@daa.com.au>
4368         * app/disp_callbacks.c (ddisplay_drop_object): add a function to
4369         handle the tool drops on the canvas.
4371         * app/interface.c (display_data_received_callback): do the check
4372         to make sure that the drag is from a local toolbox here as well.
4374         * app/interface.c (create_tools): unref the pixmap/mask after
4375         creating the GtkPixmap.
4376         (tool_setup_drag_source): function to set up a drag source for
4377         create object tool buttons.
4378         (create_tools): setup drag source for CREATE_OBJECT_TOOL's.
4379         (fill_sheet_wbox): same here.
4380         (create_display_shell): set up the display canvas as a drag
4381         destination.
4382         (display_drop_callback, display_data_received_callback): functions
4383         to handle drops of tool buttons.
4385         * app/menus.c (menus_init): don't use gnome_popup_menu_new().  It
4386         does weird shit to the user_data pointer for a menu item.  Object
4387         alignment should work again now.
4389         * app/splash.c (get_logo_pixmap): don't unref the bitmap if it is
4390         NULL, and mark this function static.
4391         (app_splash_init): use gtk_widget_show_now() instead of the
4392         gtk_main_iteration loop.
4393         (app_splash_init): connecting gtk_widget_destroy to the destroy
4394         signal of a widget seems pretty useless.
4396 2000-11-23  Kevin Breit <battery841@users.sourceforge.net>
4398         * doc/en/dia-manual.sgml:
4399                 Added sect1 for advanced object types.  Starting development
4400                 on that part.
4402 2000-11-18  Kevin Breit <battery841@mediaone.net>
4404         * doc/en/dia-manual.sgml:
4405                 Stupid spelling fixes.
4407 2000-11-18  Kevin Breit <battery841@mediaone.net>
4409         * doc/en/dia-manual.sgml:
4410                 Just some small changes I made.  Props to Greg LeBlanc on the
4411                 recommendations.
4413 2000-11-17  Alexander Larsson  <alla@lysator.liu.se>
4415         * app/display.c:
4416         (ddisplay_add_display_area): Clip input rectangle to
4417         the visible part of the display.
4418         (ddisplay_scroll): Optimization, don't scroll and
4419         redraw if moving to the same position as before.
4421         * app/render_libart.c (renderer_libart_copy_to_window):
4422         Removed sanity check. Now moved to ddisplay_add_display_area().
4424         * lib/diavar.h:
4425         Added return at end of file.
4426         
4427 2000-11-13 Kevin Breit <battery841@mypad.com>
4428         * doc/en/dia-manual.sgml
4429                 Commited manual changes from Henry House <hajhouse@houseag.com>
4431 2000-10-21 Hans Breuer <Hans@Breuer.Org>
4432         * lib/beziershape.c :
4433                 The previous code was accessing unowned memory due to IHMO
4434                 wrong index calculation. Now it appears to be fixed.
4435                 *Please Review!*
4437         * lib/makefile.msc
4438         * plug-ins/makefile.msc
4439         * objects/makefile.msc
4440         * app/makefile.msc: (new files)
4441                 Makefiles for Dia on Win32, Micro$oft VC only.
4443         * plug-ins/pstricks/render_pstricks.c
4444         * plug-ins/dxf/dxf-import.c
4445         * plug-ins/shape/shape-export.c
4446         * plug-ins/svg/render_svg.c
4447         * app/commands.c
4448         * app/filedlg.c
4449         * app/preferences.c
4450         * app/render_eps.c
4451         * lib/sheet.c
4452         * lib/plug-ins.c
4453         * objects/custom/custom.c
4454         * objects/standard/image.c
4455                 portability (not only win32): use HAVE_UNISTD_H, HAVE_DIRENT_H 
4456                 where   appropriate, add missing prototypes like <string.h>
4458         * plug-ins/wmf/wmf_gdi.cpp
4459         * plug-ins/wmf/wmf_gdi.h:
4460                 start of wmf write functions for non Win32 platform. Not 
4461                 finished yet. The other way to get it working maybe to
4462                 link the plug-in against wine libs.
4463                 
4464         * plug-ins/wpg/wpg.c : add missing brace
4466         * app/load_save.c :
4467                 Handling for unknown objects at load time. Previously Dia
4468                 was crashing, if you try to load a file referencing objects
4469                 whiches plug-ins aren't installed/available. Now it spits out 
4470                 a warning and ignores the unknown objects.
4472         * app/interface.c
4473                 toolbox DND support for files like The Gimp does it.
4475         * app/main.c
4476         * app/app_procs.h
4477                 Simple splash screen support and usage.
4479         * app/app_procs.c
4480                 Splash screen, portability fixes, dont' g_error if there is
4481                 g_get_homedir return NULL. This may remove the one and only
4482                 FAQ for Win32.
4484         * app/menus.c :
4485                 Make it compile without ENABLE_NLS
4487         * app/render_libart.c :
4488                 Sanity check to avoid calling libart with wrong window coordinates.
4489                 They come from the update handler. Direct Gdk is dealing nicely
4490                 with coordinates out of range, libart does access un-owned memory
4491                 in this case, mostly causing crashes.
4493         * app/winmain.c: (new file) Export the Win32 Gui version of the
4494                 main function. This file is only required for Windoze.
4496         * app/splash.c: (new file) splash screen implementation
4498         * lib/color.h
4499         * lib/font.h
4500         * lib/diavar.h: (new file)
4501                 moved special variable export code to diavar.h, because it is
4502                 needed in color.h and font.h
4504         * lib/paper.c :
4505                 M$VC cann't export inlined functions. Quick hack to let it
4506                 link again. Probably the glib mechanics should be used here?
4508         * objects/UML/lifeline.c : initialize var before usage
4510         * objects/GRAFCET/step.c : removed unused var
4512 2000-10-14  James Henstridge  <james@daa.com.au>
4514         * app/render_gnomeprint.c (draw_image): change code so images
4515         don't get flipped when printing.
4517         * app/paginate_gnomeprint.c (diagram_print_gnome): check to make
4518         sure that the return value of
4519         gnome_print_context_new_with_paper_size is not NULL.
4521         * app/render_gnomeprint.c (draw_arc): add code to convert arcs
4522         into a series of bezier segments.
4523         (fill_arc): similar code to handle filled arc segments.
4525 2000-10-12  Fredrik Hallenberg  <hallon@lysator.liu.se>
4527         * app/app_procs.c
4528         * app/commands.c
4529         * app/dia-props.c
4530         * app/diagram.c
4531         * app/diagram.h
4532         * app/disp_callbacks.c
4533         * app/display.c
4534         * app/linewidth_area.c
4535         * app/paginate_psprint.c
4536         * app/preferences.c
4537         * app/undo.c
4538         * app/font.c
4539         * app/message.c
4540         * app/neworth_conn.c
4541         * app/orth_conn.c
4542         * objects/standard/box.c: various small changes to get rid of 
4543         annoying warnings (eg faulty prototypes and unused variables)
4545         * app/disp_callbacks.c
4546         * app/cursor.h
4547         * app/magnify.c
4548         * app/magnify.h: update magnify tool icon when pressing/releasing
4549         shift. I will try to make something more general so that similar
4550         things can be used by other tools.
4552         * shapes/SDL/inout.shape
4553         * shapes/SDL/return.shape: fixed some typos
4555 2000-10-09  James Henstridge  <james@daa.com.au>
4557         * objects/custom/shape_info.c (parse_path): apply patch from
4558         Robert Young <robertdotyoung@dsto.defence.gov.au> to fix bug
4559         #25221
4561 2000-10-08  James Henstridge  <james@daa.com.au>
4563         * objects/standard/image.c (image_set_props): if the file could not
4564         be loaded, show the broken image icon.
4566         * plug-ins/Makefile.am (SUBDIRS): add shape to the subdirs list.
4568         * plug-ins/shape/*: the shape export plugin by Steffen Macke.
4570         * app/interface.c (fill_sheet_wbox): use gdk-pixbuf to load the
4571         object icon when loading from a file.  This allows you to have PNG
4572         icon files for shapes.
4574 2000-10-07  James Henstridge  <james@daa.com.au>
4576         * app/Makefile.am (dia_LDADD): remove GDK_IMLIB_LIBS reference.
4578         * lib/Makefile.am, app/Makefile.am (INCLUDES): remove
4579         GDK_IMLIB_CFLAGS reference.
4581         * app/commands.c (help_about_callback): remove imlib code.
4583         * lib/dia_image.c: only include the pixbuf version of the image
4584         routines.
4586         * acconfig.h: remove the HAVE_GDK_PIXBUF flag from here.
4588         * configure.in (CPPFLAGS): remove the check for imlib, as we now
4589         require gdk-pixbuf.
4591         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer):
4592         conditionally define \setfont as well.
4594 2000-10-05  James Henstridge  <james@daa.com.au>
4596         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): fix
4597         preamble so that we define \setlinejoinmode and \setlinecaps
4598         commands conditionally on them being undefined.  This way, the
4599         pstricks output files should work without modification, and will
4600         support the commands when they are implemented in pstricks.
4602 2000-10-05  Szabolcs Ban  <shooby@gnome.hu>
4604         * dia.desktop: added hungarian translations to dia.desktop
4606 2000-10-04  James Henstridge  <james@daa.com.au>
4608         * sheets/UML.sheet: fix typo.
4610         * objects/custom/shape_info.c: use strtod instead of g_strtod.
4611         (parse_path): actually call setlocale around strtod calls.
4613         * lib/dia_xml.c: use strtod rather than g_strtod.  We wrap each
4614         call in setlocale(LC_NUMERIC, "C"), so there is no reason to call
4615         the g_strtod wrapper.
4617         * shapes/SDL/: add SDL shapes from Rubens Ramos
4618         <rubens_ramos@yahoo.com>
4620         * acinclude.m4 (DIA_CHECK_CFLAG): fix up macro.
4622         * sheets/Makefile.am (SHEETS): add SDL.sheet to list.
4624         * shapes/MSE/: add Mobile Subscriber Equipment shapes from
4625         W. Michael Petullo <mike@flyn.org>.
4627         * sheets/Makefile.am (SHEETS): add civil.sheet (which got missed
4628         from the 0.86 tarball) and jigsaw.sheet.
4630         * configure.in: add shapes/jigsaw/Makefile to list of generated files.
4632         * shapes/jigsaw/: jigsaw shapes from Martin Hawlisch.
4634         * shapes/network/: add network-additional shapes here.
4636         * sheets/network.sheet: add the network-additional shapes from
4637         Martin Hawlisch <Martin.Hawlisch@bflow.com> to the main network
4638         sheet.
4640 2000-09-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
4642         * configure.in: Updated ALL_LINGUAS
4644         * po/nl.po: Removed newline from translation
4646 2000-09-17  Asbjorn Pettersen  <asbjornP@dualog.no>
4648         * app/commands.c (help_about_callback): Use G_DIR_SEPARATOR_S in 
4649         logo filename generation. 
4651         * lib/dia_dirs.c (dia_get_data_directory): Handle empty subdir better.
4652         Avoiding "//dia_logo.png".
4654 2000-09-16  Asbjorn Pettersen  <asbjornP@dualog.no>
4656         * app/filedlg.c: add include <sys/types.h> to
4657         remove warning. (OS/2)
4659 2000-09-13  Cyrille Chepelov <chepelov@calixo.net>
4661         * objects/chronogram/chronoline_event.c (reparse_clevent):
4662         the __checksum routine was simply bogus. Redone it in a slightly
4663         saner way (reported by Michael Farr <mfarr@cs.latrobe.edu.au>).
4665 2000-09-10  Asbjorn Pettersen  <asbjornP@dualog.no>
4667         * app/create_object.c (create_object_button_press): 
4668         * app/modify_tool.c (click_select_object): 
4669         * lib/object.h: select renamed to selectf to prevent
4670         compiler problems with function select().  OS/2 version.
4672 2000-09-08  Karsten Weiss  <knweiss@gmx.de>
4674         * po/de.po: Updated.
4676 2000-09-07  Karsten Weiss  <knweiss@gmx.de>
4678         * dia.desktop: Added German translation
4679         * app/menus.c: "Diagram Propeties..." -> "Diagram Properties..."
4681 2000-08-29  Manuel de Vega Barreiro <barreiro@arrakis.es>
4683         * configure.in (ALL_LINGUAS): added "es"
4685 2000-08-28  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
4687         * app/magnify.c:
4688         * app/cursor.h:
4689         * app/cursor.c:
4690         * app/scroll_tool.c:
4691         Standardized cursor function get_cursor().  Magnify now has
4692         looking-glass cursor with + and -.
4694         * app/create_object.c (create_object_button_press): 
4695         Newly created connections now snap to connection points even when
4696         off the grid. 
4698 2000-08-17  Daniel Egger  <egger@suse.de>
4700         * app/menus.c: #ifdef'ed some code for the none GNOME
4701         case.
4702         * app/dia_embedd.c: Changed obvious hackery. Can anyone
4703         please have a look at the GNOME UI menu creation? The
4704         gnome-app-helper code is ages old and plainly broken!
4706 2000-08-15  Daniel Egger  <egger@suse.de>
4708         * app/commands.c:
4709         * app/commands.h:
4710         * app/diagram.c:
4711         * app/display.c:
4712         * app/menus.c:
4713         * app/select.c: First big patch to get the menus
4714         working again in the international version. Copied
4715         some code written by Sven and me from GIMP and
4716         thus implemented automatic tearoffmenu creation and
4717         proper translation. I also removed that pseudo
4718         radiomenu hack and cleaned up several translation
4719         hacks which have never really worked. All in all
4720         this is part I of the big menu patch. Enjoy and tell
4721         me if you detect any problems.
4723 2000-08-14  Daniel Egger  <egger@suse.de>
4725         * sheets/UML.sheet: Changed one German translation as
4726         suggested by Heribert Schuetz <hs@heribert-schuetz.de>.
4728 2000-08-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
4730         * app/diapagelayout.c:
4731         * lib/diagramdata.c:
4732         * lib/diagramdata.h:
4733         * lib/Makefile.am:
4734         * lib/paper.c:
4735         * lib/paper.h: honour PAPERCONF env variable and /etc/papersize when
4736         selecting paper size for a new diagram. TODO: Use libpaper if 
4737         available and use gnome_paper-stuff if using GNOME.
4739         * sheets/Electric.sheet: fixed typo.
4740         
4741 2000-08-08  James Henstridge  <james@daa.com.au>
4743         * po/README: added a readme file to tell translators to translate
4744         the .sheet files as well.
4746         * app/commands.c (help_about_callback): fix small bug where we tried
4747         to gdk_bitmap_unref() the mask for the about box image, even though
4748         it was NULL.  Now check for a NULL mask.
4750 2000-08-07  Daniel Egger  <egger@suse.de>
4752         * sheets/*.sheet: Added translations for the name
4753         in the toolbar tab. Brushed up some descriptions 
4754         and some translations a bit.
4756 2000-08-06  James Henstridge  <james@daa.com.au>
4758         * plug-ins/svg/render_svg.c (new_svg_renderer): update public
4759         identifier and dtd url for SVG output.
4760         (new_svg_renderer): fix the output of the viewBox output.  The
4761         second two numbers are the width and height -- not the right
4762         and bottom sides of the box.
4764         * shapes/*/*.shape: update svg namespace URI.
4766         * objects/custom/shape_info.c (load_shape_info): change the
4767         namespace URI for custom shapes yet again to match the Candidate
4768         Recommedation.  It looks like this one will probably be the final
4769         one.
4771         * app/display.c (new_display): remove the code that sets ic and
4772         ic_attr members to NULL, as one of the previous function calls
4773         causes the display to be realised.  This means that the ic gets
4774         lost.  Thanks to Yukihiro Nakai <ynakai@redhat.com> for finding
4775         this one.
4777 2000-08-06  James Henstridge  <james@daa.com.au>
4779         * shapes/Makefile.am (SUBDIRS): add Civil back to list.
4781         * NEWS: fixed date in NEWS file, as I will release today.
4783         * README: updated the README a little.  Added note that Dia is now
4784         a GNU program.
4786         * dia.spec: fix up spec file.
4788         * plug-ins/wpg/wpg.c: changed DIAG_NOTE stuff here as well.
4790         * plug-ins/hpgl/hpgl.c: change Hans's DIAG_NOTE stuff so that we don't
4791         get heaps of warnings when you turn off debugging.
4792         Also made a few other warning fixes.
4794 2000-08-02  James Henstridge  <james@daa.com.au>
4796         * plug-ins/svg/Makefile.am (INCLUDES): add XML_CFLAGS to INCLUDES.
4798         * configure.in: update version number.
4800 2000-08-01  James Henstridge  <james@daa.com.au>
4802         * app/commands.c (help_about_callback): add Hans to about dialog.
4804         * doc/shape.dtd: dtd for shape file format.
4806         * doc/custom-shapes: update doc file about creating custom shapes.
4808         * shapes/*/*.shape: change namespace URI for the SVG portion to the
4809         one for the latest draft.
4811         * shapes/*/*.shape: fix up rect definitions.
4813         * objects/custom/shape_info.c (load_shape_info): recognise newer
4814         namespace tag for SVG.
4815         (parse_svg_node): the rect element should take attributes x, y, width
4816         and height -- not x1,y1,x2,y2.
4818         * plug-ins/svg/render_svg.c (new_svg_renderer): updated doctype
4819         output to use the newest draft DTD.
4821         * plug-ins/svg/svg.c: initialisation code for plugin.
4823         * plug-ins/svg/render_svg.c: move svg export code to a plugin.
4825         * plug-ins/svg/Makefile.am: makefile for svg plugin.
4827         * app/app_procs.c (internal_plugin_init): don't register the svg
4828         export filter here.
4830         * app/Makefile.am (dia_core_files): don't compile in render_svg.[ch]
4832 2000-07-31  James Henstridge  <james@daa.com.au>
4834         * objects/standard/textobj.c (textobj_get_defaults): 
4835         * objects/standard/polygon.c (polygon_get_defaults): 
4836         * objects/standard/image.c (image_get_defaults): 
4837         * objects/standard/ellipse.c (ellipse_get_defaults): 
4838         * objects/standard/box.c (box_get_defaults): 
4839         * objects/standard/beziergon.c (beziergon_get_defaults): 
4840         * objects/flowchart/parallelogram.c (pgram_get_defaults): 
4841         * objects/flowchart/ellipse.c (ellipse_get_defaults): 
4842         * objects/flowchart/diamond.c (diamond_get_defaults): 
4843         * objects/flowchart/box.c (box_get_defaults): 
4844         * objects/custom/custom_object.c (custom_get_defaults): 
4845         * objects/FS/flow.c (flow_get_defaults): 
4846         * objects/FS/flow-poly.c (flow_get_defaults): 
4847         * objects/FS/flow-ortho.c (orthflow_get_defaults): ref and sink the
4848         defaults widget.
4850         * app/defaults.c (defaults_show): don't keep on ref'ing the defaults
4851         widgets for various object types.
4852         (create_dialog): ref and sink the no_defaults_dialog.
4854         * app/preferences.c (prefs_create_dialog): change
4855         gtk_container_border_width call to gtk_container_set_border_width.
4857 2000-07-29  James Henstridge  <james@daa.com.au>
4859         * app/commands.c (view_aa_callback): show a warning dialog if
4860         you start AA mode.
4862         * app/interface.c (fill_sheet_menu): don't add a menu item for
4863         empty sheets.
4865 2000-07-26  James Henstridge  <james@daa.com.au>
4867         * plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677
4869         * app/menus.c: remove edit grid menu item.
4871         * app/commands.[ch] (view_edit_grid_callback): removed.
4873         * app/display.c (new_display): don't initialise removed Grid members.
4875         * app/grid.c: remove unused functions.
4877         * app/grid.h: remove dialog related stuff from Grid structure.
4878         Remove prototypes for dialog functions.
4880         * app/menus.c: add to menus
4881         
4882         * app/commands.[ch] (view_diagram_properties_callback): new command
4883         for showing the diagram properties dialog.
4885         * app/dia-props.[ch]: a new diagram properties dialog.  To replace
4886         the edit grid dialog.
4888 2000-07-25  James Henstridge  <james@daa.com.au>
4890         * app/grid.c (grid_x_update): 
4891         (grid_y_update): as the grid setting is stored with the diagram,
4892         update all displays when a change is made.
4894         * app/modify_tool.c (modify_motion): use new snap_to_grid sig.
4896         * app/create_object.c (create_object_button_press): 
4897         (create_object_motion): use new snap_to_grid signature.
4899         * app/grid.c (grid_draw): use the grid settings in the DiagramData,
4900         and handle invisible grid lines.
4901         (snap_to_grid): use new grid settings.  Also changed signature to
4902         take a DDisplay rather than Grid pointer.
4903         (grid_show_dialog): get the defaults from the correct place.
4905         * app/display.c (new_display): do not set ddisp->grid.width_[xy].
4907         * app/diagram.c (new_diagram): set the grid size defaults from the
4908         user preferences.
4910         * app/load_save.c (diagram_data_save): save grid and guide info to
4911         diagram file.
4912         (diagram_data_load): add guide and grid load support.
4914         * lib/diagramdata.c (new_diagram_data): set the new DiagramData
4915         members.
4917         * lib/diagramdata.h: add members to DiagramData for grid and guide
4918         settings.
4920         * configure.in (BONOBO_LIBS): update configure scripts
4922         * app/dia.oafinfo: oafinfo file for dia embeddables.
4924         * app/dia_embedd.c: add OAF support.
4926 2000-07-24  James Henstridge  <james@daa.com.au>
4928         * plug-ins/wpg/Makefile.am: 
4929         * plug-ins/pstricks/Makefile.am: 
4930         * plug-ins/hpgl/Makefile.am: 
4931         * plug-ins/dxf/Makefile.am: same here.
4933         * plug-ins/cgm/Makefile.am: remove LIBADD.  Dia already links with
4934         the required libraries, and the link line was causing libtool not
4935         to build a shared library on some systems :(
4937         * plug-ins/cgm/cgm.c (write_real): the initial if statement should
4938         be checking x, not n.
4940 2000-07-23  James Henstridge  <james@daa.com.au>
4942         * app/preferences.c (prefs_data): set the "reset tools after
4943         create" preference to true by default.  That seems to be what most
4944         people expect.
4946         * app/interface.c (create_sheets): instead of a notebook, use an
4947         option menu that updates the sheet tools.  The notebook tabs were
4948         getting a bit unwieldly, so the option menu should fix that.  This
4949         also reduces the number of widgets in the tools radio button
4950         group, which should make the UI a little more responsive.
4952 2000-07-19  Fatih Demir <kabalak@gmx.net>
4953         
4954         * configure.in: Added tr to ALL_LINGUAS.
4955                 [ Yeah, we're now having a Turkish translation,
4956                    too. ]
4957         
4958         * dia.desktop: Added the Turkish entries.
4960 2000-07-02  Fredrik Hallenberg  <hallon@lysator.liu.se>
4962         * doc/diagram.dtd: changed string-element so it conforms to the
4963         output from dia.
4965 2000-06-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
4967         * configure.in: added chinese. 
4968         Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL.
4970         * app/app_procs.c:
4971           app/load_save.c:
4972           app/render_svg.c:
4973           lib/dia_xml.c:
4974           lib/plug-ins.c:
4975           lib/sheet.c:
4976           objects/custom/shape_info.c: 
4977           shapes/Circuit/npn.shape:
4978           shapes/Circuit/pnp.shape:
4979           sheets/*.sheet: dia now works with libxml2.
4980         Libxml2 is a bit more picky when parsing xml and reported errors on all 
4981         sheet files because they use non ascii characters (added 
4982         encoding="iso-8859-1"). Also "xml:lang=en@layman" is not proper xml so 
4983         I commented out these.
4985 2000-06-30  Christopher R. Gabriel  <cgabriel@linux.it>
4987         * configure.in (ALL_LINGUAS): added Italian
4989 2000-06-27  Sung-Hyun Nam  <namsh@lgic.co.kr>
4991         * configure.in (ALL_LINGUAS): added Korean
4993 2000-06-25  James Henstridge  <james@daa.com.au>
4995         * objects/flowchart/parallelogram.c (pgram_create): use default font
4996         and add properties interface support.
4998         * objects/flowchart/ellipse.c (ellipse_create): use default font and
4999         add properties interface support.
5001         * objects/flowchart/diamond.c (diamond_create): use default font and
5002         add properties interface code.
5004         * objects/flowchart/box.c (box_create): use default font.
5006         * objects/custom/custom_object.c (custom_create): use default font
5007         here too.
5009         * objects/standard/textobj.c (textobj_create): update to use default
5010         font.
5012         * lib/attributes.c: add implementations.
5014         * lib/attributes.h (attributes_[gs]et_default_font): add function
5015         prototypes for setting/getting a default font.
5017 2000-06-24  James Henstridge  <james@daa.com.au>
5019         * app/paginate_gnomeprint.h: updated prototype.
5021         * app/paginate_gnomeprint.c (paginate_gnomeprint): update to use
5022         diagram page settings.
5024         * objects/standard/beziergon.c (beziergon_copy): same here.
5026         * objects/standard/polygon.c (polygon_copy): copy the fill colour
5027         as well.
5029         * app/undo.h: 
5030         * app/tool.h (tool_options_dialog_show): 
5031         * app/scroll_tool.h (free_scroll_tool): 
5032         * app/render_svg.h: 
5033         * app/render_libart.h (renderer_libart_copy_to_window): 
5034         * app/render_gdk.h (renderer_gdk_copy_to_window): 
5035         * app/properties.h (properties_hide_if_shown): 
5036         * app/preferences.h (prefs_load): 
5037         * app/object_ops.h: 
5038         * app/modify_tool.h (free_modify_tool): 
5039         * app/magnify.h (free_magnify_tool): 
5040         * app/linewidth_area.h (linewidth_area_create): 
5041         * app/layer_dialog.h: 
5042         * app/handle_ops.h (handle_is_clicked): 
5043         * app/group.h: 
5044         * app/grid.h (grid_destroy_dialog): 
5045         * app/defaults.h (defaults_show): 
5046         * app/cut_n_paste.h (cnp_exist_stored_objects): 
5047         * app/create_object.h (free_create_object_tool): 
5048         * app/connectionpoint_ops.h (diagram_unconnect_selected): 
5049         * app/commands.h: 
5050         * app/color_area.h (color_area_create): 
5051         * app/app_procs.h (app_is_embedded): remove extern keyword from
5052         function prototypes.
5054         * lib/text.h: 
5055         * lib/sheet.h (load_all_sheets): 
5056         * lib/render_store.h: 
5057         * lib/render_object.h (render_object_load): 
5058         * lib/polyshape.h (polyshape_closest_segment): 
5059         * lib/poly_conn.h (polyconn_closest_segment): 
5060         * lib/orth_conn.h: 
5061         * lib/object.h: 
5062         * lib/objchange.h (new_object_state_change): 
5063         * lib/neworth_conn.h (neworthconn_add_segment): 
5064         * lib/message.h (message_error): 
5065         * lib/lazyprops.h: 
5066         * lib/geometry.h: 
5067         * lib/font.h (font_descent): 
5068         * lib/focus.h (remove_focus): 
5069         * lib/element.h: 
5070         * lib/diagramdata.h: 
5071         * lib/dia_xml.h (data_add_composite): 
5072         * lib/dia_image.h: 
5073         * lib/connpoint_line.h: 
5074         * lib/connection.h (connection_move_handle): 
5075         * lib/color.h: 
5076         * lib/attributes.h (attributes_set_default_line_style): 
5077         * lib/arrows.h (arrow_draw): remove extern keyword from function
5078         definitions.  It is not required for functions.
5080         * plug-ins/dxf/Makefile.am (INCLUDES): 
5081         * plug-ins/pstricks/Makefile.am (INCLUDES): 
5082         * plug-ins/cgm/Makefile.am (INCLUDES): 
5083         * objects/SADT/Makefile.am (INCLUDES): 
5084         * objects/chronogram/Makefile.am (INCLUDES): 
5085         * objects/GRAFCET/Makefile.am (INCLUDES): 
5086         * objects/flowchart/Makefile.am (INCLUDES): 
5087         * objects/sybase/Makefile.am (INCLUDES): 
5088         * objects/FS/Makefile.am (INCLUDES): 
5089         * objects/standard/Makefile.am (INCLUDES): 
5090         * objects/network/Makefile.am (INCLUDES):
5091         * objects/UML/Makefile.am (INCLUDES): same here.
5093         * objects/ER/Makefile.am: changed inclusion of some macros to
5094         variables.
5096         * lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to
5097         handle the plug in extension, rather than have all the #ifdef's in
5098         the code.
5100         * plug-ins/Makefile.am: add renderer.inc to dist.
5102         * plug-ins/dxf/dxf-import.c: Updates from Steffen Macke.
5104 2000-06-11  Asbjorn Pettersen  <asbjornP@dualog.no>
5106         * lib/plug-ins.c: Handle OS/2 dll's too.
5108 2000-06-07  James Henstridge  <james@daa.com.au>
5110         * app/plugin-manager.c (get_plugin_manager): set some table
5111         packing options to make it look a little nicer.
5113         * plug-ins/hpgl/Makefile.am, plug-ins/wpg/Makefile.am: added
5114         makefiles for these plug-ins.
5116         * plug-ins/{hpgl,wmf,wpg}/*: removed dos style cariage returns.
5118         * configure.in: added hpgl and wpg directories to build.  Added
5119         note about whether gnome-print support was enabled, and noted that
5120         it is not recommended.
5122 2000-06-06  James Henstridge  <james@daa.com.au>
5124         * plug-ins/{hpgl,wmf,wpg}/*: Hans Breuer's plug-ins.  They still need
5125         a little work, but I am checking them in so I don't lose them.
5127 2000-06-01  James Henstridge  <james@daa.com.au>
5129         * objects/standard/arc.c: added extra properties.
5131         * lib/beziershape.c (beziershape_closest_handle): fix a bug where I
5132         was using the wrong index into the handles array.  This gets corner
5133         type changing working correctly.
5135         * lib/properties.[ch]: add support for BezPoint's and BezPoint arrays
5136         to properties code (no editing or loading yet though).  Also added
5137         support for point array manipulation through the offsets interfaces.
5139         * lib/Makefile.am (INCLUDES): added include of gdk-pixbuf 
5141         * app/interface.c (origin_button_press): changes so the origin
5142         button doesn't grab the pointer when we pop up the menu.
5144         * app/commands.c (help_about_callback): fix small memory leak in
5145         about box code.
5147         * app/menus.c (menus_init): fixed breakage I introduced in the non
5148         gnome menus when I was doing the menu changes.  The tearoffs work
5149         really nicely in plain gtk mode as well.
5151         * objects/standard/beziergon.c (beziergon_create): changed the
5152         returned handles to match the handle numbering changes.  Now
5153         segment addition and removal works correctly with undo!
5155         * lib/beziershape.c: various changes to the code.  Changed the
5156         numbering of handles, and fixed the segment removal code.
5158 2000-05-31  James Henstridge  <james@daa.com.au>
5160         * objects/standard/beziergon.c: remove connection point handling.
5161         There is still a bit of work to be done to get adding and removing
5162         of segments working correctly.
5164         * lib/beziershape.c: add connection point handling to beziershape.
5165         I set it for two connection points per segment.
5167 2000-05-30  James Henstridge  <james@daa.com.au>
5169         * objects/standard/polygon.c: don't do connectionpoint handling.
5171         * lib/polyshape.c: changed to handle connection points internally.
5172         Also, don't worry about connections to handles on polyshape, as
5173         all handles are non connectable.
5175 2000-05-30 Ville Hautamaki <villeh@cs.joensuu.fi>
5177         * configure.in: Added finnish
5178         
5179 2000-05-30  James Henstridge  <james@daa.com.au>
5181         * sheets/*.sheet: translation updates to the .sheet files.
5183         * po/fr.po: updated po file from Christophe Merlet.
5185         * menus.h: removed prototypes for functions which have been removed.
5187 2000-05-29  James Henstridge  <james@daa.com.au>
5189         * app/layer_dialog.c (layer_dialog_set_diagram): set the selected
5190         item in the option menu when changing selected diagram.
5192         * app/dia_embedd.c (view_factory): fix up function to work with new
5193         menus API.
5195         * app/disp_callbacks.c (ddisplay_realize): remove call to
5196         display_set_active from here.
5197         (ddisplay_canvas_events): move call here.  This gets rid of all the
5198         warnings, as the renderer has been fully set up correctly at this
5199         point.
5201         * app/menus.c (menus_init): add the tearoff item to the start of the
5202         right click menu.
5204         * app/app_procs.c (create_user_dirs): we don't need to create the
5205         menus directory anymore.
5207         * app/disp_callbacks.c (ddisplay_popup_menu): it should not be
5208         necessary to update the menu state here, as it was done when the
5209         active display was set.
5211         * app/display.c (display_set_active): update the menu state when
5212         changing active displays.
5214         * app/interface.c (origin_button_press): set the display as active
5215         when a click is made on the menu button.
5217         * app/menus.c (menus_init): set up a quit function to save the accels
5218         at exit.
5219         Add tearoff items for the non GNOME menus, add accelerators for
5220         several GNOME menus.
5222         * app/disp_callbacks.c (ddisplay_popup_menu): get the menu with
5223         menus_get_image_menu().
5225         * app/menus.c (menus_get_item_from_path): use display_menus here
5226         rather than ddisp->popup.
5228         * app/display.h: remove the popup member in the DDisplay structure.
5230         * app/interface.c: remove option of not using wrap box.
5231         (create_toolbox): change to always use menus_get_toolbox_menubar
5232         even when using gnome menus.
5233         (create_display_shell): use menus_get_image_menu to load accelerators
5234         only -- not the actual popup menu.
5236         * app/menus.c (menus_init): new function to create the menus.
5237         (menus_get_toolbox_menubar): use this function whether gnome is
5238         in use or not.  Changed to use menus_init.
5239         (menus_get_image_menu): same here.  Also, now this function always
5240         returns the same menu, rather than a new one each time.
5241         (menus_init): read a menurc file to load accelerators here.
5243 2000-05-28  James Henstridge  <james@daa.com.au>
5245         * app/display.c (ddisplay_really_destroy): unset active display if
5246         active display is destroyed.
5247         (ddisplay_active): simplify function to return active_display as set
5248         by display_set_active.  This allows using a pinned menu with any
5249         display -- not just the one it was popped up from.
5250         (display_set_active): notify the layer dialog of change of diagrams
5251         when active diagram changes.
5253         * app/disp_callbacks.c (ddisplay_canvas_events): set active display
5254         on button and key presses.
5255         (ddisplay_realize): set active display on realize.
5257         * app/display.c (display_set_active): simple implementation of this
5258         function.
5260         * app/display.h (display_set_active): add prototype for setting
5261         the active display.
5263         * app/interface.c (create_display_shell): don't give focus to the
5264         menu button.
5266         * app/menus.c: fix up menus for Beziergon.
5268         * app/interface.c (create_display_shell): make the widget in the
5269         top left corner a button that can be used to pop up the right click
5270         menu, like in gimp and sketch.
5272         * app/disp_callbacks.c (ddisplay_popup_menu): new function to popup
5273         the display menu.
5275         * objects/standard/beziergon.c (beziergon_set_corner_type_callback):
5276         add code to set corner types for beziergon.
5278         * lib/beziershape.c (beziershape_set_corner_type): fix up corner type
5279         setting code.
5280         (beziershape_move_handle): use the previous corner type for right
5281         controls.
5283         * app/interface.c (tool_data): add beziergon to toolbox.
5285         * objects/standard/standard.c (dia_plugin_init): initialise the new
5286         Beziergon object type.
5288         * objects/standard/beziergon.c: an object based on BezierShape.
5290         * lib/dummy_dep.h (dummy_dep): added to dummy_dep.
5292         * lib/beziershape.[ch]: new files implementing a bezier shape.
5294 2000-05-26  James Henstridge  <james@daa.com.au>
5296         * lib/text.c (text_key_event): handle multibyte inserts.
5297         (text_key_event): also add home and end keybindings.
5299         * app/interface.c (create_display_shell): connect handlers for
5300         focus_in_event, focus_out_event, realize and unrealize signals.
5302         * app/display.[ch] (new_display): initialise input context members.
5304         * app/disp_callbacks.[ch]: added XIM support here.
5306         * lib/font.c (suck_font): the black and white pixel values should be
5307         taken from a 1 bit colormap rather than the default colormap.
5309         Hans Breuer's Windows patches ...
5311         * lib/font.c: use Courier New for fixed width font on windows
5312         machines.
5314         * lib/dia_image.h: change to "struct _DiaImage".
5316         * lib/dia_image.c: change "struct DiaImage" to "struct _DiaImage"
5318         * app/disp_callbacks.c (ddisplay_canvas_events): allow ctrl+right
5319         mouse button for object menu.  This will make two button mouse owners
5320         happier.
5322 2000-05-25  James Henstridge  <james@daa.com.au>
5324         * app/filedlg.c (file_open_ok_callback): use diagram_load here.
5326         * app/app_procs.c (app_init): add extra NULL argument to call of
5327         diagram_load.
5329         * app/load_save.h: remove prototype.
5331         * app/load_save.c: remove diagram_data function here.
5333         * app/diagram.h: added prototype.
5335         * app/diagram.c (diagram_load): new function here, which uses import
5336         filters.
5338         * plug-ins/dxf/dxf.c: register the import filter as well.
5340         * plug-ins/dxf/dxf-import.c: added (unfinished) DXF import filter from
5341         Steffen Macke <macke@heini.fbbwu.fh-lueneburg.de>
5343         * objects/standard/line.c: add start_point and end_point properties
5344         to standard line object.
5346 2000-05-21  James Henstridge  <james@daa.com.au>
5348         * app/paginate_psprint.c: added missing include of locale.h.
5350         * objects/custom/custom_object.c (custom_draw): use fabs rather than
5351         abs for scaling factors.
5352         (custom_distance_from): same here.
5354         * dia.spec: make sure rpm doesn't bomb out when LINGUAS isn't set.
5356 2000-05-18  James Henstridge  <james@daa.com.au>
5358         * po/POTFILES.in: updated POTFILES.in.
5360         * dia.spec: incremented version number in spec file.
5362         * NEWS: added (lots of) news items for the 0.85 release.
5364         * app/preferences.c (prefs_save): set LC_NUMERIC to C while writing
5365         the config file.
5367         * configure.in: updated version number here.
5369         * app/Makefile.am (run_dia.sh): include plug-ins in the lib path.
5371 2000-05-17  James Henstridge  <james@daa.com.au>
5373         * app/app_procs.c (internal_plugin_init): register the native import
5374         filter.
5376         * app/load_save.c (diagram_data_load, diagram_load): split this
5377         function into two -- one that does all the work on the DiagramData
5378         structure, and the other that provides compatibility with the old
5379         function.
5380         (dia_import_filter): use diagram_data_load to define an import
5381         filter.
5383         * app/diagram.h (new_diagram): added const to prototype.
5385         * app/filedlg.c (file_open_callback): change to use new import filter
5386         code.
5388         * lib/filter.c: added import filter management functions.
5390         * lib/filter.h: added prototypes for import filter interface.
5392         * app/commands.c (help_about_callback): updated about dialog to
5393         contain a few more names.
5395 2000-05-16  James Henstridge  <james@daa.com.au>
5397         * configure.in (Configuration): added a status message to the end of
5398         the configure script to give the user some idea of what was
5399         configured.
5401         * plug-ins/dxf/Makefile.am: Makefile for new plugin.
5403         * plug-ins/dxf/dxf.c (dia_plugin_init): added file to initialise the
5404         plugin.
5406         * plug-ins/dxf/dxf-export.c: new file -- Steffen Macke's DXF export
5407         filter for dia.
5409         * configure.in (AM_PATH_LIBART): use the check function provided
5410         with libart rather than our own code.  It is more reliable, and
5411         it only requires that people who build out of CVS have libart.m4
5412         installed (not necessarily all of libart).
5413         (AM_PATH_GDK_PIXBUF): same here for gdk-pixbuf.
5415 2000-05-12  Andreas Hyden  <a.hyden@cyberpoint.se>
5417         * dia.desktop: Added Swedish translation.
5419 2000-05-09  James Henstridge  <james@daa.com.au>
5421         * lib/dia_xml.c: you can't free a const pointer, so remove const
5422         from variable definitions.
5424         Explicitely set LC_NUMERIC where needed, as sometimes it isn't
5425         initialised correctly.
5427         * app/render_svg.c (export_svg): set locale to C.
5429         * app/paginate_psprint.c (paginate_psprint): set locale to C.
5431         * app/render_eps.c (export_eps): set locale to C for EPS export.
5433         * lib/dia_xml.c (data_add_real): change to C locale for snprintf call.
5434         (data_add_point): same here.
5435         (data_add_rectangle): same here.
5436         (data_real): use g_strtod to convert strings to real numbers, so that
5437         locales are taken into account.
5438         (data_point): same here.
5439         (data_rectangle): same here.
5441         * AUTHORS: added Henk and Jacek to authors file.
5443         Daniel Egger's code cleanups.
5445         * app/select.c (select_invert_callback): remove unused variable.
5447         * app/plugin-manager.c (get_plugin_manager): fix typo.
5449         * app/load_save.c (read_connections, write_objects): 
5450         (write_connections): made some functions static.
5452         * app/interface.c (toolbox_delete, toolbox_destroy): made some
5453         functions static.
5455         * app/filedlg.c (file_export_callback): remove unused variable.
5457         * app/app_procs.c: various warning fixes.
5459         Integrating Jacek Pliszka's pstricks export filter.
5461         * plug-ins/pstricks/pstricks.c: code to initialise the plugin.
5463         * plug-ins/pstricks/render_pstricks.[ch]: Jacek Pliszka's pstricks
5464         renderer (with a few small modifications by me).
5466         * plug-ins/pstricks/Makefile.am: new makefile for pstricks plug-in.
5468         * plug-ins/Makefile.am (SUBDIRS): add pstricks subdirectory.
5470 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
5472         * configure.in:
5473         * sheets/Makefile.am:
5474         * shapes/Makefile.am:
5475         * shapes/Civil/Makefile.am:
5476         * sheets/civil.sheet:
5477         * shapes/Civil/*:
5478         Added civil/hydraulic/structural engineering objects from
5479         sdteffen <macke@heini.fbbwu.fh-lueneburg.de>.
5480         
5481 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
5483         * objects/FS/flow-poly.c:
5484         * objects/FS/flow.c:
5485         Fix division by zero in point_normalize().
5486         Patch by David Thompson <dcthomp@mail.utexas.edu>
5488 2000-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
5490         * lib/arrows.c:
5491         * lib/bezier_conn.c:
5492         * lib/connpoint_line.c:
5493         Added checks for zero-length lines before calls to point_normalize.
5495 2000-04-24  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5497         * app/preferences.c (prefs_data): Changed
5498         reversed_dragging_intersects to not make the dialog ridiculously
5499         wide.
5500         
5501 2000-04-22  James Henstridge  <james@daa.com.au>
5503         Hans's win32 patches:
5505         * app/export_png.c: include message.h
5506         * app/interface.c: include dia_dirs.h
5507         * app/linewidth_area.c: check for rint
5508         * app/main.c: include interface.h
5509         * app/paginate_psprint.c: remove unused variable.
5510         * app/preferences.c: include message.h
5511         * app/render_svg.c: include stdlib.h
5512         * app/select.c: include object_ops.h
5513         * lib/dia_dirs.c: miscelaneous fixes for win32.
5514         * lib/dia_image.c: include string.h
5515         * lib/plug-ins.c: look for .dll files rather than .la files on win32.
5516         * lib/properties.c: include stdlib.h
5517         * lib/properties.h: define extra data for standard properties as
5518         static variables on win32 (to get around dynamic linker problems).
5519         * objects/standard/polygon.c: polygon_create_change missing return
5520         statement.
5522 2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>
5524         * configure.in (ALL_LINGUAS): added Catalan
5526 2000-04-18  James Henstridge  <james@daa.com.au>
5528         * objects/standard/bezier.c (bezierline_get_object_menu): add a
5529         separator to the object menu between the add/remove segment items
5530         and the corner type items.
5531         (bezierline_get_object_menu): add code to disable the menu item for
5532         the current corner type.  Really just a cosmetic change.
5534         * app/disp_callbacks.c (create_object_menu): handle DiaMenuItems with
5535         a NULL for the label or with no associated callback.
5537         * objects/standard/bezier.c (bezierline_menu_items): use the
5538         enumeration values rather than numeric values for the corner types.
5540         * lib/bezier_conn.[ch]: added a corner_types member to the BezierConn
5541         structure, and add code to handle it.  Also, don't save the corner
5542         types inline in the bez_points node.  The way it is conditionally
5543         including the element just feels like it will break.
5545         * lib/geometry.h (BezPoint): removed the corner_type stuff from
5546         BezPoint.  The corner type stuff is a user interface level idea rather
5547         than something required by the renderer, so should be taken care of
5548         at the object level.
5550 2000-04-17  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5552         * configure.in: Fixed some problems with the gdk-pixbuf/imlib
5553         checks.  Weren't able to reproduce original bug, tough.
5555 2000-04-16  Cyrille Chepelov  <chepelov@calixo.net>
5557         * sheets/Electric.sheet:
5558         * sheets/Contact.sheet:
5559         * sheets/Pneumatic.sheet:
5560         * sheets/Circuit.sheet: sprayed some <br/>'s around.
5561         (added a few French translations in the last file)
5562         
5563 2000-04-16  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5565         * lib/geometry.h: 
5566         * lib/bezier_conn.h: 
5567         * objects/standard/bezier.c: 
5568         * lib/bezier_conn.c: Support for cuspy, smooth and symmetric
5569         bezier points.  Only one minor problem known:  Menus are active
5570         for endpoints minor handles.
5571         11:28: Save and load now works, too.
5572         (bezierconn_closest_major_handle): 12:03: New function to get the
5573         non-control point handle associated with the nearest control
5574         point.  
5575         Also fixed the menu activation problem, and made remove_segment
5576         not remove the endpoint.
5578 2000-04-15  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5580         * configure.in: Added check for gdk-pixbuf being >= 0.7.0 since
5581         new API is in use.
5583 2000-04-15  Asbjorn Pettersen  <asbjornP@dualog.no>
5585         * lib/plug-ins.c: Added <sys/types.h> and moved <fcntl.h> below
5586         <sys/stat.h>.   OS/2 patch.
5588 2000-04-15  James Henstridge  <james@daa.com.au>
5590         * objects/FS/flow-ortho.c, objects/FS/function.c: Applied David
5591         Thompson's patch that adds undo support to the function structure
5592         diagram objects.
5594 2000-04-14  James Henstridge  <james@daa.com.au>
5596         * objects/custom/custom_object.c (custom_distance_from): new
5597         implementation of distance algorithm that actually takes the
5598         display list into account when calculating the distance.  Much nicer
5599         than a simple bounding box.
5601 2000-04-13  Lars Clausen  <lrclause@cs.uiuc.edu>>
5603         * lib/geometry.c (line_crosses_ray): Fixed division by zero bug
5605 2000-04-12  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5607         * objects/standard/polygon.c: Start of polygons own changes (for
5608         connectionpoints).  Need to do seperate changes in polyshape, too,
5609         rather than reuse the bezier changes.
5611 2000-04-13  James Henstridge  <james@daa.com.au>
5613         * lib/dia_image.c (dia_image_draw): use the new enumeration values
5614         from after the gdk-pixbuf cleanup.
5616         * lib/geometry.c (bez_point_distance_and_ray_crosses): fix up limit
5617         on for loop.  Last set of coefficients were not beeing calculated,
5618         which caused a bit of breakage.
5620         * lib/bezier_conn.c (bezierconn_closest_segment): use the new
5621         functions in geometry.c for calculating the closest segment.
5622         (bezierconn_distance_from): use distance_bez_line_point to calculate
5623         the distance.
5625         * lib/geometry.c (distance_bez_line_point): new function to calculate
5626         the distance from an open bezier line to a point.
5627         (distance_bez_shape_point): new function to calculate the distance
5628         from a closed bezier shape.
5629         (distance_ellipse_point): new function to calculate the distance from
5630         a filled ellipse to a point.
5632         * lib/geometry.h (BezPoint): moved this structure here from render.h
5634 2000-04-12  James Henstridge  <james@daa.com.au>
5636         * lib/geometry.c (distance_bez_seg_point): new function to calculate
5637         the distance from a bezier segment.
5639         * lib/polyshape.c (polyshape_distance_from): use distance_polygon_point
5640         to calculate the distance from the object.
5642         * lib/geometry.c (distance_polygon_point): function for calculating
5643         the distance from a polygon to a point.
5645 2000-04-12  Cyrille Chepelov  <chepelov@calixo.net>
5647         * app/interface.c:
5648         * lib/sheet.[ch]: added a <br/> tag in sheet files, so that line 
5649         breaks can be inserted in the tool box. 
5651         * doc/sheet.dtd: updated the DTD
5652         * sheets/GRAFCET.sheet: tried <br/> on that sheet (more to come).
5653         
5654 2000-04-12  James Henstridge  <james@daa.com.au>
5656         * app/plugin-manager.c (get_plugin_manager): use the GTK_DIALOG
5657         macro if the dialog is a GtkDialog :(
5659 2000-04-11  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5661         * objects/standard/polygon.c: Connectionpoints now properly
5662         managed in a GList.  As far as I can tell, this will not dieturb
5663         the order (but I have the nagging doubt...)
5665         * lib/polyshape.c: No longer knows about connectionpoints.
5667 2000-04-11  James Henstridge  <james@daa.com.au>
5669         * app/Makefile.am: fix makefile for bonobo build.
5671         * configure.in: fix checks for bonobo.
5673         * app/menus.c: added entries for the plugin manager.
5675         * app/Makefile.am (dia_core_files): added plugin manager to files
5676         list.
5678         * app/plugin-manager.[ch]: the plugin manager dialog.
5680         * app/display.c (display_update_menu_state): set the antialiased
5681         menu entry to the correct value.
5683 2000-04-11  Cyrille Chepelov  <chepelov@calixo.net>
5685         * objects/custom/custom_object.c: not all renderers like ellipses with
5686         negative dimensions. This could cause ellipses to disappear when using
5687         the flip_h and flip_v functions.
5689         * samples/grafcet.dia: fixed speling and correctness.
5690         
5691 2000-04-11  James Henstridge  <james@daa.com.au>
5693         * lib/plug-ins.[ch]: added more accessors for use by a plugins dialog.
5694         exposed the dia_plugin_load and dia_plugin_unload functions.
5696         * lib/plug-ins.c (plugin_load): change plugin_load to work on an
5697         already created PluginInfo structure.
5699         * app/app_procs.c (app_exit): call dia_pluginrc_write() to write
5700         the pluginrc file.
5702         * lib/sheet.c: fix up call to dia_config_filename.
5704         * lib/plug-ins.[ch]: started writing code for handling a pluginrc
5705         file.  This would save information such as which plugins not to
5706         load during startup.
5708 2000-04-09  James Henstridge  <james@daa.com.au>
5710         * lib/sheet.c: use dia_config_filename to resolve file in ~/.dia.
5712 2000-04-10  Alexander Larsson  <alla@lysator.liu.se>
5714         * lib/plug-ins.c (dia_register_plugins):
5715         Don't free the value returned from g_getenv.
5717 2000-04-09  Anders Carlsson  <andersca@gnu.org>
5719         * app/preferences.h: Add reverse_rubberbanding_intersects preference variable.
5721         * app/preferences.c (prefs_data): Add reverse_rubberbanding_intersects preference data.
5723         * app/modify_tool.c (modify_button_release): If rubberbanding is done from 
5724         right to left, select objects that intersect the rubberbanding rectangle
5725         instead of selecting objects that are in the rectangle.
5727         * lib/diagramdata.c (layer_find_objects_intersecting_rectangle): Add function.
5729         * lib/diagramdata.h: Likewise.
5732 2000-04-09  James Henstridge  <james@daa.com.au>
5734         * lib/plug-ins.[ch]: add copyright messages to files.
5736         * plug-ins/cgm/cgm.c (dia_plugin_init): convert plugin over to new
5737         plugin interface.
5739         * objects/sybase/sybase.c (dia_plugin_init): 
5740         * objects/network/network.c (dia_plugin_init): 
5741         * objects/flowchart/flowchart.c (dia_plugin_init): 
5742         * objects/custom/custom.c (dia_plugin_init): 
5743         * objects/chronogram/chronogram.c (dia_plugin_init): 
5744         * objects/UML/uml.c (dia_plugin_init): 
5745         * objects/SADT/sadt.c (dia_plugin_init): 
5746         * objects/GRAFCET/grafcet.c (dia_plugin_init): 
5747         * objects/FS/fs.c (dia_plugin_init): 
5748         * objects/ER/er.c (dia_plugin_init): updated plugin load code for
5749         object libraries.
5751         * objects/standard/standard.c (dia_plugin_init): change over to new
5752         plugin interface.
5754         * lib/plug-ins.h (DIA_PLUGIN_CHECK_INIT): added a macro to define
5755         the version checker for plugins.
5757         * app/app_procs.c: remove plugin loading code from here, and use
5758         code from plug-ins.[ch].  Also move registration of internal
5759         objects/filters to a `builtin' plugin.
5761         * lib/Makefile.am (libdia_a_SOURCES): added plug-ins.[ch] to library.
5763         * configure.in: use AC_PROG_LIBTOOL rather than AM_PROG_LIBTOOL.
5765         * app/Makefile.am (EXTRA_DIST): you can't include a conditionally
5766         defined variable in EXTRA_DIST.
5768         * app/preferences.h: removed dia_config_filename from header.
5770         * app/preferences.c: removed dia_config_filename function.
5772         * lib/dia_dirs.c (dia_config_filename): moved function over to this
5773         file.  Also changed implementation slightly so that it should work
5774         on the win32 port correctly (and use NT home directories).
5776         * lib/dia_dirs.h (dia_config_filename): move dia_config_filename where
5777         it should have been.
5779         * lib/plug-ins.[ch]: new plugin loading code.
5781 2000-04-08  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5783         * objects/standard/polygon.c: Fixed startup crash bug (do'h!).
5785         * lib/polyshape.c: Fix closest segment finding, exposes deeper
5786         bugs in adding corners to 'wraparound' segment.
5788         * objects/standard/polygon.c: Added connection points (fixed so
5789         far), set menu sensitivity.
5791         * lib/polyshape.c: Changed to box-style handles, fixed for start
5792         and ends not being special, added initial connections,
5794         * lib/dummy_dep.h: Added polyshape (gotcha!)
5796         * objects/standard/pixmaps/ellipse.xpm: 
5797         * objects/standard/pixmaps/box.xpm: 
5798         Filled element pixmaps with white.
5800         * lib/polyshape.c: 
5801         * objects/standard/polygon.c: 
5802         * lib/polyshape.h: 
5803         * objects/standard/standard.c: 
5804         * objects/standard/Makefile.am (libstandard_objects_la_SOURCES): 
5805         * lib/Makefile.am (libdia_a_SOURCES): 
5806         * app/menus.c: 
5807         * app/interface.c (tool_data): 
5808         Added Standard/Polygon object and PolyShape lib object.  Still
5809         needs inside grab and connection points.
5811         * app/commands.c (help_about_callback): Now uses gdk-pixbuf if
5812         available. 
5814         * configure.in: Made imlib a fallback if gdk-pixbuf is absent or
5815         not wanted.
5817         * app/app_procs.c (app_init): Moved gtk_init outside #ifdef, moved
5818         if (argv) outside ifdefs.
5820 2000-04-04  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5822         * objects/standard/image.c (image_set_props): 
5823         Aspect ratio is back in town.
5825         * app/Makefile.am (dia_LDADD): 
5826         * acconfig.h: 
5827         * configure.in: 
5828         Check for gdk_pixbuf (by default disabled, for now)
5830         * app/render_eps.c (draw_image): 
5831         * app/render_libart.c (draw_image): 
5832         * app/render_gnomeprint.c (draw_image): 
5833         Support for alpha mask in rendering.  Color postscript, too.
5835         * lib/dia_image.c: 
5836         * lib/dia_image.h: 
5837         Support for gdk_pixbuf and proper masking for exports.
5839 2000-04-01  Kjartan Maraas  <kmaraas@online.no>
5841         * sheets/*.sheets: Updated Norwegian translations.
5842         
5843 2000-03-30  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5845         * lib/text.c (text_insert_char): 
5846         * lib/render_store.c (add_data): 
5847         Made realloc double the alloced space rather than add
5848         a fixed amount, to reduce memory stress.
5850         * app/select.c: Added new select method 'Transitive'
5851         that select every reachable (by connections) object.
5853 2000-03-27  Kjartan Maraas  <kmaraas@online.no>
5855         * dia.desktop: Added Norwegian translation.
5856         
5857 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
5859         * app/render_eps.c:
5860         * app/render_svg.c:
5861         Don't dereference NULL pointer if the renderer
5862         couldn't open the file. Fix by Lars Clausen.
5863         Bug reported by Martin Chisholm <b1mt@unb.ca>
5864         
5865 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
5867         * dia.desktop:
5868         * po/pt.po:
5869         Updated pt translation from Pedro Morais <pmmm@rnl.ist.utl.pt>
5871 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
5873         * app/dia.gnorba (location_info):
5874         Changed to correct executable name.
5876 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
5878         * app/app_procs.c:
5879         Don't do any argument parsing or initialization
5880         if argv==NULL.
5882         * app/dia_embedd.c:
5883         Call init_server_factroy before app_init.
5884         Call app_init with argv==NULL
5885         Now we don't get any critical error on startup.
5887         * configure.in:
5888         Add Electric and Pneumatic to makefile list.
5889         
5890 2000-03-24  Cyrille Chepelov <chepelov@calixo.net>
5892         * shapes/Electric/*:
5893         * sheets/Electric.sheet:
5894         Add some Electric circuit shapes.
5896         * shapes/Pneumatic/*:
5897         * sheets/Pneumatic.sheet:
5898         Add some Pneumatic & Hydraulic circuit shapes
5899         (both sheets are still incomplete, though feature enough 
5900         things for basic circuits).
5902         * shapes/Contact/l_*.(xpm|shape):
5903         * sheets/Contact.sheet
5904         * shapes/Contact/Makefile.am
5905         made the older electric circuit shapes in Contact obsolete (disabled
5906         them in the sheet, made that sheet Ladder only). Fixed the makefile
5907         for forgotten items.
5908         
5909 2000-03-24  Alexander Larsson  <alla@lysator.liu.se>
5911         * app/Makefile.am:
5912         Add support for Dia bonobo component.
5913         Currently a bit raw, so it's commented out.
5914         
5915         * app/dia_embedd.c:
5916         * app/dia.gnorba:
5917         New files for embedding dia.
5918         The menu disabling hack is a bit gross. Esp. for GNOME.
5920         * app/app_procs.h:
5921         Add new function app_is_embedded();
5923         * app/diagram.c:
5924         Don't destroy diagram when last display is destroyed if embedded.
5925         
5926         * app/display.c:
5927         Change initialization of display so it works with embedding.
5929         * app/display.h:
5930         Clarify comment about display destruction.
5932         * app/interface.[ch]:
5933         Added top_level_window argument to create_display_shell.
5934         Don't open a top-level window if embedding.
5935         Don't quit app if trying to close toolbox window when embedding.
5936         Add toolbox_show() and toolbox_hide().
5938         * app/main.c:
5939         Added app_is_embedded() function (just returns false).
5940         Added toolbox_show() call in main().
5942         * app/menus.c:
5943         Added code for getting toolbox menus. This is used to
5944         hide some menu items when running embedded.
5945         
5946         * app/app_procs.c:
5947         Include sheet.h to remove warning.
5949         * objects/UML/association.c:
5950         Clarify association direction text.
5951         
5952 2000-03-16  Fredrik Hallenberg  <hallon@lysator.liu.se>
5954         * dia.1
5955         Fixed man page so whatis parsing works.
5957 2000-03-12  Alexander Larsson  <alla@lysator.liu.se>
5959         * app/render_libart.c (new_libart_renderer):
5960         Fix from segg <segg@infonet.ca> to compile without libart.
5961         I forgot to change the stub for new_libart_renderer when doing
5962         the interactive renderer stuff for libart.
5964 2000-03-11  Alastair McKinstry  <mckinstry@computer.org>
5966         * dia.desktop: Added Irish translation.
5967         
5968         * configure.in (ALL_LINGUAS): Added Irish (ga) translation.
5970 2000-03-07  Asbjorn Pettersen  <asbjornP@dualog.no>
5972         * app/load_save.c (fchmod): OS/2 defines only.
5974 2000-03-07  James Henstridge  <james@daa.com.au>
5976         * lib/properties.c (prop_get_widget): set the position in the option
5977         menu correctly.
5979 2000-03-06  Alexander Larsson  <alla@lysator.liu.se>
5981         * app/display.c:
5982         * app/export_png.c:
5983         * app/render_libart.[ch]:
5984         Don't export png:s with an interactive libart renderer.
5986 2000-03-03  Asbjorn Pettersen  <asbjornP@dualog.no>
5988         * lib/arrows.c (finite): define finite(d) isfinite(d)  for OS/2
5990 2000-03-02  James Henstridge  <james@daa.com.au>
5992         * dia.spec (%build): unset LINGUAS before running configure.  This
5993         ensures that all translations get included in the RPM.
5995         * lib/properties.c (object_create_props_dialog): put in a check for
5996         a NULL return from the describe_props() object method.
5997         (prop_desc_lists_union): make sure that the returned array is not
5998         NULL.
5999         (prop_desc_lists_intersection): same here.
6001 2000-02-29  Alexander Larsson  <alla@lysator.liu.se>
6003         * objects/ER/Makefile.am:
6004         * objects/FS/Makefile.am:
6005         * objects/UML/Makefile.am:
6006         Don't link object libs with gtk.
6008 2000-02-29  James Henstridge  <james@daa.com.au>
6010         * app/preferences.c (prefs_save): check to see if the file could
6011         be opened before writing the prefs.
6013         * app/disp_callbacks.c (popup_object_menu): pass the button event
6014         to gtk_menu_popup.  This allows you to click and release to open
6015         the object menu.
6016         (ddisplay_canvas_events): same here.
6017         (create_object_menu): set the object type menu item in the object
6018         menu to be insensitive.
6020         * app/render_svg.c (draw_string): call xmlEncodeEntitiesReentrant,
6021         as we are now requiring a new version of libxml.
6023         * dia.spec: updated version number.  Added requirement for
6024         libxml >= 1.8.5
6026         * configure.in: incremented version number to 0.84.
6027         Added check for libxml >= 1.8.5.  This will prevent some of the
6028         problems people have had with broken libxml versions.
6030         * NEWS: added news items.
6032         * app/interface.c (create_color_area): removed call to realize parent
6033         widget.  Segg <segg@infonet.ca> reported that it caused a warning,
6034         but I haven't seen it on my copy of dia.
6036 2000-02-28  James Henstridge  <james@daa.com.au>
6038         * app/export_png.c: added copyright notice, and made the band height
6039         a constant.
6041 2000-02-27  Alexander Larsson  <alla@lysator.liu.se>
6043         * lib/font.c (suck_font):
6044         Fixed off-by one bug in font pixmap height.
6045         Fixes the problem with garbage at the bottom of some text in aa mode
6046         and in png exported files.
6048 2000-02-27  James Henstridge  <james@daa.com.au>
6050         * app/app_procs.c: add the png export filter if it was compiled in.
6052         * app/export_png.c (export_png): new PNG export filter.  This requires
6053         the libart renderer to work as it needs a renderer that renders to a
6054         pixel buffer.
6056         * configure.in: add check for libpng.
6058         * lib/message.c (message_internal): use a GNOME dialog here as well.
6060         * app/display.c (ddisplay_close): use a GNOME dialog here.
6062         * app/render_eps.c (create_eps_renderer): use diagram scaling factor
6063         when exporting to EPS.  This is because some people said the EPS
6064         output was too large
6066 2000-02-26  James Henstridge  <james@daa.com.au>
6068         * app/defaults.c (create_dialog): use a GNOME dialog for the defaults
6069         window.
6071         * app/app_procs.c (app_exit): use a GNOME dialog here.
6073         * app/preferences.c (prefs_create_dialog): if GNOME support is
6074         enabled, show a GNOME dialog.
6076         * app/grid.c (grid_draw): use preferences when drawing page break
6077         lines.
6079         * app/preferences.c: add page break preferences to dialog.
6081         * app/preferences.h: added page break preferences.
6083 2000-02-25  James Henstridge  <james@daa.com.au>
6085         * sheets/UML.sheet: added new objects.
6087         * objects/UML/uml.c: link in the two new objects.
6089         * objects/UML/node.c: 
6090         * objects/UML/branch.c: new UML objects from Stfan Seefeld
6091         <seefelds@magellan.umontreal.ca>.
6093 2000-02-24  James Henstridge  <james@daa.com.au>
6095         * objects/custom/custom_object.c: converted to use the properties
6096         interface.  In the future, it would be nice to add support for
6097         defining custom properties for custom objects, but that can wait.
6099 2000-02-22  James Henstridge  <james@daa.com.au>
6101         * sheets/Circuit.sheet: added new circuit shapes to sheet.
6103         * plug-ins/cgm/cgm.c: cgm plugin updates from Henk Jan Priester
6104         <hj@justcroft.com>.  Fixes number encoding, colour encoding, fonts
6105         and adds a few new features.
6107 2000-02-21  Daniel Egger  <egger@suse.de>
6109         * sheets/*.sheets: Added German translations and made some
6110         corrections to the others.
6111         
6112 2000-02-21  James Henstridge  <james@daa.com.au>
6114         * shapes/Circuit/Makefile.am (SHAPES): added new shapes to list.
6116         * shapes/Circuit/...: added new shapes from Erik Janssens.
6118 2000-02-20  James Henstridge  <james@daa.com.au>
6120         * app/interface.c (create_color_area): realize the parent window
6121         first.
6123         * objects/standard/image.c: properties patch for standard image
6124         object, from Lars Clausen.
6126         * lib/properties.c: support for PROP_TYPE_FILE from Lars Clausen.
6128         * lib/properties.h (PropType): added file property type.
6130         * shapes/Circuit/speaker_de.xpm: changed size of pixmap to match
6131         other shapes.
6133         * app/interface.c: use wrap box for toolbox.
6135         * app/Makefile.am: added new files.
6137         * app/gtk*wrapbox.[ch]: added wrap box widget.
6139 2000-02-19  James Henstridge  <james@daa.com.au>
6141         * sheets/network.sheet: added extra shapes to networks sheet.
6143         * configure.in (AC_OUTPUT): added shapes/network/Makefile
6145         * shapes/network/*: added shapes that were posted to the list a while
6146         back.
6147         
6148         * shapes/Makefile.am (SUBDIRS): added network subdirectory
6150         * app/menus.c (toolbox_menu_items): don't right justify help menu for
6151         gtk+ version of menus.
6153         * app/properties.c (create_dialog): use a GnomeDialog if we happen
6154         to be using gnome.
6156 2000-02-18  James Henstridge  <james@daa.com.au>
6158         * objects/flowchart/box.c: set extra data for corner radius and text
6159         padding properties.
6161         * objects/standard/box.c: set extra data for corner radius property.
6163         * lib/properties.h: set extra data in some standard properties.
6165         * lib/properties.c (prop_get_widget): look at the extra data for
6166         int, real and enum property types.  They now use GtkSpinButton and
6167         GtkOptionMenu respectively.
6169         * lib/properties.h: extra data members for creating property setting
6170         widgets.
6172 2000-02-17  James Henstridge  <james@daa.com.au>
6174         * objects/flowchart/box.c: reverted load/save functions back to
6175         previous implementations.  Made box use standard property names.
6177         * plug-ins/cgm/cgm.c (set_linestyle): was missing a */
6179         * app/grid.c: add more digits to the grid edit dialog.  This patch
6180         was also from Lars Clausen.
6182         * objects/standard/zigzagline.c: 
6183         * objects/standard/textobj.c:
6184         * objects/standard/polyline.c:
6185         * objects/standard/line.c:
6186         * objects/standard/ellipse.c:
6187         * objects/standard/box.c: 
6188         * objects/standard/bezier.c: 
6189         * objects/standard/arc.c: patches to add properties code to standard
6190         objects.  Based on patches from Lars Clausen.  I have also removed
6191         some dead code from the files.
6193         * lib/properties.h (PROP_STD_*): define a number of standard
6194         properties.  Where appropriate, objects should include these
6195         properties in their PropDescription list.  This way, the intersection
6196         of properties of two different shapes will be greater.
6198 2000-02-14  James Henstridge  <james@daa.com.au>
6200         * objects/flowchart/box.c (box_load, box_save): use property save
6201         routines.  Make sure that any props not handled by object_load_props
6202         are loaded before calling object_load_props, or we get errors because
6203         update_data is called.
6205         * lib/properties.c (object_get_props_from_offsets): fixed an indexing
6206         error that could cause properties to be loaded incorrectly.
6207         (object_set_props_from_offsets): similar here.
6209         * lib/properties.[ch] (prop_{load,save}): functions for loading
6210         or saving a property in Dia's XML file format.
6211         (object_{load,save}_props): load or save some properties of an
6212         object.  These functions should help simplify the load/save methods
6213         of objects that implement the properties interface.
6215 2000-02-13  James Henstridge  <james@daa.com.au>
6217         * objects/flowchart/box.c: use offset code to simplify property
6218         get/set routines.
6220         * lib/element.h (ELEMENT_COMMON_PROPERTIES): standard element
6221         properties.
6222         (ELEMENT_COMMON_PROPERTIES_OFFSETS): offsets.
6224         * lib/object.h (OBJECT_COMMON_PROPERTIES): list of standard object
6225         properties.
6226         (OBJECT_COMMON_PROPERTIES_OFFSETS): the offsets of the properties.
6228         * lib/properties.[ch] (object_{get,set}_props_from_offsets): new
6229         functions 
6231 2000-02-12  Alexander Larsson  <alla@lysator.liu.se>
6233         * app/Makefile.am:
6234         Add the custom object to DIA_LIB_PATH in run_dia.sh
6236 2000-02-10  Cyrille Chepelov  <chepelov@calixo.net>
6238         * sheets/Circuit.sheet:
6239         * shapes/l_sout* (NEW):
6240         * shapes/l_outj.* (NEW): added new outputs : jump, and the power-saved
6241         variants of simple, inverted, set and reset outputs.
6242         Still to do: all Schneider/Telemecanique TSX *7 function blocks ; 
6243         probably a split of Contact and Ladder sheets. And then a major 
6244         revamping of the Contact sheet.
6246 2000-02-10  James Henstridge  <james@daa.com.au>
6248         * app/Makefile.am (dia_LDADD): don't link with libcustom_objects.
6250         * app/app_procs.c (register_all_objects): don't explicitely
6251         register the custom objects library -- let it be loaded by the
6252         normal plugin loading methods.
6254         * lib/Makefile.am (libdia_a_SOURCES): don't include custom.h here.
6256         * objects/custom/Makefile.am: build libcustom_objects as a shared
6257         library again.
6259         * objects/custom/shape_info.[ch]: don't read the description field
6260         of custom shapes.  It makes more sense to have these in the sheet
6261         file to localise the parts of dia that translators have to deal
6262         with.
6264         * objects/custom/custom_object.c (custom_object_new): do not
6265         create the sheet object for the new custom shape -- this is
6266         handled by the custom sheet code.
6268         * objects/custom/custom.c: change over to being a normal plug-in
6269         rather than being linked with the main dia executable.
6271 2000-02-09  James Henstridge  <james@daa.com.au>
6273         * sheets/Circuit.sheet: 
6274         * sheets/Flowchart.sheet: 
6275         * sheets/Contact.sheet: fixed up sheets.
6277         * objects/custom/custom_object.c (custom_object_new): set the
6278         extra ObjectType fields.
6280         * lib/sheet.c: use extra ObjectType fields when creating sheet
6281         objects.  Give a warning if <shape> tags are found in a sheet
6282         file.  Now the custom sheet code does not know about custom
6283         shapes -- they look like any other object type.
6285         * lib/object.h (ObjectType): added extra members
6287 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
6289         * app/linewidth_area.c:
6290         Added code to set arbitrary line width.
6291         Patch by Lars Clausen <lrclause@cs.uiuc.edu>
6293 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
6295         * app/linewidth_area.c: 
6296         * lib/font.[ch]:
6297         Add support for font-sucking.
6298         Implementation borrowed from gnome-canvas.
6299         
6300         * app/render_libart.[ch]:
6301         Implement text rendering.
6303 2000-02-07  Alexander Larsson  <alla@lysator.liu.se>
6305         * app/properties.c (create_dialog):
6306         ref and sink no_properties_dialog.
6308 2000-02-07  James Henstridge  <james@daa.com.au>
6310         * app/group.c (group_describe_props): new function.  Return the
6311         intersection of the properties of the contained objects that
6312         implement the describe_props interface.
6313         (group_get_props): implement by iterating through contained objects
6314         and calling their get_props method until all properties have been
6315         set.  Maybe this should go through all objects all the time??
6316         (group_set_props): implement by calling set_props method on all
6317         contained objects.
6318         (group_ops): use standard props dialog creation routines.
6320         * lib/properties.c (prop_desc_lists_intersection): fix implementation
6321         of intersection -- I was using i++ instead of i-- in a for loop :(
6323         * objects/custom/custom.c (custom_register_objects): fix usage
6324         of dia_get_data_directory again.
6326         * lib/sheet.c: fix up use of dia_get_data_directory, so that we
6327         actually read the sheets.
6329 2000-02-06  Alexander Larsson  <alla@lysator.liu.se>
6331         Win32 port by Hans Breuer <Hans@Breuer.org>
6333         * app/Makefile.am:
6334         Remove DATADIR and LIBDIR defines.
6336         * lib/Makefile.am:
6337         Add dia_dirs.c and dia_dirs.h
6338         Added DATADIR and LIBDIR defines.
6340         * lib/dia_dirs.[ch]:
6341         New files for handling special directories.
6343         * app/app_procs.c:
6344         * app/commands.c:
6345         * lib/sheet.c:
6346         * objects/custom/custom.c:
6347         Fix warnings.  Use directory functions.
6349         * app/diagram.h:
6350         Add prototype for diagram_redraw_all.
6352         * app/diaunitspinner.c:
6353         * app/filedlg.c:
6354         * app/interface.c:
6355         * app/preferences.c:
6356         Fix warning.
6358         * app/load_save.c:
6359         Win32 doesn't have mkstemp and fchmod.
6361         * app/paginate_psprint.c:
6362         Win32 calls popen _popen and pclose _pclose.
6363         
6364         * app/arrow.c:
6365         Win32 calls finite _finite.
6367         * lib/color.h:
6368         Win32 needs to dllexport the color vars.
6370         * objects/GRAFCET/step.c:
6371         * objects/chronogram/chronoref.c:
6372         snprintf -> g_snprintf
6374 2000-02-05  James Henstridge  <james@daa.com.au>
6376         * lib/properties.c: more fixes so that it doesn't crash when using
6377         properties.  The undo/redo stuff also works!!
6379         * objects/flowchart/box.c (box_{describe, get, set}_props): test
6380         object where I have implemented the new properties interface
6381         complete with automatic properties dialog generation.
6383         * lib/properties.c (object_apply_props): fixed stupid error when
6384         creating the old_props array.  Also, it no longer frees the props
6385         array -- you will have to do that yourself.
6387 2000-02-04  James Henstridge  <james@daa.com.au>
6389         * app/properties.c (properties_apply): pass object_part to
6390         apply_properties.
6392         * lib/object.h (ApplyPropertiesFunc): added widget argument.
6394         * lib/lazyprops.h (PROPDLG_CREATE): ref and sink properties dialogs
6395         created this way as well.
6397         * objects/*/*.c: ref and sink the properties dialog window for each
6398         widget.  It can't rely on ref count being incremented by
6399         properties_show anymore.
6401         * app/properties.c (properties_show): don't ref the widget before
6402         removing it, or its ref count will increase each time you open the
6403         properties dialog.  Don't unparent the widget, as container_remove
6404         does that for us.
6406         * lib/object.h: fixed up prototypes for new object methods.
6408         * lib/properties.[ch]: added functions for automatically creating
6409         a properties dialog from the output of describe_props, get_props and
6410         set_props.
6411         (object_apply_props): apply properties and return an ObjectChange
6412         structure that can be used for undo.
6414 2000-02-03  Cyrille Chepelov  <chepelov@calixo.net>
6416         * objects/GRAFCET/transition.c: minor leak plugged.
6418         * sheets/GRAFCET.sheet:
6419         * objects/GRAFCET/pixmaps/condition.xpm: (NEW)
6420         * objects/GRAFCET/condition.c: (NEW) added a new object type, action 
6421         conditions.
6422         * objects/GRAFCET/Makefile.am: fixed incorrect dependencies, added
6423         new ones (for condition.c).
6424         * objects/GRAFCET/action.c: added connection points for the conditions.
6425         * samples/grafcet.dia: updated the sample to improve conformance to
6426         IEC 848 and take advantage of dia's new features.
6427         
6428         * lib/geometry.h: (point_get_normed) fixed a typo.
6430 2000-02-02  James Henstridge  <james@daa.com.au>
6432         * lib/object.h: added object functions describe_props, get_props and
6433         set_props.  Do type definitions so that object.h doesn't need to
6434         include properties.h, since properties.h includes object.h.
6436         * lib/properties.[ch]: more hacking.
6438         * po/de.po: updated po file.
6440 2000-01-30  James Henstridge  <james@daa.com.au>
6442         * configure.in: don't add flags to CFLAGS unconditionally.  Instead,
6443         check to see if the C compiler accepts the flag beforehand.
6445         * lib/properties.[ch]: start of properties code.
6447         * shapes/Contact/Makefile.am (SHAPES): fix up makefile.
6449 2000-01-30  Cyrille Chepelov  <chepelov@calixo.net>
6450         
6451         * sheets/GRAFCET.sheet:
6452         * sheets/GRAFCET/etapemc.xpm: (NEW)
6453         * sheets/GRAFCET/etapesp.xpm: (NEW)
6454         * objects/GRAFCET/step.c: Added the macro and
6455         sub-program call step types.
6457         * objects/GRAFCET/receptivity.[ch]: renamed to 
6458         objects/GRAFCET/boolequation.[ch]. 
6459         * objects/GRAFCET/transition.c: changed (Receptivity *) to 
6460         (BoolEquation *)
6462         * lib/connpoint_line.[ch]: 
6463         * objects/chronogram/chronoline.c:
6464         * objects/chronogram/chronoref.c:
6465         * objects/GRAFCET/vergent.c:
6466         * objects/standard/line.c:
6467         * objects/SADT/box.c: Minor CPL interface changes, factored out the
6468         point count adjustment code into the CPL object.
6469         
6470 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
6472         * app/render_libart.c:
6473         Added support for images and bezier curves.
6474         Only text/fonts missing now.
6476         * app/render_gdk.c:
6477         Removed old erronous comment.
6479 2000-01-29  Cyrille Chepelov <chepelov@calixo.net>
6481         * objects/chronogram/chronoline_event.c: removed references to
6482         lround(). Please don't insist, I'm already red of shame.
6483         
6484 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
6486         * app/render_libart.[ch]:
6487         * app/Makefile.am:
6488         Non-finished libart renderer.
6490         * acconfig.h:
6491         Added HAVE_LIBART flag
6493         * configure.in:
6494         Added libart probe
6496         * app/app_procs.c:
6497         Call gdk_rbg_init().
6499         * app/connectionpoint_ops.c:
6500         * app/disp_callbacks.c:
6501         * app/grid.c:
6502         * app/handle_ops.c:
6503         * app/magnify.c:
6504         * app/modify_tool.c:
6505         Change ddisp->renderer type from RendererGdk * to Renderer *
6506         Draw zoom and select rects in ddisp->canvas->window instead
6507         of ddisp->renderer->renderer->pixmap.
6509         * app/display.[ch]:
6510         Add aa_renderer to DDisplay, and  support for it.
6511         New function ddisplay_set_renderer() for changing renderer.
6512         Add ddisplay_transform_coords_double() function, used by aa renderer.
6513         Change ddisp->renderer type from RendererGdk * to Renderer *
6515         * app/menus.c:
6516         Add antialias to menu.
6517         
6518         * app/commands.[ch]:
6519         add view_aa_callback function
6520         Change ddisp->renderer type from RendererGdk * to Renderer *
6522         * lib/geometry.[ch]:
6523         Added IntRectangle and int_rectangle_union.
6525 2000-01-28  James Henstridge  <james@daa.com.au>
6527         * app/commands.h: removed prototypes.
6529         * app/commands.c: removed the functions that have been moved to
6530         filedlg.c.
6532         * app/filedlg.h: added new prototypes.
6534         * app/filedlg.c (file_open_callback): move open dialog to this
6535         file.  This implementation should remember the current directory
6536         between file loads.
6537         (file_save_as_callback): moved this dialog as well.
6538         (file_save_callback): moved this function here.
6540         * app/paginate_psprint.c (paginate_psprint): if not in fit to mode,
6541         align page boundaries to the origin.
6543         * app/diagram.c (diagram_update_extents): redraw the diagram if the
6544         scaling factor changes while updating the extents.  This is so the
6545         page breaks get redrawn correctly.
6547         * app/pagesetup.c (pagesetup_apply): added diagram_flush call when
6548         applying changes.
6550         * app/grid.c (grid_draw): draw page breaks as well as grid lines.
6551         For normal mode, use (0,0) as the origin.  For `fit to' mode, use
6552         the corner of the bounding box.
6554         * app/pagesetup.c (create_page_setup_dlg): load new paper attributes
6555         into page setup dialog.
6556         (pagesetup_apply): apply new `fit to' attributes to the diagram.
6558         * app/load_save.c (diagram_load): load new paper `fit to' attributes.
6559         (diagram_data_save): save `fit to' data.
6561         * lib/diagramdata.c (new_diagram_data): initialise `fit to' members.
6562         (data_update_extents): when in `fit to' mode, update scale factor
6563         when we update the extents.
6565         * lib/diagramdata.h (PaperInfo): added `fit to' members to PaperInfo
6566         structure.
6568         * .../.cvsignore: added some cvsignore files to quieten cvs.
6569         
6570         * app/pagesetup.c (pagesetup_changed): added code to change the
6571         scaling/fit to values as you change the options in the page setup
6572         dialog.  I haven't added code so that the fit to options are saved
6573         though.
6575         * app/diapagelayout.[ch]: changed the scaling portion of the widget
6576         to make it easier to set a `fit to' style scaling factor.
6578 2000-01-27 Cyrille Chepelov <chepelov@calixo.net>
6579         * lib/neworth_conn.[ch]: (NEW) Temporary (hopefully) fork of orth_conn,
6580         but connpoint_line-based, so that there's a connection point at the 
6581         middle of each segment. Currently only the SADT arrow uses this.
6583         * objects/SADT/* (NEW): SADT (both idf0 and idf1) support.
6584         
6585 2000-01-26 Cyrille Chepelov <chepelov@calixo.net>
6586         * lib/lazyprops.[ch]:(NEW) Added a bunch of macros for loading, 
6587         saving and editing of properties (and default properties). 
6588         See the new objects (GRAFCET, SADT, chonograms) for examples.
6589         For already too hairy stuff, see objects/chronogram/chronoline.c.
6591         * lib/connpoint_line.[ch] (NEW): This subobject manages a line of 
6592         evenly spaced connection points, which the user can add or remove at
6593         will. An object can own several connection point lines. See the SADT
6594         Box, or the GRAFCET vergents for examples.
6596         * lib/dummy_dep.h: added dependencies to new files. Told gcc to keep 
6597         quiet about unused stuff.
6599         * objects/GRAFCET (NEW):
6600         * samples/grafcet.dia (NEW):
6601         Added support for GRAFCET charts. 
6603         * objects/chronogram (NEW):
6604         * samples/chronograms.dia (NEW):
6605         Added support for chronograms (feature requested by Ronald L. Chichest;
6606         I found I'd use it often, too).
6608         * objects/standard/line.c: Replace the middle connectionpoint by 
6609         a whole connection point line, which defaults to one point (hint, 
6610         hint). New Line object menu to take advantage of this. 
6611         "Bothwards" compatibility is preserved (although you may loose 
6612         connections if you load a newer file in a older dia).
6614         * app/lineprops_area.c:
6615         * lib/arrows.[ch]:
6616         * lib/widgets.c: Added hollow and filled ellipse arrow head type. 
6617         (feature requested by Benjamin Kahn).
6618         Merged in Steffen Macke's slashed arrow head type.
6620         * app/Makefile.am (app/run_dia.sh actually):
6621         Added $DEBUGGER in front of dia's invocation, so that
6622         you can call "DEBUGGER=ddd app/run_dia.sh" (maybe naive, but useful).
6623         Added $(EFENCE) to app/dia's LDFLAGS, so that you can do 
6624         "EFENCE=-lefence" to link with Electric Fence.
6626         * configure.in: Made gcc do more aggressive optimisations on i386, and
6627         enabled warnings.
6628         
6629 2000-01-24  James Henstridge  <james@daa.com.au>
6631         * lib/geometry.[ch]: added inline versions of functions.  Used
6632         glib's G_INLINE_FUNC stuff, so it should still work on systems
6633         without inline funcs.
6635         * plug-ins/cgm/cgm.c (draw_ellipse, fill_ellipse): fixed up so that
6636         it outputs the correct element id for the ellipse objects.
6638 2000-01-24 Cyrille Chepelov <chepelov@calixo.net>
6640         * lib/object.[ch]: added object_add_connectionpoint_at, similar to
6641         object_add_handle_at. Message typo fixed.
6642         
6643         * lib/sheet.c (load_register_sheet):
6644         potential bug fixed (warning hunt).
6646         * objects/custom/custom.c (custom_object_load): disabled an assertion
6647         which made dia abort upon failure to load a shape file. Fixed a
6648         subsequent crash. 
6650         * objects/custom/shape_info.c (load_shape_info): Made the custom 
6651         shape load code ignore XML comments between <?xml ...?> and the 
6652         root object (mostly useful to put the emacs magic comments).
6653         
6654         * app/load_save.c: Made dia do backup copies of files when saving,
6655         and complain in case of failure.
6657 2000-01-24  Cyrille Chepelov  <chepelov@calixo.net>
6659         * AUTHORS: fixed my address (ISP thought it was a great idea to change
6660         the domain name)
6661         
6662         * configure.in:
6663         * shapes/Contact:
6664         * shapes/Contact/*:
6665         * sheets/Contact.sheet:
6666         * sheets/Makefile.am:
6667         Added support for Contact and LADDER charts.
6669         * dia.desktop: Added a French translation.
6670         
6671 2000-01-23  James Henstridge  <james@daa.com.au>
6673         * app/commands.c (help_about_callback): don't die if can't load
6674         logo image.
6676         * app/render_gdk.c (bezier_add_lines): sanity check to try to weed
6677         out NaN's when performing bezier curve subdivision.
6679         * objects/custom/custom_object.c: initialise memory of Custom structs
6680         to zero.
6682         * app/render_svg.c (draw_image): added image support to the XML
6683         output filter.  The image is just referenced, rather than being
6684         included inline, so if you copy the SVG file somewhere else, you
6685         may need to move the images or fix up the links.
6687         * plug-ins/cgm/cgm.c (draw_string): output a text colour element,
6688         so the text is not just displayed in black all the time.
6690 2000-01-15  Fredrik Hallenberg  <hallon@lysator.liu.se>
6692         * configure.in: fixed libpopt test so we wont try to build with
6693         too old libpopt.
6695 1999-12-18  Yuri Syrota  <rasta@renome.rovno.ua>
6697         * configure.in: Added "uk" to ALL_LINGUAS.
6699 1999-12-24  James Henstridge  <james@daa.com.au>
6701         * po/ru.po: updated russian translation from Valek Filippov.
6702         
6703         * app/render_svg.c (new_svg_renderer): make output use 19991203
6704         version of SVG DTD.  Use viewBox to set the extents of the view.
6706         * INSTALL (FONTS): updated locations of gnome-xml and imlib.  List
6707         ftp.gnome.org as the download.
6709         * TODO (TODO): weeded out completed todo items and added a few extra.
6711         * Makefile.am (EXTRA_DIST): added documentation to EXTRA_DIST.
6713         * doc/sheet.dtd: first stab at a DTD for the sheet files.  It would
6714         be good to get rid of the object/shape distinction and separate
6715         the custom shape code out from the main application.
6717         * objects/custom/README, diagram.dtd: moved to new doc directory.
6718         Renamed the custom shapes README to custom-shapes.  Also updated
6719         custom shape docs a bit and removed the section on sheet files, as
6720         that has changed a bit.
6722         * plug-ins/cgm/cgm.c (draw_image): give an error if the row length
6723         of the image data is larger than the maximum cell array.  I should
6724         add code to break scan lines down further in this case, but for now
6725         an error message is better than an infinite loop.
6727         * app/filedlg.c (file_export_ok_callback): show a dialog if we
6728         couldn't determine the export filter to use.
6730         * app/commands.c (help_about_callback): fixed up about box logo
6731         expose bug.  Now just use a GtkPixmap widget rather than a
6732         GtkDrawingArea and calling gdk_imlib_paste_image.
6734         * app/Makefile.am (EXTRA_DIST): added print stuff to extra dist,
6735         because automake does not always get things right.
6737         * configure.in: updated version number to 0.83.
6739         * app/preferences.c (prefs_save): 
6740         * app/render_svg.c (new_svg_renderer): "wt" is not a valid flag string
6741         for fopen.  Text is the default file mode anyway.
6743         * app/commands.c (file_save_as_dialog_ok_callback, file_new_callback): 
6744         * app/grid.c (grid_x_update, grid_y_update, grid_show_dialog): 
6745         * app/load_save.c (write_objects, write_connections): 
6746         * app/filedlg.c (file_export_ok_callback): 
6747         * lib/dia_xml.c (data_add_int, data_add_enum, data_add_real): 
6748         * lib/dia_xml.c (data_add_point, data_add_rectangle): 
6749         * lib/font.c (init_x11_font, font_get_gdkfont): changed calls to
6750         snprintf to calls to g_snprintf.
6752         * plug-ins/cgm/cgm.c (export_cgm): write the original dia file name
6753         as the picture name.
6755 1999-12-23  James Henstridge  <james@daa.com.au>
6757         * plug-ins/cgm/cgm.c (write_int32, write_int16): fixed up output of
6758         negative numbers.  This fixes the upside down text problem I was
6759         having previously.
6760         (draw_image): implemented the image code.  It will try to split the
6761         image data up into bands if it is too big to fit into a single
6762         cgm cell array element.  It will have problems if you try to insert
6763         an image wider than about 10,000 pixels though.
6765         * Makefile.am: use gnomedatadir for the files that need to be
6766         installed in gnome's datadir.  This is mainly to help people doing
6767         packages for weird setups.
6769 1999-12-22  James Henstridge  <james@daa.com.au>
6771         * plug-ins/cgm/cgm.c: added support for text.  Now only images and
6772         beziers are left to do.  The text seems to be the wrong way up
6773         still.  This is probably a problem with character orientation
6774         element, but I have used what the settings given in the standard.
6775         Other than this, the CGMs dia produces are readable (and displayable)
6776         by ralcgm and corel draw.
6777         (draw_string): subtract from the X coord rather than the Y coord for
6778         center and right aligned text.
6780         * plug-ins/cgm/cgm.c: a few fixups for the output.  Use REALSIZE as
6781         the size of a real number, and changed name of write_double to
6782         write_real.  Consider changing to fixed real encoding.  Also, now
6783         all element headers are correct.  Once the real number encoding is
6784         fixed, only text, beziers and images are left to do.
6786 1999-12-21  James Henstridge  <james@daa.com.au>
6788         * Makefile.am (SUBDIRS): recurse into plug-ins.
6790         * configure.in: add plug-ins directory makefiles to list.
6792         * plug-ins/cgm/cgm.c: start of cgm export filter.  Beziers and text
6793         not done yet.  Also, the output files are not quite correct.
6795         * app/render_eps.c (print_reencode_font): don't reencode the Symbol
6796         font.  It doesn't work if you do.
6798 1999-12-20  James Henstridge  <james@daa.com.au>
6800         * app/app_procs.c (app_init): don't use diagram_export_to_eps to
6801         export the files.  Instead, use filter_guess_export_filter to
6802         guess the correct format to save in and use the appropriate filter.
6803         It defaults to postscript for compatibility.
6805         * app/diagram.[ch] (diagram_export_to_eps): removed export to eps
6806         function.
6808         * app/commands.[ch]: removed export to eps functions.
6810         * app/menus.c: removed export to eps menu items.
6812         * app/app_procs.c: register new export filters.
6814         * app/load_save.[ch]: define dia native export filter.
6816         * app/render_eps.[ch]: define eps export filter.
6818         * lib/filter.h: added diafilename argument to the DiaExportFunc
6819         prototype.  This is useful for putting the source of the diagram
6820         into the output file for instance.
6822         * app/app_procs.c (app_init): register the SVG export filter.  Have
6823         to get EPS code converted to this API, and maybe also allow saving in
6824         DIA's native format from the export dialog.  In fact, it is now
6825         possible to load an export filter from a shared library and it will
6826         integrate into the interface correctly.
6828         * app/menus.c: removed references to the SVG renderer.
6830         * app/commands.[ch]: removed svg stuff.
6832         * app/diagram.[ch]: removed diagram_export_to_svg function.
6834         * app/render_svg.[ch]: added a DiaExportFilter structure for this
6835         renderer.
6837         * app/filedlg.[ch]: code for the new export diagram dialog.  Will
6838         probably move the open/save dialogs to this file as well.
6840 1999-12-19  James Henstridge  <james@daa.com.au>
6842         * lib/filter.[ch]: start of interface for generalised handling of
6843         filters.  I have only done code for export filters so far.  I still
6844         need to do the gui for this, and convert the current SVG and EPS
6845         filters to the new API.
6847         * lib/bezier_conn.c (bezierconn_copy): fix up copy operation.  We
6848         weren't setting the last handle correctly.  It was actually assigning
6849         to the wrong position in the handles array, so the last handle was
6850         left as NULL, which caused the segfault.
6852         * objects/standard/image.c (image_copy): modified routine so that
6853         it just adds a reference to the DiaImage structure in the new image
6854         object.  This seems to have cleared up the problems with copying
6855         image objects.
6857         * dia.spec: spec file additions from John Gotts.
6859 1999-12-12  James Henstridge  <james@daa.com.au>
6861         * configure.in (GNOME_LIBS): updated version number to 0.82.  0.82
6862         has not been released yet though.
6864         * Makefile.am (EXTRA_DIST): distribute diagram.dtd.
6866         
6867         The following based on a patch from Lars Clausen:
6868         
6869         * objects/standard/bezier.c (bezierline_move_handle): when performing
6870         the initial drag of the bezierline, move the control points to keep
6871         the line straight.
6873         * lib/bezier_conn.c (bezierconn_add_segment): when adding a segment,
6874         make the new control points a bit closer to the major point.
6876         * app/create_object.c (create_object_motion): use HANDLE_MOVE_CREATE
6877         as the reason for the move.
6878         (create_object_button_release): use HANDLE_MOVE_CREATE_FINAL as the
6879         move reason.
6881         * lib/handle.h: new handle move reasons.
6883 1999-12-09  James Henstridge  <james@daa.com.au>
6885         * dia.spec: include the new files in RPMs.
6887         * Makefile.am: install these new files.
6889         * dia.keys.in: file describing actions and icon for dia diagrams for
6890         use in the gnome file manager.
6891         
6892         * dia.mime: a file defining the application/x-dia-diagram mime type.
6893         
6894         * dia-diagram.png: an icon for dia diagrams.
6896 1999-12-08  James Henstridge  <james@daa.com.au>
6898         * plug-ins/python/pydia-diagram.c: added heaps of new methods.
6900         * plug-ins/python/pydia-display.[ch]: wrapper for display.
6902         * objects/standard/ellipse.c: applied Lars's patch to optionally not
6903         draw the background of the ellipse.
6905         * app/load_save.c (read_connections): do some sanity checking on the
6906         handle and connection point numbers before performing the object
6907         connection.
6909         * lib/bezier_conn.c (bezierconn_load): give the correct number of
6910         handles when loading a BezierConn.
6912 1999-12-07  Kjartan Maraas  <kmaraas@online.no>
6914         * sheets/*.sheet: Finished Norwegian translations.
6915         
6916 1999-12-07  James Henstridge  <james@daa.com.au>
6918         * plug-ins/python/diamodule.c (PyDia_Load): load diagram function.
6919         (PyDia_GetObjectType): find object type function.
6921         * plug-ins/python/pydia-diagram.c (PyDiaDiagram_Save): added a save
6922         method for diagrams.
6924         * plug-ins/python/pydia-object.c: added methods for DiaObject and
6925         DiaObjectType.
6927         * AUTHORS: added Lars and Cyrille to the authors file.
6929         * objects/standard/bezier.c (bezierline_add_segment_callback): place
6930         new point correctly.
6932         * lib/bezier_conn.h (bezierconn_closest_segment): fixed prototype.
6934         * lib/bezier_conn.c: applied Lars's patch for placement of the new
6935         point when adding a segment to a BezierConn.
6937 1999-12-06  James Henstridge  <james@daa.com.au>
6939         * plug-ins/python/test.py: test script for the python plug-in.
6941         * plug-ins/python/python.c: this file contains the plug-in startup
6942         code for the python plugin.  Right now, it just initialises the
6943         dia module and executes a script.
6945         * objects/standard/polyline.c (polyline_draw): fix start arrow size.
6947         * objects/standard/bezier.c (bezierline_draw): draw control lines for
6948         bezier curve if we are using an interactive renderer (ie. only if
6949         displaying to the screen).
6951         * lib/bezier_conn.[ch] (bezierconn_draw_control_lines): function
6952         to draw control lines on to a bezier curve.  Based on implementation
6953         from Lars.
6955         * objects/standard/bezier.c (bezierline_delete_segment_callback):
6956         calculate segment number using closest_segment rather than
6957         closest_handle.  Sometimes the closest handle is part of a different
6958         segment.
6959         (bezierline_draw): use correct size for start arrow.
6961         The next few entries are from Peter Moulder <reiter@netspace.net.au>:
6962         * lib/geometry.c (distance_line_point): added notes to documentation
6963         in comment.
6964         * app/object_ops.c (object_list_align_v): 
6965         (object_list_align_h): fix of by one error when calculating free space
6966         for equal distance alignment.
6967         * app/menus.c (objects_align_h, objects_align_v): include align
6968         adjacent menu items in the gnome version of the menus.
6969         * app/diagram.c (diagram_update_menu_sensitivity): set sensitivity on
6970         align adjacent menu items correctly.
6973         * lib/dummy_dep.h (dummy_dep): added bezierconn to dummy dependency
6974         table.
6976         * objects/standard/bezier.c: converted bezierline to use BezierConn.
6977         Still a few bugs.  It crashes on deleting line segments.
6979         * lib/Makefile.am (libdia_a_SOURCES): added BezierConn to libdia.
6981 1999-12-05  James Henstridge  <james@daa.com.au>
6983         * lib/bezier_conn.[ch]: start of BezierConn object
6985         * app/interface.c: add bezierline to toolbox.
6987         * objects/standard/standard.c: initialise bezierline.
6989         * objects/standard/bezier.c: new object from Lars R. Clausen.  I have
6990         made a few modifications to get it working nicely.  It still needs
6991         a bit of work though.  Maybe create a BezierConn object in lib.
6993 1999-12-02  James Henstridge  <james@daa.com.au>
6995         * plug-ins/python/pydia-*.c: fixed compile errors in these files.
6996         
6997         * plug-ins/python/Makefile.am: tried building everything.  It is
6998         building as a library at the moment.  I will have to convert it
6999         to a libtool library and add some initialisation code.
7000         
7001         * plug-ins/python/diamodule.c: start of the dia module, using the
7002         other object wrappers.  Not complete.
7004 1999-12-01  James Henstridge  <james@daa.com.au>
7006         * plug-ins/python/pydia-object.c (PyDiaObject_GetAttr): implement
7007         the handles and connections attributes.
7009         * plug-ins/python/pydia-layer.c: added functions that use
7010         ConnectionPoint's.
7012         * plug-ins/python/pydia-handle.[ch]: wrapper for Handle's.
7014         * plug-ins/python/pydia-cpoint.[ch]: wrapper for ConnectionPoint's.
7016         * plug-ins/python/pydia-*.[ch]: starts of python scripting plug-in.
7017         I am currently wrapping the basic elements in the diagram in python
7018         objects -- nothing to see or play with yet.
7020 1999-11-30  Alexander Larsson  <alla@lysator.liu.se>
7022         * AUTHORS:
7023         * HACKING:
7024         James Henstridge <james@daa.com.au> is now the maintainer of Dia.
7026 1999-11-29  Alexander Larsson  <alla@lysator.liu.se>
7028         * configure.in:
7029         * po/ru.po:
7030         Added russian translation from Valek Filippov <frob@df.ru>
7032 1999-11-24  James Henstridge  <james@daa.com.au>
7034         * sheets/UML/*: 
7035         * sheet/ER/*: moved extra sheet pixmaps back to separate dirs as
7036         discussed with Alex.  Also added extra makefiles so that make install
7037         works correctly.
7039 1999-11-23  Alexander Larsson  <alla@lysator.liu.se>
7041         * app/preferences.[ch]:
7042         * app/display.c:
7043         Added snap to grid preference.
7044         Patch from Michael Leslie <mles@springboardwireless.com>
7046 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
7048         * app/load_save.c:
7049         * lib/dia_xml.c:
7050         * lib/sheet.c:
7051         * lib/text.c:
7052         * objects/custom/shape_info.c:
7053         All strings returned by libxml must be freed with free, not
7054         g_free, or there will be problems if you use memory debugging
7055         in glib.
7056         
7057 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
7059         * app/create_object.[ch]:
7060         * app/menus.c:
7061         * app/tool.[ch]:
7062         * app/commands.[ch]:
7063         * app/pixmaps.h:
7064         * app/interface.[ch]:
7065         Reverted the tool menu patch. It has some 'issues'.
7066         I liked it though, so it'll probably return.
7068 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
7070         Fixed a lot of memory leaks. Thanks to Bruce Mitchener
7071         <bruce@cybersight.com> for some purify runs and analysis.
7072         Also a great thank you to Owen Taylor for creating MemProf, a
7073         free memory leak detector that was used to find and verify a
7074         lot of these fixes.
7075         
7076         * app/diagram.c:
7077         * app/paginate_psprint.c:
7078         * app/render_eps.[ch]:
7079         * app/render_svg.[ch]:
7080         Free renderers.
7082         * app/interface.c:
7083         Don't add a reference to ddisp->shell. Why was this done in
7084         the first place?
7086         * app/load_save.c:
7087         * lib/dia_xml.c:
7088         * lib/sheet.c:
7089         * lib/text.c:
7090         Free all strings returned from xmlGetProp
7092         * app/modify_tool.c:
7093         Plug leak.
7095         * objects/custom/custom.c:
7096         Use closedir() after opendir().
7098         * objects/custom/shape_info.c:
7099         User g_free() instead of "if (tmp) free(tmp)".
7101         * sheets/ER.sheet:
7102         Add newline at end of file.
7103         
7105 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
7107         Based on patch from Patrick Reynolds <reynolds@cs.duke.edu>
7108         Adds tool menu and keyboard shortcuts.
7110         * app/create_object.[ch]:
7111         Use tool_set() instead of tool_reset().
7112         create_create_object_tool() takes extra type argument
7114         * menus.c:
7115         Add tools menu.
7116         
7117         * tool.[ch]:
7118         Moved tool_data here, export it.
7119         Add separate tool type for all create objects tools.
7120         new functions tool_set().
7122         * commands.[ch]:
7123         New callback tool_set_callback.
7125         * pixmaps.h:
7126         Moved some pixmaps to interface.c.
7127         
7128         * interface.[ch]:
7129         Remove tool_data array (moved to tool.c).
7130         Use the tool_data from tool.c.
7131         Remove modify_tool_button global var.
7132         
7133 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
7135         Patch from Patrick Reynolds <reynolds@cs.duke.edu>
7136         
7137         * app/app_procs.c:
7138         Interprets command-line arguments as files to open even when
7139         HAVE_POPT is not defined.
7141         * app/magnify.c:        
7142         Shift-clicking when zooming zooms out, like the Gimp.
7144         * app/menus.c:
7145         Has hotkeys for zoom-100% and snap-to-grid.
7147 1999-11-17  James Henstridge  <james@daa.com.au>
7149         * app/scroll_tool.c (scroll_motion): fixed shift style scrolling so
7150         that it is not jumpy.
7152         * app/Makefile.am (EXTRA_DIST): added extra files to extra dist list.
7154         * app/scroll_tool.c (scroll_motion): added `grabbing hand' type
7155         scrolling by pressing the shift key when using the scroll tool.
7157         * sheets/Makefile.am: fixed makefile so that install actually works
7158         if the directories $(pkgdatadir)/sheets/UML and $(pkgdatadir)/sheets/ER
7159         don't exist.
7160         (SHEETS): install Circuit.sheet
7162 1999-11-15  Alexander Larsson  <alla@lysator.liu.se>
7163         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
7165         * sheets/Circuit.sheet:
7166         * sheets/ER.sheet:
7167         * sheets/FS.sheet:
7168         * sheets/Flowchart.sheet:
7169         * sheets/UML.sheet:
7170         * sheets/network.sheet:
7171         * sheets/sybase.sheet:
7172         Changed name space
7174         * sheets/Circuit.sheet:
7175         added some missing French translations
7177         * lib/sheet.c:
7178         killed the temporary sheet namespace
7180         * objects/custom/custom.c:
7181         obsolete comment cleaned up
7183 1999-11-12  Alexander Larsson  <alla@lysator.liu.se>
7185         * configure.in:
7186         * po/pt.po:
7187         Added portugese translation from Pedro Morais
7188         <pmmm@rnl.ist.utl.pt>
7190 1999-11-11  Alexander Larsson  <alla@lysator.liu.se>
7192         Changed all sheets to be specified in xml.
7193         All sheet objects removed from the C code.
7194         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
7195         
7196         * Makefile.am:
7197         * configure.in:
7198         Adding shapes dir.
7199         Updated version to 0.81cvs.
7200         
7201         * app/Makefile.am:
7202         Update run_dia.sh with sheet-dir.
7203         
7204         * app/app_procs.c:
7205         Load all sheets on startup.
7206         Create sheet directory first time.
7207         Don't call custom_register_sheets().
7209         * lib/Makefile.am:
7210         Add sheetdir define
7212         * lib/custom.h:
7213         Remove custom_register_sheets().
7215         * lib/sheet.[ch]:
7216         Add sheet loading code.
7218         * sheet/Circuit.sheet:
7219         * sheet/ER.sheet:
7220         * sheet/FS.sheet:
7221         * sheet/Flowchart.sheet:
7222         * sheet/UML.sheet:
7223         * sheet/network.sheet:
7224         * sheet/sybase.sheet:
7225         Added sheet files.
7227         * sheet/ER/weakentity.xpm:
7228         * sheet/UML/aggregation.xpm
7229         * sheet/UML/umlclass_template.xpm
7230         Added sheet pixmaps.
7231         These are moved from their old places.
7233         * sheet/.cvsignore:
7234         Shut up cvs.
7236         * objects/*/*.c:
7237         Removed sheet objects and sheet registration.
7238         
7239         * objects/ER/Makefile.am:
7240         * objects/ER/pixmaps/weakentity.xpm:
7241         * objects/UML/Makefile.am:
7242         * objects/UML/pixmaps/aggregation.xpm:
7243         * objects/UML/pixmaps/umlclass_template.xpm:
7244         Removed alternative pixmaps. (Moved to sheet).
7246         * objects/custom/Makefile.am:
7247         * objects/custom/load_sheet.[ch]:
7248         Removed old sheet loading code.
7249         
7250         * objects/custom/custom.c:
7251         Load all shapes instead of sheets.
7252         Removed custom_register_sheets().
7254         * objects/custom/custom_object.c:
7255         Added debug code.
7257         * objects/custom/shape_info.[ch]:
7258         Added shape_info_getbyname().
7260         * objects/flowchart/Makefile.am:
7261         * objects/flowchart/collate.shape            
7262         * objects/flowchart/delay.shape              
7263         * objects/flowchart/display.shape            
7264         * objects/flowchart/document.shape           
7265         * objects/flowchart/extract.shape            
7266         * objects/flowchart/flowchart.c              
7267         * objects/flowchart/intstorage.shape         
7268         * objects/flowchart/magdisk.shape            
7269         * objects/flowchart/magdrum.shape            
7270         * objects/flowchart/magtape.shape            
7271         * objects/flowchart/manualinput.shape        
7272         * objects/flowchart/manualop.shape           
7273         * objects/flowchart/merge.shape              
7274         * objects/flowchart/offlinestore.shape       
7275         * objects/flowchart/offpageconn.shape        
7276         * objects/flowchart/or.shape                 
7277         * objects/flowchart/predefdproc.shape        
7278         * objects/flowchart/preparation.shape        
7279         * objects/flowchart/punchedcard.shape        
7280         * objects/flowchart/punchedtape.shape        
7281         * objects/flowchart/sort.shape               
7282         * objects/flowchart/sumjunction.shape        
7283         * objects/flowchart/terminal.shape           
7284         * objects/flowchart/transaction.shape        
7285         * objects/flowchart/transmittape.shape       
7286         * objects/flowchart/pixmaps/collate.xpm      
7287         * objects/flowchart/pixmaps/delay.xpm        
7288         * objects/flowchart/pixmaps/display.xpm      
7289         * objects/flowchart/pixmaps/document.xpm     
7290         * objects/flowchart/pixmaps/extract.xpm      
7291         * objects/flowchart/pixmaps/intstorage.xpm   
7292         * objects/flowchart/pixmaps/magdisk.xpm      
7293         * objects/flowchart/pixmaps/magdrum.xpm      
7294         * objects/flowchart/pixmaps/magtape.xpm      
7295         * objects/flowchart/pixmaps/manualinput.xpm  
7296         * objects/flowchart/pixmaps/manualop.xpm     
7297         * objects/flowchart/pixmaps/merge.xpm        
7298         * objects/flowchart/pixmaps/offlinestore.xpm 
7299         * objects/flowchart/pixmaps/offpageconn.xpm  
7300         * objects/flowchart/pixmaps/or.xpm           
7301         * objects/flowchart/pixmaps/predefdproc.xpm  
7302         * objects/flowchart/pixmaps/preparation.xpm  
7303         * objects/flowchart/pixmaps/punchedcard.xpm  
7304         * objects/flowchart/pixmaps/punchedtape.xpm  
7305         * objects/flowchart/pixmaps/sort.xpm         
7306         * objects/flowchart/pixmaps/sumjunction.xpm  
7307         * objects/flowchart/pixmaps/terminal.xpm     
7308         * objects/flowchart/pixmaps/transaction.xpm  
7309         * objects/flowchart/pixmaps/transmittape.xpm 
7310         Moved shapes and their pixmaps to shapes/flowchart
7312         * shapes/Circuit/Makefile.am:
7313         * shapes/Circuit/index.sheet:
7314         Removed index.sheet.
7315         
7316         * shapes/Makefile.am:
7317         * shapes/flowchart/Makefile.am:
7318         * shapes/flowchart/*.shape:
7319         * shapes/flowchart/*.xpm:
7320         Added flowchart shapes. (Moved from objects/flowchart)
7321         
7323 1999-11-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
7325         * app/app_procs.c: Fixed popt stuff.
7327 1999-11-01  James Henstridge  <james@daa.com.au>
7329         * shapes/Circuit/[hv]led_de.{shape,xpm}: new circuit shapes from
7330         Andreas Scherf.
7332 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
7334         * dia.spec:
7335         * configure.in:
7336         Update version to 0.81.
7337         
7338         * NEWS:
7339         Update with news for 0.81.
7340         
7341         * shapes/Circuit/*:
7342         * shapes/Circuit_eu/*:
7343         Moved european circuit objects to Circuit sheet.
7345 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
7346         
7347         * lib/diagramdata.[ch]:
7348         Added layer_set_object_list() function.
7350         * app/undo.[ch]:
7351         Added support for undo of reordered objects.
7352         Fix the undo of delete to keep the right order on undo.
7353         
7354         * app/diagram.c:
7355         changed loop to object_add_updates_list() calls.
7356         Added undo support to bring to front/back.
7358         * app/disp_callbacks.c:
7359         * app/paginate_psprint.c:
7360         Remove warnings.
7362 1999-10-30  Alexander Larsson  <alla@lysator.liu.se>
7364         This plugs some leaks. Thanks to
7365         Bruce Mitchener <bruce@cybersight.com> for running
7366         Dia through purify for me.
7367         
7368         * app/app_procs.c:
7369         Free displays and diagrams on exit.
7371         * app/modify_tool.c:
7372         Free gc when freeing tool.
7374         * lib/diagramdata.c:
7375         Free layer name.
7376         
7377         * app/display.c:
7378         Free update and display lists when destroying display.
7379         
7380         * lib/diagramdata.c:
7381         Don't leak layer name.
7383         * objects/custom/load_sheet.c: 
7384         * objects/custom/shape_info.c:
7385         Free loaded xml documents.
7387 1999-10-28  Alexander Larsson  <alla@lysator.liu.se>
7389         * app/commands.c:
7390         * app/object_ops.[ch]:
7391         Add undo handling to alignment ops.
7392         Based partially on patch by Dan Cohn <dan@internap.com>.
7394         * objects/standard/image.c (image_move_handle):
7395         Don't divide by zero for small images.
7396         Patch by Dan Cohn <dan@internap.com>.
7398         * objects/UML/class.c (umlclass_destroy): 
7399         * objects/custom/custom_object.c (custom_destroy):
7400         Don't free connectionpoints before calling element_destroy
7401         which unconnects them.
7403 1999-10-26  Alexander Larsson  <alla@lysator.liu.se>
7405         * objects/custom/custom_object.c: 
7406         Load and save padding too. Fixes strange load crashes.
7408         * app/group.c (group_destroy):
7409         Don't unconnect already freed connectionpoints when
7410         destroying group. Probably fixes bug reported by
7411         Elliot Lee <sopwith@redhat.com>.
7413         * app/render_gdk.c:
7414         Don't crash on zero-size (broken) bezier curves.
7415         Different sort of fix. This should work on closed bezier curves
7416         too.
7418         * objects/standard/textobj.c:
7419         Activate default properties dialog for Text objects.
7421         * app/render_eps.c: 
7422         * app/load_save.c:
7423         * app/preferences.c:
7424         * app/render_svg.c:
7425         fopen files in binary or text mode.
7427 1999-10-26  Alexander Larsson  <alex@cendio.se>
7429         * app/render_gdk.c (bezier_add_lines):
7430         Don't crash on zero-size (broken) bezier curves.
7431         Fixes a crashing bug.
7433 1999-10-25  James Henstridge  <james@daa.com.au>
7435         * app/Makefile.am (run_dia.sh): allow dia to find internal shape files
7436         before it is installed.
7438         * objects/flowchart/flowchart.c: use relative paths to find shapes.
7440         * objects/custom/custom.c (custom_object_load): take file names
7441         relative to $(pkgdatadir)/shape-internal, and check an environment
7442         variable for an alternative directory.
7444         * app/...: added copyright messages to the top of my new code.
7446         * app/paginate_psprint.c: some general clean ups.  Also, give an error
7447         dialog if we can't open the command or output file for writing.
7449         * app/diapagelayout.c (dia_page_layout_set_orientation): fixed
7450         function so it would set orientation to landscape correctly.
7452         * app/paginate_psprint.c: use the paper settings that come with
7453         the diagram.  Also implemented landscape printing.
7455         * app/render_eps.c (new_psprint_renderer): use diagram paper metrics
7456         in PS header.
7458         * app/commands.[ch] (file_pagesetup_callback): added callback for
7459         the page setup dialog.
7461         * app/menus.c: added page setup menu item.
7463         * app/pagesetup.[ch]: implementation of the page setup dialog.
7465         * app/diapagelayout.[ch]: added accessors for the scaling factor.
7466         
7467         * app/load_save.c (diagram_load): load paper information from save
7468         file.
7469         (diagram_save): save the paper info.
7471         * lib/diagramdata.c (new_diagram_data): initialise paper info section
7472         of DiagramData structure.
7473         (diagram_data_destroy): free the paper name.
7475         * lib/diagramdata.h: added a paper member to the DiagramData structure
7476         that holds the page layout info for a diagram.
7478 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
7480         * objects/flowchart/box.c:
7481         * objects/flowchart/ellipse.c:
7482         * objects/flowchart/diamond.c:
7483         * objects/flowchart/parallelogram.c:
7484         Load and save padding too. Fixes strange load crashes.
7486 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
7488         * app/app_procs.c (name_is_lib):
7489         .dll, .sl and .so.0.0.0 are also libraries.
7491 1999-10-20  James Henstridge  <james@daa.com.au>
7493         * configure.in: added extra makefile.
7494         
7495         * shapes/Circuit_eu/*: a new set of european circuit shapes from
7496         Andreas Scherf <scherfa@fh-trier.de>.  Made a few small modifications
7497         (added fuses to makefile, fill the area of some of the components).
7499 1999-10-19  Alexander Larsson  <alla@lysator.liu.se>
7501         * lib/Makefile.am:
7502         * app/Makefile.am: 
7503         Add GDK_IMLIB_CFLAGS to includes.
7504         Changed --export-dynamic to -export-dynamic
7506         * lib/widgets.c:
7507         * objects/UML/message.c:
7508         Removed c++ comment.
7510         * lib/render_store.[ch]:
7511         Don't use empty structure. That is not Ansi C.
7513 1999-10-19  James Henstridge  <james@daa.com.au>
7515         * app/diapagelayout.c (dia_page_layout_init): use DiaUnitSpinner's for
7516         the margin entries, as they allow interpretation of units.
7517         (paper_size_change): display the current page dimensions.
7519         * app/diaunitspinner.[ch]: a widget derived from the standard
7520         GtkSpinButton that tries to take units into account.  So if you enter
7521         "1in" into the entry, it will convert it to 2.54cm.
7523 1999-10-18  Alexander Larsson  <alla@lysator.liu.se>
7525         * app/app_procs.c:
7526         Removed include of dlfcn.h
7528 1999-10-18  James Henstridge  <james@daa.com.au>
7530         * app/diapagelayout.c (paper_size_change, orient_changed): set upper
7531         bound on margin widths.  It is set to the paper width/height.
7533         * objects/flowchart/diamond.c (diamond_distance_from): fixed distance
7534         routine for the diamond.  This bug was found and fixed by Daniel Wang
7535         <danwang@CS.Princeton.EDU>
7537 Sun Oct 17 19:46:36 1999  ape@gandalf.spacetec.no  (Asbjorn Pettersen)
7539         * app/commands.c: Add <sys/types.h> before <sys/stat.h> to
7540         remove warning (OS/2 version).
7542 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
7544         * README:
7545         Put a pointer to objects/custom/README.
7546         
7547 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
7549         * dia.spec:
7550         Updated version to 0.80
7552         * configure.in:
7553         Updated version to 0.80cvs
7555 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
7557         * Released Dia 0.80
7558         Tag called DIA_0_80
7559         
7560 1999-10-17  Fredrik Hallenberg  <hallon@lysator.liu.se>
7562         * app/Makefile.am
7563         * lib/Makefile.am
7564         * objects/UML/Makefile.am
7565         * objects/ER/Makefile.am
7566         * objects/network/Makefile.am
7567         * objects/standard/Makefile.am
7568         * objects/FS/Makefile.am
7569         * objects/sybase/Makefile.am
7570         * objects/flowchart/Makefile.am
7571         * objects/custom/Makefile.am
7572         Added -I$(top_srcdir)/intl which is needed for
7573         --with-included-gettext.
7575         * POTFILES.in
7576         Updated.
7577         
7578         * po/sv.po
7579         Updated swedish translation.
7581 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
7583         * configure.in:
7584         Updated version number to 0.80.
7586         * KNOWN_BUGS:
7587         New file.
7589         * TODO:
7590         Updated. Moved bugs to KNOWN_BUGS.
7592         * NEWS:
7593         Updated with 0.80 release notes.
7594         
7595 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
7596         
7597         * lib/orth_conn.c:
7598         For backwards compatibility, make sure handle 0 and 1 are the
7599         first and last handle. Fixes compatibility with 0.41, breaks
7600         compatibility with cvs version.
7601         Fixed bug in undo/redo of adding deleting endpoint segments
7602         when the endpoint was connected.
7603         Start OrthConn objects with three segments.
7605 1999-10-16  James Henstridge  <james@daa.com.au>
7607         * objects/custom/custom_object.c (custom_update_data): changed
7608         resizing behaviour a bit so that shapes don't grow huge when you try
7609         to resize them to smaller than the size required by the text box.
7610         Also, now shapes will not grow with fixed aspect ratio when you enter
7611         text into them unless the shape has the fixed aspect ratio flag set.
7613 1999-10-15  James Henstridge  <james@daa.com.au>
7615         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
7617         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
7619         * objects/flowchart/magdrum.shape: 
7620         * objects/flowchart/offlinestore.shape: 
7621         * objects/flowchart/punchedtape.shape: 
7622         * objects/flowchart/transmittape.shape: 
7623         * objects/flowchart/punchedcard.shape: new shapes.
7625         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
7627         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
7629         * objects/flowchart/collate.shape:
7630         * objects/flowchart/delay.shape:
7631         * objects/flowchart/extract.shape:
7632         * objects/flowchart/intstorage.shape:
7633         * objects/flowchart/magdisk.shape:
7634         * objects/flowchart/magtape.shape:
7635         * objects/flowchart/merge.shape:
7636         * objects/flowchart/or.shape:
7637         * objects/flowchart/sort.shape:
7638         * objects/flowchart/sumjunction.shape: new shapes.
7640 1999-10-15  Alexander Larsson  <alla@lysator.liu.se>
7642         * TODO (BUGS):
7643         Added bug:
7644         Entering an erronous command as print command
7645         crashes dia.
7647         * app/paginate_psprint.c:
7648         Save all print dialog values for next time.
7649         
7650         * app/Makefile.am:
7651         Remove custom lib from DIA_LIB_PATH.
7653 1999-10-14  James Henstridge  <james@daa.com.au>
7655         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
7657         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
7658         
7659         * objects/flowchart/offpageconn.shape: 
7660         * objects/flowchart/manualop.shape: 
7661         * objects/flowchart/preparation.shape: 
7662         * objects/flowchart/manualinput.shape: 
7663         * objects/flowchart/predefdproc.shape: 
7664         * objects/flowchart/terminal.shape: new shapes in the flowchart sheet.
7666 1999-10-13  James Henstridge  <james@daa.com.au>
7668         * app/diapagelayout.[ch]: added accessors to paper information.  The
7669         widget should be just about complete now.
7671         * app/diapagelayout.[ch]: fleshed out the page setup widget a bit more.
7672         It actually does something now.
7674 1999-10-12  James Henstridge  <james@daa.com.au>
7676         * app/pixmaps/portrait.xpm, app/pixmaps/landscape.xpm: support pixmaps
7677         for the page layout widget.
7679         * app/diapagelayout.[ch]: start of page layout widget.  Not actually
7680         built yet as it is not complete.
7682         * objects/flowchart/flowchart.c: added new shapes to sheet.
7684         * objects/flowchart/display.shape:
7685         * objects/flowchart/transaction.shape: new shapes.
7687         * AUTHORS: added my name to the spec file.
7689         * dia.spec: include the dia desktop entry to the spec file.
7691         * Makefile.am: install the dia.desktop file.
7693         * dia.desktop: added a gnome desktop entry so you can start dia
7694         from the gnome panel menu.
7696 1999-10-11  James Henstridge  <james@daa.com.au>
7698         * objects/custom/custom_object.c:
7699         * objects/custom/shape_info.c: warning fixes.
7701         * objects/flowchart/document.shape: a shape file for the `document'
7702         flowchart shape.
7704         * lib/custom.h: new header with the custom shape prototypes.
7706         * app/app_procs.c: register custom objects as well.
7707         (register_objects_in): close shared libraries if they don't load
7708         correctly, and call g_module_make_resident on libraries that load
7709         correctly.
7711         * app/Makefile.am (dia_LDADD): added libcustom_objects.a to link list.
7713         * objects/custom/custom.c: removed get_version, added custom_ prefix
7714         to register_objects and register_sheets.
7716         * objects/custom/Makefile.am: converted to a normal library.
7718 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
7720         * app/lineprops_area.c:
7721         * app/render_svg.c:
7722         * lib/objchange.c:
7723         * objects/custom/shape_info.c:
7724         * objects/flowchart/box.c:
7725         * objects/flowchart/diamond.c:
7726         * objects/flowchart/ellipse.c:
7727         * objects/flowchart/parallelogram.c:
7728         * objects/network/flash.c:
7729         * objects/network/scead-plug.c:
7730         * objects/sybase/client.c:
7731         Removed -Wall warnings.
7732         
7733         * objects/network/bus.c:
7734         Removed unused functions.
7736         * objects/FS/flow-ortho.c:
7737         * objects/FS/flow-poly.c:
7738         * objects/FS/flow.c:
7739         * objects/FS/function.c:
7740         
7741         Implemented "non-implemented" undo for FS objects.
7742         Now at least it won't crash.
7743         
7744 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
7746         * objects/network/bus.c:
7747         Implemented undo.
7748         Handles are now added and removed using the object menu.
7749         Default to 6 handles instead of 10.
7750         Changed name from "Standard - Bus" to "Network - Bus". Kept old
7751         name for backwards compatibility.
7753         * objects/network/network.c:
7754         Changed name from "Standard - Bus" to "Network - Bus". Kept old
7755         name for backwards compatibility.
7757         * app/properties.[ch]:
7758         * app/undo.c:
7759         Update properties in properties dialog if the shown object
7760         is part of and ObjectChange (undo or redo).
7762         * lib/poly_conn.c:
7763         Remove old known bugs list.
7765         * objects/UML/class_dialog.c:
7766         Removed debug printf's.
7768 1999-10-10  James Henstridge  <james@daa.com.au>
7770         * objects/custom/custom.c (custom_object_load): new function that
7771         provides a nice entry point to the custom shape code for when it
7772         gets used by other libraries.
7774         * configure.in: removed 11 makefiles from AC_OUTPUT list.  This
7775         speeds builds up a bit.
7777         * */Makefile.am (EXTRA_DIST): include pixmaps in distribution.
7778         (SUBDIRS): do not descend into pixmaps subdirs.
7780         * */pixmaps/Makefile.am: removed -- incorporate into parent makefiles.
7781         This speeds up build process.
7783         * objects/custom/custom.c (sheets): made variable static.
7785         * objects/custom/custom_util.[ch] (custom_get_relative_filename):
7786         renamed function.
7788         * objects/custom/load_sheet.[ch] (custom_sheet_load): renamed function.
7790         * objects/custom/custom.c: look in ~/.shapes instead of
7791         ~/.dia_shapes as the per-user shapes directory.
7793         * app/preferences.c (prefs_save): save config to ~/.diarc.
7794         (prefs_load): load configuration from ~/.diarc.  If the file
7795         does not exist, fallback on the old ~/.diarc location.
7797         * app/app_procs.c (create_user_dirs): create the ~/.dia directory
7798         on startup.
7799         (register_all_objects): look for user specific objects in
7800         ~/.objects rather than ~/.dia_libs.
7802 1999-10-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
7804         * configure.in:
7805         * app_procs.c:
7806         * objects/flowchart/box.c
7807         * objects/flowchart/ellipse.c
7808         * objects/flowchart/flowchart.c 
7809         Use gmodule for dynamic linking. As gmodule is using
7810         RTLD_GLOBAL i had to change flowchart box and ellipse
7811         so the typenames doesn't conflict with the standard
7812         box and ellipse.
7814         * message.c
7815         * commands.c
7816         Use button box to make dialogs look better.
7818 1999-10-09  Alexander Larsson  <alla@lysator.liu.se>
7820         * objects/UML/class_dialog.c:
7821         * objects/UML/class.h:
7822         Implemented undo for "UML - Class" objects.
7823         Not 100% tested yet.
7825         * objects/UML/classicon.c:
7826         * objects/UML/constraint.c:
7827         * objects/UML/dependency.c:
7828         * objects/UML/generalization.c:
7829         * objects/UML/implements.c:
7830         * objects/UML/large_package.c:
7831         * objects/UML/lifeline.c:
7832         * objects/UML/message.c:
7833         * objects/UML/object.c:
7834         * objects/UML/realizes.c:
7835         * objects/UML/state.c:
7836         * objects/UML/usecase.c:
7837         Removed warnings.
7838         
7839         * lib/connectionpoint.h:
7840         Fixed typo.
7841         
7842 1999-10-09  James Henstridge  <james@daa.com.au>
7844         * objects/custom/*.[ch]: added copyright notices to custom object
7845         files.
7847         * shapes/Circuit/hdiode.shape:
7848         * shapes/Circuit/hzener.shape: 
7849         * shapes/Circuit/opamp.shape:
7850         * shapes/Circuit/vdiode.shape:
7851         * shapes/Circuit/vzener.shape: made adjustments to make the circuit
7852         shapes look nice after the custom shape code changes.
7854         * objects/custom/README: updated docs to cover changes to drawing
7855         code.
7857         * objects/custom/custom_object.c (custom_draw): honour the line
7858         properties when drawing the shape.
7860         * objects/custom/shape_info.[ch]: added support for setting line
7861         properties for individual drawing elements in a custom shape.  You
7862         can set the dash style, dash length, cap style and join style.
7864 1999-10-07  James Henstridge  <james@daa.com.au>
7866         * objects/custom/shape_info.c (parse_style): added a few extra synonyms
7867         for foreground and background.
7869         * objects/custom/custom_object.c (custom_draw): use the new style
7870         information when drawing the object.
7872         * objects/custom/shape_info.[ch]: store all shape style info in the
7873         GraphicStyle structure.  This makes adding support for extra CSS
7874         attributes easier -- we don't have to keep adding extra arguments to
7875         a lot of functions.
7877 1999-10-05  James Henstridge  <james@daa.com.au>
7879         * lib/intl.c (unalias_lang): merged in changes from the i18n code
7880         swiped from gnome-libs.
7882 1999-10-03  Alexander Larsson  <alla@lysator.liu.se>
7884         * objects/standard/image.c (get_directory):
7885         Fix memleak. Found by Kjartan Maraas <kmaraas@online.no>
7887 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
7889         * lib/poly_conn.c (polyconn_destroy):
7890         Fix bug. Access of freed memory.
7891         Rememeber, you can't free the handles of an object
7892         before calling object_destroy(), as it unconnects the handles
7893         therefore referencing them.
7895 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
7897         * app/undo.c:
7898         undo_clear() didn't set stack->depth to zero.
7899         This made other undo functions crash after this had been called
7900         on a "full" stack.
7901         
7902         * dia.xpm:
7903         Slightly modified by Chris Love <clove@exactis.com>
7905 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
7907         * objects/UML/class.h: 
7908         * objects/UML/class_dialog.c:
7909         Retrun NULL ObjectChange on class property change.
7910         This means no crashes, but "UML - Class" doesn't support undo yet.
7911         
7912 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
7913         
7914         * lib/text.c:
7915         Indentation fix.
7917         * objects/UML/classicon.c:
7918         * objects/UML/dependency.c:
7919         * objects/UML/generalization.c:
7920         * objects/UML/implements.c:
7921         * objects/UML/large_package.c:
7922         * objects/UML/lifeline.c:
7923         * objects/UML/message.c:
7924         * objects/UML/object.c:
7925         * objects/UML/realizes.c:
7926         * objects/UML/state.c:
7927         * objects/UML/usecase.c:
7928         Update to new undo (w. get/set_state).
7929         Add object menu to add/delete segments.
7931 1999-09-17  Alexander Larsson  <alla@lysator.liu.se>
7933         * app/menus.c:
7934         Add equal distance alignment.
7936         * app/object_ops.c:
7937         Add equal distance alignment.
7938         Fix bug in adjacent alignment.
7940 1999-09-16  Alexander Larsson  <alla@lysator.liu.se>
7942         * objects/UML/constraint.c: 
7943         Update to new undo (w. get/set_state).
7945 1999-09-15  Alexander Larsson  <alla@lysator.liu.se>
7947         * app/paginate_psprint.c:
7948         Save (parts, more todo) of the info in the print dialog to the
7949         next time it's opened.
7950         Patch from Yo Ric Dude <ricdude@toad.net>
7952 1999-09-14  Alexander Larsson  <alla@lysator.liu.se>
7954         * configure.in:
7955         Updated version string to 0.41cvs.
7957         * objects/UML/assocition.c:
7958         Update to new undo (w. get/set_state).
7959         Add object menu to add/delete segments.
7961         * app/app_procs.c:
7962         Added function debug_break() and called it after all
7963         objects and sheets are loaded. Place a breakpoint here if you
7964         want to debug objects. All symbols should be loaded.
7966 1999-09-12  James Henstridge  <james@daa.com.au>
7968         * app/menus.c (display_menu_items): added print menu item.
7969         (filemenu): always add print menu item -- even if gnome-print is
7970         not installed.
7972         * app/commands.h, app/commands.c (file_print_callback): the print
7973         menu item is now available for both gnome-print and non gnome-print
7974         setups.
7976         * app/paginate_psprint.c (diagram_print_ps): show a dialog to let you
7977         print with the non gnome-print driver.
7979 1999-09-11  James Henstridge  <james@daa.com.au>
7981         * app/paginate_gnomeprint.c (diagram_print_gnome): moved the gnome
7982         printer dialog code out of commands.c.
7984         * app/paginate_psprint.c: new file containing the pagination code for
7985         psprint.
7987         * app/render_eps.c: made a few modifications so as well as producing
7988         EPS files, this renderer can be set up to do postscript printing.
7989         This basically entailed adding an extra function to create a RenderEPS
7990         renderer which did not bother setting the viewport for the document.
7991         That was left for the pagination code.
7993 1999-09-10  James Henstridge  <james@daa.com.au>
7995         * app/render_gnomeprint.c (draw_ellipse, fill_ellipse): since
7996         gnome-print does not support elliptic arcs at the moment, approximate
7997         the ellipse with eight bezier curves.  This gives a pretty good
7998         match to a true ellipse.
8000 1999-09-09  James Henstridge  <james@daa.com.au>
8002         * app/commands.c (file_gnome_print_callback): added support for
8003         scaling the diagram.  Also fixed a few other bugs.
8005         * app/paginate_gnomeprint.c (print_page): added ability to scale
8006         document.  Fixed up test to see if the page has no objects on it.
8007         This should prevent some blank pages being printed.  Non square
8008         objects such as lines could still cause problems.
8010 1999-09-08  James Henstridge  <james@daa.com.au>
8012         * app/commands.c (file_gnome_print_callback): changed from using the
8013         standard printer selection dialog to one that also has a paper size
8014         selector as well.
8016         * commands.[ch]: added callbacks for the print menu item.  Currently
8017         it only does A4 output.  I will make it configurable soon.
8018         
8019         * app/menus.c: add a print diagram menu item if gnome-print support
8020         is enabled.
8021         
8022         * app/paginate_gnomeprint.c, app/paginate_gnomeprint.h: this is a
8023         bit higher level than the gnome-print renderer.  It splits the
8024         diagram into page size chunks and then renders them.  For each
8025         page, it only renders the objects whose bounding box intersects
8026         the page, and it sets the clip mask so that the diagram does not
8027         overlap the margins.
8028         
8029         * app/render_gnomeprint.c, app/render_gnomeprint.h: added a renderer
8030         that uses gnome-print as its back end.
8031         
8032         * configure.in: added a check for gnome-print.  It is disabled by
8033         default because the code is not really working correctly yet.
8035         * app/menus.c: the delete object menu item was missing from the
8036         GnomeUIInfo style menus.
8038 1999-09-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
8040         * configure.in
8041         Added japanese to ALL_LINGUAS.
8042         Fix for Linux on Alpha.
8044 1999-09-07  Alexander Larsson  <alla@lysator.liu.se>
8046         * app/create_object.c (create_object_button_press):
8047         Always initialize tool->obj. Otherwise we store a null
8048         in the undo Change.
8050         * lib/text.c:
8051         Set linestyle before drawing cursor.
8052         Fix undo of backwards delete.
8054 1999-09-05  James Henstridge  <james@daa.com.au>
8056         * dia.spec: updated spec file to distribute $(prefix)/share/dia.
8058         * app/render_svg.c (draw_image): some fixes so that the appropriate
8059         style attributes are set.  Before it was setting line styles on
8060         fill_* functions.  Now it only does this for the draw_* variants.
8062         * app/Makefile.am (run_dia.sh): set the DIA_SHAPE_PATH environment
8063         variable so that custom shapes can be loaded.
8065         * shapes/: new directory for custom shapes.  The Circuit sheet has
8066         been moved here.
8068 1999-09-02  James Henstridge  <james@daa.com.au>
8070         * TODO: removed a few todo items that have been implemented.
8072         * app/interface.c (create_sheets): enabled the popup page menu to the
8073         notebook.  This can make it easier to select different sheets.
8075         * object/custom/Circuit/: added diode, zener diode, ground point and
8076         operational amplifier shapes.
8077         
8078         * objects/custom/Makefile.am: added a note about adding DEBUG_CUSTOM
8079         if you want the output.
8081         * objects/custom/shape_info.c (parse_path): same here.
8083         * objects/custom/load_sheet.c (load_with_readdir): don't print so
8084         much debugging output.  To get the previous level of output, define
8085         DEBUG_CUSTOM.
8087         * objects/custom/shape_info.c (parse_svg_node): polygons were being
8088         recorded as polylines in the ShapeInfo structure.
8090         * objects/custom/README: some notes on writing new custom shapes.
8091         
8092 1999-09-01  James Henstridge  <james@daa.com.au>
8094         * objects/custom/Circuit/hinductor.*:
8095         * objects/custom/Circuit/vinductor.*: added inductor shapes that
8096         also test out the bezier curve and SVG path support.
8097         
8098         * objects/custom/custom_object.c (custom_draw): added support for
8099         drawing bezier paths and filled shapes.
8101         * objects/custom/shape_info.c (parse_path): new function to parse
8102         SVG path elements.  It does not do quadratic beziers or elliptic
8103         arcs though.  Only moves, lines and cubic beziers.
8104         (*): added support for paths.
8106 1999-08-31  James Henstridge  <james@daa.com.au>
8108         * objects/sybase/ltm.c (render_to_store): use the newer bezier API.
8110         * app/render_svg.c (draw_bezier, fill_bezier): updated renderer
8111         interface
8113         * app/render_eps.c (draw_bezier, fill_bezier): updated renderer
8114         interface
8116         * app/render_gdk.c (draw_bezier, fill_bezier): updated renderer
8117         interface.
8119         * lib/render_store.[ch]: use newer bezier functions.
8121         * lib/render.h: changed the bezier drawing functions to use an array
8122         of BezPoint structures instead of normal Point structures to allow
8123         lineto's mixed in with the curveto's.
8124         
8125         * objects/custom/Circuit/pnp.*: added pnp transistor shape.
8126         
8127         * objects/custom/Circuit/Makefile.am (SHAPES): added index.sheet and
8128         xpm images for different shapes to Makefile.
8130         * objects/custom/custom_object.c (custom_object_new): set the icon
8131         for the sheet button if there is one.  Otherwise fall back on the
8132         default custom object icon.
8134         * objects/custom/shape_info.c (load_shape_info): read the sheet
8135         icon name from the shape file.
8137         * app/interface.c (create_sheet_page): if sheet_obj->pixmap == NULL,
8138         check the pixmap_file field for the name of a pixmap file to load
8139         for the tool.
8141         * lib/sheet.h (SheetObj): added pixmap_file field to structure.  It is
8142         at the end of the structure, and it isn't used if the pixmap field
8143         is non NULL, so it should not break binary compatibility.
8145         * objects/custom/load_sheet.[ch]: moved sheet loading code here.  Also
8146         added support for the use of an index.sheet file so you can specify
8147         the ordering of the shapes in the sheet, and also internationalise
8148         the sheet name and actually be able to give a description.  The old
8149         readdir based sheet loading code acts as a fallback if an index.sheet
8150         file can not be found.
8152         * objects/custom/custom_util.[ch]: new file containing useful routines
8153         needed by the custom object code.  Currently only contains a simple
8154         routine for resolving relative paths.
8156         * objects/custom/custom_object.c (custom_draw): fixed problem with
8157         drawing rectangles if the shape has been flipped.
8159 1999-08-30  James Henstridge  <james@daa.com.au>
8161         * objects/custom/custom_object.c (custom_get_object_menu): allow
8162         flipping of custom shapes.  This uses the miggle click object
8163         menu.
8165         * objects/custom/Circuit/npn.shape: fix aspect ratio.
8167         * objects/custom/custom_object.c (custom_update_data): honour the
8168         aspect ratio constraints.
8170         * objects/custom/shape_info.c (load_shape_info): updated aspect ratio
8171         tag parsing, so you can specify a free, fixed or a range for aspect
8172         ratios for the shape.
8174 1999-08-29  James Henstridge  <james@daa.com.au>
8176         * objects/custom/test.xml, objects/custom/Circuit/*.shape: fixed
8177         up shape namespace tag.
8179         * objects/custom/shape_info.c (load_shape_info): check xml:lang
8180         attribute on <description> elements to support i18n for custom
8181         shape descriptions.
8182         Also changed the shape namespace for custom shapes to something
8183         a little more sensible.
8185         * lib/dummy_dep.h (dummy_dep): added extra dummy dependency.
8187         * lib/intl.c: new file containing some functions for i18n stuff.
8189         * app/layer_dialog.c (create_button_box): fixed a warning.
8191         * objects/custom/custom_object.c: use current line style.  Save dash
8192         length.
8194         * objects/flowchart/diamond.c: use current line style.  Save dash
8195         length.
8197         * objects/flowchart/parallelogram.c: use current line style.  Save
8198         dash length.
8200         * objects/flowchart/ellipse.c: use current line style.  Save dash
8201         length.
8203         * objects/flowchart/box.c: use current line style.  Save dash length.
8205         * objects/standard/ellipse.c: make ellipse use current line style.
8207         * objects/standard/box.c: use the line style set in the toolbox for
8208         new boxes, and remember the dash length.
8210         * app/commands.c (view_toggle_rulers_callback): fix reshowing of
8211         rulers.
8213 1999-08-24  James Henstridge  <james@daa.com.au>
8215         * objects/flowchart/ellipse.c (ellipse_update_data): made some changes
8216         to try to stop ellipse to get infinite width/height when we resize,
8217         while trying to keep the text inside the ellipse.
8219         * objects/flowchart/box.c, objects/flowchart/parallelogram.c,
8220         * objects/flowchart/diamond.c, objects/flowchart/ellipse.c: fixed
8221         resizing behaviour, so that you can't push objects round the screen
8222         with the resize handles.
8224         * app/lineprops_area.c (dia_arrow_chooser_init, dia_line_chooser_init):
8225         get the OK buttons in the dialogs to take default clicks.
8227         * objects/custom/custom_object.c: added code so that resizing the
8228         shape does not end up pushing it round the screen.
8230 1999-08-23  Alexander Larsson  <alla@lysator.liu.se>
8232         * app/display.[ch]:
8233         Generate rectangle with the union of the damaged regions.
8234         This is used to optimize the grid paint and the object rendering.
8235         display_render_pixmap passes this info to grid_draw() and data_render().
8237         * app/grid.[ch]:
8238         grid_draw doesn't draw grid lines outside of damaged rectangle.
8239         Sets dashlength when drawing non-solid grid.
8240         
8241         * lib/diagramdata.[ch]:
8242         data_render() and layer_render() takes an optional damaged rectangle
8243         argument. No objects not intersecting this are drawn.
8245         * app/diagram.c:
8246         Fix warning.
8247         Call data_render with NULL update rectangle.
8248         
8249 1999-08-23  James Henstridge  <james@daa.com.au>
8251         * objects/custom/custom_object.c (custom_update_data): if the aspect
8252         ratio is fixed, make sure the shape is not distorted.
8254         * object/custom/shape_info.h, objects/custom/shape_info.c: notice if
8255         a <fixaspectratio/> tag is given in the shape file.
8257         * objects/custom/shape_info.[ch], objects/custom/custom_object.c:
8258         added support for stroke-width, stroke and fill CSS attributes
8259         specified in style attributes of the SVG elements.  The line width
8260         is relative to the user specified line width.  The stroke and fill
8261         attributes can only be used to swap the foreground/background
8262         colours.
8264         * lib/widgets.c (dia_line_style_selector_set_linestyle): set the
8265         sensitivity on the dash length selector when this function is called.
8267         * objects/standard/arc.c: same.  Also handle dash length.
8268         * objects/standard/zigzagline.c: same.
8269         * objects/standard/polyline.c: same.  Also handle dash length.
8270         * objects/standard/line.c: use default arrow/line styles.
8272         * app/interface.c: added callbacks to set the default attributes.
8274         * lib/attributes.c: added implementations of these functions.
8276         * lib/attributes.h: added extra prototypes for the new line properties
8277         area in the toolbox.
8279         * app/interface.c (create_lineprops_area): added line properties
8280         area to bottom of toolbox.
8282         * app/lineprops_area.h: a header exporting a few routines of the
8283         line properties area widgets.
8285         * app/lineprops_area.c: new file containing a selector for arrows
8286         and line styles to go in the main toolbox.
8288 1999-08-22  Alexander Larsson  <alla@lysator.liu.se>
8290         * HACKING:
8291         Update Gtk+ 1.0.5 comment to 1.2.0.
8293         * INSTALL:
8294         Demand libtool 1.3
8296         * acconfig.h:
8297         Add HAVE_LIBPOPT
8299         * configure.in:
8300         Make sure we don't propagate -ldl and -lpopt to all LIBS
8301         by adding new var APP_LIBS that only app/dia links with.
8302                 
8303         * app/Makefile.am:
8304         Update run_dia.sh to load custom and flowchart objects.
8306         * objects/ER/Makefile.am:
8307         * objects/FS/Makefile.am:
8308         * objects/UML/Makefile.am:
8309         * objects/network/Makefile.am:
8310         * objects/standard/Makefile.am:
8311         * objects/sybase/Makefile.am:
8312         Don't build versioned libs.     
8313         
8314 1999-08-22  James Henstridge  <james@daa.com.au>
8316         * configure.in: added objects/custom/Circuit/Makefile to AC_OUTPUT
8317         list.
8319         * objects/Makefile.am (SUBDIRS): added custom to subdir list -- it
8320         should actually work a bit now.
8322         * objects/custom/Circuit/*: a test sheet for the custom shape code.
8323         It is a small collection of circuit elements.
8325         * objects/custom/shape_info.c: fixed up loading of polylines and
8326         polygons.  Before it was removing negative signs :(
8328         * objects/custom/pixmaps/custom.xpm: drew the custom shape icon.  A
8329         placeholder was here before.  I still need to work out how to set
8330         icons for individual custom shapes.
8331         
8332         * objects/custom/custom.c: added code to load the shapes into sheets
8333         properly.  The shape files should be arranged into directories, and
8334         each directory represents a different sheet in the toolbox.  This
8335         will make it very easy to distribute a collection of dia shapes as
8336         a tarball.  I still need to work out internationalisation, and maybe
8337         also shape ordering in the sheet.
8339         * objects/custom/custom_object.c: fixed up dialogs for these objects.
8340         (custom_create): fix for objects without text areas.
8342         * objects/custom/shape_info.h, objects/custom/custom_object.c: loading
8343         and saving of custom object works correctly now.
8345 1999-08-21  James Henstridge  <james@daa.com.au>
8347         * objects/flowchart/ellipse.c: 
8348         * objects/flowchart/diamond.c: 
8349         * objects/flowchart/parallelogram.c: 
8350         * objects/flowchart/box.c: Fixed up a few bugs in these objects when
8351         copying or loading these object types.  Not all the connection
8352         points would be initialised correctly.
8354         * objects/flowchart/Makefile.am (libflowchart_objects_la_LDFLAGS):
8355         similar here.
8357         * objects/custom/Makefile.am (libcustom_objects_la_LDFLAGS): do not
8358         build a versioned library.  It will only ever be dlopen'd, so this
8359         is not a problem.
8361         * objects/custom/custom_object.c (custom_distance_from): allow
8362         selecting the object by clicking on the text.  This fixes problems
8363         where the text box is outside the graphic.
8365         * objects/custom/shape_info.c (load_shape_info): fixed up reading
8366         of connections points.  It should be possible to add connections
8367         to custom objects now.
8369         * objects/custom/custom_object.c (custom_update_data): fixed resizing
8370         due to changes to text.
8372         * configure.in: added extra makefiles.
8373         
8374         * objects/custom/shape_info.[ch]:
8375         * objects/custom/custom_object.c:
8376         * objects/custom/custom.c: the starts of custom shape support in dia.
8377         This is not built by default at the moment, since it is not quite
8378         complete.  When it is, it will let you create more shapes for dia
8379         without writing a line of C.  Its implementation includes buzzwords
8380         such as XML and SVG, so it must be good :)
8382 1999-08-19  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
8384         * app/app_procs.c (app_exit): Use button labels "Quit" and
8385         "Cancel" instead of "Yes" and "No".
8386         Set default action to "Cancel" instead of "Quit".
8388 1999-08-19  James Henstridge  <james@daa.com.au>
8390         * objects/flowchart/flowchart.c: added ellipse object.
8391         
8392         * objects/flowchart/ellipse.c: a new shape for the flowchart toolbox.
8394 1999-08-18  James Henstridge  <james@daa.com.au>d
8396         * app/color_area.c (color_area_edit): small fix to prevent dia from
8397         segfaulting when you try to change the default foreground/background.
8399 1999-08-17  Alexander Larsson  <alla@lysator.liu.se>
8401         * app/diagram.[ch] (diagram_redraw_all):
8402         Added function that redraws all diagrams.
8404         * app/preferences.c (prefs_apply):
8405         Call diagram_redraw_all when prefs are changed.
8407         * app/render_svg.c:
8408         Don't use xmlEncodeEntitiesReentrant(). It doesn't exist on
8409         older libxml's, and the old version works good enought here.
8410         
8411 1999-08-17  James Henstridge  <james@daa.com.au>
8413         * lib/widgets.c: changed handlers that were connected to the GtkButton
8414         "pressed" signal to connect to the "clicked" signal.  This removes the
8415         problem where dialogs are inactive until you click a mouse button
8416         after using a colour selector.
8418         * configure.in: added extra makefiles to AC_OUTPUT list.
8419         
8420         * objects/Makefile.am (SUBDIRS): added flowchart module
8422         * objects/flowchart/*: a collection of shapes for use in flowcharts.
8424         * app/color_area.c (color_area_events): similar here.
8426         * app/linewidth_area.c (linewidth_area_events): sometimes a configure
8427         event is recieved with event->width == 0, which causes a warning if we
8428         try to create a pixmap of that width.
8430         * app/preferences.c, app/preferences.h, app/grid.c: added code to
8431         allow you to configure the colour of the grid, and also lets you
8432         set the grid to use dotted lines instead of solid ones.
8433         
8434         * app/commands.c, app/commands.h, app/diagram.c, app/diagram.h,
8435         app/menus.c, app/Makefile.am: added menu entry for exporting SVG files.
8436         
8437         * app/render_svg.h, app/render_svg.c: an SVG (Scalable Vector Graphics)
8438         export filter.  It is not quite complete, but for most shapes it
8439         works as expected.  Fonts still need a bit of work.
8441 1999-08-11  Robert Brady  <rwb197@ecs.soton.ac.uk>
8443         * configure.in: Added "en_GB" to ALL_LINGUAS.
8445 1999-08-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
8447         * menus.c
8448         Added Undo and Redo to GNOME menus.
8449         
8450         * objects/ER/attribute.c:
8451         * objects/ER/entity.c:
8452         * objects/ER/participation.c:
8453         * objects/ER/relationship.c:
8454         Added get/set_state functions.
8456         * objects/ER/participation.c:
8457         Added add/delete segment.
8459         * po/sv.po
8460         Updated Swedish translation.
8462 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
8464         * app/preferences.[hc]:
8465         Added undo_depth pref.
8466         
8467         * app/undo.[ch]:
8468         Never grow stack larger than pref.undo_depth.
8469         undo_depth == 0 means unlimited.
8470         Converted printfs to conditionally compiled DEBUG_PRINTFs.
8471         
8472 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
8474         * app/diagram.c:
8475         * app/group.c:
8476         * lib/object.h:
8477         * lib/render_object.c:
8478         * objects/ER/attribute.c:
8479         * objects/ER/entity.c:
8480         * objects/ER/participation.c:
8481         * objects/ER/relationship.c:
8482         * objects/FS/flow-ortho.c:
8483         * objects/FS/flow-poly.c:
8484         * objects/FS/flow.c:
8485         * objects/FS/function.c:
8486         * objects/UML/actor.c:
8487         * objects/UML/association.c:
8488         * objects/UML/class.c:
8489         * objects/UML/classicon.c:
8490         * objects/UML/component.c:
8491         * objects/UML/constraint.c:
8492         * objects/UML/dependency.c:
8493         * objects/UML/generalization.c:
8494         * objects/UML/implements.c:
8495         * objects/UML/large_package.c:
8496         * objects/UML/lifeline.c:
8497         * objects/UML/message.c:
8498         * objects/UML/note.c:
8499         * objects/UML/object.c:
8500         * objects/UML/realizes.c:
8501         * objects/UML/small_package.c:
8502         * objects/UML/state.c:
8503         * objects/UML/usecase.c:
8504         * objects/network/bus.c:
8505         * objects/standard/arc.c:
8506         * objects/standard/box.c:
8507         * objects/standard/ellipse.c:
8508         * objects/standard/image.c:
8509         * objects/standard/line.c:
8510         * objects/standard/polyline.c:
8511         * objects/standard/textobj.c:
8512         * objects/standard/zigzagline.c:
8513         Removed all traces of is_empty(). It doesn't work in an
8514         Undo/Redo world.
8516 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
8518         * app/diagram.c:
8519         * app/group.[ch]:
8520         * app/undo.[ch]:
8521         Undoable grouping and ungrouping.
8523         * app/layer_dialog.c:
8524         * lib/diagramdata.[ch]:
8525         Undoable layer ops.
8527         * app/modify_tool.c:
8528         Undoable unconnect on handle move.
8530         * lib/orth_conn.[ch]:
8531         Working undoable add/remove segment.
8532         Removed endpoint_handles from OrthConn, renamed
8533         midpoint_handles to handles and put the endpoint
8534         handles there.
8536         * objects/standard/zigzagline.c:
8537         * objects/ER/participation.c:
8538         * objects/UML/association.c:
8539         * objects/UML/dependency.c:
8540         * objects/UML/generalization.c:
8541         * objects/UML/realizes.c:
8542         Update for the changes in OrthConn
8543         
8544 1999-07-23  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
8546         * configure.in: Added "de" to ALL_LINGUAS.
8548 1999-07-17  Alexander Larsson  <alla@lysator.liu.se>
8550         * dia.1:
8551         Fixed typo.
8553         * app/display.c:
8554         * po/da.po:
8555         * po/fr.po:
8556         * po/hu.po:
8557         * po/no.po:
8558         * po/pl.po:
8559         * po/sv.po:
8560         Don't have the <Display> etc part of the menu strings
8561         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
8563         * app/diagram.c:
8564         Don't have the <Display> etc part of the menu strings
8565         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
8566         Don't remove is_empty() objects, that don't work with undo.
8568         * lib/objchange.[ch]:
8569         New files.
8570         Definition of ObjectChange. This is essentially an Change
8571         exported to the object libs. It encapsulates a change made
8572         to an objects internals. It can be applied, reverted and freed.
8573         There are also utility functions for doing ObjectChanges that
8574         only get/set the whole state of an object to store the change.
8575         This cannot be used when the object change deletes or adds a
8576         object which has references from other objects, eg. Handles which
8577         might be connected.
8579         * lib/Makefile.am:
8580         Added objchange.c and objchange.h.
8582         * lib/dia_image.c:
8583         Return NULL when loading fails.
8585         * lib/diamenu.h:
8586         Menu callbacks return an ObjectChange.
8588         * lib/dummy_dep.h:
8589         Reference objchange.o
8591         * lib/focus.h:
8592         Key events return ObjectChange if they modify the object.
8594         
8595         * lib/object.h:
8596         Added object_add_handle_at() function.
8597         Apply properties returns an ObjectChange.
8598         Remove ObjectState and the get/set state functions, these
8599         don't always work. Use the new ObjectChange instead.
8600         
8601         * lib/object.c:
8602         Added object_add_handle_at() function implementation.
8603         
8604         * lib/orth_conn.[ch]:
8605         Use ObjectChange. Not finished yet.
8606         Removed get/set/free state functions
8608         * lib/poly_conn.[ch]:
8609         Use ObjectChange.
8610         Don't remove segments that are small.
8611         Removed get/set/free state functions
8613         * lib/text.[ch]:
8614         Use ObjectChange.
8615         Added functions to get/set all text attributes.
8617         * objects/standard/arc.c:
8618         * objects/standard/box.c:
8619         * objects/standard/ellipse.c:
8620         * objects/standard/image.c:
8621         * objects/standard/line.c:
8622         * objects/standard/polyline.c:
8623         * objects/standard/textobj.c:
8624         * objects/standard/zigzagline.c:
8625         Use ObjectChange.
8626         fixed bug in image_set_state.
8627         zigzagline.c not finished yet.
8629         * app/disp_callbacks.c:
8630         Use ObjectChange that are returned from menu callbacks and
8631         key_events for undo.
8633         * app/properties.c:
8634         Use ObjectChange that are returned from properties apply
8635         for undo.
8637         * app/undo.c:
8638         * app/undo.h:
8639         New undo type: ObjectChangeChange. This wraps a change to the
8640         internals of an object (and ObjectChange) in code that does
8641         app specific stuff (object_add_updates etc.)
8643 1999-07-11  Alexander Larsson  <alla@lysator.liu.se>
8645         * lib/orth_conn.[ch]:
8646         Added code for add/delete segment.
8648         * objects/standard/zigzagline.c:
8649         Use the new orth_conn code.
8650         
8652 1999-07-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
8654         * objects/FS/Makefile.am
8655         Removed fs.h from sources.
8657         * Makefile.am
8658         * dia.1
8659         Added man page.
8661 1999-07-07  Alexander Larsson  <alla@lysator.liu.se>
8663         * app/disp_callbacks.c (ddisplay_canvas_events):
8664         Fix for bug. Every other arrow-key press got lost.
8665         patch from Mr. Data Esq. <data@r47h102.res.gatech.edu>
8667         * INSTALL:
8668         change automake.sh to autogen.sh
8669         
8670 1999-06-24  Alexander Larsson  <alla@lysator.liu.se>
8672         * app/diagram.c:
8673         Don't remove 'empty' objects.
8674         This violent destruction of objects won't work
8675         with the new undo framework.
8677         * app/disp_callbacks.c:
8678         Save undo info for object menu calls and key_events.
8680         * app/properties.c:
8681         Save undo info on properties apply.
8683         * lib/dia_image.[ch]:
8684         Add refcounting for images.
8686         * app/render_eps.c:
8687         * app/render_gdk.c:
8688         * lib/render.h:
8689         DiaImage * -> DiaImage
8691         * app/undo.[ch]:
8692         Add undo functions for object state changes.
8694         * lib/focus.h:
8695         * lib/text.c:
8696         change of semntics for focus->key_event.
8697         Now returns TRUE if the object recieving the event
8698         was changed.
8700         * lib/object.h:
8701         Comment changes.
8703         * lib/orth_conn.[ch]:
8704         Don't automatically create and delete segments when
8705         handles are moved. This is incompatible with undo.
8706         Added state get, set and free functions.
8708         * lib/orth_conn.[ch]:
8709         Added state get, set and free functions.
8711         * objects/UML/object.c:
8712         * objects/UML/uml.c:
8713         Fixed typo "UML - Objet" -> "UML - Object".
8714         Saved old for backwards compatibility.
8716         * objects/standard/arc.c:
8717         * objects/standard/box.c:
8718         * objects/standard/ellipse.c:
8719         * objects/standard/image.c:
8720         * objects/standard/line.c:
8721         * objects/standard/polyline.c:
8722         * objects/standard/textobj.c:
8723         * objects/standard/zigzagline.c:
8724         Added get/set state functions.
8725         Textobj has a redo crash-bug.
8726         Zigzagline needs object menus to add segments.
8727         
8729 1999-06-20  Alexander Larsson  <alla@lysator.liu.se>
8731         * app/render_eps.c (set_dashlength):
8732         Don't generate eps files with zero dash-length.
8734 1999-06-16  Alexander Larsson  <alla@lysator.liu.se>
8736         * app/commands.c:
8737         * app/create_object.c:
8738         * app/undo.[ch]:
8739         Finished undo for create and paste.
8740         
8741         * lib/object.h:
8742         Started properties undo.
8744 1999-06-14  Alexander Larsson  <alla@lysator.liu.se>
8746         * TODO:
8747         Added resizeable groups.
8749         * app/app_procs.c:
8750         Removed unused variable.
8752         * app/commands.c:
8753         * app/undo.[ch]:
8754         Undo/redo for cut/delete done.
8756         * app/create_object.c:
8757         * app/modify_tool.c:
8758         * lib/diagramdata.[ch]:
8759         * app/diagram.[ch]:
8760         renamed diagram_add_selected -> diagram_select
8761         renamed diagram_remove_selected -> diagram_unselect
8762         
8763         * app/properties.[ch]:
8764         Added properties_hide_if_shown() function.
8766 1999-06-13  Alexander Larsson  <alla@lysator.liu.se>
8768         * app/undo.[ch]:
8769         * app/Makefile.am:
8770         Undo functions.
8771         
8772         * app/commands.[ch]
8773         * app/modify_tool.[ch]
8774         * app/object_ops.[ch]
8775         * app/connectionpoint_ops.c
8776         * app/menus.c
8777         Use undo functions.
8778         WARNING: Not finished. Will break.
8779         Finished: move object, move handle.
8781         * app/diagram.[ch]
8782         Added diagram_selected_break_external() function.
8783         It removes all connections between selected objects
8784         and non-selected.
8785         Add undo stack to Diagram.
8786         
8787         * lib/diagramdata.[ch]
8788         Added layer_remove_objects() function
8789         
8790 1999-06-11  Fredrik Hallenberg  <hallon@lysator.liu.se>
8792         * objects/FS/Makefile.am
8793         * objects/sybase/Makefile.am
8794         Now uses GNOME_CFLAGS.
8796         * app/app_procs.c
8797         Now compiles with GNOME even if popt.h isn't available.
8799 1999-06-10  Alexander Larsson  <alla@lysator.liu.se>
8801         * configure.in
8802         * objects/Makefile.am
8803         * objects/sybase/*
8804         First version of sybase objects from
8805         Brian Bruns <camber@umcc.ais.org>
8807 1999-06-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
8809         * configure.in
8810         Added fr to ALL_LINGUAS
8812 1999-06-09  Fredrik Hallenberg  <hallon@lysator.liu.se>
8814         * configure.in
8815         * app/app_procs.c
8816         Popt-code is activated if popt is available.
8818 1999-06-08  Alexander Larsson  <alla@lysator.liu.se>
8820         This is a patch from David Thompson <dcthomp@mail.utexas.edu>
8821         
8822         * lib/orth_conn.[ch]:
8823         Added orthconn_get_middle_handle()
8825         * lib/text.[ch]:
8826         Added text_set_cursor_at_end()
8827         
8828         * objects/FS/*
8829         Added first version of functions structure diagrams.
8830         
8831 1999-05-24  Alexander Larsson  <alla@lysator.liu.se>
8833         * app/modify_tool.c:
8834         Include math.h to remove warning.
8836         * app/commands.c (dialogs_properties_callback):
8837         Bring up correct properties dialog when selected
8838         from menu.
8839         From Dan Cohn <dan@internap.com>
8841 1999-05-20  Alexander Larsson  <alla@lysator.liu.se>
8843         Patch from Lars R. Clausen 
8844         
8845         * app/modify_tool.c:
8846         Changed abs to fabs.
8848 1999-05-19  Alexander Larsson  <alla@lysator.liu.se>
8850         * INSTALL: 
8851         * configure.in:
8852         Require Gtk+ 1.2.0
8854 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
8856         Patches from Dan Cohn <dan@internap.com>
8857         
8858         * app/commands.[ch]: 
8859         * app/display.[ch]: 
8860         * app/menus.c:
8861         * app/preferences.[ch]:
8862         Implements ability to turn on/off connection points in
8863         current drawing and in global prefs.
8865 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
8867         * lib/widgets.c (dia_line_style_selector_init): 
8868         Fixed warnings.
8869         
8870         * lib/diagramdata.c (layer_update_extents):
8871         Fixed uninitialized variable error.
8873 1999-05-17  Alexander Larsson  <alla@lysator.liu.se>
8875         * lib/dia_image.c:
8876         Made some changes to the gdk_imlib visual+colormap setup.
8878 1999-05-17  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
8880         * objects/UML/usecase.c: 
8881        * objects/UML/lifeline.c
8882         Fine tunning.
8884         * objects/UML/object.c: 
8885         * objects/UML/message.c: 
8886         Changed font from Courier to Helvetica.
8888         * lib/widgets.c: 
8889         * lib/widgets.h:
8890         Added dash lenth to the LineStyle widget.
8891         
8892         * objects/standard/ellipse.c :
8893         * objects/standard/zigzagline.c: 
8894         * objects/standard/line.c: 
8895         Added dash lenght property.
8897 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
8899         * app/render_eps.c:
8900         First shot at latin1 encoded eps files.
8901         Works, but the eps files get a bit large.
8902         
8903 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
8905         * objects/UML/class.[ch]: 
8906         * objects/UML/uml.[ch]:
8907         Reverted the line wrap changes.
8908         Some day this might return, but it has to be selectable and
8909         default to off for loaded objects, otherwise it breaks file
8910         format compatibility.
8911         There was also some complains about how it looked, so a making it
8912         selectable is good for this too.
8914 1999-05-15  Alexander Larsson  <alla@lysator.liu.se>
8916         * objects/UML/class.[ch]:
8917         Some indentation cleanup.
8918         Added wrap_lines variable to class.
8919         I'll fix the line break stuff tomorrow.
8921 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
8923         * lib/dummy_dep.h:
8924         Added ref to poly_conn.o.
8926         * objects/standard/polyline.c (polyline_draw): 
8927         * objects/standard/zigzagline.c (zigzagline_draw): 
8928         * objects/standard/arc.c (arc_draw): 
8929         * objects/standard/line.c (line_draw):
8930         Draw lines before arrows. This makes hollow arrows not
8931         show the line.
8933 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
8935         Changes from Kim Peasley <kpeasley@ior.com> 
8936                 
8937         * objects/UML/class.c:
8938         Break lines with long operations so classes won't be
8939         so wide.
8941         * objects/UML/uml.[ch]:
8942         Helperfunctions for the above.
8943         
8944         * objects/UML/objects.c:
8945         Fix bug that duplicated the text in the attributes
8946         textwidget each time the object was selected.
8947         
8948 1999-05-12  Alexander Larsson  <alla@lysator.liu.se>
8950         Changes from Lars R. Clausen <lrclause@cs.uiuc.edu>
8951         
8952         * app/modify_tool.c:
8953         * app/modify_tool.h:
8954         Control-drag is restricted to vertical/horizontal movement
8955         
8956         * lib/object.h:
8957         ModifierKeys argument added to object_move_handle
8959         * app/connectionpoint_ops.c:
8960         * app/create_object.c:
8961         * app/object_ops.c:
8962         * objects/ER/attribute.c:
8963         * objects/ER/entity.c:
8964         * objects/ER/participation.c:
8965         * objects/ER/relationship.c:
8966         * objects/UML/actor.c:
8967         * objects/UML/association.c:
8968         * objects/UML/class.c:
8969         * objects/UML/classicon.c:
8970         * objects/UML/component.c:
8971         * objects/UML/constraint.c:
8972         * objects/UML/dependency.c:
8973         * objects/UML/generalization.c:
8974         * objects/UML/implements.c:
8975         * objects/UML/large_package.c:
8976         * objects/UML/lifeline.c:
8977         * objects/UML/message.c:
8978         * objects/UML/note.c:
8979         * objects/UML/object.c:
8980         * objects/UML/realizes.c:
8981         * objects/UML/small_package.c:
8982         * objects/UML/state.c:
8983         * objects/UML/usecase.c:
8984         * objects/network/bus.c:
8985         * objects/standard/arc.c:
8986         * objects/standard/box.c:
8987         * objects/standard/ellipse.c:
8988         * objects/standard/image.c:
8989         * objects/standard/line.c:
8990         * objects/standard/polyline.c:
8991         * objects/standard/textobj.c:
8992         * objects/standard/zigzagline.c:
8993         Changed calls to move_handle to pass the new argument.
8994         
8995         * lib/widgets.c:
8996         * lib/widgets.h:
8997         Default line width, color etc #define'd
8998         
8999         * po/da.po:
9000         Updates of danish menus
9002 1999-05-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
9004         * dia.xpm
9005         * dia_gnome_icon.png
9006         * dia_gnome_menu_icon.png
9007         * dia_logo.png
9008         Graphics by Toussaint Frédéric <ftoussin@club-internet.fr>.
9010         * app/commands.c
9011         About dialog shows dia_logo.png. Removed the GNOME about dialog.
9013         * Makefile.am
9014         Distribute the icons and install logo in pkgdatadir.
9015         
9016         * app/Makefile.am
9017         Added DATADIR-define.
9018         
9019 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
9020         Patches from Enrico Scholz <enrico.scholz@wirtschaft.tu-chemnitz.de>
9022         * dia.spec:
9023         Updated version number, made setup quiet, can build from cvs,
9024         --enable-gnome, now using automake 1.4 DESTDIR feature, install-strip
9026         * lib/Makefile.am
9027         * objects/ER/Makefile.am
9028         * objects/UML/Makefile.am
9029         * objects/network/Makefile.am
9030         * objects/standard/Makefile.am
9031         now builds better with gnome
9033         * objects/UML/class_dialog.c
9034         Fixed typo -> po files must be updated too!!
9035         
9036 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
9038         * lib/dummy_dep.h:
9039         Added reference so that widgets.o gets linked to the app.
9041 1999-04-23  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9043         * objects/UML/classicon.c: 
9044         Added object mode.
9046         * objects/UML/actor.c: 
9047         Changed position of 'snap-to-grid' so connection points are
9048         in the grid.
9050 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
9052         * objects/UML/classicon.c:
9053         Changed position of 'snap-to-grid'.
9054         By Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
9055         
9056 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
9058         * objects/network/antenna.c
9059         * objects/network/flash.c
9060         * objects/network/hub.c
9061         * objects/network/modem.c
9062         * objects/network/modularswitch.c
9063         * objects/network/rj45plug.c
9064         * objects/network/scead-plug.c
9065         * objects/network/network.c
9066         * objects/network/Makefile.am
9067         * objects/network/pixmaps/antenna.xpm
9068         * objects/network/pixmaps/flash.xpm
9069         * objects/network/pixmaps/hub.xpm
9070         * objects/network/pixmaps/modem.xpm
9071         * objects/network/pixmaps/modularswitch.xpm
9072         * objects/network/pixmaps/rj45plug.xpm
9073         * objects/network/pixmaps/sceadplug.xpm
9074         * objects/network/pixmaps/Makefile.am
9075         Lots of new network objects from
9076         Roland Steinbach <roland@support-system.com>.
9078 1999-04-15  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9080         * objects/UML/classicon.c: 
9081         Fixed connection positions, saved type as int (it has 3 states),
9082         and other small fixes.
9083         
9084 1999-04-14  Alexander Larsson  <alla@lysator.liu.se>
9086         * app/preferences.c:
9087         * app/load_save.c:
9088         Added preference compress_save. It lets dia save uncompressed
9089         xml files.
9091         * objects/UML/class.c:
9092         Fixed bug with size calculation on methods that had class scope.
9093         
9094 1999-04-13  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9096         * objects/UML/usecase.c: 
9097         Added collaboration mode
9098         Fixed connection points with text > ellipse bug and other 
9099         small things
9101         * objects/UML/state.c:
9102         Fixed bug of bad position of text after being either end
9103         or begin, moved and returned to text
9105 1999-04-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
9107         * app/preferences.c: Add prototype declaration for prefs_apply.
9109 1999-04-11  Alexander Larsson  <alla@lysator.liu.se>
9111         * app/preferences.c:
9112         Added 'ok' button.
9113         Apply don't hide window.
9115         * app/properties.c:
9116         Add 'ok' button.
9118         * objects/UML/object.c:
9119         * objdcts/UML/state.c:
9120         Some data was not copied on copy.
9122         This patch is from
9123         Ben Hochstedler <benh@eeyore.moneng.mei.com>
9125 1999-04-09  Alexander Larsson  <alla@lysator.liu.se>
9127         * app/Makefile.am:
9128         Changed link order between X and libxml.
9129         Some people had problems with an old libz in their
9130         x11 directory.  
9132 1999-04-09  Kjartan Maraas  <kmaraas@online.no>
9134         * po/no.po: updated translation.
9135         
9136 1999-04-08  Lars R. Clausen <lrclause@cs.uiuc.edu>
9138         * lib/message.c (message_error):
9139         Fixed small error.
9141         * app/commands.[ch]:
9142         * app/diagram.[ch]:
9143         Added begining of xfig importing
9145 1999-04-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9147         * objects/UML/pixmaps/state.xpm: 
9148         * objects/UML/state.c: 
9149         New UML object state machine.
9151         * objects/UML/uml.c:
9152         * objects/UML/Makefile.am:
9153         * objects/UML/pixmaps/Makefile.am:
9154         Added the state object.
9155         
9156 1999-04-08  Alejandro Aguilar Sierra  <ale@bucefalo>
9158         * objects/UML/usecase.c: 
9159         Added dialog to allow move text outside the ellipse.
9161 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
9163         * Released Dia 0.41
9164         Tag called DIA_0_41
9166         * NEWS:
9167         Updates for 0.41.
9168         
9169 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
9171         * configure.in:
9172         Updated version number to 0.41
9174         * po/*.po:
9175         Update po-files
9177 1999-04-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
9179         * app/app_procs.c
9180         Changed errormessage for --export-to-ps. Removed call to 
9181         g_log_set_always_fatal().
9183         * app/diagram.c
9184         * app/disp_callbacks.c
9185         * app/load_save.c
9186         (i18n) Removed gettext from some debugmessages.
9188         * app/menus.c
9189         Small fix in GNOME-menus. Added warning that will help track
9190         problems with translations.
9192         * po/sv.po
9193         (i18n) Updated swedish translation.
9195 1999-04-02  Alexander Larsson  <alla@lysator.liu.se>
9197         * po/da.po:
9198         New updates
9200 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
9202         * po/da.po:
9203         * po/no.po:
9204         Some fixes.
9205         
9206 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
9208         * po/da.po:
9209         (i18n) Updated the danish translation.
9210         From Lars R. Clausen.
9212 1999-04-01  Fredrik Hallenberg  <hallon@lysator.liu.se>
9214         * app/menus.c
9215         (i18n) The popup menu is translated now.
9217         * po/sv.po
9218         (i18n) Updated swedish translation.
9220 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
9222         * Released Dia 0.40
9223         Tag called DIA_0_40
9225         * NEWS:
9226         Updated for new release
9227         
9228 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
9230         * objects/network/bus.c:
9231         Added initialization of properties dialog to NULL.
9233         * app/commands.c (edit_cut_callback):
9234         Update menu sensitivity when cut object.
9236         * app/modify_tool.c (click_select_object):
9237         * app/modify_tool.c (modify_button_release): 
9238         Call diagram_update_menu_sensitivity() when
9239         selecting objects to update stuff that depends
9240         on selected/not selected.
9242 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
9244         * Makefile.am:
9245         Change order of subdir so that libintl.a builds.
9246         Now passed make distcheck.
9248 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9250         * lib/font.c (init_x11_font):
9251         Stupid bug fixed.
9253 1999-03-28  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9255         * objects/UML/pixmaps/classicon.xpm: 
9256         * objects/UML/classicon.c:
9257         * objects/UML/uml.c:
9258         Added the class stereotype icon objects.
9260         * app/commands.c:
9261         Changed default ps extension from .ps to .eps.
9262         
9263 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9265         * lib/Makefile.am:
9266         Added diamenu.h and intl.h
9268         * lib/font.c:
9269         Stupid typo fix.
9270         
9271         * objects/UML/pixmaps/Makefile.am:
9272         Added message.xpm
9274         * objects/standard/pixmaps/Makefile.am:
9275         Added image.xpm
9277 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9279         * lib/font.c:
9280         Use a scalable font before fixed when real font not found.
9282         * app/commands.c:
9283         Removed warning.
9285         * objects/standard/image.c:
9286         Better handling of loading/saving of images.
9288         * INSTALL:
9289         Added some text about cvs, fonts and rewrote some parts.
9291         * TODO:
9292         Updated with new stuff.
9293         
9294         * configure.in:
9295         Bump up version number to 0.40.
9296         
9297 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9299         * app/display.c:
9300         Moved diagram_add_ddisplay() call into new_display().
9301         Fixed new_display to not use uninitialized variables
9302         causing loaded files to show up as black (or garbage).
9303         
9304         * app/commands.c:
9305         * app/app_procs.c:
9306         Removed unneeded calls to diagram_add_ddisplay().
9307         
9308 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9310         * objects/UML/lifeline.c:
9311         Fixed bug in copy.
9312         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
9314         * objects/UML/message.c:
9315         Fixed bug loading messages with null-text.
9316         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
9318 1999-03-27  Fredrik Hallenberg  <hallon@lysator.liu.se>
9320         * po/sv.po
9321         Updated swedish translation.
9323         * app/menus.c
9324         (GNOME) Removed help-browser from help menu. Fixed typo.
9326         * app/interface.c
9327         (GNOME) Accelerators in diagrams should work now. 
9329 1999-03-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
9331         * app/app_procs.c
9332         * app/commands.c
9333         * app/defaults.c
9334         * app/disp_callbacks.c
9335         * app/display.c
9336         * app/interface.c
9337         * app/menus.c
9338         * app/preferences.c
9339         * app/render_eps.c
9340         * lib/diagramdata.c
9341         * lib/font.c
9342         * lib/message.c
9343         * lib/widgets.c
9344         * objects/ER/*.c
9345         * objects/UML/*.c
9346         * objects/network/*.c
9347         * objects/standard/*.c
9348         * po/update_pofiles_in.sh
9349         * po/POFILES.in
9350         More i18n. All strings (expect rare debug messages) can be
9351         translated now. Moved intl.h from app to lib. Updated
9352         update_pofiles_in.sh to check all .c-files.
9354 1999-03-23  Alexander Larsson  <alla@lysator.liu.se>
9356         * app/disp_callbacks.c (ddisplay_canvas_events):
9357         Don't drop keys while num-lock, scroll-lock etc is on.
9359 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
9361         * app/render_eps.c (draw_image):
9362         Fixed exporting of images.
9363         Still not perfect, but not outright buggy.
9364         
9365 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
9367         * configure.in:
9368         * po/hu.po:
9369         Added hungarian translation. By Shooby Ban <bansz@szif.hu>.
9371         * app/Makefile.am:
9372         Added $* to the dia call in run_dia.sh
9374 1999-03-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
9375         
9376         * lib/color.[ch]:
9377         Added color_equals() call.
9379         * objects/standard/arc.c:
9380         * objects/standard/line.c:
9381         Don't save unneccesary data.
9382         
9383         * objects/standard/box.c:
9384         * objects/standard/ellipse.c:
9385         * objects/standard/image.c:
9386         * objects/standard/polyline.c:
9387         * objects/standard/zigzagline.c:
9388         Share properties dialog.
9389         Don't save unneccesary data.
9390         
9391 1999-03-22  Seth Alves  <alves@hungry.com>
9393         * app/menus.c:
9394         * app/diagram.c:
9395         * app/display.c:
9396         small changes so that gnome menus aren't broken
9397         
9398 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
9400         * po/da.po:
9401         Added danish translation from lrclause@cs.uiuc.edu.
9403         * po/POFILES.in:
9404         Updated file.
9406         * po/update_pofiles_in.sh:
9407         Added script that updates POFILES.in.
9408         This should probably be run automatically from somewhere.
9410 1999-03-19  Alexander Larsson  <alla@lysator.liu.se>
9412         * app/diagram.[ch]:
9413         Added function diagram_update_menu_sensitivity() which
9414         sets the sensitivity of some menu items. This function
9415         is called at each diagram state change (from diagram_modified()).
9416         This is needed  because otherwise the keyboard accelerators
9417         don't work correctly.
9419         * app/display.[ch]:
9420         Changed display_set_menu_sensitivity() to display_update_menu_state().
9421         Moved lots of code to diagram_update_menu_sensitivity() in
9422         diagram.c. Optimized to only look up menu-items from path:s once.
9423         
9424         * app/disp_callbacks.c:
9425         * app/interface.c:
9426         When we get a GDK_FOCUS_CHANGE, update menu sensitivity.
9427         Need to set GDK_FOCUS_CHANGE_MASK.
9428         
9429         * app/create_object.c:
9430         Call diagram_modified when an object has been created and
9431         selected so that the menu sensitivity is updated. 
9433         * app/menus.[ch]:
9434         removed menus_set_sensitive() and menus_set_state(). Exported
9435         renamed function menus_get_item_from_path().
9437 1999-03-15  Alexander Larsson  <alla@lysator.liu.se>
9439         * app/disp_callbacks.c:
9440         Show (empty) object menus on object that has none.
9441         Show title on object menus.
9443         * app/display.c:
9444         Set zoom factor correctly when opening new displays.
9445         Better setting of scrollbars.
9447         * app/grid.c:
9448         * app/menus.h:
9449         Some reformating cleanup.
9451         * lib/diamenu.h:
9452         Added title to object menus.
9454         * objects/*/*.c:
9455         Added object menu method (NULL-valued) to all objects.
9457         * objects/standard/polyline.c:
9458         Added title to object menu.
9460 1999-03-14  Alexander Larsson  <alla@lysator.liu.se>
9462         * app/preferences.[ch]:
9463         New files. Implements the preferences dialog and
9464         loading/saving of ~/.diarc.
9466         * app/Makefile.am:
9467         Added preferences.[ch].
9469         * app/app_procs.c:
9470         Load preferences on startup.
9472         * app/commands.[ch]:
9473         Added file_preferences_callback to show the preferences dialog.
9475         * app/create_object.c:
9476         Update extents when creating object.
9477         Use the reset_tools_after_create preferences setting.
9479         * app/display.c:
9480         Use preferences when creating new display.
9482         * app/menus.c:
9483         Add preferences to menu.
9485         * app/defaults.c:
9486         * app/layer_dialog.c:
9487         * app/properties.c:
9488         Don't allow shrinking of dialog.
9489         Add i18n of some strings.
9491 1999-03-11  Kjartan Maraas  <kmaraas@fib.hl.no>
9492         * po/no.po:
9493         Norwegian translation added.
9494         
9495 1999-03-11  Alexander Larsson  <alla@lysator.liu.se>
9497         * objects/standard/line.c: 
9498         * objects/standard/arc.c: 
9499         * objects/standard/polyline.c: 
9500         * objects/standard/zigzagline.c:
9501         Loading of arrow data fixed.
9503 1999-03-09  Alexander Larsson  <alla@lysator.liu.se>
9505         * app/commands.c:
9506         Update extents when saving and exporting to postscript.
9507         Fixes a bug with postscript bounding-box being wrong.
9509         * app/defaults.c:
9510         Changed border width from 5 to 2.
9512         * app/group.c:
9513         Move grouped objects by the move-point of the first object.
9514         Fixes bug that made all objects in the group be off-grid
9515         when moving the group, even though all objects was on-grid.
9517         * app/layer_dialog.c:
9518         Update extents when changing layer.
9520 1999-03-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9522        * objects/UML/uml.c: 
9523        * objects/UML/component.c: 
9524        * objects/UML/pixmaps/component.xpm: 
9525        Added the UML component object
9526         
9527 1999-03-04  Seth Alves  <alves@hungry.com>
9529         * objects/UML/generalization.c (generalization_create): avoid
9530         math on uninitialized genlz->text_width (NaN causes sigfpe)
9531         
9532         * objects/UML/realizes.c (realizes_create): same
9534         * objects/UML/dependency.c (dependency_create): same
9536 1999-03-01  Seth Alves  <alves@hungry.com>
9538         * app/display.c (ddisplay_active): don't fly a warning panel
9539         if ddisplay_active is called when no views are open.
9541         * app/commands.c (set_default_file_selection_directory): set
9542         file selector's default directory if there is already
9543         a document open.
9545 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
9547         * INSTALL:
9548         New info about imlib requirements.
9550         * Configure.in:
9551         Added lib/pixmaps/Makefile to created makefiles.
9553         * app/app_procs.c:
9554         * app/commands.c:
9555         Change from obsoleted to newer gtk calls.
9556         
9557         * load_save.c:
9558         Pass filename of the diagram when loading and saving.
9559         This creates better oportunities to handle filename saving.
9561         * lib/object.h:
9562         Pass filenames to load and save methods.
9563         
9564         * lib/dia_image.[ch]:
9565         Added dia_image_get_broken() call that returns a image which
9566         is used for 'broken' images.
9567         
9568         * lib/pixmaps/.cvsignore:
9569         * lib/pixmaps/Makefile.am:
9570         * lib/pixmaps/broken.xpm:
9571         New files for the broken image bitmap.
9573         * lib/widgets.c:
9574         Fixed bug with double destroyed filedialog.
9576         * objects/*/*.c:
9577         Updated load and save prototypes to use the new filename argument.
9579         * objects/image.c:
9580         Render broken image instead of line when got no image.
9581         Use the new filename in load and save to save (if possible)
9582         relative pathnames and to better try to find loaded images.
9584 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
9586         * TODO:
9587         Some updates to the todo file.
9588         
9589         * app/menus.c:
9590         * app/display.c:
9591         Place over/place over => sent to back/bring to front.
9592         Added some keyboard shortcuts to menus.
9593         
9594 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
9596         * lib/dia_xml.c:
9597         Changed string saving/loading to a new method. This should
9598         be much better att handling &,<,> and whitespaces.
9599         Loading strings of the old kind is still supported for backwards
9600         compatibility.
9602         * samples/ER-demo.dia:
9603         * samples/UML-demo.dia:
9604         Updated to use the new strings.
9605         
9606         * app/load_save.c:
9607         statusbar modified update fix.
9609 1999-02-27  Seth Alves  <alves@hungry.com>
9611         * app/app_procs.c (app_init): added a --export-to-ps option
9612         which will cause dia to load a dia file and save it as ps
9613         and then exit.  this is a little bogus, because it still
9614         pops up a window.  this option only shows up if --enable-gnome
9615         is used
9617         * app/display.c (display_set_menu_sensitivity): no Edit/Delete
9618         menu when built with --enable-gnome
9620         * app/interface.c (create_display_shell): build status bar
9621         even if --enable-gnome is used
9623         * app/menus.c: menu fixes for --enable-gnome
9625         * app/commands.c (file_open_dialog_ok_callback): fixed up
9626         menus when --enable-gnome is used
9627         (file_export_to_eps_callback): set a default file name
9628         when dialog is created
9630 1999-02-27  Alexander Larsson  <alex@c125.ryd.student.liu.se>
9632         * objects/UML/association.c (association_create):
9633         Fixed usage of not initialized variable.
9634         Pointed out by Seth Alves <alves@hungry.com>.
9636 1999-02-24  Alexander Larsson  <alex@c125.ryd.student.liu.se>
9638         * configure.in:
9639         Fixed detection of gnome-xml.
9640         From Valtteri Vuorikoski <vuori@k.notcom.org>.
9641         
9642         * app/app_procs.c:
9643         Fixed error detection on dlsym calls. 
9644         From Valtteri Vuorikoski <vuori@k.notcom.org>.
9646 1999-02-23  Alexander Larsson  <alla@lysator.liu.se>
9648         * objects/UML/message.c (fill_in_dialog):
9649         Fixed warnings.
9651 1999-02-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
9653         * objects/standard/zigzagline.c:
9654         * objects/standard/polyline.c:
9655         * objects/standard/line.c:
9656         * objects/standard/arc.c:
9657         * lib/widgets.h:
9658         * lib/arrows.h:
9659         * lib/widgets.c:
9660         Support for sizeable arrows. 
9662         * objects/standard/box.c:
9663         * objects/standard/ellipse.c:
9664         * objects/standard/image.c:
9665         Changed creation handle to lower-right.
9666         Transparent box/ellipse.
9667         
9668         * objects/standard/image.c:
9669         Better layout of properties boxes.
9671 1999-02-20  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9673         * objects/UML/message.c (fill_in_dialog): 
9674         Fixed dialog fill in. Common dialog for all messages.
9676         * objects/UML/object.c: 
9677         Added multiple instance. Dialog related bugs fixed.
9678         Common dialog for all instances. Completed copy and destroy.
9680         * objects/UML/lifeline.c (lifeline_load): 
9681         Conn initialization bug fixed and few bad loading prevention flags.
9682         Common dialog for all lifeline objects.
9683         
9684 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9686         * lib/dia_image.[ch]:
9687         More work on the DiaImage abstraction.
9688         
9689         * app/app_procs.c:
9690         * app/render_eps.c:
9691         * app/render_gdk.c:
9692         * objects/standard/image.c:
9693         Use the new DiaImage calls.
9695 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9697         * app/menus.c:
9698         * app/display.c:
9699         Reversed the meaning of align horizontal/vertical.
9701 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9703         * app/load_save.c (diagram_load):
9704         Statusbar update fix.
9706 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9708         * app/interface.c (create_display_shell):
9709         Fixed status bar size.
9710         
9711 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9713         * lib/dia_image.[ch]:
9714         Added extern declaration for dia_image_release.
9715         Removed dia_image_draw, as it's not neseccary.
9717 1999-02-14  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9718         
9719         * app/object_ops.c: 
9720         * app/menus.c: 
9721         Added equal distance alignment both vertical and horizontal.
9722         
9723         * objects/UML/object.c: 
9724         Added a couple of attributes to load/read that were missing.
9726         * objects/UML/lifeline.c: 
9727         Better handling of handles. Fixed another bug I forgot to add
9728         to my last patch.
9729         
9730 1999-02-13  Alexander Larsson  <alla@lysator.liu.se>
9732         Patch from Lars Clausen <lrclause@shasta.cs.uiuc.edu>
9733         
9734         * lib/dia_image.[ch]:
9735         * lib/Makefile.am:
9736         New files. DiaImage wraps the GdkImlibImage.
9738         * lib/render.h:
9739         * app/render_eps.c:
9740         * app/render_gdk.c:
9741         * lib/render_store.[ch]:
9742         * objects/standard/image.c:
9743         Use the new DiaImagetype.
9745         * lib/widgets.c:
9746         Removed unused variable to eliminate  warning.
9748 1999-02-11  Alexander Larsson  <alla@lysator.liu.se>
9750         * objects/standard/box.c:
9751         Added rounded corners on the box object.
9753         * lib/widgets.[ch]:
9754         Updated the DiaFileSelector widget.
9755         
9756 1999-02-09  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9758         * objects/UML/object.c (objet_draw): 
9759         Completed underlining of all object name lines. 
9761         * objects/UML/message.c (fill_in_dialog): 
9762         Fixed a bug that filled incorrectly the message's dialog.
9764         * objects/UML/lifeline.c (lifeline_load): 
9765         Some cleanning and fixed a couple of bugs that caused
9766         crashes after reading diagrams with lifelines.
9768         * lib/text.c: 
9769         Added flags to prevent crash with void strings
9771 1999-02-07  Matthias Köster <Matthias.Koester@Informatik.Uni-Oldenburg.DE>
9772         * app/display.[ch]:
9773         Added statusbar to the display widget. Currently shows the zoom
9774         factor and modified flag of the viewed diagram. The statusbar is
9775         updated upon calls to ddisplay_zoom and ddisplay_update_statusbar.
9776         This caused the following additions:
9777         
9778         * app/diagram.[ch]:
9779         Added function diagram_set_modified. Calls
9780         ddisplay_update_statusbar for all displays showing the modified diagram.
9781         Changed diagram_modified to call diagram_set_modified.
9782         
9783         * app/interface.c:
9784         Added the creation of the statusbar.
9785         
9786         * app/load_save.c:
9787         diagram_save now calls diagram_set_modified instead of setting
9788         dia->modified. Needed to force call to display_update_statusbar
9789         
9790         * app/commands.c:
9791         Changed the way view_show_all works. Now calls ddisplay_zoom
9792         instead of directly setting the zoom_factor, so the zoom factor is
9793         correctly shown in the statusbar.
9795         * app/magnify.c:
9796         Fixed rubberband zoom to use ddisplay_zoom().
9797         
9798 1999-02-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
9800         * app/app_procs.c
9801         Rudimentary GNOME session management.
9802         
9803         * app/disp_callbacks.c
9804         * app/interface.c
9805         * app/menus.c
9806         * app/menus.h
9807         GNOME menus. Problems: 
9808         Callbacks doesn't get user_data.
9809         Weird warnings when creating popup menus.
9810         menus_set_sensitive(), menus_set_state() doesn't work.
9812 1999-02-05  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
9814         * configure.in:
9815         Add AM_PATH_GDK_IMLIB() call.
9817         * app/Makefile.am:
9818         Add gdk_imlib to linking flags.
9820         * app/app_procs.c:
9821         Init gdk_imlib.
9822         Print library-loading error messages on stdout too.
9824         * app/interface.c:
9825         Add standard image to toolbox.
9826         
9827         * app/render_eps.c: 
9828         Set a more reasonable dot length.  Fixed
9829         missing initialization of dot length.
9830         Added draw_image methods.
9832         * app/render_gdk.c (new_gdk_renderer): 
9833         Dot a bit wider.  Looks good in normal mode now.
9835         * objects/standard/image.c:
9836         * objects/standard/pixmaps/image.xpm:
9837         New files. Standard object for images.
9838         
9839         * app/render_eps.c (set_linestyle):
9840         * app/render_gdk.c (set_linestyle):
9841         * lib/widgets.c (dia_line_style_selector_init): 
9842         * lib/render.h: 
9843         New line style DOTTED.
9845         * lib/render.h:
9846         * lib/render_store.c:
9847         Change DrawImage call to use gdk_imlib.
9849         * lib/widgets.[ch]:
9850         Added widgets for selecting files.
9851         Added dotted to the linestyle selector.
9853 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
9855         * objects/network/printer.c:
9856         * objects/network/network.c:
9857         * objects/network/pixmaps/printer.xpm:
9858         * objects/network/.cvsignore:
9859         * objects/network/Makefile.am:
9860         * objects/network/pixmaps/Makefile.am:
9861         New printer object in network.
9862         From Martin Hawlisch <hawlisch@roxi.rz.fh-mannheim.de>
9864         * TODO:
9865         Added known XML bug.
9866         
9867 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
9869         * app/load_save.c:
9870         * lib/dia_xml.c:
9871         Reverted back from #include <gnome-xml/tree.h> to
9872         #include <tree.h> as this is fixed by the xml-config program.
9873         The former way broke for some people.
9874         Reported by blizzard@redhat.com.
9876         * objects/UML/lifeline.c:
9877         * objects/UML/message.c:
9878         * objects/UML/object.c:
9879         Removed some warnings.
9880         
9881 1999-02-04  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9883         * objects/UML/lifeline.c: 
9884         Fixed connection points over the life line when the focus of
9885         control is not drawn.
9887         * objects/UML/message.c: 
9888         Now a recursive message can be freely resized using the handles.
9890 1999-02-02  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9892         * objects/UML/lifeline.c:
9893         Added connection points.
9894         Added properties dialog with the option to draw/hide focus of control
9895         box and destruction mark.
9897         * objects/UML/object.c: 
9898         Added properties dialog and stereotype, explicit state and attributes. 
9899         It's also possible to mark the object as active.
9901         * objects/UML/pixmaps/object.xpm: 
9902         Cosmetic change.
9904         * objects/UML/message.c:
9905         Added "recursive" message type (was not necessary to use OrthConn).
9907 1999-02-02  Alexander Larsson  <alla@lysator.liu.se>
9909         * objects/standard/arc.c:
9910         Removed old debug code. Fixes a visual bug. From lrclause@cs.uiuc.edu.
9912 1999-02-01  Alexander Larsson  <alla@lysator.liu.se>
9914         Patch from Lars R. Clausen <lrclause@cs.uiuc.edu>
9915         
9916         * app/load_save.c:
9917         * lib/dia_xml.c:
9918         Update xml includes to gnome-xml/*.h.
9920         * objects/standard/arc.c:
9921         Only one property dialog per type.
9922         Fix arrows directions.
9924         * objects/standard/box.c:
9925         * objects/standard/ellipse.c:
9926         * objects/standard/textobj.c
9927         Added default properties dialog.
9928         
9930 1999-01-31  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9932         * objects/UML/Makefile.am: 
9933         * objects/UML/uml.c:
9934         * objects/UML/lifeline.c: 
9935         * objects/UML/object.c: 
9936         * objects/UML/message.c:
9937         * objects/UML/pixmaps/lifeline.xpm: 
9938         * objects/UML/pixmaps/object.xpm: 
9939         * objects/UML/pixmaps/message.xpm:
9940         Added 3 new UML objects for dynamic modeling. To avoid internal 
9941         conflicts, the name "objet" is used for object "object".        
9943         * lib/arrows.[ch]: 
9944         Added ARROW_HALF_HEAD arrow type to allow drawing asynchronous
9945         UML messages.
9946         
9947 1999-01-30  Alexander Larsson  <alla@lysator.liu.se>
9949         * app/display.[ch]:
9950         * app/modify_tool.c:
9951         Added autoscrolling while doing rubber-band select.
9952         This patch from Matthias Köster
9953         (Matthias.Koester@Informatik.Uni-Oldenburg.DE)
9954         
9956 1999-01-28  Alexander Larsson  <alla@lysator.liu.se>
9958         * app/defaults.[ch]:
9959         New files, deals with default properties dialog.
9961         * lib/diamenu.h:
9962         New file. Contains definitions for the new object menu.
9964         * lib/poly_conn.[ch]:
9965         New file. Base class for poly-line like objects.
9967         * objects/standard/polyline.c:
9968         * objects/standard/pixmaps/polyline.xpm:
9969         New files. Polyline object.
9971         * app/app_procs.c:
9972         Fixed bug with infinite loop when registering sheets.
9973         
9974         * app/commands.c:
9975         Removed unneccesary stuff.
9977         * app/disp_callbacks.c:
9978         Support for object menus.
9980         * app/interface.c:
9981         Added polyline to toolbox.
9982         Added call to tool_options_dialog_show() when double clicking on
9983         tool.
9985         * app/tool.[ch]:
9986         New function tool_options_dialog_show() for tool properties.
9988         * lib/arrows.[ch]:
9989         Added ARROW_NONE.
9991         * lib/object.h:
9992         Added ObjectType methods for handling object default dialogs.
9993         Added Object method for handling object_menu.
9994         Added unused methods to ObjectTypeOps for future binary
9995         compatibility.
9997         * lib/widgets.[ch]:
9998         Added DiaArrowTypeSelector widget.
10000         * objects/standard/arc.c:
10001         * objects/standard/zigzagline.c:
10002         Added support for default properties.
10004         * objects/standard/line.c:
10005         Added support for default properties.
10006         Just use one properties dialog for all line objects. NOTE: This
10007         seems to have a bug. We're working on it.
10009         * standard/standard.c:
10010         Add the polyline object.
10012 1999-01-27  Alexander Larsson  <alla@lysator.liu.se>
10014         * app/modify_tool.c:
10015         Commented out buggy transitive select function. It wasn't really
10016         meant to go into cvs.
10017         
10019 1999-01-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
10021         * autogen.sh:
10022         * acconfig.h:
10023         * configure.in:
10024         * Makefile.am:
10025         * app/Makefile.am:
10026         * po/POTFILES.in:
10027         * app/intl.h
10028         i18n-support.
10030         * po/sv.po:
10031         Swedish translation. Not completed.
10032         
10033         * configure.in:
10034         * acconfig.h:
10035         Added possibility to enable GNOME specific code with configure.
10037         * configure.in:
10038         Added possibility to set debug level with configure.
10040         * commands.[hc]:
10041         Added about dialog.
10043         * app_procs.c
10044         * commands.c
10045         * interface.c
10046         * menus.c
10047         Added some GNOME specific code. Not ready for use.
10049 1999-01-24  Alexander Larsson  <alla@lysator.liu.se>
10051         * INSTALL:
10052         Added text about needing gtk 1.1.13 and gnome-xml.
10053         
10054         * NEWS:
10055         Described changes since last version (0.20).
10057         Released version 0.30, tagged DIA_0_30.
10059 1999-01-22  Alexander Larsson  <alla@lysator.liu.se>
10061         * app/magnify.c (magnify_button_release):
10062         Fixed a problem when zooming in on a very small box would
10063         not release the grabbed pointer-focus.
10065 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
10067         * app/load_save.c (diagram_load):
10068         Be somewhat more robust when loading files that
10069         are not diagrams.
10070         
10071 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
10073         * app/app_procs.c:
10074         * objects/ER/er.c:
10075         * objects/UML/uml.c:
10076         * objects/network/network.c:
10077         * objects/standard/standard.c:
10078         Added versioning of object libraries.
10080         * app/create_object.c:
10081         Don't change tool when an object is created.
10082         
10083         * objects/network/network.c:
10085         * TODO:
10086         Update
10088 1999-01-19  Alexander Larsson  <alla@lysator.liu.se>
10090         * configure.in:
10091         Updated gtk requirement to Gtk+ 1.1.13.
10093         * app/display.c:
10094         Always add one screenful of scrolling space on
10095         each side of a diagram window.
10097 1999-01-19  Jeff Garzik  <jgarzik@pobox.com>
10099         * autogen.sh:
10100         Tell automake to auto-install missing files.
10102         * app/menus.c:
10103         Renamed deprecated Gtk+ function.
10105 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
10107         * Makefile.am:
10108         * configure.in:
10109         * samples/Makefile.am:
10110         * samples/ER-demo.dia:
10111         * samples/UML-demo.dia:
10112         Added samples directory.
10113         Added samples for ER and UML.
10114         
10115         * app/commands.c:
10116         * app/disp_callbacks.c:
10117         * app/menus.c:
10118         Zoom is done by sqrt(2) instead of 2.
10119         Lots of more zoom options in the menu.
10121         * objects/ER/relationship.c:
10122         Relationships have 8 connectionpoints instead of 4.
10124         * objects/UML/class.c:
10125         UML class name font a bit smaller.
10126         Fixed stupid bug in the copy operation.
10127         
10128         * app/display.c:
10129         Displays are opened at 500x400 instead of 256x256.
10131         * app/load_save.c:
10132         Fixup of internal error message.
10134         * app/color_area.c:
10135         * app/diagram.c:
10136         * app/modify_tool.c:
10137         * lib/object.c:
10138         Removed debug printf's.
10139         
10140         * TODO (BUGS):
10141         Added new known bug.
10143 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
10145         * app/interface.c:
10146         * app/menus.c:
10147         Fixed so accelerator groups work in all windows.
10148         Updated to new gtk function names.
10150         * TODO (BUGS):
10151         Removed fixed bug.
10153         * app/display.c:
10154         Updated to new gtk function names.
10155         Set sensitivity of the align menu items.        
10157         * objects/ER/pixmaps/Makefile.am:
10158         * objects/UML/pixmaps/Makefile.am:
10159         * objects/network/pixmaps/Makefile.am:
10160         Fix so that make dist works.
10162         * app/app_procs.c:
10163         * app/color_area.c:
10164         * app/commands.c:
10165         * app/diagram.c:
10166         * app/grid.c:
10167         * app/layer_dialog.c:
10168         * app/load_save.c:
10169         * app/object_ops.c:
10170         * app/properties.c:
10171         * lib/diagramdata.[ch]: 
10172         * lib/message.c:
10173         * lib/objects/ER/attribute.c:
10174         * lib/objects/ER/entity.c:
10175         * lib/objects/ER/participation.c:
10176         * lib/objects/ER/relationship.c:
10177         * lib/objects/ER/.c:
10178         * objects/UML/actor.c:
10179         * objects/UML/association.c:
10180         * objects/UML/class_dialog.c:
10181         * objects/UML/dependency.c:
10182         * objects/UML/generalization.c:
10183         * objects/UML/large_package.c:
10184         * objects/UML/realizes.c:
10185         * objects/UML/.c:
10186         * objects/UML/.c:
10187         Updated to new gtk function names.
10188         Removed warnings.
10190 1999-01-15  Alexander Larsson  <alla@lysator.liu.se>
10192         * TODO:
10193         Update TODO.
10195         * app/app_procs.c:
10196         Fixed loading of diagrams specified as arguments.
10198         * objects/ER/attribute.c:
10199         * objects/ER/entity.c:
10200         * objects/ER/er.c:
10201         * objects/ER/participation.c:
10202         * objects/ER/relationship.c:
10203         Updated the ER objects.
10204         
10206 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
10208         * configure.in:
10209         * app/Makefile.am:
10210         * objects/Makefile.am:
10211         * objects/ER/attribute.c:
10212         * objects/ER/entity.c:
10213         * objects/ER/er.c:
10214         * objects/ER/participation.c:
10215         * objects/ER/relationship.c:
10216         * objects/ER/pixmaps/Makefile.am:
10217         * objects/ER/pixmaps/attribute.xpm:
10218         * objects/ER/pixmaps/entity.xpm:
10219         * objects/ER/pixmaps/participation.xpm:
10220         * objects/ER/pixmaps/relationship.xpm:
10221         * objects/ER/pixmaps/weakentity.xpm:
10222         First commit of entity relationship objects.
10223         These were done by hallon@lysator.liu.se.
10224         There are still stuff to do on these.
10225         
10226 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
10228         * TODO:
10229         Updates.
10231         * app/diagram.[ch]:
10232         Change diagram_remove_all_selected to take new argument
10233         delete_empty. Empty objects are deleted only if it is TRUE.
10234         Removed call to close_eps_renderer. This is now done in end_render
10235         in the eps renderer.
10237         * app/create_object.c:
10238         * app/layer_dialog.c:
10239         Update calls to diagram_remove_all_selected.
10241         * app/commands.c:
10242         Update calls to diagram_remove_all_selected.
10243         Some code reformating.
10244         Changed order of adding updates i align_h and align_v.
10246         * app/modify_tool.c:
10247         Update calls to diagram_remove_all_selected.
10248         Added pointer grab when doing rubber-band selection, this fixes
10249         the bug when draging the box over to another window.
10251         * app/connectionpoint_ops.[ch]:
10252         diagram_update_connections_object changed to take an argument
10253         update_nonmoved. This lets connections that has not moved, but
10254         the stuff they're connected to has been moved work.
10255         Update calls to the new diagram_update_connections_object.
10257         * app/properties.c:
10258         Update calls to the new diagram_update_connections_object.
10259         Update extents when properties are applied.
10260         
10261         * app/disp_callbacks.c:
10262         Added support for zooming with the '+' and '-' keys.
10264         * app/menus.c:
10265         Removed old keyboard shortcuts for zoom.
10267         * lib/render.h:
10268         Added calls begin_render and end_render to renderer.
10269         These can be used for setup and cleanup.
10271         * lib/diagramdata.c:
10272         Added calls to begin_render and end_render in data_render.
10274         * app/render_gdk.c:
10275         Added begin_render and end_render.
10277         * app/render_eps.[ch]:
10278         Added begin_render and end_render.
10279         Moved close_eps_renderer code to end_render.
10280         Various fixes to the generated eps code. This fixes importing
10281         generated eps into LYX.
10282         
10283 1999-01-12  Alexander Larsson  <alla@lysator.liu.se>
10285         * TODO:
10286         Update of todo.
10287         
10288         * app/menus.c:
10289         Menus for alignment updated.
10291         * app/object_ops.[ch]:
10292         Functions for object alignment updated.
10294         * app/commands.[ch]:
10295         Object alignment callbacks updated.
10296         New diagrams are called Untitled-<nr>.
10298         * app/layer_dialog.c:
10299         Active layer selected when showing layers from new
10300         diagram.
10302         * app/load_save.c:
10303         Compress xml files when saving.
10304         Use xml namespace 'dia'.
10306         * lib/object.h:
10307         Minor comment update.
10309         * objects/UML/class_dialog.c:
10310         Cleanup of the gkt_list_item moving code.
10311         Fixed bug with update of operation when moving parameters.
10313 1999-01-10  Alexander Larsson  <alla@lysator.liu.se>
10315         * app/layer_dialog.[ch]:
10316         Fixed the rest of the layers dialog.
10318         * app/dialog.c:
10319         Added call to redo layer dialogs diagram list when changing
10320         diagram name.
10322         * lib/diagramdata.[ch]:
10323         Added data_raise_layer and data_lower_layer functions for
10324         raising/lowering layers. Added data_add_layer_at for adding a
10325         layer at a specified index.
10327 1999-01-05  Alexander Larsson  <alla@lysator.liu.se>
10329         This is the asierra-990105 patch done by asierra@servidor.unam.mx.
10330                 
10331         * app/app_procs.c:
10332         Added support for reading diagrams from the command line.
10334 1998-12-21  Alexander Larsson  <alla@lysator.liu.se>
10336         This is the asierra-981220 patch done by asierra@servidor.unam.mx.
10337                 
10338         * app/commands.[ch]:
10339         Added objects_align_callback().
10341         * app/menus.c:
10342         Added align objects to menu.
10344         * app/object_ops.[ch]:
10345         Add object_list_align().
10346         
10347 1998-12-17  Alexander Larsson  <alla@lysator.liu.se>
10348         * app/layer_dialog.[ch]:
10349         New files. Handles the layers dialog. Needs a bugfix for glib to
10350         work. Sent patch to gtk-list.
10351         
10352         * app/pixmaps/new.xpm:
10353         * app/pixmaps/eye.xbm:
10354         * app/pixmaps/lower.xpm:
10355         * app/pixmaps/raise.xpm:
10356         * app/pixmaps/delete.xpm:
10357         New files. Images for the layer dialog buttons.
10358         
10359         * lib/diagramdata.h
10360         * lib/diagramdata.c
10361         New files for the DiagramData and Layer structures and functions.
10362         
10363         * app/app_procs.c:
10364         Added call to create_layer_dialog() on startup.
10365         
10366         * app/commands.[ch]:
10367         New callbacks for showing the properties and layout dialog.
10368         Changes for the new DiagramData structure.
10370         * app/connectionpoint_ops.c:
10371         * app/cut_n_paste.c:
10372         * app/diagram.[ch]:
10373         * app/display.[ch]:
10374         * app/group.c:
10375         * app/modify_tool.c:
10376         * app/object_ops.[ch]:
10377         * app/render_eps.c:
10378         * lib/object.[ch]:
10379         Changes for the new DiagramData structure.
10381         * app/interface.c:
10382         * app/properties.c:
10383         Set correct wmclasses.
10385         * app/load_save.c:
10386         Fix load and save of layers.
10388         * diagram.dtd:
10389         Update DTD for layers.
10390         
10391         * app/menus.c:
10392         New menus for dialogs.
10394         
10395         * TODO:
10396         Some updates.
10397         
10398 1998-12-06  Alexander Larsson  <alla@lysator.liu.se>
10400         * TODO:
10401         Removed the gtk 1.1.5 stuff.
10403         * configure.in:
10404         Updated gtk check to version 1.1.5.
10405         Updated version from 0.20 to 0.30
10407         * app/commands.[ch]:
10408         Updated some callbacks to be of type GtkItemFactoryCallback1.
10409         Not all are done yet, but it works anyway.
10411         * app/display.h:
10412         Removed Gtk 1.0.0 GtkAcceleratorTable references.
10413         
10414         * app/interface.c:
10415         * app/menus.[ch]:
10416         Update to Gtk 1.1.x functions.
10417         Use ItemFactory instead of MenuFactory.
10418         
10419         * app/render_gdk.c:
10420         Removed Gtk 1.0.0 references.
10422         * objects/UML/class_dialog.c:
10423         Scrolled window updates for Gtk 1.1.5.
10424         
10425         * lib/dia_xml.c:
10426         Removed ugly fix for gnome-xml bug. Make sure you get the
10427         newest version of gnome-xml from CVS.
10428         
10429 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
10431         * TODO:
10432         Removed the xml load/save line.
10434         * lib/files.[ch]:
10435         Removed files.
10436         
10437         * lib/Makefile.am:
10438         Removed building of files.c
10440         * app/load_save.c:
10441         * lib/connection.c:
10442         * lib/element.c:
10443         * lib/object.c:
10444         * lib/orth_conn.c:
10445         * lib/render_object.c:
10446         * objects/UML/actor.c:
10447         * objects/UML/association.c:
10448         * objects/UML/class.c:
10449         * objects/UML/constraint.c:
10450         * objects/UML/dependency.c:
10451         * objects/UML/generalization.c:
10452         * objects/UML/implements.c:
10453         * objects/UML/large_package.c:
10454         * objects/UML/note.c:
10455         * objects/UML/realizes.c:
10456         * objects/UML/small_package.c:
10457         * objects/UML/uml.c:
10458         * objects/UML/usecase.c:
10459         * objects/network/bus.c:
10460         * objects/standard/arc.c:
10461         * objects/standard/box.c:
10462         * objects/standard/ellipse.c:
10463         * objects/standard/line.c:
10464         * objects/standard/textobj.c:
10465         * objects/standard/zigzagline.c:
10466         Removed all includes of files.h
10468         
10469 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
10471         * dialog.dtd:
10472         Made the val property of string be implied.
10473         This makes it possible to save strings that
10474         are NULL. Just leave out val.
10476         * objects/lib/dia_xml.c:
10477         Fixed string so that it is possible to save strings
10478         that are NULL. Also made an ugly workaround of a
10479         bug in gnome-xml which removes empty properties.
10480         
10481         * objects/lib/orth_conn.c:
10482         Fixed a bug in saving. Forgot to step through the
10483         directions.
10484         
10485         * objects/UML/association.c: 
10486         * objects/UML/class.c: 
10487         * objects/UML/constraint.c: 
10488         * objects/UML/dependency.c: 
10489         * objects/UML/generalization.c: 
10490         * objects/UML/implements.c: 
10491         * objects/UML/large_package.c: 
10492         * objects/UML/note.c: 
10493         * objects/UML/small_package.c:
10494         * objects/UML/realizes.c:
10495         * objects/UML/usecase.c: 
10496         * objects/UML/actor.c: 
10497         Fixed UML objects to save as xml.
10498         The last two were done by asierra@servidor.unam.mx (asierra-981204)
10499         
10500         * objects/UML/uml.[ch]:
10501         Updated *_write() and *_read() functions to use xml.
10503         * objects/network/bus.c: 
10504         * objects/network/computer.c: 
10505         * objects/network/disc.c: 
10506         * objects/network/monitor.c:
10507         Updated network diagrams to use xml.
10509 1998-12-02  Alexander Larsson  <alla@lysator.liu.se>
10511         * dialog.dtd:
10512         New file. DTD that describes the xml file format
10513         dia uses.
10515         * lib/dia_xml.[ch]:
10516         New files. Support for saving object to xml files.
10518         * configure.in:
10519         * app/Makefile.am:
10520         * lib/Makefile.am:
10521         Added check for and usage of gnome-xml library.
10523         * app/load_save.c:
10524         Major chages. Now saves/loads diagrams as xml.
10526         * lib/object.[ch]:
10527         * lib/element.[ch]:
10528         * lib/connection.[ch]:
10529         * lib/orth_conn.[ch]:
10530         * lib/render_object.[ch]:
10531         * lib/text.[ch]:
10532         Updated object support load/save functions for xml:
10534         * object/standard/arc.c:
10535         * object/standard/box.c:
10536         * object/standard/ellipse.c:
10537         * object/standard/line.c:
10538         * object/standard/textobj.c:
10539         * object/standard/zigzagline.c:
10540         Updated all standard objects to use xml.
10541         
10542         NOTE NOTE NOTE
10543         Only the standard objects are converted right now, don't
10544         save or load uml or network diagrams yet. Also, since this
10545         is new code it is deemed a bit unstable.
10546         
10547         * TODO
10548         Added a know bug.
10550 1998-12-01  Alexander Larsson  <alla@lysator.liu.se>
10552         * objects/UML/class.c:
10553         Changed classname font to Helvetica.
10554         Added more space above the classname
10556         * objects/UML/usecase.c:
10557         Correct placements of connectionpoints on ellipse.
10558         Better algorithm for deciding aspect ration on
10559         ellipse.
10561         These changes were made by Alejandro Aguilar Sierra
10562         <asierra@servidor.unam.mx>. (asierra-981201)
10564 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
10566         * objects/UML/actor.c:
10567         Changed the extents and alignment of the element
10568         and the text.
10570         * objects/UML/.cvsignore:
10571         Added usecase.lo and actor.lo.
10573 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
10575         * objects/UML/actor.c:
10576         * objects/UML/usecase.c:
10577         * objects/UML/pixmaps/actor.xpm:
10578         * objects/UML/pixmaps/case.xpm:
10579         New files. Implements usecase and actor UML objects.
10580         These objects are done by Alejandro Aguilar Sierra
10581         <asierra@servidor.unam.mx>.
10582         
10583         * objects/UML/Makefile.am:
10584         * objects/UML/pixmaps/Makefile.am:
10585         Added usecase and actor to makefile.
10586         
10587         * AUTHORS:
10588         Added Alejandro and Jerome to autors list.
10589         
10590 1998-11-25  Alexander Larsson  <alla@lysator.liu.se>
10592         * objects/UML/class.c (umlclass_load):
10593         Fixed typo. Reported by Jerome.Abela@solsoft.fr
10595 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
10597         * app/properties.c:
10598         Update connections when doing apply in the properties window.
10600         * objects/UML/uml.[ch]:
10601         * objects/UML/class.[ch]:
10602         * objects/UML/class_dialog.c:
10603         Added connection points on both sides of attributes and
10604         operations in UML classes.
10605         Based on idea from Jerome.Abela@solsoft.fr
10606         
10607 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
10609         * README:
10610         Some new documentation about handles and connectionpoints.
10611         
10612         * lib/object.[ch]:
10613         Added functions object_add_connectionpoint and
10614         object_remove_connectionpoint for handling a dynamic
10615         number of connectionpoints.
10617         * objects/UML/class.c:
10618         Only reserve space for stereotype when it is shown.
10620         These changes are from Jerome Abela <Jerome.Abela@solsoft.fr>
10622 1998-11-08  Alexander Larsson  <alla@lysator.liu.se>
10624         * app/connectionpoint_ops.c:
10625         * app/commands.c:
10626         * app/disp_callbacks.c:
10627         * app/display.[ch]:
10628         * app/grid.c:
10629         * app/handle_ops.c:
10630         * app/magnify.c:
10631         * app/modify_tool.c:
10632         * app/render_gdk.[ch]:
10633         * lib/render.h:
10634         Huge cleanup of internal rendering system.
10635         Moved a lot of data (pixmap, width, height & gc) into the GdkRenderer.
10636         This gives a few new methods for Interactive Renderers for setting
10637         clipping regions and drawing pixel based lines and rects.
10638         Updated the rest of the code to use the new stuff.
10639         
10640         * app/render_eps.c:
10641         Fixed warning.
10643         * lib/widgets.c:
10644         * objects/standard/zigzagline.c
10645         Fixed unused variable warnings.
10647         * lib/font.c:
10648         Fixedbug with stringwidth where width==0.
10650         * TODO:
10651         Added known bug.
10653 1998-11-02  Alexander Larsson  <alla@lysator.liu.se>
10655         * lib/widgets.[ch]:
10656         Added suppot for setting the font of a
10657         DiaFontSelector widget.
10658         Also fixed some typos in the header.
10660         * lib/object.h: 
10661         Added a comment about the GetPRoperties method call.
10662         You have to make sure to update widget state when
10663         this method is called. (Not all objects do this yet,
10664         to be fixed.)
10666         * TODO:
10667         Some small updates
10669 1998-11-01  Alexander Larsson  <alla@lysator.liu.se>
10671         * lib/font.c
10672         Fixed problem with height of ascent and descent for fonts.
10673         It didn't use the whole height (==ascent+descent) when calculatine
10674         ascent_ratio and descent_ratio.
10676         * objects/standard/textobj.c:
10677         * objects/standard/box.c:
10678         * objects/standard/ellipse.c:
10679         * objects/standard/line.c:
10680         * objects/standard/arc.c:
10681         Updated and added property dialogs for these objects.
10682         Also added line width/color/style to those objects
10683         that didn't have it.
10684         This change breaks fileformat compatibility for these objects.
10685         
10686         * objects/standard/zigzagline.c:
10687         Changed zigzagline to be based on OrthConn, much nicer.
10688         Also added line style and color to properties.
10689         This change breaks fileformat compatibility for zigzagline.
10691         * lib/message.c:
10692         Fixed bug in message(). Forgot a pair of '&'.
10694 1998-10-29  Alexander Larsson  <alla@lysator.liu.se>
10696         * lib/widgets.[ch]:
10697         Added DiaColorSelector widget.
10698         This is a colored button that pops up a color selection
10699         dialog when pressed.
10701 1998-10-28  Alexander Larsson  <alla@lysator.liu.se>
10703         * lib/widgets.[ch]:
10704         * lib/Makefile.am:
10705         New files, added widgets for selecting fonts, alignment
10706         and line-style. Will be used later.
10708 1998-10-12  Alexander Larsson  <alla@lysator.liu.se>
10710         * app/Makefile.am:
10711         * lib/Makefile.am:
10712         * objects/UML/Makefile.am:
10713         * objects/network/Makefile.am:
10714         * objects/standard/Makefile.am:
10715         Changed "CFLAGS = -Wall -g" to "CFLAGS = @CFLAGS@"
10716         in all Makefile.am.
10718 1998-10-03  Alexander Larsson  <alla@lysator.liu.se>
10720         * app/handle_ops.c (handle_draw):
10721         connected HANDLE_MINOR_CONTROL also becomes red.
10723 1998-10-02  Alexander Larsson  <alla@lysator.liu.se>
10725         * Makefile.am:
10726         removed -ldl from linking. This is added if needed by configure.
10728         * app/app_procs.c:
10729         Open dlls with RTLD_LAZY if it is defined.
10730         Some cleanups: char *error -> const char *error
10731         Added fprintf()'s to where we exited because of errors.
10733         * lib/files.c:
10734         Include <sys/types.h>
10736 1998-10-01  Alexander Larsson  <alla@lysator.liu.se>
10738         * acconfig.h:
10739         * configure.in:
10740         * app/app_procs.c:
10741         Detect dlopen better.
10742         Detect wether dlopen needs an underscore in the identifier.
10743         This code was mostly borrowed from guile.
10745         * lib/sheet.[ch]:
10746         * app/app_procs.c:
10747         * objects/standard/standard.c:
10748         * objects/network/network.c:
10749         * objects/UML/uml.c:
10750         * most objects:
10751         Changed the way sheets reference objects to use just the
10752         name. Changed module loading to a two stage model:
10753         First register_objects() is called for all modules.
10754         Then register_sheets() is called. This means that
10755         sheets can safely include objects from other modules.
10756         
10758 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
10760         * objects/network/bus.c:
10761         * objects/network/network.c:
10762         * objects/network/Makefile.am:
10763         New file bus.c. Added new object: Ethernet bus.
10765         * objects/standard/box.c:
10766         Added call to gtk_spin_button_set_numeric for linewidth spinner
10767         in property dialog.
10769 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
10771         * app/connectionpoint_ops.c:
10772         * app/create_object.c:
10773         * app/group.c:
10774         * app/handle_ops.c:
10775         * app/modify_tool.c:
10776         * lib/connection.c:
10777         * lib/element.c:
10778         * lib/handle.h:
10779         * lib/object.c:
10780         * lib/orth_conn.c:
10781         * loads of objects:
10782         Changed handle->connectable to handle->connect_type.
10783         Now handles can be HANDLE_CONNECTABLE_NOBREAK, which means
10784         that their connections don't break when moving objects.
10786         * app/diagram.c:
10787         Always select the last handle in an object that has
10788         the closest distance.
10789         
10790         * lib/geometry.[ch]:
10791         Added rectangle_add_point function.
10792         
10794 1998-09-27  Alexander Larsson  <alla@lysator.liu.se>
10796         * app/properties.[ch]: New files. Handles the new properties
10797         dialog.
10799         * app/modify_tool.c: Changed to use new properties dialog.
10801         * app/object_ops.[ch]: Removed object_changed_callback, as it's
10802         not needed anymore. This is now handled differently in
10803         properties.c
10805         * lib/object.[ch]:
10806         Changed the properties ops for objects. Removed typedefs
10807         ChangedObjectTime and ObjectChangedFunc needed for the old way.
10808         Added object_return_null function.
10809         
10810         * app/group.c:
10811         * lib/render_object.c:
10812         * objects/*/*.c:
10813         Changed objects to use the new properties dialog.
10814         
10816 1998-09-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
10818         * */Makefile.am (INCLUDES): Changes to work with srcdir !=
10819         builddir.
10821         * autogen.sh: New file. Copied from gtk and added a call to
10822         libtoolize. Anyone knows why this isn't done in gtk?
10824         * Removed autogenerated files.
10826 1998-09-12  Alexander Larsson  <alla@lysator.liu.se>
10828         * Added call setlocale(LC_NUMERIC, "C") so that formating of
10829           floating-point numbers in postscript output will be correct.
10830         * Did some cleanup of generated postscript files.