re-adding .pngs as binary
[dia.git] / ChangeLog
blobd7bd2c08183e100deec78f127afff4de7ba8abdf
1 2002-05-17  Hans Breuer  <hans@breuer.org>
3         * lib/libdia.def : reflect removing of render_store.[ch]
5         * */makefile.mingw : remove VERSION definition it's
6         done in config.h.win32. Dia still doesn't work if
7         build with mingw ...
9         * RELEASE-PROCESS : removed */makefile.mingw
11         * app/sheets_dialog_callbacks.c : if we use those
12         ugly charconv_gtk_* functions lib/charconv.h needs to
13         be #included ...
14         * lib/charconv.h : ... and needs to contain the 
15         necesseray prototypes _and_ #defines
17         * plug-ins/shape/shape-export.c : with libxml2 xmlNewGlobalNs
18         is deprecated and does nothing but spit a warning. This broke
19         the shape format writing. Fixed.
20         Also with libxml2 pretty formatted xml isn't the default
21         anymore, but needs to be enabled explicit: It is done now 
22         for shape files, which almost always needed to be edited by
23         hand ... 
25         * app/app_procs.c : #if G_OS_WIN32 redirect xmlErrorReporting
26         from stderr - which is invalid on Dia/win32 - to g_print -
27         which opens up a console window if necessary. This way
28         a xml-deprecation-error shouldn't stay unnoticed next time
30 2002-05-17  Steffen Macke <sdteffen@web.de>
32         * shapes/Misc/folder.png:
33         * shapes/Misc/file.png: re-added as binary files
34         
35 2002-05-16  Lars Clausen  <lrclause@cs.uiuc.edu>
37         * lib/font.c: Fixed segfault for fonts without family_name.
39 2002-05-17  Cyrille Chepelov  <cyrille@chepelov.org>
41         * po/POTFILES.in: added app/sheets_dialog_callbacks.c
43         * app/sheets_dialog_callbacks.c: While reviewing UTF-8isation upon
44         Lars' request, minor cosmetic stuff (mostly _() of human-readable
45         XML comments in .sheet files; one translator booby-trap disarmed).
47         * lib/charconv.c: moved #hell inside the body of the new
48         charconv_*gtk* functions (otherwise the Win32 or gtk2.0 linker
49         will yell)
50         
51 2002-05-16  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
53         * plug-ins/wpg/Makefile.am (INCLUDES): 
54         * plug-ins/shape/Makefile.am (INCLUDES): 
55         * plug-ins/svg/Makefile.am (INCLUDES): 
56         * plug-ins/pstricks/Makefile.am (INCLUDES): 
57         * plug-ins/metapost/Makefile.am (INCLUDES): Added UNICODE_CFLAGS
58         and DEBUG_CFLAGS in some missing places.
60         * MAINTAINERS: New file containing list of known package
61         maintainers. 
63         * lib/charconv.h: 
64         * lib/charconv.c: Charconv versions of some common gtk calls.
66         * app/sheets_dialog_callbacks.c
67         (on_sheets_new_dialog_button_ok_clicked),
68         (on_sheets_dialog_button_edit_clicked),
69         (on_sheets_dialog_button_remove_clicked),
70         (on_sheets_edit_dialog_button_ok_clicked):
71         * app/sheets.c (sheets_optionmenu_create),
72         (sheets_optionmenu_create): Added utf8 translations.
74         * app/sheets_dialog.c: 
75         * app/sheets.c: 
76         * app/sheets_dialog_callbacks.c: Added some missing _()'s.
78 2002-05-16  Cyrille Chepelov  <cyrille@chepelov.org>
80         * po/POTFILES.in: added app/sheets_dialog.c
82 2002-05-15  Cyrille Chépélov  <cyrille@chepelov.org>
84         * lib/charconv.c: (charconv_local8_to_utf8),
85         (charconv_utf8_to_local8): tweaked the warnings to get more 
86         informations
87         * lib/font.c: (font_get_suckfont): handled a potential case of
88         uninitialised data being used (just paranoid)
89         
90         * objects/GRAFCET/boolequation.c: (opstring),
91         (opblock_get_boundingbox), (opblock_draw),
92         (boolequation_calc_boundingbox): some extra hoops needed now dia
93         talks UTF8 (but gtk doesn't). More #hell. Beeek. Basically, the
94         symbols can't yet be used with their proper Unicode cells, since
95         gtk will demand them in the Symbol font, expressed in the local
96         8-bit encoding.
97         
98         * samples/grafcet.dia: re-saved, now with a fixed bounding box (by
99         the fix just above).
101 2002-05-14  Lars Clausen  <lrclause@cs.uiuc.edu>
103         * app/diagram_tree.c (get_object_name): Check that name property
104         doesn't have null string.
106 2002-05-13  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
108         * autogen.sh (DIE): Added conditional --force to gettextize.
110         * app/pagesetup.c (pagesetup_ok): Commented out missing Gnome
111         function call.
113 2002-05-13  Cyrille Chepelov  <cyrille@chepelov.org>
115         * RELEASE-PROCESS: added James' notes on how to properly make the
116         tarball.
118         * configure.in: removed macro nesting related to libpng.h, which
119         was causing some problems on some systems (like mine, which made
120         the snapshots bad).
122         Made --enable-unicode, previously an option, the mandatory case.
124         * app/Makefile.am: updated EXTRA_DIST
125         
126         * NEWS:
127         * app/makefile.mingw:
128         * dia.spec:
129         * doc/en/dia-manual.sgml:
130         * plug-ins/makefile.mingw:
131         * configure.in: bumped up the version number to 0.90.RC1
133         * lib/render_objects.[ch]:
134         * po/POTFILES.in: removed render_objects from the build.
136         * plug-ins/Makefile.am:
137         * plug-ins/wmf/Makefile.am (new): EXTRA_DIST'ed the WMF plug-in,
138         so we keep its source in the tarball.
140         * objects/network/*.c, Makefile.am:
141         * objects/sybase/*.c, Makefile.am:
142         * po/POTFILES.in: cleaned up the non-existent files from the po
143         build process.
145         * plug-ins/Makefile.am: re-enabled metapost plug-in.
146         
147 2002-05-13  Steffen Macke <sdteffen@web.de>
149         * AUTHORS:
150         * app/command.c: added M. C. Nelson to the Authors
151         * sheets/Circuit/Makefile.am: added firewall shape to build
152         * sheets/network/Makefile.am: added telephone and microphone
153           shapes to build
155 2002-05-13  Lars Clausen  <lrclause@cs.uiuc.edu>
157         * RELEASE-PROCESS: Added list of files that contain the release
158         number or should otherwise be changed at each release.
160 2002-05-12  Lars Clausen  <lrclause@cs.uiuc.edu>
162         * objects/UML/uml.c (uml_operation_read): Forgot to commit this
163         (reported fixed) bug: POLYMORPHIC -> LEAF for default.
165 2002-05-12  Hans Breuer  <hans@breuer.org>
167         * config.h.win32 : changed VERSION to 0.90.RC1
169         * app/makefile.msc lib/makefile.msc : use renamed
170         gdk-pixbuf version (same content but renamed because
171         all the other gtk+ dlls are renamed) to avoid trouble
172         mixing gtk versions (of which one would not 
173         be initialized ...
175         * app/app_procs.c : removed recently unneeded
176         inclusion of "sheets.h"
178         * app/render_gdk.c : removed my own debug spew
179         which should never made it to cvs
181         * lib/render_object.[hc] : added
182         #error "File not used anymore."
184         * lib/libdia.def : updated externals
186         * app/interface.c : dropped filenames need to be
187         converted from uri with Gtk+2.0
189 2002-05-12  Cyrille Chepelov  <cyrille@chepelov.org>
191         * RELEASE-PROCESS (new): a draft document about how to release. To
192         be discussed. (already with some input from Hans Breuer)
194 2002-05-12  Steffen Macke <sdteffen@web.de>
196         * sheets/Makefile.am: re-added Misc sheet to make process
197         
198 2002-05-12  Lars Clausen  <lrclause@cs.uiuc.edu>
200         * objects/FS/function.c: Added comments to humungous list of menu
201         items, to aid translators.
203 2002-05-11  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
205         * app/interface.c (create_toolbox): Disallow shrinking beyond
206         requested size.  Fixes bug #59439, and confirms to GTK guidelines
207         (see gtk_window_set_policy).
208         (create_sheets): Removed now unnecessary set_usize call.
210 2002-05-10  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
212         * lib/beziershape.c (remove_handles): Fixing removal of last
213         segment.  Undo of removal still hokey.
215 2002-05-10  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
217         * lib/bezier_conn.c (remove_handles): Proper offset for fixing
218         handles. 
219         * lib/beziershape.c (beziershape_init): Removed early call to
220         beziershape_update_data where points aren't set yet.
221         (beziershape_add_segment): Use segment 0 instead of overflowing
222         points array with segment+1.
223         (beziershape_remove_segment): Proper offset for fixing
224         connectionpoints. 
225         (remove_handles): Proper offset.
227 2002-05-08  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
229         * objects/GRAFCET/action.c (action_update_data): Init x value of
230         click point for call to connpointlist_adjust_count.
232         * app/modify_tool.c (create_modify_tool): Init tool->auto_scrolled
234         * app/render_pixmap.c (new_pixmap_renderer): Moved first linestyle
235         setting to where values are inited.
237         * lib/polyshape.c (polyshape_init): Removed call to
238         polyshape_update_data that tried to use uninitialized data.
240 2002-05-06  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
242         * app/sheets_dialog.c: Mass removal of //-style comments.  The
243         Irix compiler doesn't like them:(  I do...
245 2002-05-06  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
247         * app/render_libart.c (draw_string): Bail out when no GDK font is
248         found.
249         (set_font): Give error when font not found.
250         (set_fillstyle): Intlized error msg.
252         * app/pagesetup.c (pagesetup_ok, pagesetup_apply): Sets diagram
253         modified when applied (and ok only does apply if apply is set
254         sensitive).  Fixes bug #75623.
256 2002-05-06  Pablo Saratxaga  <pablo@mandrakesoft.com>
258         * configure.in: Added Vietnamese (vi) to ALL_LINGUAS
260 2002-05-05  Steffen Macke <sdteffen@web.de>
262         * app/Makefile.am: added $(UNICODE_CFLAGS)
263         
264 2002-05-02  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
266         * app/commands.c (help_manual_callback): Check return value of
267         opendir.
269         * plug-ins/xfig/Makefile.am (INCLUDES): Added DEBUG_FLAGS
271         * plug-ins/xfig/xfig-import.c: Fixed misspelled Poly_L_ine, added
272         checks for errors.
274 2002-04-30  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
276         * app/render_gdk.c (draw_string): Extra free killed.  Thanks valgrind!
278         * objects/UML/uml.c (uml_operation_read): Fix of UML default
279         inheritance. 
281 2002-04-30  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
283         * app/filedlg.c (file_save_as_callback, file_save_as_ok_callback):
284         Added button to toggle diagram compression.
286 2002-04-29  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
288         * lib/font.c: Support for loading extra kerning files, plus got
289         rid of rounding errors.  Bounding box mostly perfect for freetype
290         fonts.
291         (font_string_width): Fudge factor to get around nonlinearity of
292         font scaling.
294 2002-04-29  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
296         * lib/font.c (font_string_width): YA font calculation scheme, with
297         comments.
299         * objects/UML/class.c (umlclass_calculate_data): Uses the same
300         font for drawing and calculating now.
302         * configure.in: Added utime.h check.
304         * app/render_gdk.c (draw_string): Uses gdk_draw_text_wc when in
305         GTK_DOESNT_TALK_UTF8_WE_DO.  Thus it matches the string width calc.
307 2002-04-26  Hans Breuer  <hans@breuer.org>
309         [ Instead of fixing about 70 occurances in 20 files
310           where GTK_TALKS_UTF8_WE_DONT needed to be handled
311           Dia on win32 from now on uses glib-2.0 and not 
312           only talks utf-8 with gtk-1.3 but also internally.
313           GTK_TALKS_UTF8_WE_DONT isn't supported/needed
314           anymore. ]
316         * config.h.win32 : #define UNICODE_WORK_IN_PROGRESS
317         #undef GTK_TALKS_UTF8_WE_DONT
319         * */makefile.msc : changes to use glib-2.0 (still
320         using gtk+1.3(win32-production)
322         * app/disp_callbacks.c : remove GTK_TALKS_UTF8_WE_DONT,
323         adapt kevent->string handling, add <string.h>
324         * app/render_gdk.c (get_text_width) : the length given
325         is in chars, gdk_text_width() needs bytes
327         * app/render_libart.c : 
328         * app/render_pixmap.c : remove GTK_TALKS_UTF8_WE_DONT
329         (could simplify the same way as done in render_gdk.c)
331         * app/diagram_tree.c app/paginate_gdiprint.cpp
332           app/sheets.c :
333         * lib/prop_basic.c lib/prop_geomtypes.c 
334           lib/propdialgs.c lib/propobject.c :
335         added <string.h> which is now removed from charconv.h
337         * lib/charconv.h : optional use infrastructure from
338         glib-2.0 -> only five direct function mapping left
340         * lib/charconv.c : avoid to build this with glib-2.0
342         * lib/font.c : no string conversion needed anymore      
343         when Dia and Gtk talk utf-8, also code adaptions
344         for GLIB_CHECK_VERSION(2,0,0)
346         * lib/libdia.def : removed charconv functions
348         * lib/prop_inttypes.c : removed GTK_TALKS_UTF8_WE_DONT,
349         replace charconv_unichar_to_utf8() with g_unichar_to_utf8()
351         * lib/prop_text.c lib/prop_widgets.c lib/font.c : 
352         removed GTK_TALKS_UTF8_WE_DONT
354         * lib/text.c : finally(?) fixed cursor <place|move>ment 
355         for Umlauts. Also fixed char insertion, still wondering
356         how this could ever work. Does realloc on Linux 
357         initialize the memory with zeros ?
359         * objects/chronogram/chronoline_event.c
360           objects/grafcet/boolequation.c :
361         there is no uni_get_utf8 when building for glib-2.0.
362         Replace with g_utf8_get_char() and g_utf8_next_char().
364         * objects/uml/stereotype.c (bracketted_to_string) : 
365         simplify while adding code for glib-2.0 build
367 2002-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
369         * app/diagram.h: Autosave field
370         * app/diagram.c (diagram_set_modified): Sets autosave field.
371         
372         * objects/UML/usecase.c (usecase_update_data): 
373         * objects/flowchart/ellipse.c (ellipse_update_data): 
374         * objects/flowchart/parallelogram.c (pgram_update_data): 
375         * objects/flowchart/diamond.c (diamond_update_data): 
376         * objects/custom/custom_object.c (custom_update_data): 
377         * objects/UML/state.c (state_update_data): 
378         * objects/UML/small_package.c (smallpackage_update_data): 
379         * objects/UML/object.c (objet_update_data): 
380         * objects/UML/note.c (note_update_data): 
381         * objects/UML/node.c (node_update_data): 
382         * objects/UML/component.c (component_update_data): 
383         * objects/UML/classicon.c (classicon_update_data): 
384         * objects/UML/actor.c (actor_update_data): 
385         * objects/SADT/box.c (sadtbox_update_data): 
386         * objects/FS/function.c (function_update_data): 
387         All now update text boundaries from update_data.
388         
389         * lib/widgets.c (dia_font_selector_set_styles): Made the style set
390         correctly. 
392 2002-04-26  Hans Breuer  <hans@breuer.org>
394         * config.h.win32 : added VERSION definition here
395         (and removed from makefile.msc's)
397         * app/makefile.msc : added new files
399         * app/app_procs.c (app_init): remove sheets_dialog_create()
400         from start-up and ... 
402         * app/sheet.c (sheets_dialog_show_callback) : ... lazy create
403         sheet_dialog here when it is really needed.
404         #include "../lib/message.h", make sheets_dialog_create() 
405         return it's success or failing on (!custom_type_symbol). 
406         Although editing shapes is nice IMHO it isn't crucial enough 
407         to abort() Dia if       it isn't possible.
409         * app/sheet.h : adapt create_sheet_dialog() prototype
411         * app/sheets_dialog.c : add #ifdef HAVE_UNISTD_H
413         * app/sheets_dialog_callbacks.c : #ifdef HAVE_UNISTD_H and
414         #ifdef HAVE_UTIME_H. Otherwise #include <sys/utime.h> and
415         name space corrections for utime() and utim_buf #ifdef
416         G_OS_WIN32
418         * lib/libdia.def : export new sheet functions
420         * lib/makefile.msc : added new files
422         * lib/render.c : don't put draw_bezier_with_arrows() in
423         the DrawLineWithArrowsFunc slot
425         * objects/custom/custom_object.c : #include <gmodule.h>
426         and export 'custom_type' via G_MODULE_EXPORT
428         * objects/uml/class_dialog.c : removed 'incompatible 
429         types' warnings. Some refactoring while making it fit
430         on screen with 800x600 again.
432         * plug-ins/python/pydia-cpoint.h : add PyDiaConnectionPoint_Check
434         * plug-ins/python/pydia-handle.h : extra parameter to
435         PyDiaHandle_New to store the owner of the handle
436         * plug-ins/python/pydia-handle.c : store handle owner
437         on construction and use it in new method .connect()
438         * plug-ins/python/pydia-object.c plug-ins/python/pydia-diagram.c : 
439         adapt to changed prototype
441 2002-04-24  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
443         * lib/text.c (text_calc_boundingbox): Will now return early if box
444         passed is NULL.
446         * objects/flowchart/box.c (box_update_data): Now updates text
447         width info from update_data.
449 2002-04-23  Steffen Macke <sdteffen@web.de>
451         * plug-ins/xfig/xfig-import.c: fixed text import
452         
453 2002-04-22  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
455         * app/export_png.c: Moved dialog functions to their own file.
456         * app/dialogs.[ch]: New files with standard functions for creating
457         small, transient dialogs (e.g. export options).
458         * app/Makefile.am: Added dialogs.[ch]
460 2002-04-19  Steffen Macke <sdteffen@web.de>
462         * shapes/Misc/folder.*:
463         * shapes/Misc/file.*:
464         * shapes/Misc/Makefile.am:
465         * shapes/Makefile.am:
466         * sheets/Misc.sheet.in:
467         * sheets/Makefile.am:
468         * configure.in: added new Misc sheet containing filesystem shapes
469         
470 2002-04-18  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
472         * app/lineprops_area.c: Arrow selector in toolbox changed to use
473         standard arrowdraw code.  Line is thinner to make some arrowheads
474         distinguishable. 
476 2002-04-18  Steffen Macke <sdteffen@web.de>
478         * sheets/network.sheet.in:
479         * shapes/network/telephone.shape:
480         * shapes/network/Makefile.am: added telephone shape
481         
482 2002-04-16  Steffen Macke <sdteffen@web.de>
484         * sheets/EML.sheet.in: commented out unavailable shapes
485         
486 2002-04-15  M.C. Nelson <mcn@kobayashimaru.org>
488         * app/sheets_dialog_callbacks.c:  Fixed segfault caused by mis-ordered
489           variable assignment.
490         
491 2002-04-15  Steffen Macke <sdteffen@web.de>
493         * plug-ins/dxf/dxf-import.c: text import works again
494         * shapes/Pneumatic/Makefile.am: added compush shape
495         * sheets/Pneumatic.sheet.in: commented out unavailable shapes dist33
496         and dist53
497         
498 2002-04-11  M.C. Nelson <mcn@kobayashimaru.org>
500         * All these modifications are for the 'Sheets and Objects' dialog
501           (new feature):
503         * app/pixmaps/line_break.xpm: new icon representing a line break.
504         
505         * app/pixmaps/n_a.xpm: new empty icon representing not available.
507         * app/Makefile.am: added sheets_*.[ch] files to compile list.
508         
509         * app/menus.c: added GNOME and gtk menu items for 'Sheets and Objects'
510         
511         * app/sheets_dialog.c: [new file] definition of 'Sheets & Objects' dlgs
513         * app/sheets_dialog.h: [new file] support for Sheets & Objects dlgs 
514         
515         * app/app_procs.c: added call to sheets_dialog_create() in app_init()
516         
517         * app/sheets_dialog_callbacks.c: [new file] callbacks for S & O dialogs
519         * app/sheets_dialog_callbacks.h: [new file] support for " " "
521         * app/interface.c: added 'interface_current_sheet_name' global to 
522           fill_sheet_wbox(); made fill_sheet_menu() non-static
524         * app/interface.h: added extern declaration for aboves.
526         * app/sheets.c: [new file] instantiation and other funcs for S & O dlgs
528         * app/sheets.h: [new file] declarations for backing store structures
530         * lib/sheet.c: modification of new_sheet() parameters; introduction
531           of USER and SYSTEM scope for sheets; procedure for sorting sheets;
532           changes to load_register_sheet().
534         * lib/sheet.h: added 'user_data_type' field to SheetObject structure;
535           added 'has_icon_on_sheet' flag to SheetObject structure; added 
536           'filename', 'scope', 'shadowing' fields to Sheet structure.
538         * lib/plug-ins.c: moved _PluginInfo declaration to header file where
539           it belongs.
541         * lib/plug-isn.h: see above.
543         * lib/object.c: added 'sheet.h' to include list; added several 
544           functions
545           to detect objects which are not found on any sheet (for future use)
546           object_type_detect_nosheet_callback(), object_types_detect_nosheet(),
547           object_type_get_sheet_name(), object_type_strip_sheet_from_name().
549         * lib/object.h: added public declarations for above functions where
550           necessary.
552         * objects/custom/custom.c: made custom_object_load() non-static so we
553           can load and interpret .shape files from the Sheets & Objects dialog
555         * objects/custom/custom_object.c: made 'custom_type' non-static so 
556           we can differentiate between SVG shapes and other types.a
558 2002-04-07  Hans Breuer  <hans@breuer.org>
560         * app/object_ops.c (object_list_align_v): Fix the 'Leak fix'
561         from 2002-01-22 to not destroy diagram->data->selected. 
562         Avoids to crash on Objects/Align/Vertical/Top
564         * app/render_eps.c (draw_string) : un-const buffer
565         It isn't at all const (g_malloc(), assignment, g_free()).
566         Doesn't gcc catch such ?
568         * lib/arrows.h : prototype calculate_arrow_point()
570         * lib/font.c (font_get_suckfont) : no need to
571         special case gdk_draw_string() with GTK_TALKS_UTF8,
572         cause all the parameter differences are handled above
574         * lib/libdia.def : updated externals
576         * lib/makefile.msc : removed string_prerenderer, added render
578         * lib/render.c (draw_rect) : don't pass a Point** if a Point*
579         is expected. [Sometimes it's good to read compiler warnings.]
581         * objects/standard/image.c : simplified by use of g_strconcat()
583         * plug-ins/python/makefile.msc : updated for Python 2.2
585 2002-04-03  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
587         * objects/standard/zigzagline.c (zigzagline_draw): Fixed
588         directionality problem for zero-length line segments.
590 2002-03-28  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
592         * app/diagram.c (diagram_ungroup_selected) 
593         (diagram_update_menu_sensitivity): Now allows ungrouping of
594         several groups at once.
596 2002-03-15  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
598         * lib/render.c, all renderers: Binary incompatibility, change to
599         expandable renderops structure.
601 2002-03-15  Steffen Macke <sdteffen@yahoo.com>
603         * objects/standard/Makefile.am:
604         * objects/network/Makefile.am:
605         * objects/UML/Makefile.am:
606         * objects/ER/Makefile.am:
607         * objects/FS/Makefile.am:
608         * objects/flowchart/Makefile.am:
609         * objects/custom/Makefile.am:
610         * objects/GRAFCET/Makefile.am:
611         * objects/chronogram/Makefile.am:
612         * objects/SADT/Makefile.am:
613         * plug-ins/cgm/Makefile.am:
614         * plug-ins/pstricks/Makefile.am:
615         * plug-ins/hpgl/Makefile.am:
616         * plug-ins/wpg/Makefile.am:
617         * plug-ins/svg/Makefile.am:
618         * plug-ins/shape/Makefile.am: added $(UNICODE_CFLAGS)
619         
620 2002-03-13  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
622         * app/render_eps.c: Support for dumping TrueType fonts (taken from
623         ttfps).
625 2002-03-12  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
627         * lib/render.c: New abstract super class for renderers.
629 2002-03-07  Akira TAGOH  <tagoh@redhat.com>
631         * objects/ER/attribute.c (attribute_save): save a font property.
632         (attribute_load): load a font property, and if can't load it, it's
633         initialized.
635         * objects/ER/entity.c (entity_save): save a font property.
636         (entity_load): load a font property, and if can't load it, it's
637         initialized.
639         * objects/ER/relationship.c (relationship_save): save a font property.
640         (relationship_load): load a font property, and if can't load it, it's
641         initialized.
643         * objects/UML/class.c (fill_in_fontdata): don't replace if it already
644         has a vaule.
645         (umlclass_save): save the font and the font size properties.
646         (umlclass_load): load the font and the font size properties.
648 2002-03-05  Cyrille Chepelov  <cyrille@chepelov.org>
650         * lib/string_prerenderer.[ch] (REMOVED):
651         * lib/render.h:
652         * lib/diagramdata.c:
653         * lib/Makefile.am:
654         * app/render_eps.c: got rid of the string-specific string
655         prerenderer, transitioned its functionality towards Lars'
656         two-phase rendering
658 2002-03-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
660         * configure.in: Using Freetypes own check for ver >= 1.0.5.  You
661         may need to rerun aclocal.
663 2002-03-04  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
665         * lib/font.c: First attempt at Unicodeness for Freetype.
667 2002-03-02  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
669         * lib/font.c (font_string_width): Fixed font_string_width for
670         freetype.  BB is now almost right.
672 2002-03-01  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
674         * app/render_eps.h: 
675         * app/paginate_psprint.c (paginate_psprint): 
676         * lib/font.c: 
677         * app/render_eps.c: Support for dumping postscript fonts into
678         postscript files with freetype.  Fairly primitive, but works.
679         Unicode version may have problems.
681 2002-02-28  Akira TAGOH  <tagoh@redhat.com>
683         * objects/UML/class_dialog.c (class_read_from_dialog)
684         (class_fill_in_dialog), (class_create_page): add the font selector and
685         the font size selector.
687         * objects/UML/class.c (umlclass_draw): uses each font_height.
688         (umlclass_calculate_data): ditto.
689         (fill_in_fontdata): add initial value of new font_height.
690         (umlclass_copy): add new font_height.
692 2002-02-27  Cyrille Chepelov  <chepelov@calixo.net>
694         Patch from Geoff Gerrietts <ggerrietts@yahoo.com>:
695         
696         * lib/font.c: calculate font metrics properly and stop guessing at
697         string widths.
699 2002-02-28  Akira TAGOH  <tagoh@redhat.com>
701         * configure.in: changed gtk_advancement value to dia_talks_utf8.
702         right now Dia is working with UTF-8 internally. it means Dia probably
703         support most languages also including the languages which heretofore
704         didn't work correctly.
706 2002-02-26  Akira TAGOH  <tagoh@redhat.com>
708         * objects/FS/function.c: add related text properties.
709         (function_get_props), (function_set_props): add handling attribute.
711         * objects/FS/flow.c: add related text properties.
712         (flow_get_props), (flow_set_props): add handling attribute.
714         * objects/FS/flow-ortho.c: add related text properties.
715         (orthflow_set_props), (orthflow_get_props): add handling attribute.
717         * objects/ER/relationship.c: add PROP_STD_TEXT_FONT to property.
719         * objects/ER/entity.c: ditto.
721         * objects/ER/attribute.c: ditto.
723 2002-02-26  Cyrille Chepelov  <cyrille@chepelov.org>
725         Patch contributed by Geoff Gerrietts <ggerrietts@yahoo.com>:
726         
727         * autogen.sh: add a check for missing intltoolize.
729 2002-02-20  Akira TAGOH  <tagoh@redhat.com>
731         * lib/ps-utf8.c (unicode_to_ps_name): if this function calls with same
732         charcode, it was registered the duplicate item to HashTable. fix.
734         * app/render_gnomeprint.c (get_width_string): add new function.
735         (draw_string): fix non-multibyte specific code.
737 2002-02-19  Cyrille Chepelov  <cyrille@chepelov.org>
739         Patch contributed by Matthieu Sozeau <mattam@netcourrier.com>:
740         
741         * lib/font.c: do not try to search paths that do not begin with
742         '/', like X Font Server addresses.
743         
744         * objects/UML/message.c (message_draw): free mname when not 
745         message->text but CREATE or DESTROY.
746         
747         * objects/UML/uml.h:
748         * objects/UML/uml.c:
749         * objects/UML/class_dialog.c: added code to handle a stereotype 
750         attribute for operations.
752 2002-02-19  Akira TAGOH  <tagoh@redhat.com>
754         * lib/Makefile.am: add LIBART_CFLAGS.
756 2002-02-15  Hans Breuer  <hans@breuer.org>
758         * lib/font.c (font_get_suck_font): the black and white pixel values 
759         need to be taken from a 1 bit colormap rather than the default colormap.
760         (fixed again, last time was 2000-05-26)
762         Also handle the case where GTK_TALKS_UTF8 and expects all strings
763         passed in to be in this encoding.
765         * lib/libdia.def : export suck_font_free()
767         * lib/text.c (text_draw) : avoid circular dependency to ../app
768         at least for the !USE_XIM case, where it is unnecessary.
770 2002-02-15  Cyrille Chepelov  <cyrille@chepelov.org>
772         Changes contributed by Matts Kivik <kivik@firstlinux.net>:
773         
774         * shapes/Circuit/microphone_de.(shape|xpm) (NEW):
775         * sheets/Circuit.sheet.in: added new shape microphone
776         * shapes/Circuit/speaker_de.shape: Added a connection point.
777         
778 2002-02-13  Akira TAGOH  <tagoh@redhat.com>
780         * app/render_libart.c (draw_string): fixed build issue for Win32.
782         * lib/font.c (font_get_suckfont): fixed typo. it could't build under
783         Win32.
785         * configure.in: fixed testing gtk_advancement.
787         * app/render_gnomeprint.c (draw_string): uses utfchar instead of char.
789 2002-02-12  Akira TAGOH  <tagoh@redhat.com>
791         * lib/text.c (text_draw): fixed XIM position, when menubar is shown for
792         diagram window.
794 2002-02-11  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
796         * app/group.c (group_copy): Made new object properly initialized
797         before copy.
799 2002-02-11  Steffen Macke <sdteffen@yahoo.com>
801         * app/Makefile.am: added plug-ins to DIA_LIB_PATH in run_dia.sh
802         
803 2002-02-10  Akira TAGOH  <tagoh@redhat.com>
805         * lib/text.c (text_draw): fixed XIM transaction.
807         * app/interface.c (create_display_shell): add signal for
808         size_allocate.
810         * app/disp_callbacks.c (ddisplay_size_allocate): add new function for
811         XIM transaction.
812         (set_input_dialog): remove.
813         (ddisplay_canvas_events): remove XIM transaction. it can't transact
814         correctly on this function.
816 2002-02-10  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
818         * app/app_procs.c:
819         * app/export_png.c: Added checks for interactivity (maybe this
820         should be a hook after all?).
822         * app/filedlg.c (file_export_callback): Made export dialog add
823         suffix when reopened.
825         * app/export_png.c: Added dialog asking for export size.
827 2002-02-09  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
829         * lib/widgets.c: Fixed font reselection problem and first font
830         bogus warning.
832         * objects/UML/actor.c (actor_update_data): Changed to have
833         connection points below text.
835 2002-02-08  Akira TAGOH  <tagoh@redhat.com>
837         * lib/text.c (text_split_line): use g_strndup() instead of g_malloc()
838         and memcpy().
840 2002-02-07  Akira TAGOH  <tagoh@redhat.com>
842         * lib/font.c (font_get_suckfont): rewrited. generating suckfont from
843         strings which is given.
844         (suck_font): remove. it's any longer needed.
846         * app/render_libart.c (set_font): don't get suckfont.
847         (draw_string): get suckfont only which is needed for now.
849 2002-02-05  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
851         * lib/text.c: Fixes for misunderstood width functions.
853 2002-02-05  Hans Breuer  <hans@breuer.org>
855         * lib/dia_xml.c : use g_strconcat() instead of 
856         malloc, strcpy, strcat dance
857         * app/properties.c : same here and plug memory leak
858         (gtk functions don't eat strings)
860         * objects/UML/message.c : there is no g_sprintf()
861         use g_strdup_printf() instead ...
863 2002-02-05  Akira TAGOH  <tagoh@redhat.com>
865         * lib/message.c (gtk_message_internal): doesn't need to convert to
866         UTF-8.
868         * app/render_libart.c (draw_string): fixed transaction for UTF-8
869         support.
870         (get_text_width): ditto.
872         * app/Makefile.am (EXTRA_DIST):
873         s/paginate_gdiprint.c/paginate_gdiprint.cpp/
875         * app/render_gdk.c (gdk_freetype_copy_glyph): fixed build issue.
876         This function needs ifdef HAVE_FREETYPE because don't use it for
877         --disable-freetype
879 2002-02-04  Cyrille Chepelov  <cyrille@chepelov.org>
881         * NEWS: updated with the new dependencies.
882         
883         Patch from Matthieu Sozeau <mattam@netcourrier.com>:
885         * objects/UML/class.h:
886         * objects/UML/class.c:  
887         * objects/UML/class_dialog.c: added code to handle the UMLParameterKind
888         property using a GtkMenu. Options are Undefined, In, Out, In & Out
890 2002-02-04  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
892         * app/render_libart.c: Slow but working libart freetype renderer,
893         with color!
895 2002-02-03  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
897         * app/render_gdk.c (draw_string): Fixed gc_function bug.
899         * lib/widgets.c (dia_font_selector_init): Sorts the font list.
901         * lib/font.c (freetype_render_string): 
902         * lib/font.h:
903         * app/render_gdk.c:
904         * app/render_gdk.h: Changed freetype_render_string to use
905         callback.  Rendering is broken.
907 2002-02-03  Cyrille Chepelov  <cyrille@chepelov.org>
909         Patch from Matthieu Sozeau <mattam@netcourrier.com>:
911         * objects/UML/uml.h:    
912         * objects/UML/uml.c: added UMLInheritanceType and isQuery
913         (constant) UML Operation attributes. UMLInheritanceType is either
914         UML_ABSTRACT or UML_POLYMORPHIC  or UML_LEAF.
916         * objects/UML/class.h:
917         * objects/UML/class.c:  
918         * objetcs/UML/class_dialog.c: added code to handle new
919         UMLOperation attributes via a GtkMenu and a checkbox.
921 2002-02-03  Akira TAGOH  <tagoh@redhat.com>
923         * app/disp_callbacks.c (ddisplay_realize): fixed XIM issue.
924         several client doesn't work with previous codes.
926 2002-02-01  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
928         * lib/font.c (freetype_render_string): Kerning.  Very few fonts
929         seem to use it.
931 2002-02-02  Akira TAGOH  <tagoh@redhat.com>
933         * app/disp_callbacks.c (ddisplay_canvas_events): fixed crashes,
934         when doing the operation like invert the objects after active view is
935         destroyed. when changes focus, it needs to set active_display.
937         * app/layer_dialog.c (dia_layer_update_from_layer):
938         (layer_dialog_edit_layer): need to convert to locale encoding
939         if GTK_DOESNT_TALK_UTF8_WE_DO is defined.
940         (edit_layer_ok_callback):
941         need to convert to UTF8 if GTK_DOESNT_TALK_UTF8_WE_DO is defined.
943         * lib/diagramdata.c (new_diagram_data): ditto.
945         * app/layer_dialog.c (layer_dialog_new_callback): ditto.
947         * lib/diagramdata.c (new_layer): use utfchar instead of char for
948         argument.
950         * lib/widgets.c: if HAVE_FREETYPE isn't defined, it can't build. fixed.
951         (dia_font_selector_set_styles): when HAVE_FREETYPE is defined only,
952         it's needed for now. also this function needs prototype declaration.
954 2002-01-31  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
956         * lib/widgets.c: Style now functional on font selector.  Some leak
957         possible, but doesn't show up under stress test.
959 2002-01-31  Akira TAGOH  <tagoh@redhat.com>
961         * app/plugin-manager.c (clist_select_row): name and description needs to
962         convert to locale encoding, when GTK_DOESNT_TALK_UTF8_WE_DO is defined.
963         (get_plugin_manager): ditto.
965         * lib/plug-ins.c (dia_plugin_info_init): name needs to convert to UTF-8.
967         * app/diagram_tree.c (get_object_name): fixed transaction for UTF-8
968         support.
970         * lib/prop_text.c (stringprop_reset_widget): fixed crashes,
971         when prop->string_data is NULL.
973 2002-01-30  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
975         * lib/widgets.c: 
976         * lib/widgets.h: New font selector separating font and style.
977         Style not functional yet.
979 2002-01-30  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
981         * lib/text.c: 
982         * app/render_gdk.c (draw_string): More freetype support, now
983         renders text.  Still broken is font selection and exporting.
985 2002-01-30  Akira TAGOH  <tagoh@redhat.com>
987         * objects/chronogram/chronoref.c (chronoref_create): missing gettextize
988         for font.
990         * objects/chronogram/chronoline.c (chronoline_create): ditto.
992         * objects/UML/usecase.c (usecase_create): ditto.
994         * objects/UML/state.c (state_create): ditto.
996         * objects/UML/object.c (objet_create): ditto.
998         * objects/UML/node.c (node_create): ditto.
1000         * objects/UML/message.c (message_create): ditto.
1002         * objects/UML/component.c (component_create): ditto.
1004         * objects/UML/classicon.c (classicon_create): ditto.
1006         * objects/UML/actor.c (actor_create): ditto.
1008         * objects/SADT/box.c (sadtbox_create): ditto.
1010         * objects/SADT/annotation.c (annotation_create): ditto.
1012         * objects/GRAFCET/transition.c (TRANSITION_FONT): ditto.
1014         * objects/GRAFCET/step.c (STEP_FONT):
1015         * (step_create): ditto.
1017         * objects/GRAFCET/condition.c (CONDITION_FONT): ditto.
1019         * objects/GRAFCET/action.c (ACTION_FONT):
1020         (action_create): ditto.
1022         * objects/FS/function.c (function_create): ditto.
1024         * objects/FS/flow.c (flow_create):
1025         (flow_load): 
1026         (flow_apply_defaults): ditto.
1028         * objects/FS/flow-poly.c (flow_create):
1029         (flow_load):
1030         (flow_apply_defaults): ditto.
1032         * objects/FS/flow-ortho.c (orthflow_create):
1033         (orthflow_load):
1034         (orthflow_apply_defaults): ditto.
1036         * objects/ER/relationship.c: use utfchar instead of char for structure.
1037         (relationship_create): name needs to convert to UTF-8.
1039         * objects/ER/attribute.c: use utfchar instead of char for structure.
1040         (attribute_create): name needs to convert to UTF-8.
1042         * objects/ER/entity.c: use utfchar instead of char for structure.
1043         (entity_create): name needs to convert to UTF-8.
1045         * app/interface.c (fill_sheet_wbox): needs to convert UTF-8 to locale
1046         encoding for tooltips, if GTK_TALKS_UTF8 isn't defined.
1047         (fill_sheet_menu): needs to convert UTF-8 to locale encoding for menu
1048         items. if GTK_TALKS_UTF8 isn't defined.
1050 2002-01-29  Akira TAGOH  <tagoh@redhat.com>
1052         * objects/UML/class.c (umlclass_calculate_data): fixed malloc size.
1053         it was my careless mistake...
1055         * lib/attributes.c (attributes_set_default_font): temporarily gettextize
1056         a font name, because there are strings which isn't shown by "Courier".
1057         We need to consider a way to feel free to choose a font at runtime.
1059         * lib/render_object.c (render_object_load): ditto.
1061         * lib/text.c (data_text): ditto.
1063         * objects/EML/instantiation.c (instantiation_create): ditto.
1065         * objects/EML/interaction-ortho.c (interaction_ortho_create):
1066         (interaction_ortho_load): ditto.
1068         * objects/EML/interaction.c (interaction_create):
1069         (interaction_load): ditto.
1071         * objects/EML/process.c (fill_in_fontdata): ditto.
1073         * objects/ER/attribute.c (attribute_create): 
1074         (attribute_load): ditto.
1076         * objects/ER/entity.c (entity_create): 
1077         (entity_load): ditto.
1079         * objects/ER/relationship.c (relationship_create): 
1080         (relationship_load): ditto.
1082         * objects/UML/association.c (association_create): 
1083         (association_load): ditto.
1085         * objects/UML/class.c (fill_in_fontdata): ditto.
1087         * objects/UML/constraint.c (constraint_create): ditto.
1089         * objects/UML/dependency.c (dependency_create): ditto.
1091         * objects/UML/generalization.c (generalization_create): ditto.
1093         * objects/UML/implements.c (implements_create): ditto.
1095         * objects/UML/large_package.c (largepackage_create): ditto.
1097         * objects/UML/note.c (note_create): ditto.
1099         * objects/UML/realizes.c (realizes_create): ditto.
1101         * objects/UML/small_package.c (smallpackage_create): ditto.
1103         * objects/custom/shape_info.h (FONT_DEFAULT): ditto.
1105         * objects/custom/custom_object.c (custom_create): ditto.
1107         * objects/network/antenna.c (render_to_store): ditto.
1109         * objects/network/computer.c (render_to_store): ditto.
1111         * objects/network/disc.c (render_to_store): ditto.
1113         * objects/network/flash.c (render_to_store): ditto.
1115         * objects/network/hub.c (render_to_store): ditto.
1117         * objects/network/modem.c (render_to_store): ditto.
1119         * objects/network/modularswitch.c (render_to_store): ditto.
1121         * objects/network/monitor.c (render_to_store): ditto.
1123         * objects/network/printer.c (render_to_store): ditto.
1125         * objects/network/rj45plug.c (render_to_store): ditto.
1127         * objects/network/scead-plug.c (render_to_store): ditto.
1129         * objects/standard/textobj.c (textobj_load): ditto.
1131         * objects/sybase/client.c (render_to_store): ditto.
1133         * objects/sybase/dataserver.c (render_to_store): ditto.
1135         * objects/sybase/ltm.c (render_to_store): ditto.
1137         * objects/sybase/repserver.c (render_to_store): ditto.
1139         * objects/sybase/rsm.c (render_to_store): ditto.
1141         * objects/sybase/stableq.c (render_to_store): ditto.
1143         * plug-ins/dxf/dxf-import.c (read_entity_text_dxf): ditto.
1145         * objects/UML/uml.h (UML_STEREOTYPE_START):
1146         (UML_STEREOTYPE_END): changes default strings.
1148 2002-01-28  Akira TAGOH  <tagoh@redhat.com>
1150         * objects/UML/stereotype.c (string_to_bracketted): fixed transaction
1151         for UTF-8 support. if GTK+ and Dia don't handle UTF-8, all of characters
1152         which is given to arguments isn't UTF-8. so don't need to convert it.
1153         if GTK+ handle UTF-8, also don't need to convert it.
1154         (strend): remove.
1155         (bracketted_to_string): fixed transaction for UTF-8 support.
1156         also start/end bracket is not necessarily 1 character. so that when use
1157         strend(), it doesn't work correctly.
1158         (string_to_stereotype): use utfchar instead of char.
1159         (remove_stereotype_from_string): ditto.
1160         (stereotype_to_string): ditto.
1162         * objects/UML/stereotype.h: ditto.
1164         * objects/UML/message.c: use utfchar instead of char for structure.
1165         (MESSAGE_CREATE_LABEL, MESSAGE_DESTROY_LABEL): remove.
1167         * objects/UML/small_package.c: use utfchar instead of char for structure.
1169         * objects/UML/realizes.c: ditto.
1171         * objects/UML/object.c: ditto.
1173         * objects/UML/large_package.c: ditto.
1175         * objects/UML/implements.c: ditto.
1177         * objects/UML/generalization.c: ditto.
1179         * objects/UML/dependency.c: ditto.
1181         * objects/UML/constraint.c: ditto.
1183         * objects/UML/component.c: ditto.
1185         * objects/UML/class_dialog.c (attributes_get_current_values):
1186         (attributes_list_new_callback, attributes_fill_in_dialog):
1187         (parameters_set_values, parameters_get_values):
1188         (parameters_get_current_values, parameters_list_new_callback):
1189         (operations_set_values, operations_get_values):
1190         (operations_get_current_values, operations_list_new_callback):
1191         (operations_fill_in_dialog, templates_set_values):
1192         (templates_get_values, templates_get_current_values):
1193         (templates_list_new_callback, templates_fill_in_dialog):
1194         fixed transaction for UTF-8 support.
1196 2002-01-27  Akira TAGOH  <tagoh@redhat.com>
1198         * objects/UML/message.c (message_draw): fixed transaction for UTF-8 support.
1200         * objects/UML/class_dialog.c (class_read_from_dialog):
1201         (class_fill_in_dialog):
1202         (attributes_get_values): ditto.
1204         * objects/UML/actor.c (actor_create): ditto.
1206         * objects/UML/class.c (umlclass_calculate_data): ditto.
1208         * objects/UML/association.c (association_apply_properties):
1209         (fill_in_dialog): ditto.
1211         * objects/UML/uml.c (uml_get_attribute_string):
1212         (uml_get_operation_string):
1213         (uml_get_parameter_string):
1214         (uml_get_formalparameter_string): use utfchar instead of char.
1216         * objects/UML/uml.h: gettextize UML_STEREOTYPE_START and
1217         UML_STEREOTYPE_END.
1219         * objects/UML/class.h: use utfchar instead of char.
1221         * lib/dia_xml.c (data_add_string): ditto.
1223         * lib/text.c (text_insert_char): fixed characters# calculation
1224         when includes multibytes character in strings.
1226 2002-01-26  Steffen Macke  <sdteffen@yahoo.com>
1228         Patch from Richard Rowell <rwrowell@bellsouth.net>:
1230         * app/lineprops_area.c:
1231         * lib/arrows.h:
1232         * lib/arrows.c: 
1233         * lib/widgets.c: added crow foot arrow and cross arrow
1234         
1235         Patch from Frank Gevaerts <frank.gevaerts@fks.be>:
1236         
1237         * plug-ins/svg/render_svg.c: fixed arcs, fill and text alignment
1239 2002-01-26  Cyrille Chepelov  <cyrille@chepelov.org>
1241         * po/update.pl (REMOVED):
1242         * po/update.sh (REMOVED):
1243         * xml-i18n-merge.in.kg (REMOVED):
1244         * xml-i18n-update.in.kg (REMOVED):
1245         * sheets/Makefile.am:
1246         * Makefile.am:
1247         * autogen.sh:
1248         * configure.in: converted from xml-i18n-tools to intltools
1250         This looks like it fixes the build bugs of the snapshot tarballs, 
1251         and it supersedes #69611.       
1253 2002-01-25  Akira TAGOH  <tagoh@redhat.com>
1255         * lib/text.c (text_insert_char): fixed characters# calculation.
1256         it's not string length.
1258         * lib/plug-ins.c (dia_plugin_info_init): when GTK_DOESNT_TALK_UTF8_WE_DO
1259         is defined, needs to convert a description to UTF-8.
1261         * app/render_gdk.c (get_text_width): fixed transaction for
1262         UTF-8 support. also should uses gdk_text_width_wc() instead
1263         of gdk_text_width().
1265         * app/render_gdk.c (draw_string): when GTK_DOESNT_TALK_UTF8_WE_DO
1266         is defined, needs to convert to locale encoding for display.
1267         Also use utfchar instead of char for argument.
1269 2002-01-24  Hans Breuer  <hans@breuer.org>
1271         * app/commands.c(edit_paste_callback and more) : 
1272         call diagram_modified(ddisp->diagram) to fix #68083
1273         (help_menu_callback) : plug a DIR leak
1275         * app/disp_callbacks.c(ddisplay_canvas_events) : handle 
1276         GTK_TALKS_UTF8_WE_DONT
1278         * app/render_gdk.c(get_text_with) : it's a bad idea to use
1279         gdk_string_with() when GTK_TALKS_UTF8_WE_DONT instead of
1280         gdk_text_width(). The length value is still questionable ...
1282         * lib/charconv.c : use functions already available in early
1283         GLIB-1.3 days whiches API hasn't changed since, to avoid
1284         version problems with the win32 build
1286         * lib/font.c : finally fix #58045 and #68208
1288         * lib/dia_xml.c (xmlDiaSaveFile) : gzdopen in binary mode
1290 2002-01-24  Akira TAGOH  <tagoh@redhat.com>
1292         * app/disp_callbacks.c (ddisplay_canvas_events): when event returned
1293         no strings, fixed transaction.
1295         * lib/charconv.h: fixed typo.
1297         * app/menus.c: fixed typo.
1299         * lib/charconv.c (charconv_utf8_strchr): remove. use uni_strchr instead.
1301         * objects/UML/object.c: attrib's type uses utfchar instead of char.
1303         * app/disp_callbacks.c (ddisplay_canvas_events): forget g_free()
1305         * lib/text.c (text_create_change): use unichar instead of char.
1307         * lib/text.c (data_add_text, data_text, apply_textstr_properties):
1308         use utfchar instead of char.
1310         * lib/text.c (text_insert_char, text_key_event): fixed transaction for
1311         UTF-8 support.
1313         * lib/charconv.c (charconv_utf8_get_char): add new function.
1315 2002-01-23  Akira TAGOH  <tagoh@redhat.com>
1317         * lib/text.c (text_delete_forward, text_delete_backward,
1318         text_split_line): fixed transaction for UTF-8 support.
1320         * lib/text.c (text_copy): when UNICODE_WORK_IN_PROGRESS is defined,
1321         strlen[] has string length for UTF-8, so has to use alloclen[].
1323         * dia.pot: remove.
1325         * .cvsignore: add dia.pot.
1327 2002-01-24  Stanislav Visnovsky  <visnovsky@nenya.ms.mff.cuni.cz>
1329         * configure.in: Added "sk" to ALL_LINGUAS.
1331 2002-01-22  Akira TAGOH  <tagoh@redhat.com>
1333         * lib/text.c (text_set_string, new_text, text_copy,
1334         text_get_string_copy, text_join_lines): use utfchar instead of gchar
1335         for strings.
1337         * lib/text.c (set_string): use charconv_utf8_strchr() instead of
1338         strchr().
1340         * lib/charconv.c (charconv_utf8_strchr): add new function.
1342         * lib/charconv.c (charconv_keyval_to_unicode): ditto.
1344         * lib/charconv.c (charconv_utf8_from_gtk_event_key): ditto.
1346         * app/disp_callbacks.c (ddisplay_canvas_events): needs to convert
1347         strings to the appropriate encoding.
1349 2002-01-22  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1351         * app/object_ops.c (object_list_align_[hv]): Leak fix.
1353         * lib/Makefile.am (INCLUDES): Added debug flags.
1355         * app/object_ops.c: Fixed ordering problem of align equi-distant &
1356         adjacent. 
1358 2002-01-21  Akira TAGOH  <tagoh@redhat.com>
1360         * lib/font.c (font_string_width): use gdk_text_width_wc() instead of
1361         gdk_string_width().
1363         * objects/GRAFCET/boolequation.c: fixed invalid comment.
1365         * objects/UML/stereotype.c (string_to_bracketted): fixed build problem
1366         when defined UNICODE_WORK_IN_PROGRESS.
1368         * lib/dia_xml.c (data_add_string): fixed typo.
1370 2002-01-20  Akira TAGOH  <tagoh@redhat.com>
1372         * configure.in: fixed test gtk_advancement.
1374 2002-01-019  Steffen Macke  <sdteffen@yahoo.com>
1376         * plug-ins/svg/render_svg.c: fix for #69053, alignment of text
1377         exported to SVG
1379         Patch from M.C. Nelson <mcn@mani.kobayashimaru.org>: 
1381         * app/recent_files.[ch]: reworked to support GNOME, accelerators,
1382         tool tips, preferences, and arbitrarily long ~/.dia/history
1384         * app/menus.c: made 'Plugins' consistantly spelled and accelerated;
1385         removed 'Open Recent'; added new separators for recent documents on
1386         File menu.
1388         * app/interface.[ch] (interface_get_toolbox_shell): new function
1390         * app/diagram.c: added new parameter to recent_file_history_add() call
1392         * app/preferences.[ch]: added new 'Recent documents list size'
1393         preferences item
1394         
1395 2002-01-18  Akira TAGOH  <tagoh@redhat.com>
1397         * lib/font.c (font_get_gdkfont_helper): use gdk_fontset_load ().
1398         if it failed, should be used gdk_font_load ().
1400         * lib/font.c (font_data): added the font entries for CJK.
1402 2002-01-17  Steffen Macke  <sdteffen@yahoo.com>
1404         Patch from M.C. Nelson <mcn@mani.kobayashimaru.org>:
1406         * app/menus.c: replaced GDK_F1 with "F1" to fix segfault on startup
1407         
1408 2002-01-04  Cyrille Chepelov  <cyrille@chepelov.org>
1410         Patch from Martin Cracauer <cracauer@cons.org>:
1411         
1412         * app/menus.c: add missing #include <gdk/gdkkeysyms.h> (useful in the
1413         non-GNOME case ?)
1415 2002-01-01  Hans Breuer  <hans@breuer.org>
1417         * app/command.c : optional use GDI printing on windoze
1419         * app/preferences.[hc] : add option 'prefer_psprint' to 
1420         select the print engine to use (could be used for Dia/Gnome
1421         as well)
1423         * app/paginate_gdiprint.(h|cpp) : new files, which interlink the
1424         wmf plug-in with the common win32 print api. Now printing
1425         should work almost as expected from a windows program :-)
1427         * app/diagram.c app/menus.[hc] : rename _UpdatableMenuItems.delete
1428         to .edit_delete to avoid clashes with C++
1430         * app/makefile.msc : updated for GDI printing
1432         * plug-ins/wmf/wmf.cpp : some small modifications to support
1433         GDI printing. Also swap R and B channel in draw_image()
1435         * app/makefile.am : added windows only files to EXTRA_DIST
1437         * objects/uml/class.c(umlclass_set_props) : force recalculation
1438         when applying properties
1440         * lib/charconv.c lib/dia_xml.c : temporary back-ported to
1441         glib-1.3.2 (for win32) IMHO causes recent cvs introduces too
1442         many incompatible changes (and would force a gtk update)
1444         * objects/makefile.msc : don't build C-Objects which are
1445         already available as 'pure shape'
1447         * plug-ins/makefile.msc : remove diaimport from build. It was
1448         only available via mailing-list and is broken since the
1449         StdProp overhaul.
1452         Patch from Jose A Ortega Ruiz  <jaortega@acm.org>
1454         * app/preferences.[hc] : tweaked preferences.c to make 
1455         PREF_STRING work. Use it for 'diagram_tree_hidden'. Also
1456         added some more DiagramTree prefererences and their own
1457         notebook page.
1459         * app/diagram_tree.[hc] : allow to sort by object type or name
1460         and hide by type ...
1461         * app/diagram_tree_menu.[hc] : ... add respective menu entries ...
1462         * app/diagram_tree_menu_callbacks.[hc] : ... and callbacks.
1464         * app/diagram_tree_window.c : handle hidden types and window
1465         size restoring.
1467 2001-12-20  Hans Breuer  <hans@breuer.org>
1469         * plug-ins/python/Makefile.am : patch from Peter Moulder 
1470         <pmoulder@csse.monash.edu.au> to make the python plug-in
1471         compile on *nix too.
1473 2001-12-03  Cyrille Chepelov  <chepelov@calixo.net>
1475         Patch from Alan <horkana@tcd.ie>:
1477         * app/menus.c: bind the F1 shortcut to the Help/_Manual function.
1479 2001-11-20  Hans Breuer  <hans@breuer.org>
1481         * app/makefile.msc : add new diagram_tree_menu(_callbacks).obj
1483 2001-11-18  Jose A Ortega Ruiz  <jaortega@acm.org>
1485         * app/diagram_tree.[hc] : Added new functions and types for
1486         sorting diagram and objects, and attaching the popup menus.
1488         * app/preferences.h: Added more diagram tree preferences, using a
1489         DiagramTreeConfig struct in DiaPreferences. The new prefs are the
1490         height and width of the diagram tree window and the default sort
1491         orders for diagrams and objects.
1493         * app/preferences.c (prefs_data): Added new entries for the new
1494         diagram tree preferences.
1496         * app/preferences.c (prefs_tabs): New tab for diagram tree
1497         preferences.
1499         * app/diagram_tree_window.[hc] (create_diagram_tree_window): 
1500         * app/diagram_tree_window.c (diagram_tree_window_new): 
1501         * app/interface.c (create_tree_window): The diagram tree window is
1502         initialised using the DiagramTreeConfig part of prefs.
1505 2001-11-14  Jose A Ortega Ruiz  <jaortega@acm.org>
1507         * app/diagram_tree_menu.[hc]: New files. Functions to create the
1508         diagram tree popup menus.
1510         * app/diagram_tree_menu_callbacks.[hc]: New files. Callbacks for
1511         the diagram tree popup menus.
1513         * app/Makefile.am (dia_core_files): diagram_tree_menu* files
1514         added.
1516 2001-11-13  Jose A Ortega Ruiz  <jaortega@acm.org>
1518         * app/diagram_tree.c (double_click_callback, diagram_tree_new):
1519         double-clicking a diagram tree node raises the diagram window
1520         to the foreground (and, if a object node was clicked, selects the
1521         object in the diagram).
1523         * app/diagram_tree.c (select_tree_widget): selecting an object
1524         node with single click simply updates it (no raise).
1526 2001-11-08  Jose A Ortega Ruiz  <jaortega@acm.org>
1527         These changes make the diagram tree lazy: it is not created unless
1528         the diagram tree window is requested.
1529         
1530         * app/diagram_tree_window.[hc] (create_diagram_tree_window): new
1531         function for creating the tree window.
1533         * app/interface.c (create_tree_window): call
1534         create_diagram_tree_window() instead of diagram_window().
1536         * app/diagram_tree.c (diagram_tree_add, diagram_tree_remove) 
1537         (diagram_tree_update, diagram_tree_update_name) 
1538         (diagram_tree_add_object, diagram_tree_add_objects) 
1539         (diagram_tree_remove_object, diagram_tree_remove_objects) 
1540         (diagram_tree_update_object): accept a NULL tree as a nominal
1541         argument (and do nothing in this case!), so that the diagram tree
1542         is not initialised if not used.
1544         * app/diagram_tree_window.c (diagram_tree): do not create the
1545         diagram tree until diagram_window() or diagtree_show_callback()
1546         are invoked.
1548 2001-10-31  Jose A Ortega Ruiz  <jaortega@acm.org>
1549         [slightly modified and applied from Hans Breuer <hans@breuer.org>]
1551         * app/diagram_tree_window.[hc] : (new files) implementation of 
1552         the diagram tree window, a container for a diagram tree. [Removed
1553         the horizontal scroll bar glitch by disableing it]
1555         * app/diagram_tree.[hc] : (new files) implementation of the 
1556         diagram tree widget. [Don't rely on the layers GPtrArray to be
1557         NULL terminated, but use its ->len field] 
1559         * app/Makefile.am (dia_core_files): added new files
1560         diagram_tree.[hc] and diagram_tree_window.[hc]
1562         * app/interface.[hc] : (create_tree_window): this function 
1563         creates the new diagram tree window widget
1565         * app/undo.c (delete_objects_apply) (delete_objects_revert) 
1566         (insert_objects_apply) (insert_objects_revert) (group_objects_apply) 
1567         (ungroup_objects_apply) (ungroup_objects_revert): 
1568         every time that an undoable command modifies a diagram 
1569         adding/removing/(un)grouping objects, a diagram_tree_something() is 
1570         invoked to keep the diagram tree window in sync
1572         * app/properties.c (properties_apply): call to
1573         diagram_object_modified(), which updates the diagram tree window
1574         when the properties of an object are modified
1576         * app/preferences.[hc] : new "show_diagram_tree" configuration option 
1577         (whether the diagram tree window should be shown on dia startup)
1579         * app/menus.c : added '<Toolbox>/File/Diagram Tree' entry
1581         * app/diagram.h (diagram_object_modified): callback notifying of a
1582         diagram object modification
1584         * app/diagram.c (diagram_load_into): added call to
1585         diagram_tree_add() to add newly loaded diagrams to the diagram
1586         tree window
1587         (diagram_destroy): call to diagram_tree_remove() to remove a
1588         destroyed diagram from the diagram tree window
1589         (diagram_add_object): call to diagram_tree_add_object() to add an
1590         object to the diagram tree window
1591         (diagram_add_object_list): as above, but with an object list
1592         (diagram_selected_break_external): deletion of objects from the
1593         diagram is detected here, and diagram_tree_remove_object() is
1594         invoked to remove the object from the diagram tree window (it
1595         would be nice to have a diagram_remove_object() in the Diagram
1596         interface)
1597         (diagram_set_filename): update the diagram tree window when a
1598         diagram's filename changes
1600         * app/commands.c (file_new_callback): added call to
1601         diagram_tree_add() to add newly created diagrams to the diagram
1602         tree window
1604         * app/app_procs.c (app_init): added call to create_tree_window()
1606         * app/makefile.msc : updated
1608 2001-10-28  Hans Breuer  <hans@breuer.org>
1610         * app/preferences.h (DiaPreferences): 
1611         * app/preferences.c (prefs_data): new "show_diagram_tree"
1612         configuration option (whether the diagram tree window should be
1613         shown on dia startup)
1615         * app/menus.c: added the new "<Toolbox>/View/Diagram tree" menu
1616         entry (both for GNOME and gtk)
1618         * app/diagram.h (diagram_object_modified): callback notifying of a
1619         diagram object modification
1621         * app/diagram.c (diagram_load_into): added call to
1622         diagram_tree_add() to add newly loaded diagrams to the diagram
1623         tree window
1624         (diagram_destroy): call to diagram_tree_remove() to remove a
1625         destroyed diagram from the diagram tree window
1626         (diagram_add_object): call to diagram_tree_add_object() to add an
1627         object to the diagram tree window
1628         (diagram_add_object_list): as above, but with an object list
1629         (diagram_selected_break_external): deletion of objects from the
1630         diagram is detected here, and diagram_tree_remove_object() is
1631         invoked to remove the object from the diagram tree window (it
1632         would be nice to have a diagram_remove_object() in the Diagram
1633         interface)
1634         (diagram_set_filename): update the diagram tree window when a
1635         diagram's filename changes
1637         * app/commands.c (file_new_callback): added call to
1638         diagram_tree_add() to add newly created diagrams to the diagram
1639         tree window
1641         * app/app_procs.c (app_init): added call to create_tree_window()
1643 2001-10-28  Hans Breuer  <hans@breuer.org>
1645         * plug-ins/python/pydia-property.c : apparently I missed
1646         to commit this last time. Now it has some more SetAttr
1647         support (apply from property)
1649         * plug-ins/python/pydia-properties.h : added PyDiaProperty_Check
1651         * plug-ins/python/pydia-text.[ch] : new files
1653 2001-10-14  Hans Breuer  <hans@breuer.org>
1655         * lib/charconv.c : g_locale_to_utf8() does not handle NULL
1656         strings. Use g_strdup() for these.
1658         libxml2 does not produce 'any extra indentation when saving a tree'
1659         [libxml2-2.4.2/doc/upgrade.html] anymore, which was the default with
1660         libxml(1). To get human readable XML some extra tweaking is required.
1661         It is enabled by setting 'pretty_formated_xml' to 'true' in 'diarc'.
1662         * lib/dia_xml.[hc] : provide and use 'DIAVAR pretty_formated_xml'
1663         * app/preferences.[ch] : initialize 'pretty_formated_xml'
1665         * lib/libdia.def : updated externals
1667         * lib/properties.h : add prototype for prop_list_from_single ()
1669         * plug-ins/makefile.msc : build metapost plug-in
1671         * plug-ins/metapost/render_metapost.c : msvc does not like
1672         switch labels without operation 'default: }'. Added a noop.
1674         * plug-ins/python/pydia-text.[hc] : (new files) wrap DiaText
1675         * plug-ins/python/diamodule.c : added PyDiaText 
1676         * plug-ins/python/makefile.msc : dito. Also added LIBXML_CFLAGS.
1677         Although the python plug-in does not use libxml at all, the
1678         headers are required to use the lib/prop*.h headers
1680         * plug-ins/python/pydia-diagramdata.c : added wrappers for
1681         update_extents and get_sorted_selected (should I duplicate
1682         more functions from PyDiaDiagram or should they be moved?)
1684         * plug-ins/python/pydia-properties.c : allow to set (some) properties
1685         through the dictionary api
1686         * plug-ins/python/pydia-property.h : declare PyDiaProperty_ApplyToObject
1687         * plug-ins/python/pydia-property.c : implement it (currently only
1688         string properties can be set)
1690         Reimplement PyDiaProperty_GetAttr by means of the new StdProp api.
1691         Quoting myself: 'Still not convinced that this is better than an 
1692          integral property->type and some casting ...
1693          It is trading a straightforward 40 lines switch statement to
1694          this nice 'type safe' function mapping (about 125 lines)'
1695         (But now it works again, better than changing the News file :)
1696         
1697 2001-10-14  Cyrille Chepelov  <chepelov@calixo.net>
1699         patch from <robert.young@dsto.defence.gov.au>: 
1700         * objects/UML/component.c: remember to set font in UML component
1701         object (fixes #62132)   
1703 2001-10-02  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1705         * plug-ins/metapost/metapost.c: 
1706         * plug-ins/metapost/Makefile.am:
1707         * plug-ins/metapost/render_metapost.c:
1708         * plug-ins/metapost/render_metapost.h:
1709         Metapost renderer from Chris Sperandio
1711 2001-09-14  Hans Breuer  <hans@breuer.org>
1713         * app/render_gdk.c : reflect the fact, that GTK already talks
1714         UTF8 on win32, fixes #59982, #56100, (#55992 ?) ...
1716         * lib/font.c : 
1717         * app/render_libart.c : trying to fix #58045 but it appears
1718         to be an Gdk/win32, too. 
1720         * lib/charconv.c : handle utf8 conversion with the help of
1721         glib-1.3 even in the !HAVE_UNICODE case.
1723         * lib/dia_xml.c : reduce complaing about missing encoding, by
1724         detecting if the default (utf8) would break the file.
1726 2001-09-13  Cyrille Chepelov  <chepelov@calixo.net>
1728         * lib/charconv.c: (get_local_charset): at least please try to not 
1729         silently change the logic, while avoiding crashes. 
1731         * lib/font.c: (suck_font): put a #error, we have a nasty something
1732         to fix there before we switch to Gtk 2.0.
1733         
1734 2001-09-09  Hans Breuer  <hans@breuer.org>
1736         * **/makefile.mingw : Approach to compile Dia with mingw.
1737         Compiling mostly works but running does not (yet) ... 
1739         * lib/geometry.h : 
1740         - use G_OS_WIN32 instead of _MSC_VER to drag in isinf, etc. definitions. 
1741           Apparently mingw needs it too.
1742         - enable 'normalization' of a null verctor. Otherwise the beziergon
1743           bounding box calculation would be broken at least with msvc. What's
1744           the mathematical correct result of 0.0/0.0 ?
1746         * lib/dia_xml.c : isinf() for mingw too.
1748         * lib/dia_dirs.c : use MAX_PATH instead of _MAX_PATH (works for mingw 
1749         and msvc)
1751         * lib/charconv.c : still crashes if strcmp(NULL, "UTF-8"). 
1752         Please don't do it.
1754         * lib/font.c : Trying to reflect that GTK_TALKS_UTF8_WE_DONT
1756         * lib/libdia.def : updated externals. Apparently mingw needs
1757         them to produce the right mangling.
1759         * plug-ins/shape/shape-exports.c : get prototypes for xmlStrdup
1760         and xmlDiaSaveFile
1762 2001-09-08  Wang Jian  <lark@linux.net.cn>
1764         * configure.in(ALL_LINGUAS): Renamed zh_CN.GB2312 to zh_CN
1766 2001-09-07  Cyrille Chepelov  <chepelov@calixo.net>
1768         * lib/dia_xml_libxml.h:
1769         * lib/dia_xml.c: (data_add_string), (xmlDiaSaveFile): Duplicated
1770         libxml1's code, to rework the output file before it gets committed
1771         to disk. This is rubbish, and will be removed when libxml2
1772         switches from discouraged to mandatory. 
1773         All in all, this fixes #60152. 
1774         
1775         * lib/charconv.h: 
1776         * lib/charconv.c: (charconv_unichar_to_utf8):
1777         made the type of the input parameter explicitly an unsigned long.
1779         * configure.in: Added a check for libz (we must now include it
1780         explicitly, for xmlDiaSaveFile).
1781         
1782         * app/load_save.c: (diagram_data_save):
1783         * lib/plug-ins.c: (ensure_pluginrc), (info_fill_from_pluginrc),
1784         (dia_pluginrc_write):
1785         * plug-ins/shape/shape-export.c: (new_shape_renderer),
1786         (end_render), (draw_string):
1787         * plug-ins/svg/render_svg.c: (new_svg_renderer), (end_render),
1788         (draw_string):
1790         Made sure we always write UTF-8 XML files, and through
1791         xmlDiaSaveFile().
1793         * NEWS: documented that fact.
1794         
1795 2001-09-07  James Henstridge  <james@daa.com.au>
1797         * configure.in (found_libxml): refactor the check for libxml a
1798         little so that it handles finding both libxml1 and 2 better.
1800 2001-09-03  Cyrille Chepelov  <chepelov@calixo.net>
1802         * app/app_procs.c: removed a spurious } which caused a compilation
1803         error in the (!HAVE_GNOME && HAVE_POPT_H) case
1805         * lib/charconv.c: (get_local_charset): some versions of iconv(1)
1806         don't know what ANSI X3.4-1968 is. I didn't know until this day,
1807         but it's just plain old ASCII. Added a check to shield the poor
1808         XML library.
1810         Patches from <robert.young@dsto.defence.gov.au>:
1812         * lib/text.c: (text_calc_boundingbox) Bounding box now calculates the
1813         width and height of text before calculating bounds. Fixes #59928
1815         * app/preferences.c: Moved grid related items into Grid Tab.
1816         
1817 2001-09-02  Cyrille Chepelov  <chepelov@calixo.net>
1819         * app/interface.c: (create_zoom_widget): connected one more signal
1820         to the Zoom selector combo's list. Fixes #59879.
1822         * app/app_procs.[ch]: (app_init) (do_convert)
1823         (build_output_file_name): brought back into the main executable
1824         the rare useful bits of the ill-fated diaconv. This means we have
1825         one new feature : --export-to-format (-t), which should make
1826         writing conversion scripts easier, and a crude implementation of
1827         -t and -e for the poptless argument parsing, which means the Win32
1828         port should be able to take advantage of it (that should make
1829         resolving #58197 possible).
1831         * app/diaconv.c: kept the poor duck compiling (but that's about
1832         it).
1834         * plug-ins/svg/render_svg.c: updated the SVG DTD header (I hope
1835         I've got it right).
1837         * NEWS: updated about the new feature above, and documented the 
1838         "missing encoding specification" complaint. 
1839         
1840 2001-09-01  Abel Cheung  <maddog@linux.org.hk>
1842         * configure.in: Rename zh_TW.Big5 -> zh_TW in ALL_LINGUAS.
1844 2001-09-01  Cyrille Chepelov  <chepelov@calixo.net>
1846         * objects/standard/bezier.c: used g_new0 instead of g_new, to take
1847         care of #59837.
1849 2001-09-01  James Henstridge  <james@daa.com.au>
1851         * */Makefile.am: various changes to include missing files, and fix
1852         sheets dir to handle building with builddir != srcdir.
1854         * autogen.sh: unconditionally pass the --enable-maintainer-mode
1855         and --enable-db2html flags so that builds from CVS work correctly.
1857         * configure.in: increment version number.  Also add an
1858         --enable-db2html flag.  Without the flag, db2html won't be run (if
1859         the flag is passed and db2html is not present, do nothing).
1861 2001-08-30  Cyrille Chepelov  <chepelov@calixo.net>
1863         * lib/poly_conn.c: (polyconn_copy): it's a wonder this routine
1864         even compiled. It's really too bad there is no lint tool easily
1865         available (or a more cautious, pedandic, paranoid and verbose
1866         compiler). Anyway, this fixes #59662. (this didn't affect 0.88.x)
1868 2001-08-27  Cyrille Chepelov  <chepelov@calixo.net>
1870         * app/load_save.c:
1871         * dia/lib/plug-ins.c: use g_strdup() instead of strdup(). Patch
1872         from <robert.young@dsto.defence.gov.au>. Fixes #59591.
1874         * app/menu.c: added ellipsis(...) to diagram properties menu item.
1875         * app/dia-props.c: diagram properties dialog contents did not
1876         represent current diagram settings.
1877         * app/dia-props.[ch]:
1878         * app/display.c: diagram properties contents now follows currently
1879         selected diagram.
1880         Patch also from <robert.young@dsto.defence.gov.au>, fixes #59409.
1882         * AUTHORS: added Robert Young.
1883         
1884 2001-08-27  Cyrille Chepelov  <chepelov@calixo.net>
1886         * app/modify_tool.c: (modify_button_release): Patch from
1887         <robert.young@dsto.defence.gov.au>. Fixes the remaining bit from
1888         #59090: if selection dragging was released outside of the window, 
1889         artifacts of the selection box remained.
1891 2001-08-25  Cyrille Chepelov  <chepelov@calixo.net>
1893         * Objects/custom/shape_info.c: added missing #include <xmlmemory.h>
1895 2001-08-19  Cyrille Chepelov  <chepelov@calixo.net>
1897         * configure.in:
1898         * sheets/Makefile.am: prepared the terrain for the Version of
1899         xml-i18n-tools Which Comes After 0.9 (and which will feature at
1900         last a sane behaviour with XML files). Some reasonible delay
1901         before enforcing that version *will* be given.
1903         * xml-i18n-merge.in.kg: included the current CVS xml-i18n-merge.in
1904         
1905         * lib/plug-ins.c: <xmlmemory.h> defines xmlFree(), otherwise it
1906         becomes a nonexistent symbol.
1907         
1908 2001-08-18  Hans Breuer  <hans@breuer.org>
1910         * app/app_procs.c : made it compile without ENABLE_NLS
1912         * app/diap_callbacks.c : strcmp isn't guaranteed to work
1913         with NULL pointers
1915         * app/load_save.c :
1916         * lib/plug-ins.c : 
1917         * objects/custom/shape_info.c : avoid mixing allocators and dealocators. 
1918         It has to be :
1919                 xmlGetProp, ... -> xmlFree
1920                 malloc, strdup -> free
1921                 g_new, g_malloc, g_strdup - > g_free
1923         * app/win32print.c : some more error checking, still not
1924         working on Win9x
1926         * lib/charconv.c : get_local_charset is used even with !HAVE_UNICODE
1928         * lib/dia_xml.c : msvc still has no unistd.h
1930         * lib/dia_xml.c :
1931         * lib/sheets.c : temporary resolved libxml include brokeness
1933         * plug-ins/python/pydia-*.c : reflect Font and StdProp api
1934         changes. Compiles again, but doesn't do anything useful anymore.
1935         (see THE_PROP_TYPE_IS_INTEGRAL)
1937         * **/makefile.msc : updated to use LIBXML2
1939         * lib/libdia.def : reflect api changes
1941 2001-08-17  Cyrille Chepelov  <chepelov@calixo.net>
1943         * config.h.win32: added defines telling that gtk speaks UTF8.
1944         Hans, I believe this reflects what GTK on Win32 does.
1946         * app/app_procs.c: if GTK talks UTF8, we'll feed it UTF8 localised
1947         strings.        
1948         * lib/prop_inttypes.c: 
1949         * lib/prop_text.c:
1950         * lib/prop_widgets.c: fixed typos in the GTK_TALKS_UTF8_WE_DONT
1951         code path.
1952         
1953         * lib/plug-ins.c: (dia_register_plugins_in_dir): If there is a
1954         trailing // (or whatever (G_DIR_SEPARATOR * 2) is), a recursive
1955         search for plug-ins is done.
1956         * app/Makefile.am: made app/run_dia.sh use the // capability. No
1957         need to update this anymore if we get a new plug-in library (or
1958         remove one).
1960         * lib/dia_xml.c: #include <unistd.h> was missing.
1961         
1962         * lib/properties.h: 
1963         * lib/proplist.c: (pdtpp_defaults): Added a new flag,
1964         PROP_FLAG_NO_DEFAULTS. Will be used in the "automatic defaults"
1965         support.        
1967 2001-08-16  Cyrille Chepelov  <chepelov@calixo.net>
1969         * sheets/civil.sheet: removed duplicate "Danish" entries.
1971         * autogen.sh:
1972         * configure.in: 
1973         * .cvsignore:
1974         * sheets/Makefile.am: 
1975         * po/POTFILES.in:
1976         * Makefile.am: applied the xml-i18n-tools README's instructions.
1978         * po/(da de fr hu nl nn no sl).po: merged the translations from
1979         the sheet files into the .po files. I hope I haven't mixed
1980         languages...
1981         * sheets/*.sheet (REMOVED):
1982         * sheets/*.sheet.in (NEW): moved the sheet files sans
1983         translations into .sheet.in files. 
1984         
1985         * sheets/xml-i18n-unicodify: (NEW) included from xml-i18n-tools,
1986         because we don't yet want to force all translators to work using
1987         UTF-8 editors. We'll want to do that sometime (sooner rather than
1988         later). Okay, I sing a slightly different tune in po/ChangeLog...
1990         * dia.desktop (REMOVED):
1991         * dia.desktop.in (NEW): used also the x18t infrastructure for
1992         this too.
1994         * xml-i18n-update.in.kg (NEW): This one will stay in CVS until an
1995         "official" version of x18t with support for .sheet files is available.
1996         * xml-i18n-merge.in.kg (NEW): This one will stay in CVS until an
1997         "official" version of x18t which doesn't corrupt UTF-8 data in XML
1998         is available.
1999         
2000         ** yes, we are now using xml-i18n-tools to manage the sheet
2001         translations. For the Win32 build, Nemo stores snapshots of
2002         translated strings next to the CVS snapshots. **
2004         * sheets/checktrans.py: suddenly, some sheets have lots of
2005         translations (objects which existed before sheets, mostly).
2006         Adapted the formatting.
2008         * po/README (REMOVED): this is obsolete ! It was ignored, anyway.
2010         * app/display.[ch]: (ddisplay_autoscroll), (ddisplay_scroll):
2011         * app/modify_tool.[ch]: (modify_motion): A (modified) patch from
2012         <robert.young@dsto.defence.gov.au>, to fix #59090.
2014         * app/display.c: (ddisplay_scroll): While at it, added some
2015         margin, so that autoscrolling can happen within a margin outside
2016         the diagram's extents.
2018         * app/tool.[ch]: 
2019         * app/interface.c:
2020         * app/disp_callbacks.c: Robert "forced" me to go when I usually
2021         don't, namely the app/ directory. So while I was there, I
2022         scratched a long-time itch. If no object has focus, pressing the
2023         space bar will select back the tool which was selected before the 
2024         current one (I find this especially useful with "reset after create" !)
2025         
2026         * lib/proplist.c: (prop_list_from_single): Renamed
2027         prop_list_singleton() to avoid confusion with the Singleton
2028         pattern (which it definitely is not).
2029         
2030         * lib/propobject.c: (object_prop_by_name_type),
2031         (object_prop_by_name): The "flags" parameter was not necessary.
2032         These don't return synthetic properties, but properties built from
2033         a real property description list; therefore, we don't call
2034         make_new_prop() but use the existing property descriptor, which
2035         has perfectly valid (and meaningful) flags.
2037         * lib/proplist.c: (pdtpp_synthetic), (pdtpp_from_object): These
2038         new predicates better reflect the reason why properties exist when
2039         they're created by make_new_prop() or object_prop_by_name().    
2041         * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name):
2042         * lib/prop_basic.c: (make_new_prop): used the new reasons instead
2043         of pdtpp_true().
2045         * lib/properties.h: reflects all the above changes.
2047         * objects/SADT/arrow.c:
2048         * objects/SADT/annotation.c:
2049         * sheets/SADT.sheet: minor renamings to better match FIPS 183's
2050         IDEF0 terminology.
2051         
2052 2001-08-15  Cyrille Chepelov  <chepelov@calixo.net>
2054         * lib/properties.h:
2055         * lib/proplist.c: (prop_list_singleton):
2056         * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name):
2057         Added these, to simplify interactions of plug-ins with the StdProp
2058         core.
2060         * lib/Makefile.am:
2061         * lib/dia_xml.h:
2062         * lib/dia_xml_libxml.h (NEW): 
2063         * app/load_save.c:
2064         * lib/dia_xml.c:
2065         * lib/plug-ins.c:
2066         * lib/sheet.c:
2067         * objects/custom/shape_info.c: A few prototypes were causing
2068         #include hell, because we generally attempt to not pull the whole
2069         libxml header set when we include dia_xml.h. Moved those
2070         prototypes away for the rare cases they're necessary.
2071         
2072 2001-08-15  Hans Breuer  <hans@breuer.org>
2074         * lib/font.c : made LARS_TRACE_MESSAGES Standard C conform
2076         * lib/libdia.def : 
2077         * lib/makefile.msc : updated
2079         * lib/prop_basic.c : __FUNCTION__ is a gcc extension. Please
2080         use G_GNUC_FUNCTION instead.
2082         * lib/prop_inttypes.c : include <stdlib.h> for strtol()
2084         * objects/sadt/annotation.c : disable TEMPORARY_EVENT_TEST for
2085         msvc instead of cleaning missing includes
2087         * plug-ins/wmf/wmf.cpp :
2088         * plug-ins/wmf/wmf_gdi.h : fixed for Font to DiaFont renaming
2090 2001-08-15  Cyrille Chepelov <chepelov@calixo.net>
2092         * app/app_procs.c:
2093         * app/load_save.c:
2094         * lib/dia_xml.c:
2095         * lib/plug-ins.c:
2096         * lib/sheet.c:
2097         * objects/custom/shape_info.c:
2098         * plug-ins/shape/shape-export.c:
2099         * plug-ins/svg/render_svg.c: used the libxml1/libxml2
2100         compatibility macros as taught by http://xmlsoft.org/upgrade.html;
2101         removed xmlKeepBlanksDefault(0) in favour for proper
2102         xmlIsBlankNode() testing. Lots of other fixups to use the
2103         "libxml1.5" (libxml2 parser embedded in recent libxml1), and to
2104         make libxml1 output correct files.
2106         * configure.in: use libxml2 (>= 2.3.9) if it's found, or
2107         libxml1 (>= 1.8.14). Exactly one of these must be installed (devel
2108         packages). If both devel packages are found, the build will stop 
2109         (Fredrik: please add a Build-Conflicts: on libxml2-dev for the moment) 
2111         * lib/bezier_conn.c: (bezierconn_init): Lars, you forgot to
2112         allocate the first handle :-)
2113         
2114         * lib/object.c: (object_init): <gratuitous>g_new() used instead of
2115         a cast and a sizeof.</gratuitous>
2117         * objects/custom/custom_object.c: (custom_copy): don't call
2118         text_get_attrbutes if the shape has no text...
2119         (custom_update_data): The info->resize_with_text code was a bit
2120         directive; basically, the shape's bounding box was forced to be 
2121         proportional to the text's bounding box.... This fixes #57187.
2122         
2123         * objects/custom/shape_info.c: (load_shape_info): Set an obvious
2124         default for info->aspect_ratio; unobfuscated a line about
2125         info->resize_with_text;
2126         
2127 2001-08-15  Cyrille Chepelov <chepelov@calixo.net>
2129         * lib/properties.h: added comments next to the PROP_TYPEs to tell
2130         which C Property subclass to use.
2131         
2132         * plug-ins/dxf/dxf-import.c: (read_entity_line_dxf): Removed the
2133         cast-ridden form of setting properties in a list, in favour for
2134         the "local pointers" form. I'll take any better offer...
2136 2001-08-14  Cyrille Chepelov <chepelov@calixo.net>
2137         
2138         * lib/font.c: fprintf(...) --> fprintf(format...)
2140         * configure.in: added a disabled versioned test for glib.
2141         * lib/prop_geomtypes.c: (bezpointprop_load), (bezpointprop_save),
2142         (bezpointarrayprop_load), (bezpointarrayprop_save): replaced
2143         g_critical() with a simple g_error(). Proper fix is to implement
2144         that stuff. 
2146         * lib/properties.h: PROP_STD_TEXT is a PROP_TYPE_TEXT, not a
2147         PROP_TYPE_STRING.
2148         
2149         * lib/properties.h:     
2150         * lib/propdesc.c: (prop_desc_list_calculate_quarks):
2151         * lib/proplist.c: (find_prop_by_name_and_type):
2152         * lib/prop_basic.c: (make_new_prop), (initialize_property):
2153         * lib/propoffsets.c: (do_set_props_from_offsets),
2154         (do_get_props_from_offsets), (prop_offset_list_calculate_quarks):
2155         Added a type_quark member to PropDescription, Property and
2156         PropOffset. Used it to implement a safety in
2157         do_[sg]et_props_from_offsets().
2158                 
2159         * objects/flowchart/diamond.c: the diamond's text was not saved,
2160         and thus not even copied (c&p).
2161         * objects/standard/textobj.c: ditto.
2163         Most of the above changes thanks to Robert Young's testing. Thanks !
2164         
2165 2001-08-14  Kjartan Maraas  <kmaraas@gnome.org>
2167         * sheets/*.sheet: Added some Norwegian translations (both nynorsk
2168         and bokmål).
2169         
2170 2001-08-13  Cyrille Chepelov  <chepelov@calixo.net>
2172         * lib/proplist.c (prop_list_from_descs): added a call to
2173         prop_desc_list_calculate_quarks(). (find_prop_by_name_and_type):
2174         too embarrassing to tell.
2175         
2176         * lib/propdesc.c (prop_desc_list_calculate_quarks): converted the
2177         while loop to a for loop, for symmetry with
2178         prop_offset_list_calculate_quarks().
2180         * lib/geometry.h: new inline function, rectangle_equals.
2182         * lib/diagramdata.[ch]: refactored a bit the diagram extents
2183         computation logic, and changed it to always be the union of the
2184         visible layers' extents. This should close #58882 (Debian
2185         #107167), and fixes #55498.
2187         * app/display.c: made the initial visible box more coherent with
2188         the diagram being loaded's extents.
2190         * app/prop_attr.c: don't set the font (from offset) if font_data
2191         is NULL. Two brainos in colorprop_load() and fontprop_load().
2192         
2193 2001-08-13  Cyrille Chepelov  <chepelov@calixo.net>
2195         * lib/properties.[ch]: split in a lot of pieces: 
2197         * lib/prop_*.[ch] (NEW): all property types are now first-class
2198         objects, inheriting from the original abstract Property type.
2199         * lib/propdesc.c (NEW): property description handling routines
2200         * lib/propoffsets.c (NEW): property offset handling routines
2201         * lib/proplist.c (NEW): property list handling routines
2202         * lib/propobject.c (NEW): property list <-> object routines
2203         * lib/propregistry.c (NEW): holds the PropertyType-->PropertyOps
2204         relations.
2205         * lib/propinternals.h: prototypes for stuff not usually needed by 
2206         the outside of StdProps.
2207         * lib/Makefile.am: a lot of new files have been added...
2209         THE ABOVE CHANGES ARE MAJOR CHANGES AND AFFECT THE WHOLE TREE, IN
2210         BOTH INTERFACES AND RUN-TIME STABILITY.
2212         * lib/plug-ins.h: bumped up DIA_PLUGIN_API_VERSION
2213         
2214         * lib/object.h: removed the incestuous relationship with
2215         properties.h' contents. Now a Property list is a GPtrArray -->
2216         object interface change !
2218         * app/app_procs.c/app_init(): removed a disabled call to a
2219         non-existent routine. Added a call to stdprops_init().
2220         
2221         * objects/Makefile.am: disabled the construction of EML. I'm not
2222         touching these until a certain issue is solved (or this module
2223         removed).
2224         * app/group.c:  
2225         * objects/**/*.c except objects/EML/*: adapted all stdprop-using 
2226         objects to the interface changes.
2227         
2228         * app/disp_callbacks.c: killed a warning.
2229         * lib/dia_xml.[ch]: sprinkled "const" modifiers. 
2231         * app/commands.c: 
2232         The macros PROP_VALUE_* have disappeared. Adapted to using the new 
2233         interface.
2235         * plug-ins/dxf/dxf-import.c: 
2236         * plug-ins/xfig/xfig-import.c: 
2237         PROP_VALUE_* macros have been removed. Converted to the new API.
2239         * plug-ins/python/**/*: I gave up converting this; I can't
2240         compile --with-python (problems with object.h defined both by us
2241         and by Python). I'll gladly help whomever cares to fix it !
2242         (or, fix it myself if someone tells me how to compile it).
2243         
2244         * configure.in: added the UNICODE-related progress defines.
2245                 
2246         * configure.in:
2247         * lib/geometry.h: On Solaris and perhaps other systems, finite()
2248         is defined in ieeefp.h rather than in math.h. Patch from Andrew
2249         Halper <ashalper@acm.org> with further modifications, isinf() is
2250         provided by -lsunmath (sunmath.h).
2251         
2252         * lib/font.c: conditionally disabled Lars' debugging messages.
2253         Bracketed the definition of DiaFontFamily with #ifdef HAVE_FREETYPE.
2254         
2255 2001-08-11  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2257         * lib/bezier_conn.h: 
2258         * objects/standard/bezier.c (bezierline_create): 
2259         * lib/bezier_conn.c (bezierconn_init): 
2260         Preparations for use of userdata for bezier lines.
2261         
2262         * objects/standard/polygon.c: 
2263         * objects/standard/create.h:
2264         * lib/polyshape.c:
2265         * lib/polyshape.h:
2266         * plug-ins/xfig/xfig-import.c:
2267         Use of user_data for polygon as well, including adding
2268         polyshape_set_points.  Include file for non-interactive 
2269         creation of standard objects, objects/standard/create.h
2271 2001-08-10  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2273         * app/render_gdk.c: 
2274         * app/render_gdk.h: 
2275         * lib/font.c:
2276         * lib/font.h:
2277         * lib/widgets.c:
2278         More preliminary freetype support.  Not at all functional, crashes
2279         when rendering.
2281         * lib/poly_conn.h: 
2282         * lib/poly_conn.c: 
2283         * objects/standard/polyline.c: 
2284         Support for creating polyline objects with more than two points.
2285         This includes an extra function and a prototype change in the
2286         poly_conn lib object.
2288         * lib/object.c (object_copy): Fixed memory leak of handles and
2289         connections.
2291 2001-08-08  Abel Cheung  <maddog@linux.org.hk>
2293         * dia.desktop: added traditional Chinese strings
2295 2001-08-04  Cyrille Chepelov  <chepelov@calixo.net>
2297         * NEWS: updated to reflect build-time dependencies.
2299         * lib/properties.[ch]: wrote get_prop_descriptions() as a wrapper
2300         around obj->ops->describe_props(obj). Quarks are none of an
2301         object's business in the general case... 
2302         * lib/text.c: Added an apply_textattr_properties() function to
2303         factor out some common code related to applying a dialog's text
2304         attribute properties to a (Text *) which wasn't edited there. 
2305         Ditto for textstr, for the string part of an objet.
2307         * objects/GRAFCET/action.c:
2308         * objects/SADT/annotation.c:
2309         * objects/SADT/box.c: used apply_textattr_properties().
2310         
2311         * objects/UML/actor.c: 
2312         * objects/UML/branch.c:
2313         * objects/UML/component.c:
2314         * objects/UML/constraint.c:
2315         * objects/UML/small_package.c:
2316         * objects/UML/state.c:
2317         * objects/UML/usecase.c:
2318         * objects/UML/large_package.c:
2319         * objects/UML/note.c:
2320         * objects/UML/node.c:
2321         * objects/UML/message.c:
2322         * objects/UML/classicon.c:
2323         * objects/UML/object.c:
2324         * objects/UML/realizes.c:
2325         * objects/UML/dependency.c:
2326         * objects/UML/implements.c:
2327         slim-fast(tm) cure using more StdProps, and UTF-8 audit.
2328         (most objects were already using StdProps to some extent ; this
2329         systematises usage and removes some dead wood). 
2330         
2331         * objects/UML/stereotype.[ch]: use UTF-8 internally. const police work.
2332         * objects/UML/uml.[ch]: audited for UTF-8.
2334         * objects/UML/class.c: the UML_STEREOTYPE_* strings defined by
2335         uml.h can be in UTF-8... this code isn't yet ready. Duplicating a
2336         private (ISO-8859-1) definition.
2337         
2338         * lib/charconv.c: Added a warning if we didn't run
2339         nl_langinfo(CODESET) but rely instead on a hardcoded default.
2340         
2341 2001-08-02  Cyrille Chepelov  <chepelov@calixo.net>
2343         * lib/diamenu.h:
2344         * app/disp_callbacks.c: added a way for an object to cause an
2345         already realised menu to be destroyed (for instance if it changes
2346         too much).
2348         * objects/custom/custom_object.c: used the above to fix #55073.
2350 2001-08-01  Lars Clausen  <lrclause@cs.uiuc.edu>
2352         * configure.in: Remove 2.50 prereq.
2354 2001-07-30  Cyrille Chepelov  <chepelov@calixo.net>
2356         * po-checktrans.py: under some circumstances, there was one column 
2357         more than what was supposed to be, thus breaking the formatting.
2358         
2359 2001-07-29  Cyrille Chepelov  <chepelov@calixo.net>
2360         
2361         * objects/SADT/annotation.c: forgot to add a #include <stdlib.h>
2363         * NEWS: updated with new stuff since 0.88
2365         * shapes/network/antenna.shape: the text was misplaced ; fixed.
2367         * shapes/network/firewall.(shape|xpm) (NEW): a brick-wall looking
2368         firewall router (upon request from Cyril Lacoux
2369         <clacoux@easter-eggs.com>)
2371         * configure.in (didn't rename to configure.ac): autoconf 2.50
2372         constructs were used ; added an AC_PREREQ call to guard against
2373         older autoconfs.
2374         
2375 2001-07-27  Cyrille Chepelov  <chepelov@calixo.net>
2377         * lib/properties.c: minor clean-ups with the event delivery code.
2379         * EML/instantiation.c: brought this object back from stone and ice
2380         age.    
2382         * app/diaconv.c(NEW): added a command-line conversion tool. Still
2383         lacks a man page and correctness. In fact, it doesn't work. Please
2384         see #58196 if you want to finish it.
2385         
2386         * lib/message.[ch]: redefined things a little so that a different
2387         message_internal routine could be passed.
2388         applications can use that to fit themselves to the display model.
2390 2001-07-26  Cyrille Chepelov  <chepelov@calixo.net>
2392         * objects/SADT/box.c: 
2393         * objects/GRAFCET/action.c: spelling in property descriptors (name
2394         field...)
2395         * objects/SADT/annotation.c: ditto, plus a temporary test of the
2396         event delivery code (try to click on the "click me !" button !).
2398         * app/group.c: 
2399         * lib/properties.[ch]: improved (fixed) support for group event 
2400         handlers. Fixed various things from yesterday's code to make it
2401         not too obviously crash.
2403 2001-07-26  Cyrille Chepelov  <chepelov@calixo.net>
2405         * app/group.c: added delivery of events to the first member of the
2406         group which is able to process it.
2408         * lib/properties.c(prop_desc_lists_intersection): properties
2409         don't match if they don't have identical event handler.
2410         * lib/properties.h: simplified the PropEventHandler signature.
2412         Event delivery code is still untested so far, but should be
2413         lurking harmless.
2414         
2415 2001-07-25  Cyrille Chepelov  <chepelov@calixo.net>
2417         * lib/properties.[ch]: Added (untested !) property event handler
2418         capability. Added a new PROP_TYPE_BUTTON, for the purpose of
2419         generating such events. This stuff compiles, and should lurk
2420         around silently as long as you don't declare property descriptors
2421         with events (AFAICT).
2422         In object_create_props_dialog() and friends:
2423         attached a single structure with lots of data instead of lots of
2424         little attachments of data to the dialog widget.
2425         
2426         * lib/object.h: fixed mild typedef breakage introduced by the above.
2428 2001-07-17  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2430         * lots of files: Changed Font to DiaFont
2431         * */Makefile.am: Added FREETYPE_LIBS
2432         * plug-ins/xfig/xfig-export.c: Improved (working:) color handling
2434 2001-07-13  Kjartan Maraas  <kmaraas@gnome.org>
2436         * configure.in: Added "nn" to ALL_LINGUAS.
2437         
2438 2001-07-09  Alex Larsson  <alexl@redhat.com>
2440         * app/disp_callbacks.c:
2441         Add gdk_im_ready() calls to XIM code.
2443 2001-07-04  Cyrille Chepelov  <chepelov@calixo.net>
2445         * lib/properties.[ch]: splitted prop_get_widget() into
2446         prop_get_widget() (gives a widget but doesn't fill it) and 
2447         prop_reset_widget() (fills an existing widget with a property's value).
2449         * lib/widgets.[ch]: const enforcement police work.
2451         * shapes/network/antenna.shape: added a connection point at top,
2452         upon request from <Emmanuel.Quemener@cri.ens-cachan.fr>.
2453         
2454 2001-06-25  Cyrille Chepelov  <chepelov@calixo.net>
2456         * intl/*: tested with gettext-0.10.38
2457         * configure.in: moved a macro call around (AM_PROG_CC) to keep
2458         some of autogen.sh from complaining.
2459         * INSTALL: added a warning against gettext older than at least 0.10.36
2460         
2461 2001-06-19  Cyrille Chepelov  <chepelov@calixo.net>
2463         * configure.in: added explicit calls to AM_LANGINFO_CODESET and
2464         AM_ICONV (both provided by gettext)
2466 2001-06-14  Cyrille Chepelov  <chepelov@calixo.net>
2468         * lib/charconv.c: corrected the degraded mode for when
2469         !HAVE_UNICODE. Thanks to Ben A. Hetland for reporting this.     
2471         * objects/chronoline/chronoline_events.c: UTF8 compliance.
2472         
2473 2001-06-13  Cyrille Chepelov  <chepelov@calixo.net>
2475         * lib/properties.[ch]: convenience macros around PROP_NOTEBOOKS ;
2476         new "eye candy" properties: PROP_MULTICOL_(BEGIN|PAGE|END) to lay 
2477         widgets on several columns, PROP_FRAME_(BEGIN|END) to put widgets
2478         into a frame box.
2480         * objects/chronogram/chronoline.c:
2481         * objects/chronogram/chronoref.c: took advantage of the above to
2482         make nicer looking dialogs.
2484         * lib/charconv.[ch]: added charconv_unichar_to_utf8 ("inspired"
2485         from libunicode's internals).
2486         * lib/message.c: convert strings to local encoding prior to
2487         display (UNICODE_WORK_IN_PROGRESS)
2488         * lib/properties.[ch]: convert strings to local encoding prior to
2489         display, and back to UTF8 (UNICODE_WORK_IN_PROGRESS).
2490         * lib/render.h: tagged strings as (utfchar *) instead of (char *)
2491         * lib/stringprerenderer.[ch]: ditto
2493         (lib/text.c has been audited for UTF8, but the size of the changes
2494         make them inappropriate for commit before 0.89)
2495         
2496 2001-06-12  Cyrille Chepelov  <chepelov@calixo.net>
2498         * objects/boolequation.h (<save|load>_boolequation): made the 
2499         prototypes for match the .c file.
2500         
2501         * samples/grafcet.dia: minor non-conformance with IEC-848
2502         fixed (in the transition from step 100 to step 101).
2504         * lib/properties.[ch]: added a flag (PROP_FLAG_DONT_MERGE) to
2505         disallow editing of properties if the object is part of a group.
2507         * objects/chronogram/chronoline.c: 
2508         * objects/SADT/annotation.c:
2509         * objects/SADT/box.c:
2510         * objects/GRAFCET/step.c:
2511         * objects/GRAFCET/transition.c:
2512         * objects/GRAFCET/condition.c: took advantage of PROP_FLAG_DONT_MERGE.
2513         
2514 2001-06-12  Hans Breuer  <hans@breuer.org>
2516         * lib/libdia.def : removed lazyprop exports
2517         * lib/makefile.msc : removed lazyprop.obj
2519         * objects/custom/custom_objects.c : use HAVE_UNISTD_H
2520         and avoid crashes by always creating a custom->text,
2521         when (custom->info->has_text) 
2523         * objects/makefile.msc : removed sybase from build
2525         * objects/GRAFCET/boolequation.c (<save|load>_boolequation) :
2526         ObjectNode is a pointer already, which is what we want
2527         instead of a pointer pointer.
2529         * plug-ins/wmf/wmf.cpp : fixed problem with arc scaling
2530         and implemented working export for images
2532         * shapes/network/zip-disk.shape : added connection points 
2534 2001-06-12  Cyrille Chepelov  <chepelov@calixo.net>
2536         * objects/SADT/box.c: removed lazyprops for standard props.
2537         * objects/chronograms/chronoline.c: removed lazyprops (phew !)
2538         * objects/chronograms/chronoref.c: ditto 
2540         * lib/Makefile.am:
2541         * lib/dummy_dep.h:
2542         * lib/connpoint_line.c:
2543         * lib/lazyprops.[ch] (DELETED): good riddance (closes #55895)
2544         * lib/properties.[ch]: new property types:
2545             - PROP_TYPE_STATIC: static text to be displayed in the dialog.
2546             - PROP_TYPE_MULTISTRING: same as string, but renders as a
2547             multi-line entry box.
2548             - PROP_TYPE_NOTEBOOK_BEGIN,_PAGE,_END: stuff to make dialogs
2549             in a tabbed-notebook style (this is a bit complicated to use; 
2550             see objects/chronograms/chronoline.c for an example).
2551                
2552 2001-06-11  Cyrille Chepelov  <chepelov@calixo.net>
2554         * objects/GRAFCET/boolequation.[ch]: zap lazyprops. Add standard props.
2555         * objects/GRAFCET/step.c: ditto.
2556         * objects/GRAFCET/vector.c: ditto.
2557         * objects/SADT/annotation.c: ditto.
2558         * objects/SADT/arrow.c: ditto (plus bounding box fixes).
2559         
2560         * lib/properties.[ch]: two more non-visible types
2561         (PROP_TYPE_ENUMARRAY and PROP_TYPE_INTARRAY).
2563         * lib/neworthconn.[ch]:
2564         * lib/orthconn.[ch]: added support for manipulation through
2565         standard properties.
2567         * configure.in: removed -fomit-frame-pointer, this seems to
2568         confuse recent gcc/gdb's, maybe we'll get better stack dumps in 
2569         bugzilla.
2571         * charconv.[ch]: more functions from unicode.h.
2572         get_local_charset() wasn't working properly, fixed now.
2573         A subtle crashbug in charconv_utf8_to_local8() nailed (thanks to 
2574         ElectricFence !)
2575         
2576         * objects/EML/process.h: pulled the bits of lazyprops.h it uses.
2577         * lib/lazyprops.[ch]: put a big fat warning in.
2579         * app/render_eps.c: one line mysteriously went away, causing a
2580         variable to be used uninitialised....
2582 2001-06-10  Cyrille Chepelov  <chepelov@calixo.net>
2584         * app/app_procs.c: commented out the call to
2585         bind_textdomain_codeset(): it's premature.
2586         
2587         * lib/connpoint_line.c: a NULL point can be given to
2588         connpointline_adjust_count(), in case there's not really a clicked
2589         point.
2591         * lib/textattr.h(NEW): moved the definition of TextAttributes to sort
2592         #include order troubles. #included by lib/text.h, so there is no 
2593         impact outside lib/.
2594         * lib/properties.[ch]: added support for CONNPOINT_LINE and
2595         (nonvisible) TEXT properties.
2597         * objects/GRAFCET/action.c:
2598         * objects/GRAFCET/vergent.c: dropped lazyprops for standard
2599         properties.
2600         
2601         * objects/UML/lifeline.c: pruned some legacy stuff (now pure
2602         standard properties code). Grafted a dynamic number of connection
2603         points (heavily inspired from what Vergent does). This is the real
2604         fix for #55863.
2606         * objects/GRAFCET/boolequation.[ch]: audited for UTF-8
2608         * lib/fonts.c: some hardening (mostly g_assert())
2609 2001-06-09  Cyrille Chepelov  <chepelov@calixo.net>
2611         * app/app_procs.c (app_init): added a call to
2612         bind_textdomain_codeset() so that gettext gives us UTF-8 strings
2613         (UNICODE_WORK_IN_PROGRESS).
2614         
2615 2001-06-08  Cyrille Chepelov  <chepelov@calixo.net>
2617         * plug-ins/xfig/xfig-import.c: corrected a typo (fixes #55910)
2619         * objects/UML/lifeline.c: patch from Marc <mrw@siemens.ch> 
2620         (fixes #55863) : some clean-ups in the handling of connection
2621         points. Now the total number of connection points is just a
2622         #define (the proper solution is to retrofit the GRAFCET Vergent's
2623         dynamic behaviour wrt connection points).
2624         
2625 2001-06-07  Cyrille Chepelov  <chepelov@calixo.net>
2627         * app/app_procs.c (app_init): added a call to unicode_init() (only
2628         if HAVE_UNICODE, of course).
2630         * lib/charconv.c: simplified the code which detects the local
2631         charset. No need to use <langinfo.h>, libunicode already takes the
2632         burden of figuring that out. Also, if local charset is utf8, no
2633         conversion will take place.
2634         Exposed a way to get the current charset (similar to
2635         unicode_get_charset() but actually working, hopefully).
2637         * lib/charconv.h: Added a partial non-UTF8 implementation of
2638         unicode.h if !HAVE_UNICODE (actually, all the time for the
2639         moment). The UTF8 implementation is just macros on libunicode (use
2640         the functions prefixed by uni_, as defined by charconv.h, not
2641         unicode_, unless that code is to be compiled only if HAVE_UNICODE).
2642         From now on, all strings which don't *need* to be ASCII should be
2643         utfchar *, not gchar *. Just include charconv.h, let it sort out
2644         the details (such as: "is libunicode available and enabled?") 
2646         * lib/ps-utf8.c: fixed a few name clashes. Used the charconv.h
2647         "API" instead of directly libunicode. Removed the now unnecessary
2648         speculative clustering of characters in encoding pages.
2650         * app/render_eps.c: made the local8->utf8 conversions dependent of
2651         !UNICODE_WORK_IN_PROGRESS (this is not where the local8/utf8
2652         boundary will be when this WIP is done).
2654         * lib/dia_xml.c (data_point): fixed a format string typo.
2656         * po/POTFILES.in: added all C files from lib/ 
2657         
2658 2001-06-06  Cyrille Chepelov  <chepelov@calixo.net>
2660         * app/disp_callbacks.c: make sure the objects' connected objects
2661         are updated when the objects' size changes after a keypress event
2662         (fixes #51222)
2664         * configure.in: added a big warning about the possible future
2665         non-optionality of --enable-unicode. 
2667         * TODO: removed entries which look like done ; added a few ones
2668         (Bugzilla "enhancement" bugs may be a better way to keep track of
2669         this)
2670         
2671 2001-06-05  Cyrille Chepelov  <chepelov@calixo.net>
2673         * objects/UML/message.c: got rid of #55564 and of message_copy()
2674         by using more standard properties (are the message_state_*()
2675         functions still necessary ?)
2677 2001-06-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
2679         * lib/plug-ins.c: 
2680         * objecs/custom/shape_info.c:
2681         * plug-ins/shape/shape-export.c:
2682         * plug-ins/svg/render_svg.c: patch from obecian <obecian@openbsd.org>
2683         use xmlChar instead of obsolete CHAR.
2685 2001-06-03  Hans Breuer  <hans@breuer.org>
2687         * app/diagram.h : added prototype for diagram_update_menu_sensitivity()
2688         * app/commands.c : give the right number of parameters
2689         to diagram_update_menu_sensitivity ()
2691         * app/preferences.c : do proper initialization for DiaPrefsData:
2692         render_bounding_boxes. It would be a real surprise if 'hidden'
2693         properties would have ever worked before.
2694         Don't try to access the widgets of hidden property, it does not
2695         have one.
2697         * lib/diagramdata.h : make render_bounding_boxes a DIAVAR, cause
2698         it is defined in libdia, but initialized from dia app, which 
2699         otherwise gave nice start-up crashes.
2701         * lib/diagramdata.c : initialize the color for rendering bounding 
2702         boxes in the Dia range (0 .. 1.0)
2704         * lib/libdia.def : added *_bbox functions for export
2706         * lib/makefile.msc : added new sources
2708         * objects/custom/custom_object.c : use HAVE_UNISTD_H
2710 2001-05-30  Cyrille Chepelov  <chepelov@calixo.net>
2712         * app/interface.c:
2713         * app/menus.c: patch from Hubert Figuiere <hfiguiere@teaser.fr> ;
2714         removes a translation of menus (in a place where there shouldn't
2715         have been), which gets rid of a waterfall of warnings if LANG!=C,
2716         and a fix to #55047.
2718 2001-05-29  Steffen Macke     <sdteffen@yahoo.com>
2720         * lib/charconv.c : added #include <errno.h>
2722         * app/dia_embedd.c : updated menus_get_item_from_path usage
2723         
2724 2001-05-27  Cyrille Chepelov  <chepelov@calixo.net>
2726         * lib/ps-utf8.c: Strings in Symbol fonts were incorrectly rendered.
2727         Added a special case for Symbol strings, so that they're not
2728         re-encoded using the LN encoding (we use the bare Adobe encoding
2729         instead).
2731         * objects/custom/custom_object.c: Now that #52912 is fixed,
2732         I could remove the ugly hack I wrote to squash the shape bounding box
2733         problem shown by Ben A. Hetland a few months ago, and fix it
2734         properly this time.
2735         
2736         * lib/text.c: enlarged a little the bounding box to account for
2737         the cursor in rightmost position.
2738         
2739         * lib/diagramdata.c: draw bounding boxes only if the relevant
2740         variable is set (as before), but also only if the rendere is
2741         interactive (ie, don't bother rendering bounding boxes on 
2742         Postscript...)
2743         Made the bounding box's line width a fixed value, 0.01
2744         
2745         * lib/boundingbox.c: fixed the "pointy corners" code for polylines
2746         and assymmetric control beziers. Implemented ellipse_bbox().
2747         
2748         * Makefile.am: incantations to get po/dia.pot build, as suggested
2749         by Hubert in #55075.
2750         
2751         * shapes/network/computer.shape: typo fixed.
2752         * shapes/network/antenna.shape: fixed #55074 (antenna is now
2753         properly translucent, except for its base where it makes sense. It
2754         doesn't look that ugly anymore if transparent mode is on).
2756         * configure.in: --enable-unicode is now the default. This
2757         still currently affects only printing.
2758         
2759 2001-05-26  Cyrille Chepelov  <chepelov@calixo.net>
2761         * lib/boundingbox.c: fixed a minor logic error wrt closed shapes. 
2762         The overshoot code is buggy, and the bounding boxes for polyshapes
2763         looks a bit cheezy. To be done ASAP.
2765 2001-05-26  James Henstridge  <james@daa.com.au>
2767         * configure.in: call AM_PATH_PYTHON rather than AM_PATH_PYTHON_JH.
2768         This should clear up some of the build problems people have been
2769         having.
2771         * acinclude.m4: call AM_PATH_PYTHON_JH AM_PATH_PYTHON
2773 2001-05-26  Cyrille Chepelov  <chepelov@calixo.net>
2775         * lib/Makefile.am:
2776         * lib/boundingbox.[ch] (NEW): (some) refactoring of the bounding
2777         box code (beginning with lines, polylines and polybeziers), into a
2778         more generic facility. While at it, a better shot at correctly
2779         computing the bounding box of a Bezieroid (should take care of
2780         #53424, #51233 and of course is part 1 of #52912).
2782         * lib/diagramdata.c: turned the RENDER_BOUNDING_BOXES conditional
2783         into a hidden preference (set render_bounding_boxes in diarc).
2784         * app/preferences.[ch]: Added support for hidden preferences.
2786         * lib/geometry.[ch]: sprinkled with "const" modifiers.
2787         
2788         * lib/bezier_conn.[ch]:
2789         * lib/beziershape.[ch]:
2790         * lib/connection.[ch]:
2791         * lib/element.[ch]:
2792         * lib/poly_conn.[ch]:
2793         * lib/orth_conn.[ch]:
2794         * lib/neworth_conn.[ch]:
2795         * lib/polyshape.[ch]: adapted to take advantage of
2796         boundingbox.[ch] instead of relying on private (duplicate) code.
2798         * object/FS/flow.c:
2799         * object/GRAFCET/action.c:
2800         * objects/GRAFCET/condition.c:
2801         * objects/GRAFCET/vergent.c:
2802         * objects/GRAFCET/vector.c:
2803         * objects/SADT/annotation.c:
2804         * objects/SADT/arrow.c:
2805         * objects/ER/participation.c:
2806         * objects/UML/constraint.c:
2807         * objects/UML/implements.c:
2808         * objects/UML/lifeline.c:
2809         * objects/UML/message.c:
2810         * objects/UML/realizes.c:
2811         * objects/UML/generalization.c:
2812         * objects/UML/association.c:
2813         * objects/UML/dependency.c:
2814         * objects/FS/flow-ortho.c:
2815         * objects/network/bus.c:
2816         * objects/standard/arc.c:
2817         * objects/standard/bezier.c:
2818         * objects/standard/beziergon.c:
2819         * objects/standard/line.c:
2820         * objects/standard/polygon.c:
2821         * objects/standard/zigzagline.c:
2822         
2823         * objects/standard/polyline.c: Some *BBExtras structures changed
2824         names while moving to boundingbox.[ch]. A trivial mass-renaming.
2825         
2826 2001-05-20  Cyrille Chepelov  <chepelov@calixo.net>
2828         * app/disp_callbacks.c (ddisplay_canvas_events): Take into account
2829         wheel mouses for scrolling (from Patrick Sung <phsung@ualberta.ca>)
2831         * app/display.c (ddisplay_update_scrollbars): from Patrick's
2832         suggestion, remove the extra scrollable area (it was only visible
2833         to the scrollbars). This is experimental.
2834         
2835         * objects/custom/custom_object.c: If a shape's icon file doesn't 
2836         exist, warn and substitute a default icon, instead of crashing.
2837         (fixes #52913)
2838         
2839         * objects/network/network.c:
2840         * shapes/network/modularswitch.(shape|xpm) (NEW):
2841         * shapes/network/printer.(shape|xpm) (NEW):
2842         * shapes/network/genmonitor.(shape|xpm) (NEW):
2843         * shapes/network/computer.(shape|xpm) (NEW):
2844         * shapes/network/Makefile.am: four less objects, four more shapes.
2845         These were the last known RenderObjects. (phew !)
2847         * lib/Makefile.am:
2848         * lib/dummy_dep.h:
2849         * objects/sybase/Makefile.am: 
2850         * objects/network/Makefile.am: Removed the older Renderobjects
2851         from the build, and their infrastructure (not yet deleted,
2852         though).
2854         * shapes/network/sceadplug.shape:
2855         * shapes/network/antenna.shape:
2856         * shapes/network/modem.shape:
2857         * shapes/network/hub.shape:
2858         * shapes/network/rj45plug.shape:
2859         * shapes/sybase/client.shape:
2860         * shapes/sybase/dataserver.shape:
2861         * shapes/sybase/ltm.shape:
2862         * shapes/sybase/repserver.shape:
2863         * shapes/sybase/rsm.shape:
2864         * shapes/sybase/stableq.shape: Minor corrections (line widths were
2865         ten times too narrow).
2866         
2867 2001-05-19  Cyrille Chepelov  <chepelov@calixo.net>
2869         * objects/network/network.c:
2870         * shapes/network/sceadplug.(shape|xpm) (NEW):
2871         * shapes/network/antenna.(shape|xpm) (NEW):
2872         * shapes/network/modem.(shape|xpm) (NEW):
2873         * shapes/network/Makefile.am: four less objects, four more shapes.
2874         
2875         * lib/Makefile.am:
2876         * lib/diagramdata.c:
2877         * lib/render.h:
2878         * lib/string_prerenderer.[ch] (NEW):
2879         Add a new renderer primitive, predraw_string() (does nothing, to be
2880         used as a hook to optimise the character encodings if needed). 
2881         Added a string pre-renderer, which can be viewed as a filter
2882         renderer (to route draw_string() to predraw_string() and ignore
2883         the rest, in a first rendering pass)
2884         
2885         * app/render_eps.c: Took advantage of the above to make wholly
2886         optimised Postscript encoding page(s), even (especially) with 
2887         non-latin1 code (HAVE_UNICODE must be true).
2889         (#53512 in fact is wholly resolved).
2890         
2891 2001-05-18  Cyrille Chepelov  <chepelov@calixo.net>
2893         * lib/charconv.c: steps towards resolution of #53512 (inspired by
2894         Alexey Novodvorsky <aen@logic.ru>'s patch).
2896         * app/menus.c (dia_menu_signal_proxy): checked that the signal
2897         handler is not NULL before transferring control to it... (fixes #52836)
2899         * app/app_procs.c (app_init): removed non-constant initialiser
2900         (fixes #52950)
2902         * objects/custom/custom_object.c:
2903         * objects/custom/shape_info.[ch]:
2904         * objects/custom/test.xml: merged patch #53476 from Steven Hawkins 
2905         <skh@mathstar.com>. This add support for a <svg:text> shape
2906         element, and some related style properties (font, font height, 
2907         alignment)
2909         * doc/custom_shapes: a precision about the meaning of case in a
2910         SVG path (closes #52364)
2912         * lib/dummy_dep.h: fix for SGI IRIX 6.2 (#53053, reported and
2913         fixed by <drk@sgi.com>)
2914         
2915 2001-05-17  Cyrille Chepelov  <chepelov@calixo.net>
2917         * objects/network/network.c:
2918         * shapes/network/Makefile.am:
2919         * shapes/network/hub.(shape|xpm) (NEW):
2920         * shapes/network/flash.(shape|xpm) (NEW):
2921         * shapes/network/rj45plug.(shape|xpm) (NEW):
2922         More shapes, less renderobjects.
2924 2001-05-16  Cyrille Chepelov  <chepelov@calixo.net>
2925         
2926         * plug-ins/svg/render_svg.c: typo made exported ellipses
2927         corrupted (zero Y pseudo-radius).
2929         * objects/network/network.c:
2930         * objects/network/disc.c:
2931         * shapes/network/disc.(shape|xpm): Converted the first
2932         Renderobject into a shape. Normally, old diagrams should reload
2933         without problems (please check this against your diagrams). More
2934         flexibility should be gained that way. I intend to hunt and
2935         eradicate all renderobjects as I can commit cycles to that. 
2937         * objects/Makefile.am:
2938         * configure.in:
2939         * app/Makefile.am:
2940         * objects/sybase/sybase.c:
2941         * shapes/sybase/Makefile.am(NEW):
2942         * shapes/sybase/client.(xpm|shape) (NEW):
2943         * shapes/sybase/dataserver.(xpm|shape) (NEW):
2944         * shapes/sybase/ltm.(xpm|shape) (NEW):
2945         * shapes/sybase/repserver.(xpm|shape) (NEW):
2946         * shapes/sybase/rsm.(xpm|shape) (NEW):
2947         * shapes/sybase/stableq.(xpm|shape) (NEW): converted Sybase
2948         renderobjects into shapes. The Sybase objects are now not compiled
2949         anymore, and ready to be nuked if nobody objects in the next few weeks.
2950         
2951         * app/commands.c:
2952         * app/diagram.[ch]:
2953         * app/disp_callbacks.c:
2954         * app/display.[ch]:
2955         * app/interface.[ch]:
2956         * app/menus.[ch]:
2957         * app/modify_tool.c:
2958         * app/preferences.[ch]:
2959         * app/recent_files.c:
2960         * app/select.c: Added patch #52364 from Hubert Figuiere. This adds
2961         a menu bar reflecting the popup menu, to each display window. This
2962         is optional (changing the preference currently doesn't affect
2963         already opened windows; a few other rough edges to cut).
2965         * plug-ins/wpg/wpg.c:
2966         * plug-ins/xfig/xfig-import.c:
2967         * plug-ins/python/pydia-property.c:
2968         * plug-ins/python/pydia-properties.c:
2969         * plug-ins/python/pydia-geometry.c:
2970         * plug-ins/pstricks/render_pstricks.c:
2971         * lib/arrows.c:
2972         * objects/EML/dbox.c:
2973         * lib/ps-utf8.c: paleolithic C compilers choke on //. Should fix 
2974         #53054.
2976         * lib/ps-utf8.c: improved the clustering of alphabetic character
2977         definitions in custom encodings pages.
2978         
2979 2001-05-02  Hans Breuer  <hans@breuer.org>
2981         * lib/object.h : OBJECT_COMMON_PROPERTIES_OFFSETS correct type 
2982         of 'obj_bb' to PROP_TYPE_RECT
2984         * objects/custom/custom_object.c : take all quarks into account, 
2985         not only 4 as copy&paste suggests
2987         * objects/uml/objects.c : completed the implementation of the
2988         property api to avoid reading of totally bogus data. Removed
2989         the PROBABLY_DEAD_CODE. It actually was dead code, but not because
2990         there was too much but too less ...
2991   
2992         The above changes removed all known crashes (mentioned below) 
2993         from the Property API. Property access is still incomplete though.
2995         * objects/flowchart/box.c :
2996         * objects/flowchart/diamond.c :
2997         * objects/flowchart/ellipse.c :
2998         * objects/flowchart/parallelogram.c :
2999         * objects/uml/classicon.c :
3000         * objects/uml/state.c : calculate number of quarks from quark array 
3001         size instead of using hardcoded values for consistence and to avoid 
3002         future bugs like the above
3003         
3004         * objects/eml/nlist.c : include <string.h> for strcmp()
3006         * lib/dia_xml.c : relax g_warning for values, which
3007         appear to be too small. There is nothing which prevents
3008         them while saving
3010         * plug-ins/python/pydia-geometry.c : changed stringifying of
3011         geometry objects accept BezPoint back to %f, which does not
3012         crash anymore, because all the data is intialized now and it
3013         simply is more readable than %e ...
3015         * plug-ins/python/python-startup.py : removed dependency
3016         to PyGtk, because it isn't required here and probably won't
3017         in i.e.: export filters.
3019         * plug-ins/python/gtkcons.py : create the gtkoutfile even
3020         if sys.stderr.fileno() isn't supported
3022         * app/makefile.msc : make version 0.88
3023         * plug-ins/makefile.msc : make version 0.88 an added new
3024         xfig files to build
3026 2001-05-11  James Henstridge  <james@daa.com.au>
3028         * NEWS: remember to add news items this time.
3030         * dia.spec: update spec file for 0.88 release.
3032         * configure.in: up version number to 0.88
3034         * plug-ins/python/Makefile.am (EXTRA_DIST): fix up typo that was
3035         preventing any of the useful python scripts from being
3036         distributed.
3038         * sheets/Makefile.am (sheet-translation-report): fix bustage I
3039         introduced in my fixups for the 0.87 release :(
3041 2001-05-10  Lars Clausen  <lrclause@cs.uiuc.edu>
3043         * plug-ins/xfig/xfig-import.c: Finally got groups working.
3045 2001-05-09  Lars Clausen  <lrclause@cs.uiuc.edu>
3047         * plug-ins/xfig/xfig-import.c: Improvements to error handling and
3048         group manipulation.
3050 2001-05-09  Cyrille Chepelov  <chepelov@calixo.net>
3052         * lib/ps-utf8.[ch]:
3053         * lib/Makefile.am: fix makefile breakage which led to not
3054         including ps-utf8.[ch] in the released tarballs. 
3056 2001-05-09  James Henstridge  <james@daa.com.au>
3058         * Makefile.am (core-translation-report): dist scripts needed for
3059         this target, and change to $(srcdir) before running.
3061         * sheets/Makefile.am (EXTRA_DIST): actually dist the sheets.  DATA
3062         files aren't automatically included in the tarball by automake
3063         because they could be generated files.
3065         * objects/EML/Makefile.am (EXTRA_DIST): fix directory names.
3067         * doc/en/Makefile.am (install-data-hook): fix up where graphics
3068         are installed.
3070         * configure.in: up version number to 0.87
3072         * plug-ins/python/*.py: no longer necessary to explicitly set
3073         sys.argv, as python.c does it for us now (like it should).
3075         * plug-ins/python/gtkcons.py: fix up so it plays nicely as a dia
3076         python plugin.
3078         * plug-ins/python/python-startup.py: startup script that imports
3079         all modules in $(datadir)/dia/python and ~/.dia/python.
3081         * plug-ins/python/python.c (dia_plugin_init): change so that it
3082         only runs the $(datadir)/dia/python-startup.py script.  Make sure
3083         that sys.argv and __main__.__file__ are set when calling the
3084         startup script.
3086         * plug-ins/python/Makefile.am: update makefile.  Make it install
3087         gtkcons.py plugin.  I haven't set any other plugins to install, as
3088         they look like they are mainly for debugging purposes.
3090         * configure.in: add tests to detect if python is available, so we
3091         can build the python plugin.  Only run if --with-python passed to
3092         configure.
3094 2001-05-08  James Henstridge  <james@daa.com.au>
3096         * acinclude.m4: add macros for detecting python.
3098         * app/menus.c (dia_gnome_menu_get_widget): handle paths that point
3099         at GNOME_APP_UI_SUBTREE entries.
3100         (menus_add_path): function to add a menu item to the menubars.
3101         Uses a hash table to keep track of extra menu items it adds.  Also
3102         notifies the item factory about the entries so that accels can be
3103         saved for them.
3104         (menus_add_path): implement gtk only version.
3105         (menus_init): use menus_add_path() to add the menu.
3106         (plugin_callback): simplify.
3108 2001-05-08  Steffen Macke <sdteffen@yahoo.com>
3110         * app/menu.c: removed #ifndef GNOME; GNOME build was broken
3111         
3112 2001-05-08  Lars Clausen  <lrclause@cs.uiuc.edu>
3114         * plug-ins/xfig/xfig-export.c: 
3115         * plug-ins/xfig/xfig-common.c: 
3116         * plug-ins/xfig/xfig-import.c: 
3117         * plug-ins/xfig/xfig.c: 
3118         * plug-ins/xfig/xfig.h: 
3119         * app/Makefile.am: Added support for exporting to Fig format
3120         (except splits, which are less powerful in Fig).  Some refactoring
3121         along the way.
3123 2001-05-02  Hans Breuer  <hans@breuer.org>
3125         * plug-ins/python/debug_objects.py : added another
3126         test to get massive crashes from the Property API due
3127         to unintialized data.
3129         * app/menu.c : the callback_action wasn't incremented
3130         (should have checked my last optimization). Now more
3131         than one plug-in callback is supported again.
3133         * plug-ins/python/pydia-geometry.c : avoid crashes from
3134         glib, when trying to g_strdup_printf unintialized floats.
3136         * plug-ins/python/pydia-property.c : avoid crashes from
3137         because of string_data == NULL (PROP_TYPE_FILE, PROP_TYPE_STRING)
3139 2001-05-01  Hans Breuer  <hans@breuer.org>
3141         * objects/makefile.msc : added eml
3142         * objects/eml/instantiation.c : initialize 'inst' pointer
3143         before using, zero initialization for objects
3144         * objects/eml/interaction-ortho.c :
3145         * objects/eml/interaction.c : zero initialization for objects
3147         * app/menus.c : removed Gimp mru stuff which slipped in at
3148         2000-08-15, was never activated and will never be needed, 
3149         because of Steffens recent file list patch added at 2001-01-05.
3151         * objects/eml/*.c : some more zero initialization of objects
3152         to avoid infinite (uninitialized) bounding boxes
3154         Implemented a callback api which allows plug-ins to register
3155         menu call backs. Dia for Gnome should compile, but will need 
3156         some extra tweaking to make it work because I can't test it.
3158         * plug-ins/python/pydia-error.h :
3159         * plug-ins/python/pydia-render.c : moved Pxthon function return 
3160         value handling from pydia-render.c to pydia-error.h, to make it
3161         usable for
3162         * plug-ins/python/diamodule.c : implement callback function
3163         registration from and relaying to Python code
3165         * app/menus.c : register and use plug-in menu callbacks
3167         * lib/filter.[hc] : implement filter_register_callback() and
3168         filter_get_callbacks() for the above
3169         * lib/libdia.def : export them
3171         * plug-ins/python/debug_objects.py (new file): 
3172         sample using the above
3174 2001-04-27  Lars Clausen  <lrclause@cs.uiuc.edu>
3176         * plug-ins/shape/shape-export.c (new_shape_renderer): 
3177         The name of a shape is now taken from the dir, to conform with
3178         standard naming.
3180 2001-04-25  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3182         * app/properties.c (properties_show): Added title containing
3183         object type, plus (hopefully) fix of the ghost properties dialog.
3185 2001-04-16  Cyrille Chepelov  <chepelov@calixo.net>
3187         * app/display.c: remove the display idle handler in case we
3188         destroy the ddisplay (caused crashes in ddd, probably random
3189         crashes elsewhere).
3191         * autogen.sh: 
3192         * configure.in:
3193         * Makefile.am: hack around gettext-0.10.36's new "features".
3194         
3195         * lib/properties.[ch]: added new function object_copy_props().
3196         Added new property type PROP_TYPE_ENDPOINTS
3198         * lib/connection.h: added support for load/saving through the
3199         properties interface.
3201         * lib/object.[ch]: object_load/save/copy_using_properties()
3202         support functions (code factorisations).
3203         
3204         * objects/GRAFCET/boolequation.c: check against null values in
3205         boolequation_set_value() and boolequation_destroy().
3207         * objects/GRAFCET/transition.c: Converted from lazyprops to
3208         standard properties. 31% less (x86) code !
3210         * objects/GRAFCET/condition.c: also converted from lazyprops to
3211         standard properties. Also killed lots of code.
3212         
3213 2001-04-13  Hans Breuer  <hans@breuer.org>
3215         * plug-ins/wmf/wmf.cpp : changed text conversion from
3216         g_utf8_utf16 to g_convert usage. The latter function is already
3217         available in tml's last "official" Gtk+ version (2000-12-26).
3218         This change allows to use recent Dia with either the official
3219         version or the latest cvs "gtk-1-3-win32-production"-branch.
3221 2001-04-14  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3223         * Patch from David S. Thompson <dcthomp@mail.utexas.edu>:
3224         * app/disp_callbacks.c:
3225         - Allow submenus in DiaMenus.
3226         - Don't require DiaMenu.title to be non-null (so that
3227           submenus aren't required to have titles)
3229         * objects/FS/function.c:
3230         - object menu now has submenus, an almost complete list of
3231           standard-basis verbs, and a start on nouns.
3232         - box padding, dash length, and other visual attributes are
3233           scaled by the font size... eventually font height will be
3234           a function property.
3235         - draw functions with smaller font to make initial view hold
3236           a reasonable number of functions.
3237         
3238 2001-04-13  Cyrille Chepelov  <chepelov@calixo.net>
3240         * sheets/ER.sheet:
3241         * sheets/chronogram.sheet:
3242         * sheets/jigsaw.sheet:
3243         * sheets/sybase.sheet: Updated Dutch sheet translations from Dag
3244         Wieers <dag@wieers.com>
3246 2001-04-13  Hans Breuer  <hans@breuer.org>
3248         * app/app_procs.c (app_exit) : added g_return_if_fail (!app_exit_once)
3249         to ensure that all the deinitialization is only done once. Fixes
3250         recent app exit crash on win32
3252         * lib/dia_xml.c : provide isinf() replacement for msc which does only
3253         have _finite()
3255         * lib/libdia.def : updated
3257         * objects/makefile.msc : added wanlink.c 
3259         * objects/network/wanlink.c : added M_PI_2 definition for poor
3260         platforms which don't have one
3262         * objects/standard/arc.c :
3263         * objects/standard/zigzagline. c: part of ConectionBBExtras wasn't
3264         initialized which led to rather huge bounding boxes (try Ctrl^A on
3265         diagrams with Arcs or ZigZagLines).
3266         * objects/*/*.c : to avoid further bugs like the above changed all
3267         object initializations to g_malloc0 or g_new0
3270 2001-04-09  Cyrille Chepelov  <chepelov@calixo.net>
3272         * lib/paper.[ch]: get rid of "no previous prototype fo `foo'" by
3273         doing a s/T foo()/T foo(void)/ for all possible values of T and foo.
3275         * objects/UML/class.c: 
3276         * objects/UML/usecase.c:
3277         * objects/UML/large_package.c:
3278         * objects/UML/message.c:
3279         * objects/UML/object.c:
3280         * objects/UML/lifeline.c:
3281         * objects/FS/flow.c:
3282         * objects/FS/flow-ortho.c:
3283         * objects/FS/function.c:
3284         * objects/custom/custom_object.c:
3285         * objects/GRAFCET/vergent.c:
3286         * objects/chronogram/chronoref.c:
3287         * objects/SADT/box.c:
3288         * objects/SADT/annotation.c:
3289         * plug-ins/dxf/dxf-import.c:
3290         * plug-ins/xfig/xfig-import.c:
3291         * plug-ins/wpg/wpg.c:
3292         * app/command.c:
3293         * app/app_procs.c:
3294         * app/display.c: /* certainly more WIP than dead code there */
3295         Unused variables, unused static function definitions, forgotten or
3296         incomplete prototypes added or fixed, lack of const or unwanted const,
3297         etc. (mostly clean-ups of leftovers of the pre-properties era).
3298         Non-obvious cases bracketed by #define THIS_IS_PROBABLY_DEAD_CODE,
3299         please check these.
3301         * app/lineprops_area.c: More of the same. Missing prototypes
3302         added, and functions unused outside made static.
3304         * app/recent_files.c:
3305         * app/properties.c:
3306         * app/defaults.c: some variables are used only when doing a GNOME
3307         build.
3308         
3309         * app/magnify.c: missing #include <stdlib.h>.
3311         * app/paginate_gnomeprint.c: Unused variable; missing "message.h".
3313         These are a lot of clean-ups (by the way, this compiles and runs
3314         cleanly with "gcc-3.0 -O2 -Wall --std=gnu99" too !); please grep
3315         for DEAD_CODE, and if it's yours, judge it.
3316         
3317 2001-04-07  Cyrille Chepelov  <chepelov@calixo.net>
3319         * plug-ins/dxf-import.c: some progress with the arcs; still some
3320         clean-ups to do and line width scaling issues to figure out.
3322         * objects/standard/arc.c: start_point and end_point properties
3323         (duplicated from standard/line.c)
3325         * plug-ins/xfig/xfig-import.c: zip ! zap ! no more dead DXF import
3326         code there.
3327         
3328 2001-04-06  Cyrille Chepelov  <chepelov@calixo.net>
3330         * plug-ins/dxf-import.c: setlocale-related clean-ups and fixes ;
3331         preliminary support for arcs (doesn't work). Circles and ellipses are
3332         now transparent. Coordinate and width scaling are now a common 
3333         static constant (probably before morphing into a preference).
3334         
3335         * sheet/checktrans.py: improved error reporting. Made checktrans
3336         count lack of <name xml:lang="code"> as a lack of translation for
3337         language "code" (no, it's not a plot to bring down other
3338         language's scores !)
3339         
3340         * sheet/*.sheet: Ensured all sheets have an encoding="iso-8859-1"
3341         in the header, and have <name xml:lang="fr"> components.
3342         
3343 2001-04-05  Cyrille Chepelov  <chepelov@calixo.net>
3345         * objects/custom/custom_object.c: temporary hack to fix the shape
3346         bounding box reported by Ben A. Hetland. Proper fix isn't .87
3347         material, see bugzilla #52912.
3349 2001-04-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3351         * objects/standard/image.c (get_directory): Now uses
3352         G_SEPARATOR_CHAR_S instead of "/"
3354         * sheets/network.sheet: 
3355         * sheets/Logic.sheet:
3356         * sheets/Flowchart.sheet:
3357         * sheets/Electric.sheet:
3358         * sheets/Circuit.sheet:
3359         * sheets/ER.sheet:
3360         * sheets/Pneumatic.sheet:
3361         * sheets/SDL.sheet:
3362         * sheets/UML.sheet:
3363         * sheets/GRAFCET.sheet:
3364         * sheets/MSE.sheet:
3365         * sheets/chronogram.sheet:
3366         * sheets/civil.sheet:
3367         * sheets/network.sheet:
3368         Danish translations.
3369         
3370         * objects/standard/image.c (get_directory): Changed get_directory
3371         to use g_dirname to find the directory part.
3373 2001-04-05  Cyrille Chepelov  <chepelov@calixo.net>
3375         * sheets/ER.sheet:
3376         * sheets/Electric.sheet:
3377         * sheets/Flowchart.sheet:
3378         * sheets/Logic.sheet:
3379         * sheets/network.sheet: More Dutch translations from Dag Wieers.
3381 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
3383         * sheets/checktrans.py: now emits a warning when two descriptions
3384         for a single language code are found.
3386         * Makefile.am:
3387         * sheets/Makefile.am: -translation-reports now also depend on their
3388         checktrans.py
3389         
3390 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
3392         * sheets/Circuit.sheet:
3393         * sheets/Contact.sheet:
3394         * sheets/Logic.sheet:
3395         * sheets/chronogram.sheet:
3396         * sheets/sybase.sheet: 
3397         Dutch translations from Dag Wieers <dag@wieers.com>
3399 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
3401         * po-checktrans.py: Now shows the detailed counts alongside the
3402         percentage of translations.
3403         
3404 2001-04-03  Cyrille Chepelov  <chepelov@calixo.net>
3406         * Makefile.am:
3407         * po-checktrans (NEW):
3408         * po-checktrans.py (NEW): builds core-translation-report:
3409         percentages of core (gettext) translations done [Not placed into
3410         po/ where that should belong, because of integration fear^Wissues
3411         with gettextize]. 
3413         TO THE KIND ATTENTION OF PACKAGERS: core-translation-report and 
3414         sheets/sheet-translation-report probably ought to be copied on the 
3415         user's /usr/share/doc/dia (or equivalent) directory.
3417         * sheets/Makefile.am: sheet-translation-report now a simple
3418         EXTRA_DIST; make install won't install it by default. 
3419         
3420 2001-04-03  Cyrille Chepelov  <chepelov@calixo.net>
3422         * app/preferences.c: changed the default grid colour to something
3423         less intrusive. 
3425         * shapes/SDL/*.shape:
3426         * sheets/SDL.sheet: renamed all SDL shapes to conform to the
3427         "$LIBRARY - $NAME" convention. THIS REQUIRES FIXING THE EXISTING
3428         DIA FILES (well, for files using SDL), see the mailing list
3429         archive "SDL (ab)using the global shape namespace" for a script to
3430         do this conversion.
3432         * sheets/SDL.sheet: translated into French
3433         * sheets/network.sheet: fixed XML typos. Yay ! 100% :-)
3434         
3435 2001-04-02  Cyrille Chepelov  <chepelov@calixo.net>
3437         * lib/dia_xml.c: made data_point() more paranoid
3439         * sheets/Makefile.am:
3440         * sheets/checktrans (NEW):
3441         * sheets/checktrans.py: Made checktrans handle more gracefully the
3442         absence of python and python-xml packages, and made the error
3443         message more helpful.
3444         
3445 2001-04-01  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3447         * lib/render_object.c (new_render_object): Made initial handles
3448         behave like on most other objects.
3450         * app/load_save.c (read_objects): Fixed premature free'ing ofr
3451         typestr causing garbage.
3453 2001-04-01  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
3455         * objects/FS/flow-ortho.c: Fixed a crashbug causes by not
3456         accouting for handle ordering through copy and save. (#51479)
3458 2001-03-31  Cyrille Chepelov  <chepelov@calixo.net>
3460         * sheets/Circuit.sheet: Norwegian translation mistagged to German.
3462 2001-03-31  Steffen Macke  <sdteffen@yahoo.com>
3464         * sheets/Circuit.sheet
3465         * sheets/UML.sheet
3466         * sheets/network.sheet: Updated German translations
3467         
3468 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
3469         * lib/arrows.[ch]:
3470         * lib/widgets.c:
3471         * app/lineprops_area.c: The return of the revenge of the arrow
3472         heads. Now all types covered by ISO 10303-201 should be covered.
3473         
3474 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
3476         * sheets/Flowchart.sheet: translations in probably Hungarian were
3477         a victim of cut-n-paste from the German one. Fixed (hopefully).
3478         * sheet/UML.sheet: translation in probably Norwegian was a victim
3479         of cut-n-paste from the French one. Fixed (hopefully).
3480         * sheets/Logic.sheet: French translation not tagged with
3481         xml:lang="fr".
3482         
3483         * sheets/checktrans.py:
3484         * sheets/Makefile.am: new file, sheet-translation-report, to be
3485         installed along the sheets, show how much of them has been
3486         translated into which language (I wish the result was prettier...)
3488         * po/README: most translators don't read this file, but anyway...
3490         * sheets/.cvsignore:
3491         * objects/network/.cvsignore: the usual negotiation with CVS.
3493 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
3495         * sheets/*.sheet: French translations
3497 2001-03-28  Cyrille Chepelov  <chepelov@calixo.net>
3499         Added patch #52363 from Hubert Figuiere <hfiguiere@teaser.fr>:
3501         ** objects/network/network.c:
3502         ** objects/network/wanlink.c:
3503         ** objects/network/pixmaps/wanlink.c:
3504         ** sheets/network.sheet:
3505         ** objects/network/Makefile.am: a better object to use instead of
3506         the older WAN Connection.
3507         
3508         ** lib/geometry.[ch]: rotation matrix functions in geometry.c (derived from gimp)
3510         ** objects/GRAFCET/vector.c: renamed Vector to GRAFCETVector to avoid a
3511         name clash 
3513         * objects/GRAFCET/vector.c: Re-renamed GRAFCETVector into
3514         Arc; kept the C file name (because CVS wouldn't like it), and
3515         still registering the older object name (but advertising the newer
3516         one in sheets/GRAFCET.sheet).   
3518 2001-03-24  Hans Breuer  <hans@breuer.org>
3520         * app/dia.def : some plug-ins (currently only python, xfig) are using 
3521         functions from the dia executable. To get them working these functions 
3522         need to be explicit exported on win32. IMO the much cleaner way would
3523         be to move these functions to libdia, but that would require some
3524         long term restructuring ...
3526         * lib/libdia.def : updated
3528         * plug-ins/makefile.msc : build xfig plug-in
3530 2001-03-24  Hans Breuer  <hans@breuer.org>
3532         * app/diagram.c : g_strdup (dia->filename) because it will be
3533         g_free ()d
3535         * app/display.c : set ddisp->renderer to NULL after destruction.
3536         This may solve or help to identify erroneous access to it after
3537         destruction.
3539         * plug-ins/wmf/wmf.cpp : convert string from utf8 to wchar to
3540         get 'umlauts' working
3542 2001-03-22  Cyrille Chepelov  <chepelov@calixo.net>
3544         * object/chronogram/chronoline_event.c: stupid bug ; rises and falls
3545         were reversed... (look for the patch, and drink a beer to my
3546         stupidity)      
3547         
3548 2001-03-23  Hans Breuer  <hans@breuer.org>
3550         * app/app_procs.c : don't g_error () if the config directory
3551         can't be created (at least not on windoze) because it's quite
3552         common that the user don't read or understand the FAQ ...
3554         * app/cursor.c : use ddisplay_active () instead of active_display
3555         from app/display.c
3557         * app/display.[hc] : made active_display var static and provide
3558         an accessor funtion ddisplay_active_diagram ()
3560         * app/dia-props.c : don't store the active_diagram, but ask
3561         for it everytime it needed.
3563         * lib/properties.h : #include "intl.h"
3565         * lib/makefile.msc : need to take care of inclusion order to
3566         avoid clashes with gtk+2.0's gdk-pixbuf
3568         * objects/makefile.msc : added uml/stereotype.c to build
3570 2001-03-23  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3572         * **/*.c: Added config.h to the remaining .c files, and changed
3573         all to be <config.h>.
3575 2001-03-22  Steffen Macke <sdteffen@yahoo.com>
3577         * lib/arrows.c
3578         * lib/arrows.h
3579         * lib/widgets.c
3580         * app/lineprops_area.c: added new arrow types with double
3581         heads
3582         
3583 2001-03-20  Steffen Macke <sdteffen@yahoo.com>
3585         * shapes/Civil/civil_gas_bottle.xpm
3586         * shapes/Civil/civil_gas_bottle.shape
3587         * sheets/civil.sheet
3588         * shapes/Civil/Makefile.am: Added gas bottle shape by Arne
3589         Battermann
3590         
3591 2001-03-20  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3593         * objects/custom/shape_info.c (load_shape_info): 
3594         * objects/custom/shape_info.h: 
3595         * objects/custom/custom_object.c (custom_update_data): 
3596         Better support for text outside the box -- new attributes 'resize'
3597         and 'align' for text entity.  Align not fully supported yet.
3599         * lib/text.c (text_calc_boundingbox): Adding BB for cursor width.
3601 2001-03-20  James Henstridge  <james@daa.com.au>
3603         * app/interface.c (display_data_received_callback): comment out
3604         status message.
3606 2001-03-19  James Henstridge  <james@daa.com.au>
3608         * app/GNOME_Dia.oaf: rename from GNOME_Dia.oafinfo.
3610         * objects/UML/realizes.c: similar here.
3612         * objects/UML/implements.c: similar here.
3614         * objects/UML/component.c: similar here.
3616         * objects/UML/generalization.c: same here.
3618         * objects/UML/dependency.c: allow NULL for ->name and
3619         ->stereotype.  This fixes a number of problems in loading saved
3620         files.
3622         * lib/properties.c: various changes so that NULL string properties
3623         should work.
3625         * objects/standard/line.c (line_update_data):
3626         line->extra.start_long and line->extra.end_long were not being
3627         initialised.  This fixes potential problems with the bounding box
3628         of "Standard - Line" objects.
3630 2001-03-19  Hans Breuer  <hans@breuer.org>
3632         * app/commands.c : added win32 specific code to display a html
3633         file. #include "text.h" for text_delete_all prototype.
3635         * app/dia.ico :
3636         * app/dia.rc : (new) to give Dia win32 an icon
3638         * app/win32print.[ch] : new files to support direct postscript
3639         file printing on win32. Beware: it *requires* a ps-printer!
3641         * app/paginate_psprint.c : disable the signal code for win32 build
3642         and added small specific changes to support win32print.
3644         * app/makefile.msc : added win32print and linking shell32.lib
3646         * lib/libdia.def : updated
3648 2001-03-18  Kevin Breit <battery841@mediaone.net>
3650         * doc/en/dia-C.omf: Added file.  Dia should now list in the Nautilus
3651           Help tabs.
3653 2001-03-17  James Henstridge  <james@daa.com.au>
3655         * app/paginate_psprint.c (diagram_print_ps): add code that traps
3656         SIGPIPEs during printing.  This gets rid of a number of crashes
3657         caused by printing (eg. typing an incorrect print command).
3659         * dia.spec (%install): gzip the manpage.
3661         * lib/beziershape.c (beziershape_save): fix off by one error in
3662         beziershape save code, which was adding an extra segment to the
3663         object on save.
3665         * app/menus.c: add a separator in the gnome version of the help
3666         menu.
3668         * app/app_procs.c (app_init): add a --nosplash argument which
3669         disables the splash screen.
3671         * app/dia_embedd.c (main): don't leave the splash screen open for
3672         embeddable component.
3674         * app/splash.c (app_splash_init): the gtk_widget_show_now() call
3675         didn't seem to be showing the splash screen like expected, so I
3676         have replaced it with some code that calls gtk_main() until the
3677         first exposure of the window.
3679 2001-03-16  James Henstridge  <james@daa.com.au>
3681         * app/Makefile.am (EXTRA_DIST): add extra pixmaps.
3683         * objects/UML/Makefile.am (libuml_objects_la_SOURCES): add
3684         stereotype.h
3686         * lib/Makefile.am (libdia_a_SOURCES): add diavar.h here.
3688         * app/Makefile.am (dia_core_files): remove splash.h from file
3689         list, as it doesn't exist.
3691         * doc/en/Makefile.am (uninstall-local): remove the docdir on
3692         uninstall.
3694         * doc/Makefile.am (uninstall-local): target to remove the C
3695         symlink.
3697         * dia.spec (%files): include the documentation in the package.
3699         * app/menus.c (toolbox_menu_items): add menu item for manual,
3700         which calls help_manual_callback.
3702         * app/commands.c (help_manual_callback): find help file and load
3703         netscape to view it.
3705         * app/commands.h: add prototype for help_manual_callback()
3707         * doc/Makefile.am (helpdir): similar here.
3709         * doc/en/Makefile.am (helpdir): make the helpdir
3710         $(pkgdatadir)/help/en in the non gnome case.
3712         * configure.in (HAVE_GNOME): add conditional.
3714         * doc/en/Makefile.am: handle the graphics in a more general way,
3715         so it is easier for Kevin to add them to the build (just add them
3716         to the GRAPHICS var).
3718         * app/Makefile.am (embed_extra_print_files): make the case of
3719         building without gnome-print support but with bonobo support work.
3720         dia-embedd needs to be include the gnome-print
3722 2001-03-09  Cyrille Chepelov  <chepelov@calixo.net>
3724         * samples/Makefile.am: included all samples in the distribution....
3725         
3726 2001-03-09  Cyrille Chepelov  <chepelov@calixo.net>
3728         * configure.in: removed premature test for DPS. Added -*- m4 -*-
3729         at the beginning. Made HAVE_UNICODE non-default. po/es_ES.po has
3730         vanished, removed it from ALL_LINGUAS.
3732         * lib/charconv.[ch] (NEW): a very small wrapper around
3733         unicode_iconv to convert strings between utf8 and local charset
3734         (actually, ISO-8859-1, though one can do
3735         CFLAGS="-DEFAULT_8BIT_CHARSET=\"ISO-8859-2\"" and the like).
3737         * lib/ps-utf8.[ch] (NEW): A PostScript Unicoder ; a smallish
3738         library to help build Postscript streams which use as many custom
3739         font encodings as necessary to correctly represent all characters
3740         used (testing from users with non-latin1 and/or more than 256
3741         characters in routine use *very* welcome).
3743         * app/Makefile.am, lib/Makefile.am: integrated these into the
3744         build process.
3746         * shapes/Logic/.cvsignore (NEW): .cvsignore
3747         
3748         * app/render_eps.h: forwarded some changes Lars forgot to include.
3749         * app/render_eps.c: turned off ASCII85 and FILTERS, as this
3750         doesn't yet build.
3752 2001-03-08  Kevin Breit <battery841@mediaone.net>
3754         * doc/en/home_network.png: Added file.
3755         * doc/en/line_props.png: Added file.
3756         * doc/en/usage-objects.sgml: Added two graphics to file.
3757         * doc/en/usage-quickstart.sgml: Added one graphic to file.
3759 2001-03-06  Kjartan Maraas  <kmaraas@gnome.org>
3761         * app/grid.h: Place comment around text after #endif.
3762         * lib/bezier_conn.c: #include <string.h>.
3763         * lib/beziershape.c: #include <string.h>.
3764         * lib/connpoint_line.h: Comment after #endif.
3765         * lib/dia_dirs.c: #include <string.h>.
3766         * lib/element.c: Same.
3767         * lib/lazyprops.c: #include <config.h> and "intl.h".
3768         * lib/lazyprops.h: Comment out text after #endif.
3769         * lib/neworth_conn.c: #include <string.h>
3770         * lib/orth_conn.c: Same here.
3771         * lib/poly_conn.c: Here too.
3772         * lib/polyshape.c: And here.
3773         * lib/properties.c: Remove #include "intl.h" from here and add
3774         an array of static strings to work around bug in gettext that
3775         makes it miss strings in a #define body.
3776         * objects/GRAFCET/action_text_draw.h: Comment out text after #endif.
3777         * objects/GRAFCET/boolequation.h: Same here.
3778         * objects/chronogram/chronoline_event.h: Add prototype for
3779         destroy_cle().
3780         
3781 2001-03-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3783         * objects/FS/function.c: 
3784         * objects/FS/flow.c: 
3785         * objects/FS/flow-ortho.c: 
3786         Updated to use properties.
3788 2001-03-03  James Henstridge  <james@daa.com.au>
3790         * lib/lazyprops.c (__propdlg_build_enum): translate the radio
3791         button labels when creating them.
3793 2001-02-28  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3795         * objects/UML/actor.c
3796         * objects/UML/realizes.c 
3797         * objects/UML/implements.c 
3798         * objects/UML/generalization.c 
3799         * objects/UML/dependency.c 
3800         * objects/UML/constraint.c
3801         Updated to use properties.
3802         
3803         * objects/UML/stereotype.c 
3804         * objects/UML/stereotype.h
3805         Generalized to any kind of bracketting.
3806         
3807 2001-02-28  James Henstridge  <james@daa.com.au>
3809         * app/menus.c: add help entry to the help menu.  Need to get this
3810         working for the non GNOME case as well (maybe put help under
3811         $(datadir)/dia/help for non GNOME?)
3813         * doc/en/topic.dat: add a topic.dat file for GNOME menus.
3815         * doc/en/dia-manual.sgml (legalnotice): add an id attribute to
3816         this element so that we get a meaningful filename in the html
3817         translation.
3819         * doc/Makefile.am, doc/en/Makefile.am: new makefiles to handle the
3820         documentation.
3822         * configure.in (DB2HTML): add a check for the db2html program, and
3823         set an automake conditional if it is found.
3825         * Makefile.am: remove EXTRA_DIST rules that cover doc/ directory,
3826         and descend into doc/ directory while building.
3828         * configure.in (AC_OUTPUT): add doc/ makefiles to output list, now
3829         we need more complex rules for building the docs.
3831 2001-02-25  Hans Breuer  <hans@breuer.org>
3833         * config.h.win32 : some cleanup
3835         * app/prefererences.c : g_scanner_(freeze|thaw)_symbol_table
3836         are deprecated since glib-1.3.2. Sorry needing to use them
3837         contionally, but there is no glib-1.2 for win32
3839         * app/recent_files.c : use g_strescape (params) conditionally
3841         * lib/connection.c : include string.h for memcpy
3843         * lib/geometry.h : added some stuff for compatibility with
3844         msvc, which previously came from included config.h
3846         * lib/libdia.def : updated
3848         * objects/makefile.msc : updated
3850         * objects/GRAFCET/action.c(490) : fixed warning C4700: local variable 
3851         'extra' used without having been initialized
3853         * objects/network/bus.c(658) : initialize 'extra'
3855         * plug-ins/makefile.msc : updated
3857         * plug-ins/cgm/cgm.c :
3858         * plug-ins/pstricks/render_pstricks.c : 
3859         g_free() memory allocated by dia_image_rgb_data(). Plugs possibly 
3860         huge memory leaks.
3862         * plug-ins/python/python.c : use HAVE_DIRENT_H
3864 2001-02-23  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3866         * lib/connection.c (connection_update_boundingbox): 
3867         Made the BB shrink on right and lower sides, too.
3869 2001-02-23  Kjartan Maraas  <kmaraas@gnome.org>
3871         * */*.c: #incude <config.h> at the top.
3872         * */*.h: Remove include of "config.h" since it should only
3873         be included in .c files and at the very top for things to
3874         work.
3875         * sheets/*.sheet: Updated Norwegian translations.
3876         
3877 2001-02-22  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3879         * objects/UML/small_package.c: 
3880         * objects/UML/class.c: 
3881         * objects/UML/node.c: 
3882         * objects/UML/usecase.c:
3883         * objects/UML/lifeline.c: 
3884         * objects/UML/message.c:
3885         Various cleanup of properties in particular.  Now much more use of
3886         standard properties.
3888         * lib/diagramdata.c (layer_render): Visualization of bounding
3889         boxes, for debugging purpoises.
3891 2001-02-22  Cyrille Chepelov  <chepelov@calixo.net>
3893         * lib/geometry.h:
3894         * lib/connection.[ch]:
3895         * lib/poly_conn.[ch]:
3896         * lib/polyshape.[ch]:
3897         * lib/bezier_conn.[ch]:
3898         * lib/beziershape.[ch]:
3899         * lib/orth_conn.[ch]:
3900         * lib/neworth_conn.[ch]:
3901         * lib/element.[ch]: Changed a bit the _update_boundingbox()
3902         interface. Now the parent elements have an extra_spacing
3903         structure, which child objects just need to fill, to take care of
3904         most arrow & line width extra space needs.
3906         * objects/**/*.c: updated all objects to the new interface.
3907         While at it, killed all instances of (Object *) downcasts (phew !)
3909         * objects/GRAFCET/condition.c: removed the arrowhead, which IEC848
3910         doesn't speak about.
3911         
3912 2001-02-21  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
3914         * sheets/Logic.sheet: New sheet for Logic symbols.
3916 2001-02-21  James Henstridge  <james@daa.com.au>
3918         * app/menus.c (dia_gnome_menu_get_widget): new function to find a
3919         widget by its path name.  Walks the GnomeUIInfo heirachy rather
3920         than widget tree, compares untranslated label names and ignores
3921         underscores in the labels.
3922         (menus_get_item_from_path): use dia_gnome_menu_get_widget so that
3923         lookups are not dependent on the current locale, as with
3924         gnome_app_find_menu_pos.
3926         * acconfig.h: guard against multiple inclusion of config.h.
3928         * app/select.c (select_style_callback): simply set the selection
3929         style to the value of action.
3931         * app/menus.c (menus_init): simplify the item factory based menu
3932         code a bit.  It looks like it was using some code cut and pasted
3933         from the gimp, which looked a bit unnecessary.  Things work fine
3934         without it.
3935         (selectmenu): set the action to the type of selection mode
3936         requested.
3937         (display_menu_items): use the symbolic enumeration values for the
3938         action field.
3940         * app/plugin-manager.c: 
3941         * app/plugin-manager.h: 
3942         * app/filedlg.c:
3943         * app/filedlg.h: 
3944         * app/select.c:
3945         * app/select.h: change prototypes.
3947         * app/commands.c: update all callback prototypes, and get rid of
3948         some #ifdef GNOME's.
3950         * app/commands.h: change function prototypes.
3952         * app/dia_embedd.c (save_fn):
3953         s/ex_Bonobo_IOError/ex_BonoboStorage_IOError/
3955         * app/menus.c (menus_init): for gnome menus, use
3956         gnome_app_fill_menu_custom and pass in a GnomeUIBuilderData
3957         structure that proxies the callbacks to have the same signature as
3958         GtkItemFactory type 1 callbacks.
3959         (menus_init): for GTK menus, change from callback type 2 to type
3960         1.
3961         (display_menu_items): add back tearoffs.  I don't know who removed
3962         these for the gtk menu case.
3964 2001-02-20  Kevin Breit <battery841@mediaone.net>
3966         * doc/en/usage-objects-special.sgml: Fixed a few of the special
3967         object descriptions.  More to come in the next few days.
3969 2001-02-20  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3971         * app/render_eps.c: Fixed for internationalized floating point
3972         output. 
3974         * objects/UML/note.c: Fixed properties -- was missing
3975         Get/ApplyPropertiesFunc.  Also improved update to recalculate text
3976         position. 
3978 2001-02-19  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3980         * plug-ins/xfig/xfig-import.c: 
3981         File added importing xfig files.  Still very rough, but good
3982         enough to let others hack on it.
3984 2001-02-07  Cyrille Chepelov  <chepelov@calixo.net>
3986         * app/interface.c:
3987         * app/linewidth_area.c:
3988         * lib/lazyprops.c:
3989         * lib/properties.c:
3990         * lib/widgets.c:
3991         * objects/ER/attribute.c:
3992         * objects/ER/entity.c:
3993         * objects/ER/relationship.c:
3994         * objects/custom/custom_object.c:
3995         * objects/flowchart/box.c:
3996         * objects/flowchart/diamond.c:
3997         * objects/flowchart/ellipse.c:
3998         * objects/flowchart/parallelogram.c:
3999         * objects/standard/box.c:
4000         * objects/standard/textobj.c: per Vlad Harchev's request, made
4001         page sizes of gtk_adjustments different than their step sizes.
4002         When sensible values of page size weren't found (overwhelming
4003         majority of cases), page sizes were set to 10.0 * respective step
4004         size.   
4006 2001-02-07  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
4008         * objects/network/hub.c: 
4009         Patch from Hubert Figuiere applied, adding connection points.
4011 2001-02-02  James Henstridge  <james@daa.com.au>
4013         * app/display.c (new_display): set update id to 0 here.
4014         (ddisplay_update_handler): rename from ddisplay_flush, and set
4015         update_id to 0 at end of processing.
4016         (ddisplay_flush): new implementation that simply sets an idle
4017         handler to perform the actual drawing.
4019         * app/display.h: add structure member to hold the redraw idle
4020         handler id.
4022 2001-01-31  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
4024         * objects/standard/ellipse.c (ellipse_copy): 
4025         * objects/standard/zigzagline.c (zigzagline_copy): 
4026         Fix of copying provided by Martin Hawlisch.
4028 2001-01-23  Kevin Breit <battery841@mediaone.net>
4030         * doc/en/graphics/: added directory
4032         * doc/en/graphics/greendots.png: added file
4034         * doc/en/*sgml: made minor and some major changes to prepare for 1.4
4035         release.
4037 2001-01-23  Kevin Breit <battery841@mediaone.net>
4039         * doc/en/*sgml: made some grammar changes and fixed a few markup bugs.
4040                         thanks to John Fleck!
4042 2001-01-21  Kevin Breit <battery841@mediaone.net>
4044         * doc/en/*sgml: made just minor changes to a few lines; nothing major.
4046 2001-01-12  Michael Meeks  <michael@helixcode.com>
4048         * app/dia_embedd.c (init_server_factory): do a bonobo_activate
4049         so our POA gets setup properly.
4051         * app/paginate_gnomeprint.c (paginate_gnomeprint): g_free
4052         things we g_malloc.
4054         * configure.in: Use bonobox_print.
4056         * app/dia_embedd.c (embeddable_factory): add print interface.
4057         (object_print): impl.
4059 2001-01-11  Michael Meeks  <michael@helixcode.com>
4061         * app/dia_embedd.c (embeddable_factory): aggregate PersistFile.
4062         (load_fn, save_fn): impl.
4063         (view_factory): hide modified status bar, & use activate fn.
4064         (refresh_view): force redraws of the views.
4065         (view_show_hide): split from
4066         (dia_view_activate): here.
4068         * app/diagram.c (diagram_load_into): split from diagram_load.
4069         (new_diagram): simplify bu splittin stuff into
4070         (diagram_init): here.
4072 2001-01-10  Steffen Macke <sdteffen@yahoo.com>
4074         * shapes/jigsaw/*.shape: replaced #000000 with foreground
4075         and #ffffff with background
4076         
4077 2001-01-08  Steffen Macke <sdteffen@yahoo.com>
4079         *configure.in: GTK+-build was broken due to missing
4080         have_bonobo=no
4081         
4082 2001-01-06  Michael Meeks  <michael@helixcode.com>
4084         * app/dia_embedd.c (main): add running context support.
4085         (dia_embeddable_destroy): remove old running object counting.
4086         (embeddable_factory): ditto.
4087         (view_factory): comment out menu path hiding.
4089         * lib/sheet.c (load_register_sheet): use free to free
4090         stuff from libxml not g_free.
4092         * acconfig.h: kill cover for USE_BONOBOX and USE_OAF
4094         * configure.in: remove USE_OAF checks, check for a precice
4095         Bonobo version >= 0.31, revamp bits.
4097         * app/dia_embedd.c (init_server_factory): upd.
4098         (init_dia_factory): remove OAF conditionals, everything uses
4099         oaf now.
4101         * app/GNOME_Dia.oafinfo: rename OAFIIDs
4103         * app/Makefile.am: remove ancient gnorba code.
4104         rename dia.oafinfo to GNOME_Dia.oafinfo
4106 2001-01-07  Hans Breuer <Hans@Breuer.Org>
4108         * config.h.win32
4109         * install.win32
4110         * readme.win32 : some more files required or useful to build 
4111         Dia on win32
4113         * plug-ins/wmf/wmf.cpp : fixed open issues like fill_arc and
4114         fill_bezier implementation, boundary drawing in fill mode, etc.
4115         Next one complaining gets the source, uncommented ...
4117         * shapes/network/router-symbol.xpm 
4118         * shapes/network/switch-atm-symbol.xpm 
4119         * shapes/network/switch-symbol.xpm : removed "-*- picture -*- "
4120         from /* XPM */ header, cause it stopped Dia/gdk_pixbuf to detect 
4121         the files as XPMs. Maybe the X versions of these functions are more
4122         tolerant ...
4124 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
4126         * plug-ins/python/Makefile.am: added libart path
4128         * plug-ins/python/python.c: added dirent.h
4130         * configure.in: added es_ES and pt_BR to ALL_LINGUAS
4131         
4132 2001-01-06  Hans Breuer <Hans@Breuer.Org>
4134         * objects/uml/actor.c
4135         * objects/uml/branch.c
4136         * objects/uml/class.c
4137         * objects/uml/classicon.c
4138         * objects/uml/component.c
4139         * objects/uml/large_package.c
4140         * objects/uml/node.c
4141         * objects/uml/note.c
4142         * objects/uml/object.c
4143         * objects/uml/small_package.c
4144         * objects/uml/state.c
4145         * objects/uml/usecase.c : started to implement the generic property
4146         interface for the uml objects. Would appreciate some help on how
4147         to implement properties which are list of properties themselves,
4148         e.g. member functions and their parameters of UMLClass.
4150 2001-01-06  Hans Breuer <Hans@Breuer.Org>
4152         * plug-ins/python/diamodule.c : finally ported to win32.
4153         Added new objects and implemented register_export function.
4155         * plug-ins/python/pydia-object.h
4156         * plug-ins/python/pydia-display.c
4157         * plug-ins/python/pydia-handle.c
4158         PyObject_HEAD_INIT needs some tweakink on win32. Done in
4159         pydia-object.h; others files simply using it.
4161         * plug-ins/python/pydia-layer.c : reflect 
4162         layer_find_closest_connection(_)point renaming
4164         * plug-ins/python/pydia-object.c : add property properties.
4165         Also change bounding_box to DiaRectangle.
4167         * plug-ins/python/python.c : extended error reporting; use
4168         all *.py files from Dia's plug-in dir instead of hardcoded
4169         test.py. This sollution should be fine with Win32, but on
4170         Unix it may need some tweaking (dunno) ...
4172         * plug-ins/python/export-object.py
4173         * plug-ins/python/export-render.py : test and documentation 
4174         implementations for export filter implementations in Python
4176         * plug-ins/python/pydia-color.[hc]
4177         * plug-ins/python/pydia-diagramdata.[hc]
4178         * plug-ins/python/pydia-error.[hc]
4179         * plug-ins/python/pydia-export.[hc]
4180         * plug-ins/python/pydia-font.[hc]
4181         * plug-ins/python/pydia-geometry.[hc]
4182         * plug-ins/python/pydia-image.[hc]
4183         * plug-ins/python/pydia-properties.[hc]
4184         * plug-ins/python/pydia-property.c
4185         * plug-ins/python/pydia-render.c : new objects in new files 
4187         * plug-ins/python/makefile.am : added new files but can't test it
4189         * plug-ins/python/pydia.def
4190         * plug-ins/python/makefile.msc : for win32 build
4192         * plug-ins/cgm/cgm.c
4193         * plug-ins/dxf/dxf-import.c
4194         * plug-ins/dxf/dxf-export.c
4195         * plug-ins/hpgl/hpgl.c : reflect export API change
4197         * plug-ins/shape/shape-export.c : reflect export API change
4198         and check for libart (better the availibility of a png exporter) 
4199         at run-time instead of compile-time. 
4201 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
4203         * app/recent_files.h was missing from Hans's commit
4205         * plug-ins/shape/shape_export.c: shape export was broken
4206         due to interface changes
4207         
4208 2001-01-05  Hans Breuer <Hans@Breuer.Org>
4210         Applied Steffen's recent file list patch :
4211         * app/Makefile.am : added recent_files.[hc]
4212         * app/diagram.c : add files to recent file list
4213         * app/menus.c : add recent file menu
4214         * app/app_procs.c : changed initialization order to
4215         make recent file list work with command line processing.
4217         The Filter export()/import() functions have got an additional 
4218         parameter to allow multiple filters via one C callback (required
4219         for Python bindings)
4221         * app/commands.[hc] : corrected the signature for gtk menu callback
4222         functions, which actually use the second or third parameter. This
4223         is the absolute minimum change to make these functions/menu entries
4224         work again. Using the other possible gtk menu callback signature
4225         would have required one more function to change. (see mailing list
4226         thread "Objects/Align/Equal Distance" for more information.
4228         * app/disp_callbacks.c : applied Gustavo J.A.M. Carneiro's
4229         zoom-combo focus patch
4231         * app/display.c
4232         * app/interface.c : wrapped the Zoom Combo code into 
4233         #ifndef WITHOUT_ZOOM_COMBO because IHMO it isn't an useabilty
4234         improvement but cluttering the user interface. Also it wasn't
4235         compiling on Win32 anyway. The win32 version does define 
4236         WITHOUT_ZOOM_COMBO to keep the old look. 
4237         There are plans to use the statusbar to display size and placement
4238         of selected objects, whereas the Zoom Combo would need to get out
4239         of the way as well.
4241         Added "Save Changes?" to diagram close dialog. Hopefuly the
4242         Yes/No/Cancel option isn't too much windoze like. IHMO this is
4243         an useability improvement.
4245         * app/export_png.c
4246         * app/filedlg.c
4247         * app/load_save.c
4248         * app/layer_dialog.c
4249         * app/paginate_psprint.c
4250         * app/render_eps.c
4251         - reflect signature changing of filter->export function
4252         - replaced '/' with G_DIR_SEPARARTOR where appropriate
4254         * app/diaunitspinner.c
4255         * app/render_libart.c
4256         added misssing headers like <string.h>
4258         * app/object_ops.c : fixed copy&paste bug in dialog string
4260         * app/splash.c : gdk_widget_show_now () does not ensure actual
4261         drawing of the splash screen, at least not on win32. Reuse the
4262         previous implementation with gtk_main_iteration() again.
4264         * */makefile.msc : make use of the build module (available in
4265         gnome-cvs/build. Updated for other source changes
4267         * lib/filter.h : added an user_data pointer to <ex/im>port()
4268         function signature and Dia<Im/Ex>portFilter to allow different
4269         filters to reuse the same callback function
4271         * lib/font.c : #include <string.h>
4273         * lib/orth_conn.c 
4274         * lib/poly_conn.c 
4275         * lib/poly_shape.c 
4276         * lib/neworth_conn.c
4277         * lib/text.c : don't mix allocator functions (g_)realloc, free, ...
4279         * */*.def : export function definition files required by win32 build
4281         * objects/custom/custom.c : #include <string.h>
4283         * plug-ins/pstricks/render_pstricks.c
4284         * plug-ins/shape/shape_export.c
4285         * plug-ins/svg/render_svg.c
4286         reflect changes to filter export function signature
4288         * plug-ins/wmf/wmf.cpp : fixed indent and scaling. It now should
4289         mostly work as expected
4290         * plug-ins/wmf/wmf_gdi.[hc] : Updated comment. Still not used
4291         to build the wmf plug-in because on the one hand the GDI emulation 
4292         isn't finished and on the other hand it isn't required when building
4293         for win32. Is there anybody out there, who wants to save WMF on non
4294         windoze platforms ?
4296         * plug-ins/wpg/wpg.cpp : fixed scaling to take axis dependent
4297         offset into account.
4299 2001-01-02  Steffen Macke <sdteffen@yahoo.com>
4301         * app/Makefile.am: added missing plug-ins to run_dia.sh
4303         * lib/paper.c: added paper sizes A0, A1, A2
4305         * objects/UML/class.c
4306         objects/UML/class.h
4307         objects/UML/class_dialog.c: added support for colored UML
4308         classes
4309         
4310 2000-12-30  Kevin Breit <battery841@mediaone.net>
4312         * doc/en/usage-customization.sgml: added more content
4314 2000-12-24  Kevin Breit <battery841@mediaone.net>
4316         * doc/en/usage-layers.sgml: added file, contributed by Remypsb
4317         <remy.viard@laposte.net>
4319 2000-12-24  Steffen Macke <sdteffen@yahoo.com>
4321         * added limiting lines to Civil Engineering sheet,
4322         fixed vertical pump icon
4323         
4324 2000-12-20  Steffen Macke <sdteffen@yahoo.com>
4326         * updated/additional Civil Engineering shapes: better icons,
4327         shapes use foreground/background colors now and are filled
4328         
4329 2000-12-03  Kevin Breit  <battery841@mediaone.net>
4331         * doc/en/dia-manual.sgml Integrated a few diffs.  New section should be
4332         the selection <sect1>
4334 2000-11-29  Fredrik Hallenberg  <hallon@lysator.liu.se>
4336         * app/load_save.c (diagram_data_save): avoid using obsoleted
4337         libxml calls (only matters when compiling with libxml2)
4339 2000-11-25  James Henstridge  <james@daa.com.au>
4341         * app/disp_callbacks.c (ddisplay_drop_object): add a function to
4342         handle the tool drops on the canvas.
4344         * app/interface.c (display_data_received_callback): do the check
4345         to make sure that the drag is from a local toolbox here as well.
4347         * app/interface.c (create_tools): unref the pixmap/mask after
4348         creating the GtkPixmap.
4349         (tool_setup_drag_source): function to set up a drag source for
4350         create object tool buttons.
4351         (create_tools): setup drag source for CREATE_OBJECT_TOOL's.
4352         (fill_sheet_wbox): same here.
4353         (create_display_shell): set up the display canvas as a drag
4354         destination.
4355         (display_drop_callback, display_data_received_callback): functions
4356         to handle drops of tool buttons.
4358         * app/menus.c (menus_init): don't use gnome_popup_menu_new().  It
4359         does weird shit to the user_data pointer for a menu item.  Object
4360         alignment should work again now.
4362         * app/splash.c (get_logo_pixmap): don't unref the bitmap if it is
4363         NULL, and mark this function static.
4364         (app_splash_init): use gtk_widget_show_now() instead of the
4365         gtk_main_iteration loop.
4366         (app_splash_init): connecting gtk_widget_destroy to the destroy
4367         signal of a widget seems pretty useless.
4369 2000-11-23  Kevin Breit <battery841@users.sourceforge.net>
4371         * doc/en/dia-manual.sgml:
4372                 Added sect1 for advanced object types.  Starting development
4373                 on that part.
4375 2000-11-18  Kevin Breit <battery841@mediaone.net>
4377         * doc/en/dia-manual.sgml:
4378                 Stupid spelling fixes.
4380 2000-11-18  Kevin Breit <battery841@mediaone.net>
4382         * doc/en/dia-manual.sgml:
4383                 Just some small changes I made.  Props to Greg LeBlanc on the
4384                 recommendations.
4386 2000-11-17  Alexander Larsson  <alla@lysator.liu.se>
4388         * app/display.c:
4389         (ddisplay_add_display_area): Clip input rectangle to
4390         the visible part of the display.
4391         (ddisplay_scroll): Optimization, don't scroll and
4392         redraw if moving to the same position as before.
4394         * app/render_libart.c (renderer_libart_copy_to_window):
4395         Removed sanity check. Now moved to ddisplay_add_display_area().
4397         * lib/diavar.h:
4398         Added return at end of file.
4399         
4400 2000-11-13 Kevin Breit <battery841@mypad.com>
4401         * doc/en/dia-manual.sgml
4402                 Commited manual changes from Henry House <hajhouse@houseag.com>
4404 2000-10-21 Hans Breuer <Hans@Breuer.Org>
4405         * lib/beziershape.c :
4406                 The previous code was accessing unowned memory due to IHMO
4407                 wrong index calculation. Now it appears to be fixed.
4408                 *Please Review!*
4410         * lib/makefile.msc
4411         * plug-ins/makefile.msc
4412         * objects/makefile.msc
4413         * app/makefile.msc: (new files)
4414                 Makefiles for Dia on Win32, Micro$oft VC only.
4416         * plug-ins/pstricks/render_pstricks.c
4417         * plug-ins/dxf/dxf-import.c
4418         * plug-ins/shape/shape-export.c
4419         * plug-ins/svg/render_svg.c
4420         * app/commands.c
4421         * app/filedlg.c
4422         * app/preferences.c
4423         * app/render_eps.c
4424         * lib/sheet.c
4425         * lib/plug-ins.c
4426         * objects/custom/custom.c
4427         * objects/standard/image.c
4428                 portability (not only win32): use HAVE_UNISTD_H, HAVE_DIRENT_H 
4429                 where   appropriate, add missing prototypes like <string.h>
4431         * plug-ins/wmf/wmf_gdi.cpp
4432         * plug-ins/wmf/wmf_gdi.h:
4433                 start of wmf write functions for non Win32 platform. Not 
4434                 finished yet. The other way to get it working maybe to
4435                 link the plug-in against wine libs.
4436                 
4437         * plug-ins/wpg/wpg.c : add missing brace
4439         * app/load_save.c :
4440                 Handling for unknown objects at load time. Previously Dia
4441                 was crashing, if you try to load a file referencing objects
4442                 whiches plug-ins aren't installed/available. Now it spits out 
4443                 a warning and ignores the unknown objects.
4445         * app/interface.c
4446                 toolbox DND support for files like The Gimp does it.
4448         * app/main.c
4449         * app/app_procs.h
4450                 Simple splash screen support and usage.
4452         * app/app_procs.c
4453                 Splash screen, portability fixes, dont' g_error if there is
4454                 g_get_homedir return NULL. This may remove the one and only
4455                 FAQ for Win32.
4457         * app/menus.c :
4458                 Make it compile without ENABLE_NLS
4460         * app/render_libart.c :
4461                 Sanity check to avoid calling libart with wrong window coordinates.
4462                 They come from the update handler. Direct Gdk is dealing nicely
4463                 with coordinates out of range, libart does access un-owned memory
4464                 in this case, mostly causing crashes.
4466         * app/winmain.c: (new file) Export the Win32 Gui version of the
4467                 main function. This file is only required for Windoze.
4469         * app/splash.c: (new file) splash screen implementation
4471         * lib/color.h
4472         * lib/font.h
4473         * lib/diavar.h: (new file)
4474                 moved special variable export code to diavar.h, because it is
4475                 needed in color.h and font.h
4477         * lib/paper.c :
4478                 M$VC cann't export inlined functions. Quick hack to let it
4479                 link again. Probably the glib mechanics should be used here?
4481         * objects/UML/lifeline.c : initialize var before usage
4483         * objects/GRAFCET/step.c : removed unused var
4485 2000-10-14  James Henstridge  <james@daa.com.au>
4487         * app/render_gnomeprint.c (draw_image): change code so images
4488         don't get flipped when printing.
4490         * app/paginate_gnomeprint.c (diagram_print_gnome): check to make
4491         sure that the return value of
4492         gnome_print_context_new_with_paper_size is not NULL.
4494         * app/render_gnomeprint.c (draw_arc): add code to convert arcs
4495         into a series of bezier segments.
4496         (fill_arc): similar code to handle filled arc segments.
4498 2000-10-12  Fredrik Hallenberg  <hallon@lysator.liu.se>
4500         * app/app_procs.c
4501         * app/commands.c
4502         * app/dia-props.c
4503         * app/diagram.c
4504         * app/diagram.h
4505         * app/disp_callbacks.c
4506         * app/display.c
4507         * app/linewidth_area.c
4508         * app/paginate_psprint.c
4509         * app/preferences.c
4510         * app/undo.c
4511         * app/font.c
4512         * app/message.c
4513         * app/neworth_conn.c
4514         * app/orth_conn.c
4515         * objects/standard/box.c: various small changes to get rid of 
4516         annoying warnings (eg faulty prototypes and unused variables)
4518         * app/disp_callbacks.c
4519         * app/cursor.h
4520         * app/magnify.c
4521         * app/magnify.h: update magnify tool icon when pressing/releasing
4522         shift. I will try to make something more general so that similar
4523         things can be used by other tools.
4525         * shapes/SDL/inout.shape
4526         * shapes/SDL/return.shape: fixed some typos
4528 2000-10-09  James Henstridge  <james@daa.com.au>
4530         * objects/custom/shape_info.c (parse_path): apply patch from
4531         Robert Young <robertdotyoung@dsto.defence.gov.au> to fix bug
4532         #25221
4534 2000-10-08  James Henstridge  <james@daa.com.au>
4536         * objects/standard/image.c (image_set_props): if the file could not
4537         be loaded, show the broken image icon.
4539         * plug-ins/Makefile.am (SUBDIRS): add shape to the subdirs list.
4541         * plug-ins/shape/*: the shape export plugin by Steffen Macke.
4543         * app/interface.c (fill_sheet_wbox): use gdk-pixbuf to load the
4544         object icon when loading from a file.  This allows you to have PNG
4545         icon files for shapes.
4547 2000-10-07  James Henstridge  <james@daa.com.au>
4549         * app/Makefile.am (dia_LDADD): remove GDK_IMLIB_LIBS reference.
4551         * lib/Makefile.am, app/Makefile.am (INCLUDES): remove
4552         GDK_IMLIB_CFLAGS reference.
4554         * app/commands.c (help_about_callback): remove imlib code.
4556         * lib/dia_image.c: only include the pixbuf version of the image
4557         routines.
4559         * acconfig.h: remove the HAVE_GDK_PIXBUF flag from here.
4561         * configure.in (CPPFLAGS): remove the check for imlib, as we now
4562         require gdk-pixbuf.
4564         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer):
4565         conditionally define \setfont as well.
4567 2000-10-05  James Henstridge  <james@daa.com.au>
4569         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): fix
4570         preamble so that we define \setlinejoinmode and \setlinecaps
4571         commands conditionally on them being undefined.  This way, the
4572         pstricks output files should work without modification, and will
4573         support the commands when they are implemented in pstricks.
4575 2000-10-05  Szabolcs Ban  <shooby@gnome.hu>
4577         * dia.desktop: added hungarian translations to dia.desktop
4579 2000-10-04  James Henstridge  <james@daa.com.au>
4581         * sheets/UML.sheet: fix typo.
4583         * objects/custom/shape_info.c: use strtod instead of g_strtod.
4584         (parse_path): actually call setlocale around strtod calls.
4586         * lib/dia_xml.c: use strtod rather than g_strtod.  We wrap each
4587         call in setlocale(LC_NUMERIC, "C"), so there is no reason to call
4588         the g_strtod wrapper.
4590         * shapes/SDL/: add SDL shapes from Rubens Ramos
4591         <rubens_ramos@yahoo.com>
4593         * acinclude.m4 (DIA_CHECK_CFLAG): fix up macro.
4595         * sheets/Makefile.am (SHEETS): add SDL.sheet to list.
4597         * shapes/MSE/: add Mobile Subscriber Equipment shapes from
4598         W. Michael Petullo <mike@flyn.org>.
4600         * sheets/Makefile.am (SHEETS): add civil.sheet (which got missed
4601         from the 0.86 tarball) and jigsaw.sheet.
4603         * configure.in: add shapes/jigsaw/Makefile to list of generated files.
4605         * shapes/jigsaw/: jigsaw shapes from Martin Hawlisch.
4607         * shapes/network/: add network-additional shapes here.
4609         * sheets/network.sheet: add the network-additional shapes from
4610         Martin Hawlisch <Martin.Hawlisch@bflow.com> to the main network
4611         sheet.
4613 2000-09-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
4615         * configure.in: Updated ALL_LINGUAS
4617         * po/nl.po: Removed newline from translation
4619 2000-09-17  Asbjorn Pettersen  <asbjornP@dualog.no>
4621         * app/commands.c (help_about_callback): Use G_DIR_SEPARATOR_S in 
4622         logo filename generation. 
4624         * lib/dia_dirs.c (dia_get_data_directory): Handle empty subdir better.
4625         Avoiding "//dia_logo.png".
4627 2000-09-16  Asbjorn Pettersen  <asbjornP@dualog.no>
4629         * app/filedlg.c: add include <sys/types.h> to
4630         remove warning. (OS/2)
4632 2000-09-13  Cyrille Chepelov <chepelov@calixo.net>
4634         * objects/chronogram/chronoline_event.c (reparse_clevent):
4635         the __checksum routine was simply bogus. Redone it in a slightly
4636         saner way (reported by Michael Farr <mfarr@cs.latrobe.edu.au>).
4638 2000-09-10  Asbjorn Pettersen  <asbjornP@dualog.no>
4640         * app/create_object.c (create_object_button_press): 
4641         * app/modify_tool.c (click_select_object): 
4642         * lib/object.h: select renamed to selectf to prevent
4643         compiler problems with function select().  OS/2 version.
4645 2000-09-08  Karsten Weiss  <knweiss@gmx.de>
4647         * po/de.po: Updated.
4649 2000-09-07  Karsten Weiss  <knweiss@gmx.de>
4651         * dia.desktop: Added German translation
4652         * app/menus.c: "Diagram Propeties..." -> "Diagram Properties..."
4654 2000-08-29  Manuel de Vega Barreiro <barreiro@arrakis.es>
4656         * configure.in (ALL_LINGUAS): added "es"
4658 2000-08-28  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
4660         * app/magnify.c:
4661         * app/cursor.h:
4662         * app/cursor.c:
4663         * app/scroll_tool.c:
4664         Standardized cursor function get_cursor().  Magnify now has
4665         looking-glass cursor with + and -.
4667         * app/create_object.c (create_object_button_press): 
4668         Newly created connections now snap to connection points even when
4669         off the grid. 
4671 2000-08-17  Daniel Egger  <egger@suse.de>
4673         * app/menus.c: #ifdef'ed some code for the none GNOME
4674         case.
4675         * app/dia_embedd.c: Changed obvious hackery. Can anyone
4676         please have a look at the GNOME UI menu creation? The
4677         gnome-app-helper code is ages old and plainly broken!
4679 2000-08-15  Daniel Egger  <egger@suse.de>
4681         * app/commands.c:
4682         * app/commands.h:
4683         * app/diagram.c:
4684         * app/display.c:
4685         * app/menus.c:
4686         * app/select.c: First big patch to get the menus
4687         working again in the international version. Copied
4688         some code written by Sven and me from GIMP and
4689         thus implemented automatic tearoffmenu creation and
4690         proper translation. I also removed that pseudo
4691         radiomenu hack and cleaned up several translation
4692         hacks which have never really worked. All in all
4693         this is part I of the big menu patch. Enjoy and tell
4694         me if you detect any problems.
4696 2000-08-14  Daniel Egger  <egger@suse.de>
4698         * sheets/UML.sheet: Changed one German translation as
4699         suggested by Heribert Schuetz <hs@heribert-schuetz.de>.
4701 2000-08-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
4703         * app/diapagelayout.c:
4704         * lib/diagramdata.c:
4705         * lib/diagramdata.h:
4706         * lib/Makefile.am:
4707         * lib/paper.c:
4708         * lib/paper.h: honour PAPERCONF env variable and /etc/papersize when
4709         selecting paper size for a new diagram. TODO: Use libpaper if 
4710         available and use gnome_paper-stuff if using GNOME.
4712         * sheets/Electric.sheet: fixed typo.
4713         
4714 2000-08-08  James Henstridge  <james@daa.com.au>
4716         * po/README: added a readme file to tell translators to translate
4717         the .sheet files as well.
4719         * app/commands.c (help_about_callback): fix small bug where we tried
4720         to gdk_bitmap_unref() the mask for the about box image, even though
4721         it was NULL.  Now check for a NULL mask.
4723 2000-08-07  Daniel Egger  <egger@suse.de>
4725         * sheets/*.sheet: Added translations for the name
4726         in the toolbar tab. Brushed up some descriptions 
4727         and some translations a bit.
4729 2000-08-06  James Henstridge  <james@daa.com.au>
4731         * plug-ins/svg/render_svg.c (new_svg_renderer): update public
4732         identifier and dtd url for SVG output.
4733         (new_svg_renderer): fix the output of the viewBox output.  The
4734         second two numbers are the width and height -- not the right
4735         and bottom sides of the box.
4737         * shapes/*/*.shape: update svg namespace URI.
4739         * objects/custom/shape_info.c (load_shape_info): change the
4740         namespace URI for custom shapes yet again to match the Candidate
4741         Recommedation.  It looks like this one will probably be the final
4742         one.
4744         * app/display.c (new_display): remove the code that sets ic and
4745         ic_attr members to NULL, as one of the previous function calls
4746         causes the display to be realised.  This means that the ic gets
4747         lost.  Thanks to Yukihiro Nakai <ynakai@redhat.com> for finding
4748         this one.
4750 2000-08-06  James Henstridge  <james@daa.com.au>
4752         * shapes/Makefile.am (SUBDIRS): add Civil back to list.
4754         * NEWS: fixed date in NEWS file, as I will release today.
4756         * README: updated the README a little.  Added note that Dia is now
4757         a GNU program.
4759         * dia.spec: fix up spec file.
4761         * plug-ins/wpg/wpg.c: changed DIAG_NOTE stuff here as well.
4763         * plug-ins/hpgl/hpgl.c: change Hans's DIAG_NOTE stuff so that we don't
4764         get heaps of warnings when you turn off debugging.
4765         Also made a few other warning fixes.
4767 2000-08-02  James Henstridge  <james@daa.com.au>
4769         * plug-ins/svg/Makefile.am (INCLUDES): add XML_CFLAGS to INCLUDES.
4771         * configure.in: update version number.
4773 2000-08-01  James Henstridge  <james@daa.com.au>
4775         * app/commands.c (help_about_callback): add Hans to about dialog.
4777         * doc/shape.dtd: dtd for shape file format.
4779         * doc/custom-shapes: update doc file about creating custom shapes.
4781         * shapes/*/*.shape: change namespace URI for the SVG portion to the
4782         one for the latest draft.
4784         * shapes/*/*.shape: fix up rect definitions.
4786         * objects/custom/shape_info.c (load_shape_info): recognise newer
4787         namespace tag for SVG.
4788         (parse_svg_node): the rect element should take attributes x, y, width
4789         and height -- not x1,y1,x2,y2.
4791         * plug-ins/svg/render_svg.c (new_svg_renderer): updated doctype
4792         output to use the newest draft DTD.
4794         * plug-ins/svg/svg.c: initialisation code for plugin.
4796         * plug-ins/svg/render_svg.c: move svg export code to a plugin.
4798         * plug-ins/svg/Makefile.am: makefile for svg plugin.
4800         * app/app_procs.c (internal_plugin_init): don't register the svg
4801         export filter here.
4803         * app/Makefile.am (dia_core_files): don't compile in render_svg.[ch]
4805 2000-07-31  James Henstridge  <james@daa.com.au>
4807         * objects/standard/textobj.c (textobj_get_defaults): 
4808         * objects/standard/polygon.c (polygon_get_defaults): 
4809         * objects/standard/image.c (image_get_defaults): 
4810         * objects/standard/ellipse.c (ellipse_get_defaults): 
4811         * objects/standard/box.c (box_get_defaults): 
4812         * objects/standard/beziergon.c (beziergon_get_defaults): 
4813         * objects/flowchart/parallelogram.c (pgram_get_defaults): 
4814         * objects/flowchart/ellipse.c (ellipse_get_defaults): 
4815         * objects/flowchart/diamond.c (diamond_get_defaults): 
4816         * objects/flowchart/box.c (box_get_defaults): 
4817         * objects/custom/custom_object.c (custom_get_defaults): 
4818         * objects/FS/flow.c (flow_get_defaults): 
4819         * objects/FS/flow-poly.c (flow_get_defaults): 
4820         * objects/FS/flow-ortho.c (orthflow_get_defaults): ref and sink the
4821         defaults widget.
4823         * app/defaults.c (defaults_show): don't keep on ref'ing the defaults
4824         widgets for various object types.
4825         (create_dialog): ref and sink the no_defaults_dialog.
4827         * app/preferences.c (prefs_create_dialog): change
4828         gtk_container_border_width call to gtk_container_set_border_width.
4830 2000-07-29  James Henstridge  <james@daa.com.au>
4832         * app/commands.c (view_aa_callback): show a warning dialog if
4833         you start AA mode.
4835         * app/interface.c (fill_sheet_menu): don't add a menu item for
4836         empty sheets.
4838 2000-07-26  James Henstridge  <james@daa.com.au>
4840         * plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677
4842         * app/menus.c: remove edit grid menu item.
4844         * app/commands.[ch] (view_edit_grid_callback): removed.
4846         * app/display.c (new_display): don't initialise removed Grid members.
4848         * app/grid.c: remove unused functions.
4850         * app/grid.h: remove dialog related stuff from Grid structure.
4851         Remove prototypes for dialog functions.
4853         * app/menus.c: add to menus
4854         
4855         * app/commands.[ch] (view_diagram_properties_callback): new command
4856         for showing the diagram properties dialog.
4858         * app/dia-props.[ch]: a new diagram properties dialog.  To replace
4859         the edit grid dialog.
4861 2000-07-25  James Henstridge  <james@daa.com.au>
4863         * app/grid.c (grid_x_update): 
4864         (grid_y_update): as the grid setting is stored with the diagram,
4865         update all displays when a change is made.
4867         * app/modify_tool.c (modify_motion): use new snap_to_grid sig.
4869         * app/create_object.c (create_object_button_press): 
4870         (create_object_motion): use new snap_to_grid signature.
4872         * app/grid.c (grid_draw): use the grid settings in the DiagramData,
4873         and handle invisible grid lines.
4874         (snap_to_grid): use new grid settings.  Also changed signature to
4875         take a DDisplay rather than Grid pointer.
4876         (grid_show_dialog): get the defaults from the correct place.
4878         * app/display.c (new_display): do not set ddisp->grid.width_[xy].
4880         * app/diagram.c (new_diagram): set the grid size defaults from the
4881         user preferences.
4883         * app/load_save.c (diagram_data_save): save grid and guide info to
4884         diagram file.
4885         (diagram_data_load): add guide and grid load support.
4887         * lib/diagramdata.c (new_diagram_data): set the new DiagramData
4888         members.
4890         * lib/diagramdata.h: add members to DiagramData for grid and guide
4891         settings.
4893         * configure.in (BONOBO_LIBS): update configure scripts
4895         * app/dia.oafinfo: oafinfo file for dia embeddables.
4897         * app/dia_embedd.c: add OAF support.
4899 2000-07-24  James Henstridge  <james@daa.com.au>
4901         * plug-ins/wpg/Makefile.am: 
4902         * plug-ins/pstricks/Makefile.am: 
4903         * plug-ins/hpgl/Makefile.am: 
4904         * plug-ins/dxf/Makefile.am: same here.
4906         * plug-ins/cgm/Makefile.am: remove LIBADD.  Dia already links with
4907         the required libraries, and the link line was causing libtool not
4908         to build a shared library on some systems :(
4910         * plug-ins/cgm/cgm.c (write_real): the initial if statement should
4911         be checking x, not n.
4913 2000-07-23  James Henstridge  <james@daa.com.au>
4915         * app/preferences.c (prefs_data): set the "reset tools after
4916         create" preference to true by default.  That seems to be what most
4917         people expect.
4919         * app/interface.c (create_sheets): instead of a notebook, use an
4920         option menu that updates the sheet tools.  The notebook tabs were
4921         getting a bit unwieldly, so the option menu should fix that.  This
4922         also reduces the number of widgets in the tools radio button
4923         group, which should make the UI a little more responsive.
4925 2000-07-19  Fatih Demir <kabalak@gmx.net>
4926         
4927         * configure.in: Added tr to ALL_LINGUAS.
4928                 [ Yeah, we're now having a Turkish translation,
4929                    too. ]
4930         
4931         * dia.desktop: Added the Turkish entries.
4933 2000-07-02  Fredrik Hallenberg  <hallon@lysator.liu.se>
4935         * doc/diagram.dtd: changed string-element so it conforms to the
4936         output from dia.
4938 2000-06-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
4940         * configure.in: added chinese. 
4941         Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL.
4943         * app/app_procs.c:
4944           app/load_save.c:
4945           app/render_svg.c:
4946           lib/dia_xml.c:
4947           lib/plug-ins.c:
4948           lib/sheet.c:
4949           objects/custom/shape_info.c: 
4950           shapes/Circuit/npn.shape:
4951           shapes/Circuit/pnp.shape:
4952           sheets/*.sheet: dia now works with libxml2.
4953         Libxml2 is a bit more picky when parsing xml and reported errors on all 
4954         sheet files because they use non ascii characters (added 
4955         encoding="iso-8859-1"). Also "xml:lang=en@layman" is not proper xml so 
4956         I commented out these.
4958 2000-06-30  Christopher R. Gabriel  <cgabriel@linux.it>
4960         * configure.in (ALL_LINGUAS): added Italian
4962 2000-06-27  Sung-Hyun Nam  <namsh@lgic.co.kr>
4964         * configure.in (ALL_LINGUAS): added Korean
4966 2000-06-25  James Henstridge  <james@daa.com.au>
4968         * objects/flowchart/parallelogram.c (pgram_create): use default font
4969         and add properties interface support.
4971         * objects/flowchart/ellipse.c (ellipse_create): use default font and
4972         add properties interface support.
4974         * objects/flowchart/diamond.c (diamond_create): use default font and
4975         add properties interface code.
4977         * objects/flowchart/box.c (box_create): use default font.
4979         * objects/custom/custom_object.c (custom_create): use default font
4980         here too.
4982         * objects/standard/textobj.c (textobj_create): update to use default
4983         font.
4985         * lib/attributes.c: add implementations.
4987         * lib/attributes.h (attributes_[gs]et_default_font): add function
4988         prototypes for setting/getting a default font.
4990 2000-06-24  James Henstridge  <james@daa.com.au>
4992         * app/paginate_gnomeprint.h: updated prototype.
4994         * app/paginate_gnomeprint.c (paginate_gnomeprint): update to use
4995         diagram page settings.
4997         * objects/standard/beziergon.c (beziergon_copy): same here.
4999         * objects/standard/polygon.c (polygon_copy): copy the fill colour
5000         as well.
5002         * app/undo.h: 
5003         * app/tool.h (tool_options_dialog_show): 
5004         * app/scroll_tool.h (free_scroll_tool): 
5005         * app/render_svg.h: 
5006         * app/render_libart.h (renderer_libart_copy_to_window): 
5007         * app/render_gdk.h (renderer_gdk_copy_to_window): 
5008         * app/properties.h (properties_hide_if_shown): 
5009         * app/preferences.h (prefs_load): 
5010         * app/object_ops.h: 
5011         * app/modify_tool.h (free_modify_tool): 
5012         * app/magnify.h (free_magnify_tool): 
5013         * app/linewidth_area.h (linewidth_area_create): 
5014         * app/layer_dialog.h: 
5015         * app/handle_ops.h (handle_is_clicked): 
5016         * app/group.h: 
5017         * app/grid.h (grid_destroy_dialog): 
5018         * app/defaults.h (defaults_show): 
5019         * app/cut_n_paste.h (cnp_exist_stored_objects): 
5020         * app/create_object.h (free_create_object_tool): 
5021         * app/connectionpoint_ops.h (diagram_unconnect_selected): 
5022         * app/commands.h: 
5023         * app/color_area.h (color_area_create): 
5024         * app/app_procs.h (app_is_embedded): remove extern keyword from
5025         function prototypes.
5027         * lib/text.h: 
5028         * lib/sheet.h (load_all_sheets): 
5029         * lib/render_store.h: 
5030         * lib/render_object.h (render_object_load): 
5031         * lib/polyshape.h (polyshape_closest_segment): 
5032         * lib/poly_conn.h (polyconn_closest_segment): 
5033         * lib/orth_conn.h: 
5034         * lib/object.h: 
5035         * lib/objchange.h (new_object_state_change): 
5036         * lib/neworth_conn.h (neworthconn_add_segment): 
5037         * lib/message.h (message_error): 
5038         * lib/lazyprops.h: 
5039         * lib/geometry.h: 
5040         * lib/font.h (font_descent): 
5041         * lib/focus.h (remove_focus): 
5042         * lib/element.h: 
5043         * lib/diagramdata.h: 
5044         * lib/dia_xml.h (data_add_composite): 
5045         * lib/dia_image.h: 
5046         * lib/connpoint_line.h: 
5047         * lib/connection.h (connection_move_handle): 
5048         * lib/color.h: 
5049         * lib/attributes.h (attributes_set_default_line_style): 
5050         * lib/arrows.h (arrow_draw): remove extern keyword from function
5051         definitions.  It is not required for functions.
5053         * plug-ins/dxf/Makefile.am (INCLUDES): 
5054         * plug-ins/pstricks/Makefile.am (INCLUDES): 
5055         * plug-ins/cgm/Makefile.am (INCLUDES): 
5056         * objects/SADT/Makefile.am (INCLUDES): 
5057         * objects/chronogram/Makefile.am (INCLUDES): 
5058         * objects/GRAFCET/Makefile.am (INCLUDES): 
5059         * objects/flowchart/Makefile.am (INCLUDES): 
5060         * objects/sybase/Makefile.am (INCLUDES): 
5061         * objects/FS/Makefile.am (INCLUDES): 
5062         * objects/standard/Makefile.am (INCLUDES): 
5063         * objects/network/Makefile.am (INCLUDES):
5064         * objects/UML/Makefile.am (INCLUDES): same here.
5066         * objects/ER/Makefile.am: changed inclusion of some macros to
5067         variables.
5069         * lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to
5070         handle the plug in extension, rather than have all the #ifdef's in
5071         the code.
5073         * plug-ins/Makefile.am: add renderer.inc to dist.
5075         * plug-ins/dxf/dxf-import.c: Updates from Steffen Macke.
5077 2000-06-11  Asbjorn Pettersen  <asbjornP@dualog.no>
5079         * lib/plug-ins.c: Handle OS/2 dll's too.
5081 2000-06-07  James Henstridge  <james@daa.com.au>
5083         * app/plugin-manager.c (get_plugin_manager): set some table
5084         packing options to make it look a little nicer.
5086         * plug-ins/hpgl/Makefile.am, plug-ins/wpg/Makefile.am: added
5087         makefiles for these plug-ins.
5089         * plug-ins/{hpgl,wmf,wpg}/*: removed dos style cariage returns.
5091         * configure.in: added hpgl and wpg directories to build.  Added
5092         note about whether gnome-print support was enabled, and noted that
5093         it is not recommended.
5095 2000-06-06  James Henstridge  <james@daa.com.au>
5097         * plug-ins/{hpgl,wmf,wpg}/*: Hans Breuer's plug-ins.  They still need
5098         a little work, but I am checking them in so I don't lose them.
5100 2000-06-01  James Henstridge  <james@daa.com.au>
5102         * objects/standard/arc.c: added extra properties.
5104         * lib/beziershape.c (beziershape_closest_handle): fix a bug where I
5105         was using the wrong index into the handles array.  This gets corner
5106         type changing working correctly.
5108         * lib/properties.[ch]: add support for BezPoint's and BezPoint arrays
5109         to properties code (no editing or loading yet though).  Also added
5110         support for point array manipulation through the offsets interfaces.
5112         * lib/Makefile.am (INCLUDES): added include of gdk-pixbuf 
5114         * app/interface.c (origin_button_press): changes so the origin
5115         button doesn't grab the pointer when we pop up the menu.
5117         * app/commands.c (help_about_callback): fix small memory leak in
5118         about box code.
5120         * app/menus.c (menus_init): fixed breakage I introduced in the non
5121         gnome menus when I was doing the menu changes.  The tearoffs work
5122         really nicely in plain gtk mode as well.
5124         * objects/standard/beziergon.c (beziergon_create): changed the
5125         returned handles to match the handle numbering changes.  Now
5126         segment addition and removal works correctly with undo!
5128         * lib/beziershape.c: various changes to the code.  Changed the
5129         numbering of handles, and fixed the segment removal code.
5131 2000-05-31  James Henstridge  <james@daa.com.au>
5133         * objects/standard/beziergon.c: remove connection point handling.
5134         There is still a bit of work to be done to get adding and removing
5135         of segments working correctly.
5137         * lib/beziershape.c: add connection point handling to beziershape.
5138         I set it for two connection points per segment.
5140 2000-05-30  James Henstridge  <james@daa.com.au>
5142         * objects/standard/polygon.c: don't do connectionpoint handling.
5144         * lib/polyshape.c: changed to handle connection points internally.
5145         Also, don't worry about connections to handles on polyshape, as
5146         all handles are non connectable.
5148 2000-05-30 Ville Hautamaki <villeh@cs.joensuu.fi>
5150         * configure.in: Added finnish
5151         
5152 2000-05-30  James Henstridge  <james@daa.com.au>
5154         * sheets/*.sheet: translation updates to the .sheet files.
5156         * po/fr.po: updated po file from Christophe Merlet.
5158         * menus.h: removed prototypes for functions which have been removed.
5160 2000-05-29  James Henstridge  <james@daa.com.au>
5162         * app/layer_dialog.c (layer_dialog_set_diagram): set the selected
5163         item in the option menu when changing selected diagram.
5165         * app/dia_embedd.c (view_factory): fix up function to work with new
5166         menus API.
5168         * app/disp_callbacks.c (ddisplay_realize): remove call to
5169         display_set_active from here.
5170         (ddisplay_canvas_events): move call here.  This gets rid of all the
5171         warnings, as the renderer has been fully set up correctly at this
5172         point.
5174         * app/menus.c (menus_init): add the tearoff item to the start of the
5175         right click menu.
5177         * app/app_procs.c (create_user_dirs): we don't need to create the
5178         menus directory anymore.
5180         * app/disp_callbacks.c (ddisplay_popup_menu): it should not be
5181         necessary to update the menu state here, as it was done when the
5182         active display was set.
5184         * app/display.c (display_set_active): update the menu state when
5185         changing active displays.
5187         * app/interface.c (origin_button_press): set the display as active
5188         when a click is made on the menu button.
5190         * app/menus.c (menus_init): set up a quit function to save the accels
5191         at exit.
5192         Add tearoff items for the non GNOME menus, add accelerators for
5193         several GNOME menus.
5195         * app/disp_callbacks.c (ddisplay_popup_menu): get the menu with
5196         menus_get_image_menu().
5198         * app/menus.c (menus_get_item_from_path): use display_menus here
5199         rather than ddisp->popup.
5201         * app/display.h: remove the popup member in the DDisplay structure.
5203         * app/interface.c: remove option of not using wrap box.
5204         (create_toolbox): change to always use menus_get_toolbox_menubar
5205         even when using gnome menus.
5206         (create_display_shell): use menus_get_image_menu to load accelerators
5207         only -- not the actual popup menu.
5209         * app/menus.c (menus_init): new function to create the menus.
5210         (menus_get_toolbox_menubar): use this function whether gnome is
5211         in use or not.  Changed to use menus_init.
5212         (menus_get_image_menu): same here.  Also, now this function always
5213         returns the same menu, rather than a new one each time.
5214         (menus_init): read a menurc file to load accelerators here.
5216 2000-05-28  James Henstridge  <james@daa.com.au>
5218         * app/display.c (ddisplay_really_destroy): unset active display if
5219         active display is destroyed.
5220         (ddisplay_active): simplify function to return active_display as set
5221         by display_set_active.  This allows using a pinned menu with any
5222         display -- not just the one it was popped up from.
5223         (display_set_active): notify the layer dialog of change of diagrams
5224         when active diagram changes.
5226         * app/disp_callbacks.c (ddisplay_canvas_events): set active display
5227         on button and key presses.
5228         (ddisplay_realize): set active display on realize.
5230         * app/display.c (display_set_active): simple implementation of this
5231         function.
5233         * app/display.h (display_set_active): add prototype for setting
5234         the active display.
5236         * app/interface.c (create_display_shell): don't give focus to the
5237         menu button.
5239         * app/menus.c: fix up menus for Beziergon.
5241         * app/interface.c (create_display_shell): make the widget in the
5242         top left corner a button that can be used to pop up the right click
5243         menu, like in gimp and sketch.
5245         * app/disp_callbacks.c (ddisplay_popup_menu): new function to popup
5246         the display menu.
5248         * objects/standard/beziergon.c (beziergon_set_corner_type_callback):
5249         add code to set corner types for beziergon.
5251         * lib/beziershape.c (beziershape_set_corner_type): fix up corner type
5252         setting code.
5253         (beziershape_move_handle): use the previous corner type for right
5254         controls.
5256         * app/interface.c (tool_data): add beziergon to toolbox.
5258         * objects/standard/standard.c (dia_plugin_init): initialise the new
5259         Beziergon object type.
5261         * objects/standard/beziergon.c: an object based on BezierShape.
5263         * lib/dummy_dep.h (dummy_dep): added to dummy_dep.
5265         * lib/beziershape.[ch]: new files implementing a bezier shape.
5267 2000-05-26  James Henstridge  <james@daa.com.au>
5269         * lib/text.c (text_key_event): handle multibyte inserts.
5270         (text_key_event): also add home and end keybindings.
5272         * app/interface.c (create_display_shell): connect handlers for
5273         focus_in_event, focus_out_event, realize and unrealize signals.
5275         * app/display.[ch] (new_display): initialise input context members.
5277         * app/disp_callbacks.[ch]: added XIM support here.
5279         * lib/font.c (suck_font): the black and white pixel values should be
5280         taken from a 1 bit colormap rather than the default colormap.
5282         Hans Breuer's Windows patches ...
5284         * lib/font.c: use Courier New for fixed width font on windows
5285         machines.
5287         * lib/dia_image.h: change to "struct _DiaImage".
5289         * lib/dia_image.c: change "struct DiaImage" to "struct _DiaImage"
5291         * app/disp_callbacks.c (ddisplay_canvas_events): allow ctrl+right
5292         mouse button for object menu.  This will make two button mouse owners
5293         happier.
5295 2000-05-25  James Henstridge  <james@daa.com.au>
5297         * app/filedlg.c (file_open_ok_callback): use diagram_load here.
5299         * app/app_procs.c (app_init): add extra NULL argument to call of
5300         diagram_load.
5302         * app/load_save.h: remove prototype.
5304         * app/load_save.c: remove diagram_data function here.
5306         * app/diagram.h: added prototype.
5308         * app/diagram.c (diagram_load): new function here, which uses import
5309         filters.
5311         * plug-ins/dxf/dxf.c: register the import filter as well.
5313         * plug-ins/dxf/dxf-import.c: added (unfinished) DXF import filter from
5314         Steffen Macke <macke@heini.fbbwu.fh-lueneburg.de>
5316         * objects/standard/line.c: add start_point and end_point properties
5317         to standard line object.
5319 2000-05-21  James Henstridge  <james@daa.com.au>
5321         * app/paginate_psprint.c: added missing include of locale.h.
5323         * objects/custom/custom_object.c (custom_draw): use fabs rather than
5324         abs for scaling factors.
5325         (custom_distance_from): same here.
5327         * dia.spec: make sure rpm doesn't bomb out when LINGUAS isn't set.
5329 2000-05-18  James Henstridge  <james@daa.com.au>
5331         * po/POTFILES.in: updated POTFILES.in.
5333         * dia.spec: incremented version number in spec file.
5335         * NEWS: added (lots of) news items for the 0.85 release.
5337         * app/preferences.c (prefs_save): set LC_NUMERIC to C while writing
5338         the config file.
5340         * configure.in: updated version number here.
5342         * app/Makefile.am (run_dia.sh): include plug-ins in the lib path.
5344 2000-05-17  James Henstridge  <james@daa.com.au>
5346         * app/app_procs.c (internal_plugin_init): register the native import
5347         filter.
5349         * app/load_save.c (diagram_data_load, diagram_load): split this
5350         function into two -- one that does all the work on the DiagramData
5351         structure, and the other that provides compatibility with the old
5352         function.
5353         (dia_import_filter): use diagram_data_load to define an import
5354         filter.
5356         * app/diagram.h (new_diagram): added const to prototype.
5358         * app/filedlg.c (file_open_callback): change to use new import filter
5359         code.
5361         * lib/filter.c: added import filter management functions.
5363         * lib/filter.h: added prototypes for import filter interface.
5365         * app/commands.c (help_about_callback): updated about dialog to
5366         contain a few more names.
5368 2000-05-16  James Henstridge  <james@daa.com.au>
5370         * configure.in (Configuration): added a status message to the end of
5371         the configure script to give the user some idea of what was
5372         configured.
5374         * plug-ins/dxf/Makefile.am: Makefile for new plugin.
5376         * plug-ins/dxf/dxf.c (dia_plugin_init): added file to initialise the
5377         plugin.
5379         * plug-ins/dxf/dxf-export.c: new file -- Steffen Macke's DXF export
5380         filter for dia.
5382         * configure.in (AM_PATH_LIBART): use the check function provided
5383         with libart rather than our own code.  It is more reliable, and
5384         it only requires that people who build out of CVS have libart.m4
5385         installed (not necessarily all of libart).
5386         (AM_PATH_GDK_PIXBUF): same here for gdk-pixbuf.
5388 2000-05-12  Andreas Hyden  <a.hyden@cyberpoint.se>
5390         * dia.desktop: Added Swedish translation.
5392 2000-05-09  James Henstridge  <james@daa.com.au>
5394         * lib/dia_xml.c: you can't free a const pointer, so remove const
5395         from variable definitions.
5397         Explicitely set LC_NUMERIC where needed, as sometimes it isn't
5398         initialised correctly.
5400         * app/render_svg.c (export_svg): set locale to C.
5402         * app/paginate_psprint.c (paginate_psprint): set locale to C.
5404         * app/render_eps.c (export_eps): set locale to C for EPS export.
5406         * lib/dia_xml.c (data_add_real): change to C locale for snprintf call.
5407         (data_add_point): same here.
5408         (data_add_rectangle): same here.
5409         (data_real): use g_strtod to convert strings to real numbers, so that
5410         locales are taken into account.
5411         (data_point): same here.
5412         (data_rectangle): same here.
5414         * AUTHORS: added Henk and Jacek to authors file.
5416         Daniel Egger's code cleanups.
5418         * app/select.c (select_invert_callback): remove unused variable.
5420         * app/plugin-manager.c (get_plugin_manager): fix typo.
5422         * app/load_save.c (read_connections, write_objects): 
5423         (write_connections): made some functions static.
5425         * app/interface.c (toolbox_delete, toolbox_destroy): made some
5426         functions static.
5428         * app/filedlg.c (file_export_callback): remove unused variable.
5430         * app/app_procs.c: various warning fixes.
5432         Integrating Jacek Pliszka's pstricks export filter.
5434         * plug-ins/pstricks/pstricks.c: code to initialise the plugin.
5436         * plug-ins/pstricks/render_pstricks.[ch]: Jacek Pliszka's pstricks
5437         renderer (with a few small modifications by me).
5439         * plug-ins/pstricks/Makefile.am: new makefile for pstricks plug-in.
5441         * plug-ins/Makefile.am (SUBDIRS): add pstricks subdirectory.
5443 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
5445         * configure.in:
5446         * sheets/Makefile.am:
5447         * shapes/Makefile.am:
5448         * shapes/Civil/Makefile.am:
5449         * sheets/civil.sheet:
5450         * shapes/Civil/*:
5451         Added civil/hydraulic/structural engineering objects from
5452         sdteffen <macke@heini.fbbwu.fh-lueneburg.de>.
5453         
5454 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
5456         * objects/FS/flow-poly.c:
5457         * objects/FS/flow.c:
5458         Fix division by zero in point_normalize().
5459         Patch by David Thompson <dcthomp@mail.utexas.edu>
5461 2000-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
5463         * lib/arrows.c:
5464         * lib/bezier_conn.c:
5465         * lib/connpoint_line.c:
5466         Added checks for zero-length lines before calls to point_normalize.
5468 2000-04-24  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5470         * app/preferences.c (prefs_data): Changed
5471         reversed_dragging_intersects to not make the dialog ridiculously
5472         wide.
5473         
5474 2000-04-22  James Henstridge  <james@daa.com.au>
5476         Hans's win32 patches:
5478         * app/export_png.c: include message.h
5479         * app/interface.c: include dia_dirs.h
5480         * app/linewidth_area.c: check for rint
5481         * app/main.c: include interface.h
5482         * app/paginate_psprint.c: remove unused variable.
5483         * app/preferences.c: include message.h
5484         * app/render_svg.c: include stdlib.h
5485         * app/select.c: include object_ops.h
5486         * lib/dia_dirs.c: miscelaneous fixes for win32.
5487         * lib/dia_image.c: include string.h
5488         * lib/plug-ins.c: look for .dll files rather than .la files on win32.
5489         * lib/properties.c: include stdlib.h
5490         * lib/properties.h: define extra data for standard properties as
5491         static variables on win32 (to get around dynamic linker problems).
5492         * objects/standard/polygon.c: polygon_create_change missing return
5493         statement.
5495 2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>
5497         * configure.in (ALL_LINGUAS): added Catalan
5499 2000-04-18  James Henstridge  <james@daa.com.au>
5501         * objects/standard/bezier.c (bezierline_get_object_menu): add a
5502         separator to the object menu between the add/remove segment items
5503         and the corner type items.
5504         (bezierline_get_object_menu): add code to disable the menu item for
5505         the current corner type.  Really just a cosmetic change.
5507         * app/disp_callbacks.c (create_object_menu): handle DiaMenuItems with
5508         a NULL for the label or with no associated callback.
5510         * objects/standard/bezier.c (bezierline_menu_items): use the
5511         enumeration values rather than numeric values for the corner types.
5513         * lib/bezier_conn.[ch]: added a corner_types member to the BezierConn
5514         structure, and add code to handle it.  Also, don't save the corner
5515         types inline in the bez_points node.  The way it is conditionally
5516         including the element just feels like it will break.
5518         * lib/geometry.h (BezPoint): removed the corner_type stuff from
5519         BezPoint.  The corner type stuff is a user interface level idea rather
5520         than something required by the renderer, so should be taken care of
5521         at the object level.
5523 2000-04-17  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5525         * configure.in: Fixed some problems with the gdk-pixbuf/imlib
5526         checks.  Weren't able to reproduce original bug, tough.
5528 2000-04-16  Cyrille Chepelov  <chepelov@calixo.net>
5530         * sheets/Electric.sheet:
5531         * sheets/Contact.sheet:
5532         * sheets/Pneumatic.sheet:
5533         * sheets/Circuit.sheet: sprayed some <br/>'s around.
5534         (added a few French translations in the last file)
5535         
5536 2000-04-16  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5538         * lib/geometry.h: 
5539         * lib/bezier_conn.h: 
5540         * objects/standard/bezier.c: 
5541         * lib/bezier_conn.c: Support for cuspy, smooth and symmetric
5542         bezier points.  Only one minor problem known:  Menus are active
5543         for endpoints minor handles.
5544         11:28: Save and load now works, too.
5545         (bezierconn_closest_major_handle): 12:03: New function to get the
5546         non-control point handle associated with the nearest control
5547         point.  
5548         Also fixed the menu activation problem, and made remove_segment
5549         not remove the endpoint.
5551 2000-04-15  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5553         * configure.in: Added check for gdk-pixbuf being >= 0.7.0 since
5554         new API is in use.
5556 2000-04-15  Asbjorn Pettersen  <asbjornP@dualog.no>
5558         * lib/plug-ins.c: Added <sys/types.h> and moved <fcntl.h> below
5559         <sys/stat.h>.   OS/2 patch.
5561 2000-04-15  James Henstridge  <james@daa.com.au>
5563         * objects/FS/flow-ortho.c, objects/FS/function.c: Applied David
5564         Thompson's patch that adds undo support to the function structure
5565         diagram objects.
5567 2000-04-14  James Henstridge  <james@daa.com.au>
5569         * objects/custom/custom_object.c (custom_distance_from): new
5570         implementation of distance algorithm that actually takes the
5571         display list into account when calculating the distance.  Much nicer
5572         than a simple bounding box.
5574 2000-04-13  Lars Clausen  <lrclause@cs.uiuc.edu>>
5576         * lib/geometry.c (line_crosses_ray): Fixed division by zero bug
5578 2000-04-12  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5580         * objects/standard/polygon.c: Start of polygons own changes (for
5581         connectionpoints).  Need to do seperate changes in polyshape, too,
5582         rather than reuse the bezier changes.
5584 2000-04-13  James Henstridge  <james@daa.com.au>
5586         * lib/dia_image.c (dia_image_draw): use the new enumeration values
5587         from after the gdk-pixbuf cleanup.
5589         * lib/geometry.c (bez_point_distance_and_ray_crosses): fix up limit
5590         on for loop.  Last set of coefficients were not beeing calculated,
5591         which caused a bit of breakage.
5593         * lib/bezier_conn.c (bezierconn_closest_segment): use the new
5594         functions in geometry.c for calculating the closest segment.
5595         (bezierconn_distance_from): use distance_bez_line_point to calculate
5596         the distance.
5598         * lib/geometry.c (distance_bez_line_point): new function to calculate
5599         the distance from an open bezier line to a point.
5600         (distance_bez_shape_point): new function to calculate the distance
5601         from a closed bezier shape.
5602         (distance_ellipse_point): new function to calculate the distance from
5603         a filled ellipse to a point.
5605         * lib/geometry.h (BezPoint): moved this structure here from render.h
5607 2000-04-12  James Henstridge  <james@daa.com.au>
5609         * lib/geometry.c (distance_bez_seg_point): new function to calculate
5610         the distance from a bezier segment.
5612         * lib/polyshape.c (polyshape_distance_from): use distance_polygon_point
5613         to calculate the distance from the object.
5615         * lib/geometry.c (distance_polygon_point): function for calculating
5616         the distance from a polygon to a point.
5618 2000-04-12  Cyrille Chepelov  <chepelov@calixo.net>
5620         * app/interface.c:
5621         * lib/sheet.[ch]: added a <br/> tag in sheet files, so that line 
5622         breaks can be inserted in the tool box. 
5624         * doc/sheet.dtd: updated the DTD
5625         * sheets/GRAFCET.sheet: tried <br/> on that sheet (more to come).
5626         
5627 2000-04-12  James Henstridge  <james@daa.com.au>
5629         * app/plugin-manager.c (get_plugin_manager): use the GTK_DIALOG
5630         macro if the dialog is a GtkDialog :(
5632 2000-04-11  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5634         * objects/standard/polygon.c: Connectionpoints now properly
5635         managed in a GList.  As far as I can tell, this will not dieturb
5636         the order (but I have the nagging doubt...)
5638         * lib/polyshape.c: No longer knows about connectionpoints.
5640 2000-04-11  James Henstridge  <james@daa.com.au>
5642         * app/Makefile.am: fix makefile for bonobo build.
5644         * configure.in: fix checks for bonobo.
5646         * app/menus.c: added entries for the plugin manager.
5648         * app/Makefile.am (dia_core_files): added plugin manager to files
5649         list.
5651         * app/plugin-manager.[ch]: the plugin manager dialog.
5653         * app/display.c (display_update_menu_state): set the antialiased
5654         menu entry to the correct value.
5656 2000-04-11  Cyrille Chepelov  <chepelov@calixo.net>
5658         * objects/custom/custom_object.c: not all renderers like ellipses with
5659         negative dimensions. This could cause ellipses to disappear when using
5660         the flip_h and flip_v functions.
5662         * samples/grafcet.dia: fixed speling and correctness.
5663         
5664 2000-04-11  James Henstridge  <james@daa.com.au>
5666         * lib/plug-ins.[ch]: added more accessors for use by a plugins dialog.
5667         exposed the dia_plugin_load and dia_plugin_unload functions.
5669         * lib/plug-ins.c (plugin_load): change plugin_load to work on an
5670         already created PluginInfo structure.
5672         * app/app_procs.c (app_exit): call dia_pluginrc_write() to write
5673         the pluginrc file.
5675         * lib/sheet.c: fix up call to dia_config_filename.
5677         * lib/plug-ins.[ch]: started writing code for handling a pluginrc
5678         file.  This would save information such as which plugins not to
5679         load during startup.
5681 2000-04-09  James Henstridge  <james@daa.com.au>
5683         * lib/sheet.c: use dia_config_filename to resolve file in ~/.dia.
5685 2000-04-10  Alexander Larsson  <alla@lysator.liu.se>
5687         * lib/plug-ins.c (dia_register_plugins):
5688         Don't free the value returned from g_getenv.
5690 2000-04-09  Anders Carlsson  <andersca@gnu.org>
5692         * app/preferences.h: Add reverse_rubberbanding_intersects preference variable.
5694         * app/preferences.c (prefs_data): Add reverse_rubberbanding_intersects preference data.
5696         * app/modify_tool.c (modify_button_release): If rubberbanding is done from 
5697         right to left, select objects that intersect the rubberbanding rectangle
5698         instead of selecting objects that are in the rectangle.
5700         * lib/diagramdata.c (layer_find_objects_intersecting_rectangle): Add function.
5702         * lib/diagramdata.h: Likewise.
5705 2000-04-09  James Henstridge  <james@daa.com.au>
5707         * lib/plug-ins.[ch]: add copyright messages to files.
5709         * plug-ins/cgm/cgm.c (dia_plugin_init): convert plugin over to new
5710         plugin interface.
5712         * objects/sybase/sybase.c (dia_plugin_init): 
5713         * objects/network/network.c (dia_plugin_init): 
5714         * objects/flowchart/flowchart.c (dia_plugin_init): 
5715         * objects/custom/custom.c (dia_plugin_init): 
5716         * objects/chronogram/chronogram.c (dia_plugin_init): 
5717         * objects/UML/uml.c (dia_plugin_init): 
5718         * objects/SADT/sadt.c (dia_plugin_init): 
5719         * objects/GRAFCET/grafcet.c (dia_plugin_init): 
5720         * objects/FS/fs.c (dia_plugin_init): 
5721         * objects/ER/er.c (dia_plugin_init): updated plugin load code for
5722         object libraries.
5724         * objects/standard/standard.c (dia_plugin_init): change over to new
5725         plugin interface.
5727         * lib/plug-ins.h (DIA_PLUGIN_CHECK_INIT): added a macro to define
5728         the version checker for plugins.
5730         * app/app_procs.c: remove plugin loading code from here, and use
5731         code from plug-ins.[ch].  Also move registration of internal
5732         objects/filters to a `builtin' plugin.
5734         * lib/Makefile.am (libdia_a_SOURCES): added plug-ins.[ch] to library.
5736         * configure.in: use AC_PROG_LIBTOOL rather than AM_PROG_LIBTOOL.
5738         * app/Makefile.am (EXTRA_DIST): you can't include a conditionally
5739         defined variable in EXTRA_DIST.
5741         * app/preferences.h: removed dia_config_filename from header.
5743         * app/preferences.c: removed dia_config_filename function.
5745         * lib/dia_dirs.c (dia_config_filename): moved function over to this
5746         file.  Also changed implementation slightly so that it should work
5747         on the win32 port correctly (and use NT home directories).
5749         * lib/dia_dirs.h (dia_config_filename): move dia_config_filename where
5750         it should have been.
5752         * lib/plug-ins.[ch]: new plugin loading code.
5754 2000-04-08  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5756         * objects/standard/polygon.c: Fixed startup crash bug (do'h!).
5758         * lib/polyshape.c: Fix closest segment finding, exposes deeper
5759         bugs in adding corners to 'wraparound' segment.
5761         * objects/standard/polygon.c: Added connection points (fixed so
5762         far), set menu sensitivity.
5764         * lib/polyshape.c: Changed to box-style handles, fixed for start
5765         and ends not being special, added initial connections,
5767         * lib/dummy_dep.h: Added polyshape (gotcha!)
5769         * objects/standard/pixmaps/ellipse.xpm: 
5770         * objects/standard/pixmaps/box.xpm: 
5771         Filled element pixmaps with white.
5773         * lib/polyshape.c: 
5774         * objects/standard/polygon.c: 
5775         * lib/polyshape.h: 
5776         * objects/standard/standard.c: 
5777         * objects/standard/Makefile.am (libstandard_objects_la_SOURCES): 
5778         * lib/Makefile.am (libdia_a_SOURCES): 
5779         * app/menus.c: 
5780         * app/interface.c (tool_data): 
5781         Added Standard/Polygon object and PolyShape lib object.  Still
5782         needs inside grab and connection points.
5784         * app/commands.c (help_about_callback): Now uses gdk-pixbuf if
5785         available. 
5787         * configure.in: Made imlib a fallback if gdk-pixbuf is absent or
5788         not wanted.
5790         * app/app_procs.c (app_init): Moved gtk_init outside #ifdef, moved
5791         if (argv) outside ifdefs.
5793 2000-04-04  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5795         * objects/standard/image.c (image_set_props): 
5796         Aspect ratio is back in town.
5798         * app/Makefile.am (dia_LDADD): 
5799         * acconfig.h: 
5800         * configure.in: 
5801         Check for gdk_pixbuf (by default disabled, for now)
5803         * app/render_eps.c (draw_image): 
5804         * app/render_libart.c (draw_image): 
5805         * app/render_gnomeprint.c (draw_image): 
5806         Support for alpha mask in rendering.  Color postscript, too.
5808         * lib/dia_image.c: 
5809         * lib/dia_image.h: 
5810         Support for gdk_pixbuf and proper masking for exports.
5812 2000-04-01  Kjartan Maraas  <kmaraas@online.no>
5814         * sheets/*.sheets: Updated Norwegian translations.
5815         
5816 2000-03-30  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5818         * lib/text.c (text_insert_char): 
5819         * lib/render_store.c (add_data): 
5820         Made realloc double the alloced space rather than add
5821         a fixed amount, to reduce memory stress.
5823         * app/select.c: Added new select method 'Transitive'
5824         that select every reachable (by connections) object.
5826 2000-03-27  Kjartan Maraas  <kmaraas@online.no>
5828         * dia.desktop: Added Norwegian translation.
5829         
5830 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
5832         * app/render_eps.c:
5833         * app/render_svg.c:
5834         Don't dereference NULL pointer if the renderer
5835         couldn't open the file. Fix by Lars Clausen.
5836         Bug reported by Martin Chisholm <b1mt@unb.ca>
5837         
5838 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
5840         * dia.desktop:
5841         * po/pt.po:
5842         Updated pt translation from Pedro Morais <pmmm@rnl.ist.utl.pt>
5844 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
5846         * app/dia.gnorba (location_info):
5847         Changed to correct executable name.
5849 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
5851         * app/app_procs.c:
5852         Don't do any argument parsing or initialization
5853         if argv==NULL.
5855         * app/dia_embedd.c:
5856         Call init_server_factroy before app_init.
5857         Call app_init with argv==NULL
5858         Now we don't get any critical error on startup.
5860         * configure.in:
5861         Add Electric and Pneumatic to makefile list.
5862         
5863 2000-03-24  Cyrille Chepelov <chepelov@calixo.net>
5865         * shapes/Electric/*:
5866         * sheets/Electric.sheet:
5867         Add some Electric circuit shapes.
5869         * shapes/Pneumatic/*:
5870         * sheets/Pneumatic.sheet:
5871         Add some Pneumatic & Hydraulic circuit shapes
5872         (both sheets are still incomplete, though feature enough 
5873         things for basic circuits).
5875         * shapes/Contact/l_*.(xpm|shape):
5876         * sheets/Contact.sheet
5877         * shapes/Contact/Makefile.am
5878         made the older electric circuit shapes in Contact obsolete (disabled
5879         them in the sheet, made that sheet Ladder only). Fixed the makefile
5880         for forgotten items.
5881         
5882 2000-03-24  Alexander Larsson  <alla@lysator.liu.se>
5884         * app/Makefile.am:
5885         Add support for Dia bonobo component.
5886         Currently a bit raw, so it's commented out.
5887         
5888         * app/dia_embedd.c:
5889         * app/dia.gnorba:
5890         New files for embedding dia.
5891         The menu disabling hack is a bit gross. Esp. for GNOME.
5893         * app/app_procs.h:
5894         Add new function app_is_embedded();
5896         * app/diagram.c:
5897         Don't destroy diagram when last display is destroyed if embedded.
5898         
5899         * app/display.c:
5900         Change initialization of display so it works with embedding.
5902         * app/display.h:
5903         Clarify comment about display destruction.
5905         * app/interface.[ch]:
5906         Added top_level_window argument to create_display_shell.
5907         Don't open a top-level window if embedding.
5908         Don't quit app if trying to close toolbox window when embedding.
5909         Add toolbox_show() and toolbox_hide().
5911         * app/main.c:
5912         Added app_is_embedded() function (just returns false).
5913         Added toolbox_show() call in main().
5915         * app/menus.c:
5916         Added code for getting toolbox menus. This is used to
5917         hide some menu items when running embedded.
5918         
5919         * app/app_procs.c:
5920         Include sheet.h to remove warning.
5922         * objects/UML/association.c:
5923         Clarify association direction text.
5924         
5925 2000-03-16  Fredrik Hallenberg  <hallon@lysator.liu.se>
5927         * dia.1
5928         Fixed man page so whatis parsing works.
5930 2000-03-12  Alexander Larsson  <alla@lysator.liu.se>
5932         * app/render_libart.c (new_libart_renderer):
5933         Fix from segg <segg@infonet.ca> to compile without libart.
5934         I forgot to change the stub for new_libart_renderer when doing
5935         the interactive renderer stuff for libart.
5937 2000-03-11  Alastair McKinstry  <mckinstry@computer.org>
5939         * dia.desktop: Added Irish translation.
5940         
5941         * configure.in (ALL_LINGUAS): Added Irish (ga) translation.
5943 2000-03-07  Asbjorn Pettersen  <asbjornP@dualog.no>
5945         * app/load_save.c (fchmod): OS/2 defines only.
5947 2000-03-07  James Henstridge  <james@daa.com.au>
5949         * lib/properties.c (prop_get_widget): set the position in the option
5950         menu correctly.
5952 2000-03-06  Alexander Larsson  <alla@lysator.liu.se>
5954         * app/display.c:
5955         * app/export_png.c:
5956         * app/render_libart.[ch]:
5957         Don't export png:s with an interactive libart renderer.
5959 2000-03-03  Asbjorn Pettersen  <asbjornP@dualog.no>
5961         * lib/arrows.c (finite): define finite(d) isfinite(d)  for OS/2
5963 2000-03-02  James Henstridge  <james@daa.com.au>
5965         * dia.spec (%build): unset LINGUAS before running configure.  This
5966         ensures that all translations get included in the RPM.
5968         * lib/properties.c (object_create_props_dialog): put in a check for
5969         a NULL return from the describe_props() object method.
5970         (prop_desc_lists_union): make sure that the returned array is not
5971         NULL.
5972         (prop_desc_lists_intersection): same here.
5974 2000-02-29  Alexander Larsson  <alla@lysator.liu.se>
5976         * objects/ER/Makefile.am:
5977         * objects/FS/Makefile.am:
5978         * objects/UML/Makefile.am:
5979         Don't link object libs with gtk.
5981 2000-02-29  James Henstridge  <james@daa.com.au>
5983         * app/preferences.c (prefs_save): check to see if the file could
5984         be opened before writing the prefs.
5986         * app/disp_callbacks.c (popup_object_menu): pass the button event
5987         to gtk_menu_popup.  This allows you to click and release to open
5988         the object menu.
5989         (ddisplay_canvas_events): same here.
5990         (create_object_menu): set the object type menu item in the object
5991         menu to be insensitive.
5993         * app/render_svg.c (draw_string): call xmlEncodeEntitiesReentrant,
5994         as we are now requiring a new version of libxml.
5996         * dia.spec: updated version number.  Added requirement for
5997         libxml >= 1.8.5
5999         * configure.in: incremented version number to 0.84.
6000         Added check for libxml >= 1.8.5.  This will prevent some of the
6001         problems people have had with broken libxml versions.
6003         * NEWS: added news items.
6005         * app/interface.c (create_color_area): removed call to realize parent
6006         widget.  Segg <segg@infonet.ca> reported that it caused a warning,
6007         but I haven't seen it on my copy of dia.
6009 2000-02-28  James Henstridge  <james@daa.com.au>
6011         * app/export_png.c: added copyright notice, and made the band height
6012         a constant.
6014 2000-02-27  Alexander Larsson  <alla@lysator.liu.se>
6016         * lib/font.c (suck_font):
6017         Fixed off-by one bug in font pixmap height.
6018         Fixes the problem with garbage at the bottom of some text in aa mode
6019         and in png exported files.
6021 2000-02-27  James Henstridge  <james@daa.com.au>
6023         * app/app_procs.c: add the png export filter if it was compiled in.
6025         * app/export_png.c (export_png): new PNG export filter.  This requires
6026         the libart renderer to work as it needs a renderer that renders to a
6027         pixel buffer.
6029         * configure.in: add check for libpng.
6031         * lib/message.c (message_internal): use a GNOME dialog here as well.
6033         * app/display.c (ddisplay_close): use a GNOME dialog here.
6035         * app/render_eps.c (create_eps_renderer): use diagram scaling factor
6036         when exporting to EPS.  This is because some people said the EPS
6037         output was too large
6039 2000-02-26  James Henstridge  <james@daa.com.au>
6041         * app/defaults.c (create_dialog): use a GNOME dialog for the defaults
6042         window.
6044         * app/app_procs.c (app_exit): use a GNOME dialog here.
6046         * app/preferences.c (prefs_create_dialog): if GNOME support is
6047         enabled, show a GNOME dialog.
6049         * app/grid.c (grid_draw): use preferences when drawing page break
6050         lines.
6052         * app/preferences.c: add page break preferences to dialog.
6054         * app/preferences.h: added page break preferences.
6056 2000-02-25  James Henstridge  <james@daa.com.au>
6058         * sheets/UML.sheet: added new objects.
6060         * objects/UML/uml.c: link in the two new objects.
6062         * objects/UML/node.c: 
6063         * objects/UML/branch.c: new UML objects from Stfan Seefeld
6064         <seefelds@magellan.umontreal.ca>.
6066 2000-02-24  James Henstridge  <james@daa.com.au>
6068         * objects/custom/custom_object.c: converted to use the properties
6069         interface.  In the future, it would be nice to add support for
6070         defining custom properties for custom objects, but that can wait.
6072 2000-02-22  James Henstridge  <james@daa.com.au>
6074         * sheets/Circuit.sheet: added new circuit shapes to sheet.
6076         * plug-ins/cgm/cgm.c: cgm plugin updates from Henk Jan Priester
6077         <hj@justcroft.com>.  Fixes number encoding, colour encoding, fonts
6078         and adds a few new features.
6080 2000-02-21  Daniel Egger  <egger@suse.de>
6082         * sheets/*.sheets: Added German translations and made some
6083         corrections to the others.
6084         
6085 2000-02-21  James Henstridge  <james@daa.com.au>
6087         * shapes/Circuit/Makefile.am (SHAPES): added new shapes to list.
6089         * shapes/Circuit/...: added new shapes from Erik Janssens.
6091 2000-02-20  James Henstridge  <james@daa.com.au>
6093         * app/interface.c (create_color_area): realize the parent window
6094         first.
6096         * objects/standard/image.c: properties patch for standard image
6097         object, from Lars Clausen.
6099         * lib/properties.c: support for PROP_TYPE_FILE from Lars Clausen.
6101         * lib/properties.h (PropType): added file property type.
6103         * shapes/Circuit/speaker_de.xpm: changed size of pixmap to match
6104         other shapes.
6106         * app/interface.c: use wrap box for toolbox.
6108         * app/Makefile.am: added new files.
6110         * app/gtk*wrapbox.[ch]: added wrap box widget.
6112 2000-02-19  James Henstridge  <james@daa.com.au>
6114         * sheets/network.sheet: added extra shapes to networks sheet.
6116         * configure.in (AC_OUTPUT): added shapes/network/Makefile
6118         * shapes/network/*: added shapes that were posted to the list a while
6119         back.
6120         
6121         * shapes/Makefile.am (SUBDIRS): added network subdirectory
6123         * app/menus.c (toolbox_menu_items): don't right justify help menu for
6124         gtk+ version of menus.
6126         * app/properties.c (create_dialog): use a GnomeDialog if we happen
6127         to be using gnome.
6129 2000-02-18  James Henstridge  <james@daa.com.au>
6131         * objects/flowchart/box.c: set extra data for corner radius and text
6132         padding properties.
6134         * objects/standard/box.c: set extra data for corner radius property.
6136         * lib/properties.h: set extra data in some standard properties.
6138         * lib/properties.c (prop_get_widget): look at the extra data for
6139         int, real and enum property types.  They now use GtkSpinButton and
6140         GtkOptionMenu respectively.
6142         * lib/properties.h: extra data members for creating property setting
6143         widgets.
6145 2000-02-17  James Henstridge  <james@daa.com.au>
6147         * objects/flowchart/box.c: reverted load/save functions back to
6148         previous implementations.  Made box use standard property names.
6150         * plug-ins/cgm/cgm.c (set_linestyle): was missing a */
6152         * app/grid.c: add more digits to the grid edit dialog.  This patch
6153         was also from Lars Clausen.
6155         * objects/standard/zigzagline.c: 
6156         * objects/standard/textobj.c:
6157         * objects/standard/polyline.c:
6158         * objects/standard/line.c:
6159         * objects/standard/ellipse.c:
6160         * objects/standard/box.c: 
6161         * objects/standard/bezier.c: 
6162         * objects/standard/arc.c: patches to add properties code to standard
6163         objects.  Based on patches from Lars Clausen.  I have also removed
6164         some dead code from the files.
6166         * lib/properties.h (PROP_STD_*): define a number of standard
6167         properties.  Where appropriate, objects should include these
6168         properties in their PropDescription list.  This way, the intersection
6169         of properties of two different shapes will be greater.
6171 2000-02-14  James Henstridge  <james@daa.com.au>
6173         * objects/flowchart/box.c (box_load, box_save): use property save
6174         routines.  Make sure that any props not handled by object_load_props
6175         are loaded before calling object_load_props, or we get errors because
6176         update_data is called.
6178         * lib/properties.c (object_get_props_from_offsets): fixed an indexing
6179         error that could cause properties to be loaded incorrectly.
6180         (object_set_props_from_offsets): similar here.
6182         * lib/properties.[ch] (prop_{load,save}): functions for loading
6183         or saving a property in Dia's XML file format.
6184         (object_{load,save}_props): load or save some properties of an
6185         object.  These functions should help simplify the load/save methods
6186         of objects that implement the properties interface.
6188 2000-02-13  James Henstridge  <james@daa.com.au>
6190         * objects/flowchart/box.c: use offset code to simplify property
6191         get/set routines.
6193         * lib/element.h (ELEMENT_COMMON_PROPERTIES): standard element
6194         properties.
6195         (ELEMENT_COMMON_PROPERTIES_OFFSETS): offsets.
6197         * lib/object.h (OBJECT_COMMON_PROPERTIES): list of standard object
6198         properties.
6199         (OBJECT_COMMON_PROPERTIES_OFFSETS): the offsets of the properties.
6201         * lib/properties.[ch] (object_{get,set}_props_from_offsets): new
6202         functions 
6204 2000-02-12  Alexander Larsson  <alla@lysator.liu.se>
6206         * app/Makefile.am:
6207         Add the custom object to DIA_LIB_PATH in run_dia.sh
6209 2000-02-10  Cyrille Chepelov  <chepelov@calixo.net>
6211         * sheets/Circuit.sheet:
6212         * shapes/l_sout* (NEW):
6213         * shapes/l_outj.* (NEW): added new outputs : jump, and the power-saved
6214         variants of simple, inverted, set and reset outputs.
6215         Still to do: all Schneider/Telemecanique TSX *7 function blocks ; 
6216         probably a split of Contact and Ladder sheets. And then a major 
6217         revamping of the Contact sheet.
6219 2000-02-10  James Henstridge  <james@daa.com.au>
6221         * app/Makefile.am (dia_LDADD): don't link with libcustom_objects.
6223         * app/app_procs.c (register_all_objects): don't explicitely
6224         register the custom objects library -- let it be loaded by the
6225         normal plugin loading methods.
6227         * lib/Makefile.am (libdia_a_SOURCES): don't include custom.h here.
6229         * objects/custom/Makefile.am: build libcustom_objects as a shared
6230         library again.
6232         * objects/custom/shape_info.[ch]: don't read the description field
6233         of custom shapes.  It makes more sense to have these in the sheet
6234         file to localise the parts of dia that translators have to deal
6235         with.
6237         * objects/custom/custom_object.c (custom_object_new): do not
6238         create the sheet object for the new custom shape -- this is
6239         handled by the custom sheet code.
6241         * objects/custom/custom.c: change over to being a normal plug-in
6242         rather than being linked with the main dia executable.
6244 2000-02-09  James Henstridge  <james@daa.com.au>
6246         * sheets/Circuit.sheet: 
6247         * sheets/Flowchart.sheet: 
6248         * sheets/Contact.sheet: fixed up sheets.
6250         * objects/custom/custom_object.c (custom_object_new): set the
6251         extra ObjectType fields.
6253         * lib/sheet.c: use extra ObjectType fields when creating sheet
6254         objects.  Give a warning if <shape> tags are found in a sheet
6255         file.  Now the custom sheet code does not know about custom
6256         shapes -- they look like any other object type.
6258         * lib/object.h (ObjectType): added extra members
6260 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
6262         * app/linewidth_area.c:
6263         Added code to set arbitrary line width.
6264         Patch by Lars Clausen <lrclause@cs.uiuc.edu>
6266 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
6268         * app/linewidth_area.c: 
6269         * lib/font.[ch]:
6270         Add support for font-sucking.
6271         Implementation borrowed from gnome-canvas.
6272         
6273         * app/render_libart.[ch]:
6274         Implement text rendering.
6276 2000-02-07  Alexander Larsson  <alla@lysator.liu.se>
6278         * app/properties.c (create_dialog):
6279         ref and sink no_properties_dialog.
6281 2000-02-07  James Henstridge  <james@daa.com.au>
6283         * app/group.c (group_describe_props): new function.  Return the
6284         intersection of the properties of the contained objects that
6285         implement the describe_props interface.
6286         (group_get_props): implement by iterating through contained objects
6287         and calling their get_props method until all properties have been
6288         set.  Maybe this should go through all objects all the time??
6289         (group_set_props): implement by calling set_props method on all
6290         contained objects.
6291         (group_ops): use standard props dialog creation routines.
6293         * lib/properties.c (prop_desc_lists_intersection): fix implementation
6294         of intersection -- I was using i++ instead of i-- in a for loop :(
6296         * objects/custom/custom.c (custom_register_objects): fix usage
6297         of dia_get_data_directory again.
6299         * lib/sheet.c: fix up use of dia_get_data_directory, so that we
6300         actually read the sheets.
6302 2000-02-06  Alexander Larsson  <alla@lysator.liu.se>
6304         Win32 port by Hans Breuer <Hans@Breuer.org>
6306         * app/Makefile.am:
6307         Remove DATADIR and LIBDIR defines.
6309         * lib/Makefile.am:
6310         Add dia_dirs.c and dia_dirs.h
6311         Added DATADIR and LIBDIR defines.
6313         * lib/dia_dirs.[ch]:
6314         New files for handling special directories.
6316         * app/app_procs.c:
6317         * app/commands.c:
6318         * lib/sheet.c:
6319         * objects/custom/custom.c:
6320         Fix warnings.  Use directory functions.
6322         * app/diagram.h:
6323         Add prototype for diagram_redraw_all.
6325         * app/diaunitspinner.c:
6326         * app/filedlg.c:
6327         * app/interface.c:
6328         * app/preferences.c:
6329         Fix warning.
6331         * app/load_save.c:
6332         Win32 doesn't have mkstemp and fchmod.
6334         * app/paginate_psprint.c:
6335         Win32 calls popen _popen and pclose _pclose.
6336         
6337         * app/arrow.c:
6338         Win32 calls finite _finite.
6340         * lib/color.h:
6341         Win32 needs to dllexport the color vars.
6343         * objects/GRAFCET/step.c:
6344         * objects/chronogram/chronoref.c:
6345         snprintf -> g_snprintf
6347 2000-02-05  James Henstridge  <james@daa.com.au>
6349         * lib/properties.c: more fixes so that it doesn't crash when using
6350         properties.  The undo/redo stuff also works!!
6352         * objects/flowchart/box.c (box_{describe, get, set}_props): test
6353         object where I have implemented the new properties interface
6354         complete with automatic properties dialog generation.
6356         * lib/properties.c (object_apply_props): fixed stupid error when
6357         creating the old_props array.  Also, it no longer frees the props
6358         array -- you will have to do that yourself.
6360 2000-02-04  James Henstridge  <james@daa.com.au>
6362         * app/properties.c (properties_apply): pass object_part to
6363         apply_properties.
6365         * lib/object.h (ApplyPropertiesFunc): added widget argument.
6367         * lib/lazyprops.h (PROPDLG_CREATE): ref and sink properties dialogs
6368         created this way as well.
6370         * objects/*/*.c: ref and sink the properties dialog window for each
6371         widget.  It can't rely on ref count being incremented by
6372         properties_show anymore.
6374         * app/properties.c (properties_show): don't ref the widget before
6375         removing it, or its ref count will increase each time you open the
6376         properties dialog.  Don't unparent the widget, as container_remove
6377         does that for us.
6379         * lib/object.h: fixed up prototypes for new object methods.
6381         * lib/properties.[ch]: added functions for automatically creating
6382         a properties dialog from the output of describe_props, get_props and
6383         set_props.
6384         (object_apply_props): apply properties and return an ObjectChange
6385         structure that can be used for undo.
6387 2000-02-03  Cyrille Chepelov  <chepelov@calixo.net>
6389         * objects/GRAFCET/transition.c: minor leak plugged.
6391         * sheets/GRAFCET.sheet:
6392         * objects/GRAFCET/pixmaps/condition.xpm: (NEW)
6393         * objects/GRAFCET/condition.c: (NEW) added a new object type, action 
6394         conditions.
6395         * objects/GRAFCET/Makefile.am: fixed incorrect dependencies, added
6396         new ones (for condition.c).
6397         * objects/GRAFCET/action.c: added connection points for the conditions.
6398         * samples/grafcet.dia: updated the sample to improve conformance to
6399         IEC 848 and take advantage of dia's new features.
6400         
6401         * lib/geometry.h: (point_get_normed) fixed a typo.
6403 2000-02-02  James Henstridge  <james@daa.com.au>
6405         * lib/object.h: added object functions describe_props, get_props and
6406         set_props.  Do type definitions so that object.h doesn't need to
6407         include properties.h, since properties.h includes object.h.
6409         * lib/properties.[ch]: more hacking.
6411         * po/de.po: updated po file.
6413 2000-01-30  James Henstridge  <james@daa.com.au>
6415         * configure.in: don't add flags to CFLAGS unconditionally.  Instead,
6416         check to see if the C compiler accepts the flag beforehand.
6418         * lib/properties.[ch]: start of properties code.
6420         * shapes/Contact/Makefile.am (SHAPES): fix up makefile.
6422 2000-01-30  Cyrille Chepelov  <chepelov@calixo.net>
6423         
6424         * sheets/GRAFCET.sheet:
6425         * sheets/GRAFCET/etapemc.xpm: (NEW)
6426         * sheets/GRAFCET/etapesp.xpm: (NEW)
6427         * objects/GRAFCET/step.c: Added the macro and
6428         sub-program call step types.
6430         * objects/GRAFCET/receptivity.[ch]: renamed to 
6431         objects/GRAFCET/boolequation.[ch]. 
6432         * objects/GRAFCET/transition.c: changed (Receptivity *) to 
6433         (BoolEquation *)
6435         * lib/connpoint_line.[ch]: 
6436         * objects/chronogram/chronoline.c:
6437         * objects/chronogram/chronoref.c:
6438         * objects/GRAFCET/vergent.c:
6439         * objects/standard/line.c:
6440         * objects/SADT/box.c: Minor CPL interface changes, factored out the
6441         point count adjustment code into the CPL object.
6442         
6443 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
6445         * app/render_libart.c:
6446         Added support for images and bezier curves.
6447         Only text/fonts missing now.
6449         * app/render_gdk.c:
6450         Removed old erronous comment.
6452 2000-01-29  Cyrille Chepelov <chepelov@calixo.net>
6454         * objects/chronogram/chronoline_event.c: removed references to
6455         lround(). Please don't insist, I'm already red of shame.
6456         
6457 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
6459         * app/render_libart.[ch]:
6460         * app/Makefile.am:
6461         Non-finished libart renderer.
6463         * acconfig.h:
6464         Added HAVE_LIBART flag
6466         * configure.in:
6467         Added libart probe
6469         * app/app_procs.c:
6470         Call gdk_rbg_init().
6472         * app/connectionpoint_ops.c:
6473         * app/disp_callbacks.c:
6474         * app/grid.c:
6475         * app/handle_ops.c:
6476         * app/magnify.c:
6477         * app/modify_tool.c:
6478         Change ddisp->renderer type from RendererGdk * to Renderer *
6479         Draw zoom and select rects in ddisp->canvas->window instead
6480         of ddisp->renderer->renderer->pixmap.
6482         * app/display.[ch]:
6483         Add aa_renderer to DDisplay, and  support for it.
6484         New function ddisplay_set_renderer() for changing renderer.
6485         Add ddisplay_transform_coords_double() function, used by aa renderer.
6486         Change ddisp->renderer type from RendererGdk * to Renderer *
6488         * app/menus.c:
6489         Add antialias to menu.
6490         
6491         * app/commands.[ch]:
6492         add view_aa_callback function
6493         Change ddisp->renderer type from RendererGdk * to Renderer *
6495         * lib/geometry.[ch]:
6496         Added IntRectangle and int_rectangle_union.
6498 2000-01-28  James Henstridge  <james@daa.com.au>
6500         * app/commands.h: removed prototypes.
6502         * app/commands.c: removed the functions that have been moved to
6503         filedlg.c.
6505         * app/filedlg.h: added new prototypes.
6507         * app/filedlg.c (file_open_callback): move open dialog to this
6508         file.  This implementation should remember the current directory
6509         between file loads.
6510         (file_save_as_callback): moved this dialog as well.
6511         (file_save_callback): moved this function here.
6513         * app/paginate_psprint.c (paginate_psprint): if not in fit to mode,
6514         align page boundaries to the origin.
6516         * app/diagram.c (diagram_update_extents): redraw the diagram if the
6517         scaling factor changes while updating the extents.  This is so the
6518         page breaks get redrawn correctly.
6520         * app/pagesetup.c (pagesetup_apply): added diagram_flush call when
6521         applying changes.
6523         * app/grid.c (grid_draw): draw page breaks as well as grid lines.
6524         For normal mode, use (0,0) as the origin.  For `fit to' mode, use
6525         the corner of the bounding box.
6527         * app/pagesetup.c (create_page_setup_dlg): load new paper attributes
6528         into page setup dialog.
6529         (pagesetup_apply): apply new `fit to' attributes to the diagram.
6531         * app/load_save.c (diagram_load): load new paper `fit to' attributes.
6532         (diagram_data_save): save `fit to' data.
6534         * lib/diagramdata.c (new_diagram_data): initialise `fit to' members.
6535         (data_update_extents): when in `fit to' mode, update scale factor
6536         when we update the extents.
6538         * lib/diagramdata.h (PaperInfo): added `fit to' members to PaperInfo
6539         structure.
6541         * .../.cvsignore: added some cvsignore files to quieten cvs.
6542         
6543         * app/pagesetup.c (pagesetup_changed): added code to change the
6544         scaling/fit to values as you change the options in the page setup
6545         dialog.  I haven't added code so that the fit to options are saved
6546         though.
6548         * app/diapagelayout.[ch]: changed the scaling portion of the widget
6549         to make it easier to set a `fit to' style scaling factor.
6551 2000-01-27 Cyrille Chepelov <chepelov@calixo.net>
6552         * lib/neworth_conn.[ch]: (NEW) Temporary (hopefully) fork of orth_conn,
6553         but connpoint_line-based, so that there's a connection point at the 
6554         middle of each segment. Currently only the SADT arrow uses this.
6556         * objects/SADT/* (NEW): SADT (both idf0 and idf1) support.
6557         
6558 2000-01-26 Cyrille Chepelov <chepelov@calixo.net>
6559         * lib/lazyprops.[ch]:(NEW) Added a bunch of macros for loading, 
6560         saving and editing of properties (and default properties). 
6561         See the new objects (GRAFCET, SADT, chonograms) for examples.
6562         For already too hairy stuff, see objects/chronogram/chronoline.c.
6564         * lib/connpoint_line.[ch] (NEW): This subobject manages a line of 
6565         evenly spaced connection points, which the user can add or remove at
6566         will. An object can own several connection point lines. See the SADT
6567         Box, or the GRAFCET vergents for examples.
6569         * lib/dummy_dep.h: added dependencies to new files. Told gcc to keep 
6570         quiet about unused stuff.
6572         * objects/GRAFCET (NEW):
6573         * samples/grafcet.dia (NEW):
6574         Added support for GRAFCET charts. 
6576         * objects/chronogram (NEW):
6577         * samples/chronograms.dia (NEW):
6578         Added support for chronograms (feature requested by Ronald L. Chichest;
6579         I found I'd use it often, too).
6581         * objects/standard/line.c: Replace the middle connectionpoint by 
6582         a whole connection point line, which defaults to one point (hint, 
6583         hint). New Line object menu to take advantage of this. 
6584         "Bothwards" compatibility is preserved (although you may loose 
6585         connections if you load a newer file in a older dia).
6587         * app/lineprops_area.c:
6588         * lib/arrows.[ch]:
6589         * lib/widgets.c: Added hollow and filled ellipse arrow head type. 
6590         (feature requested by Benjamin Kahn).
6591         Merged in Steffen Macke's slashed arrow head type.
6593         * app/Makefile.am (app/run_dia.sh actually):
6594         Added $DEBUGGER in front of dia's invocation, so that
6595         you can call "DEBUGGER=ddd app/run_dia.sh" (maybe naive, but useful).
6596         Added $(EFENCE) to app/dia's LDFLAGS, so that you can do 
6597         "EFENCE=-lefence" to link with Electric Fence.
6599         * configure.in: Made gcc do more aggressive optimisations on i386, and
6600         enabled warnings.
6601         
6602 2000-01-24  James Henstridge  <james@daa.com.au>
6604         * lib/geometry.[ch]: added inline versions of functions.  Used
6605         glib's G_INLINE_FUNC stuff, so it should still work on systems
6606         without inline funcs.
6608         * plug-ins/cgm/cgm.c (draw_ellipse, fill_ellipse): fixed up so that
6609         it outputs the correct element id for the ellipse objects.
6611 2000-01-24 Cyrille Chepelov <chepelov@calixo.net>
6613         * lib/object.[ch]: added object_add_connectionpoint_at, similar to
6614         object_add_handle_at. Message typo fixed.
6615         
6616         * lib/sheet.c (load_register_sheet):
6617         potential bug fixed (warning hunt).
6619         * objects/custom/custom.c (custom_object_load): disabled an assertion
6620         which made dia abort upon failure to load a shape file. Fixed a
6621         subsequent crash. 
6623         * objects/custom/shape_info.c (load_shape_info): Made the custom 
6624         shape load code ignore XML comments between <?xml ...?> and the 
6625         root object (mostly useful to put the emacs magic comments).
6626         
6627         * app/load_save.c: Made dia do backup copies of files when saving,
6628         and complain in case of failure.
6630 2000-01-24  Cyrille Chepelov  <chepelov@calixo.net>
6632         * AUTHORS: fixed my address (ISP thought it was a great idea to change
6633         the domain name)
6634         
6635         * configure.in:
6636         * shapes/Contact:
6637         * shapes/Contact/*:
6638         * sheets/Contact.sheet:
6639         * sheets/Makefile.am:
6640         Added support for Contact and LADDER charts.
6642         * dia.desktop: Added a French translation.
6643         
6644 2000-01-23  James Henstridge  <james@daa.com.au>
6646         * app/commands.c (help_about_callback): don't die if can't load
6647         logo image.
6649         * app/render_gdk.c (bezier_add_lines): sanity check to try to weed
6650         out NaN's when performing bezier curve subdivision.
6652         * objects/custom/custom_object.c: initialise memory of Custom structs
6653         to zero.
6655         * app/render_svg.c (draw_image): added image support to the XML
6656         output filter.  The image is just referenced, rather than being
6657         included inline, so if you copy the SVG file somewhere else, you
6658         may need to move the images or fix up the links.
6660         * plug-ins/cgm/cgm.c (draw_string): output a text colour element,
6661         so the text is not just displayed in black all the time.
6663 2000-01-15  Fredrik Hallenberg  <hallon@lysator.liu.se>
6665         * configure.in: fixed libpopt test so we wont try to build with
6666         too old libpopt.
6668 1999-12-18  Yuri Syrota  <rasta@renome.rovno.ua>
6670         * configure.in: Added "uk" to ALL_LINGUAS.
6672 1999-12-24  James Henstridge  <james@daa.com.au>
6674         * po/ru.po: updated russian translation from Valek Filippov.
6675         
6676         * app/render_svg.c (new_svg_renderer): make output use 19991203
6677         version of SVG DTD.  Use viewBox to set the extents of the view.
6679         * INSTALL (FONTS): updated locations of gnome-xml and imlib.  List
6680         ftp.gnome.org as the download.
6682         * TODO (TODO): weeded out completed todo items and added a few extra.
6684         * Makefile.am (EXTRA_DIST): added documentation to EXTRA_DIST.
6686         * doc/sheet.dtd: first stab at a DTD for the sheet files.  It would
6687         be good to get rid of the object/shape distinction and separate
6688         the custom shape code out from the main application.
6690         * objects/custom/README, diagram.dtd: moved to new doc directory.
6691         Renamed the custom shapes README to custom-shapes.  Also updated
6692         custom shape docs a bit and removed the section on sheet files, as
6693         that has changed a bit.
6695         * plug-ins/cgm/cgm.c (draw_image): give an error if the row length
6696         of the image data is larger than the maximum cell array.  I should
6697         add code to break scan lines down further in this case, but for now
6698         an error message is better than an infinite loop.
6700         * app/filedlg.c (file_export_ok_callback): show a dialog if we
6701         couldn't determine the export filter to use.
6703         * app/commands.c (help_about_callback): fixed up about box logo
6704         expose bug.  Now just use a GtkPixmap widget rather than a
6705         GtkDrawingArea and calling gdk_imlib_paste_image.
6707         * app/Makefile.am (EXTRA_DIST): added print stuff to extra dist,
6708         because automake does not always get things right.
6710         * configure.in: updated version number to 0.83.
6712         * app/preferences.c (prefs_save): 
6713         * app/render_svg.c (new_svg_renderer): "wt" is not a valid flag string
6714         for fopen.  Text is the default file mode anyway.
6716         * app/commands.c (file_save_as_dialog_ok_callback, file_new_callback): 
6717         * app/grid.c (grid_x_update, grid_y_update, grid_show_dialog): 
6718         * app/load_save.c (write_objects, write_connections): 
6719         * app/filedlg.c (file_export_ok_callback): 
6720         * lib/dia_xml.c (data_add_int, data_add_enum, data_add_real): 
6721         * lib/dia_xml.c (data_add_point, data_add_rectangle): 
6722         * lib/font.c (init_x11_font, font_get_gdkfont): changed calls to
6723         snprintf to calls to g_snprintf.
6725         * plug-ins/cgm/cgm.c (export_cgm): write the original dia file name
6726         as the picture name.
6728 1999-12-23  James Henstridge  <james@daa.com.au>
6730         * plug-ins/cgm/cgm.c (write_int32, write_int16): fixed up output of
6731         negative numbers.  This fixes the upside down text problem I was
6732         having previously.
6733         (draw_image): implemented the image code.  It will try to split the
6734         image data up into bands if it is too big to fit into a single
6735         cgm cell array element.  It will have problems if you try to insert
6736         an image wider than about 10,000 pixels though.
6738         * Makefile.am: use gnomedatadir for the files that need to be
6739         installed in gnome's datadir.  This is mainly to help people doing
6740         packages for weird setups.
6742 1999-12-22  James Henstridge  <james@daa.com.au>
6744         * plug-ins/cgm/cgm.c: added support for text.  Now only images and
6745         beziers are left to do.  The text seems to be the wrong way up
6746         still.  This is probably a problem with character orientation
6747         element, but I have used what the settings given in the standard.
6748         Other than this, the CGMs dia produces are readable (and displayable)
6749         by ralcgm and corel draw.
6750         (draw_string): subtract from the X coord rather than the Y coord for
6751         center and right aligned text.
6753         * plug-ins/cgm/cgm.c: a few fixups for the output.  Use REALSIZE as
6754         the size of a real number, and changed name of write_double to
6755         write_real.  Consider changing to fixed real encoding.  Also, now
6756         all element headers are correct.  Once the real number encoding is
6757         fixed, only text, beziers and images are left to do.
6759 1999-12-21  James Henstridge  <james@daa.com.au>
6761         * Makefile.am (SUBDIRS): recurse into plug-ins.
6763         * configure.in: add plug-ins directory makefiles to list.
6765         * plug-ins/cgm/cgm.c: start of cgm export filter.  Beziers and text
6766         not done yet.  Also, the output files are not quite correct.
6768         * app/render_eps.c (print_reencode_font): don't reencode the Symbol
6769         font.  It doesn't work if you do.
6771 1999-12-20  James Henstridge  <james@daa.com.au>
6773         * app/app_procs.c (app_init): don't use diagram_export_to_eps to
6774         export the files.  Instead, use filter_guess_export_filter to
6775         guess the correct format to save in and use the appropriate filter.
6776         It defaults to postscript for compatibility.
6778         * app/diagram.[ch] (diagram_export_to_eps): removed export to eps
6779         function.
6781         * app/commands.[ch]: removed export to eps functions.
6783         * app/menus.c: removed export to eps menu items.
6785         * app/app_procs.c: register new export filters.
6787         * app/load_save.[ch]: define dia native export filter.
6789         * app/render_eps.[ch]: define eps export filter.
6791         * lib/filter.h: added diafilename argument to the DiaExportFunc
6792         prototype.  This is useful for putting the source of the diagram
6793         into the output file for instance.
6795         * app/app_procs.c (app_init): register the SVG export filter.  Have
6796         to get EPS code converted to this API, and maybe also allow saving in
6797         DIA's native format from the export dialog.  In fact, it is now
6798         possible to load an export filter from a shared library and it will
6799         integrate into the interface correctly.
6801         * app/menus.c: removed references to the SVG renderer.
6803         * app/commands.[ch]: removed svg stuff.
6805         * app/diagram.[ch]: removed diagram_export_to_svg function.
6807         * app/render_svg.[ch]: added a DiaExportFilter structure for this
6808         renderer.
6810         * app/filedlg.[ch]: code for the new export diagram dialog.  Will
6811         probably move the open/save dialogs to this file as well.
6813 1999-12-19  James Henstridge  <james@daa.com.au>
6815         * lib/filter.[ch]: start of interface for generalised handling of
6816         filters.  I have only done code for export filters so far.  I still
6817         need to do the gui for this, and convert the current SVG and EPS
6818         filters to the new API.
6820         * lib/bezier_conn.c (bezierconn_copy): fix up copy operation.  We
6821         weren't setting the last handle correctly.  It was actually assigning
6822         to the wrong position in the handles array, so the last handle was
6823         left as NULL, which caused the segfault.
6825         * objects/standard/image.c (image_copy): modified routine so that
6826         it just adds a reference to the DiaImage structure in the new image
6827         object.  This seems to have cleared up the problems with copying
6828         image objects.
6830         * dia.spec: spec file additions from John Gotts.
6832 1999-12-12  James Henstridge  <james@daa.com.au>
6834         * configure.in (GNOME_LIBS): updated version number to 0.82.  0.82
6835         has not been released yet though.
6837         * Makefile.am (EXTRA_DIST): distribute diagram.dtd.
6839         
6840         The following based on a patch from Lars Clausen:
6841         
6842         * objects/standard/bezier.c (bezierline_move_handle): when performing
6843         the initial drag of the bezierline, move the control points to keep
6844         the line straight.
6846         * lib/bezier_conn.c (bezierconn_add_segment): when adding a segment,
6847         make the new control points a bit closer to the major point.
6849         * app/create_object.c (create_object_motion): use HANDLE_MOVE_CREATE
6850         as the reason for the move.
6851         (create_object_button_release): use HANDLE_MOVE_CREATE_FINAL as the
6852         move reason.
6854         * lib/handle.h: new handle move reasons.
6856 1999-12-09  James Henstridge  <james@daa.com.au>
6858         * dia.spec: include the new files in RPMs.
6860         * Makefile.am: install these new files.
6862         * dia.keys.in: file describing actions and icon for dia diagrams for
6863         use in the gnome file manager.
6864         
6865         * dia.mime: a file defining the application/x-dia-diagram mime type.
6866         
6867         * dia-diagram.png: an icon for dia diagrams.
6869 1999-12-08  James Henstridge  <james@daa.com.au>
6871         * plug-ins/python/pydia-diagram.c: added heaps of new methods.
6873         * plug-ins/python/pydia-display.[ch]: wrapper for display.
6875         * objects/standard/ellipse.c: applied Lars's patch to optionally not
6876         draw the background of the ellipse.
6878         * app/load_save.c (read_connections): do some sanity checking on the
6879         handle and connection point numbers before performing the object
6880         connection.
6882         * lib/bezier_conn.c (bezierconn_load): give the correct number of
6883         handles when loading a BezierConn.
6885 1999-12-07  Kjartan Maraas  <kmaraas@online.no>
6887         * sheets/*.sheet: Finished Norwegian translations.
6888         
6889 1999-12-07  James Henstridge  <james@daa.com.au>
6891         * plug-ins/python/diamodule.c (PyDia_Load): load diagram function.
6892         (PyDia_GetObjectType): find object type function.
6894         * plug-ins/python/pydia-diagram.c (PyDiaDiagram_Save): added a save
6895         method for diagrams.
6897         * plug-ins/python/pydia-object.c: added methods for DiaObject and
6898         DiaObjectType.
6900         * AUTHORS: added Lars and Cyrille to the authors file.
6902         * objects/standard/bezier.c (bezierline_add_segment_callback): place
6903         new point correctly.
6905         * lib/bezier_conn.h (bezierconn_closest_segment): fixed prototype.
6907         * lib/bezier_conn.c: applied Lars's patch for placement of the new
6908         point when adding a segment to a BezierConn.
6910 1999-12-06  James Henstridge  <james@daa.com.au>
6912         * plug-ins/python/test.py: test script for the python plug-in.
6914         * plug-ins/python/python.c: this file contains the plug-in startup
6915         code for the python plugin.  Right now, it just initialises the
6916         dia module and executes a script.
6918         * objects/standard/polyline.c (polyline_draw): fix start arrow size.
6920         * objects/standard/bezier.c (bezierline_draw): draw control lines for
6921         bezier curve if we are using an interactive renderer (ie. only if
6922         displaying to the screen).
6924         * lib/bezier_conn.[ch] (bezierconn_draw_control_lines): function
6925         to draw control lines on to a bezier curve.  Based on implementation
6926         from Lars.
6928         * objects/standard/bezier.c (bezierline_delete_segment_callback):
6929         calculate segment number using closest_segment rather than
6930         closest_handle.  Sometimes the closest handle is part of a different
6931         segment.
6932         (bezierline_draw): use correct size for start arrow.
6934         The next few entries are from Peter Moulder <reiter@netspace.net.au>:
6935         * lib/geometry.c (distance_line_point): added notes to documentation
6936         in comment.
6937         * app/object_ops.c (object_list_align_v): 
6938         (object_list_align_h): fix of by one error when calculating free space
6939         for equal distance alignment.
6940         * app/menus.c (objects_align_h, objects_align_v): include align
6941         adjacent menu items in the gnome version of the menus.
6942         * app/diagram.c (diagram_update_menu_sensitivity): set sensitivity on
6943         align adjacent menu items correctly.
6946         * lib/dummy_dep.h (dummy_dep): added bezierconn to dummy dependency
6947         table.
6949         * objects/standard/bezier.c: converted bezierline to use BezierConn.
6950         Still a few bugs.  It crashes on deleting line segments.
6952         * lib/Makefile.am (libdia_a_SOURCES): added BezierConn to libdia.
6954 1999-12-05  James Henstridge  <james@daa.com.au>
6956         * lib/bezier_conn.[ch]: start of BezierConn object
6958         * app/interface.c: add bezierline to toolbox.
6960         * objects/standard/standard.c: initialise bezierline.
6962         * objects/standard/bezier.c: new object from Lars R. Clausen.  I have
6963         made a few modifications to get it working nicely.  It still needs
6964         a bit of work though.  Maybe create a BezierConn object in lib.
6966 1999-12-02  James Henstridge  <james@daa.com.au>
6968         * plug-ins/python/pydia-*.c: fixed compile errors in these files.
6969         
6970         * plug-ins/python/Makefile.am: tried building everything.  It is
6971         building as a library at the moment.  I will have to convert it
6972         to a libtool library and add some initialisation code.
6973         
6974         * plug-ins/python/diamodule.c: start of the dia module, using the
6975         other object wrappers.  Not complete.
6977 1999-12-01  James Henstridge  <james@daa.com.au>
6979         * plug-ins/python/pydia-object.c (PyDiaObject_GetAttr): implement
6980         the handles and connections attributes.
6982         * plug-ins/python/pydia-layer.c: added functions that use
6983         ConnectionPoint's.
6985         * plug-ins/python/pydia-handle.[ch]: wrapper for Handle's.
6987         * plug-ins/python/pydia-cpoint.[ch]: wrapper for ConnectionPoint's.
6989         * plug-ins/python/pydia-*.[ch]: starts of python scripting plug-in.
6990         I am currently wrapping the basic elements in the diagram in python
6991         objects -- nothing to see or play with yet.
6993 1999-11-30  Alexander Larsson  <alla@lysator.liu.se>
6995         * AUTHORS:
6996         * HACKING:
6997         James Henstridge <james@daa.com.au> is now the maintainer of Dia.
6999 1999-11-29  Alexander Larsson  <alla@lysator.liu.se>
7001         * configure.in:
7002         * po/ru.po:
7003         Added russian translation from Valek Filippov <frob@df.ru>
7005 1999-11-24  James Henstridge  <james@daa.com.au>
7007         * sheets/UML/*: 
7008         * sheet/ER/*: moved extra sheet pixmaps back to separate dirs as
7009         discussed with Alex.  Also added extra makefiles so that make install
7010         works correctly.
7012 1999-11-23  Alexander Larsson  <alla@lysator.liu.se>
7014         * app/preferences.[ch]:
7015         * app/display.c:
7016         Added snap to grid preference.
7017         Patch from Michael Leslie <mles@springboardwireless.com>
7019 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
7021         * app/load_save.c:
7022         * lib/dia_xml.c:
7023         * lib/sheet.c:
7024         * lib/text.c:
7025         * objects/custom/shape_info.c:
7026         All strings returned by libxml must be freed with free, not
7027         g_free, or there will be problems if you use memory debugging
7028         in glib.
7029         
7030 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
7032         * app/create_object.[ch]:
7033         * app/menus.c:
7034         * app/tool.[ch]:
7035         * app/commands.[ch]:
7036         * app/pixmaps.h:
7037         * app/interface.[ch]:
7038         Reverted the tool menu patch. It has some 'issues'.
7039         I liked it though, so it'll probably return.
7041 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
7043         Fixed a lot of memory leaks. Thanks to Bruce Mitchener
7044         <bruce@cybersight.com> for some purify runs and analysis.
7045         Also a great thank you to Owen Taylor for creating MemProf, a
7046         free memory leak detector that was used to find and verify a
7047         lot of these fixes.
7048         
7049         * app/diagram.c:
7050         * app/paginate_psprint.c:
7051         * app/render_eps.[ch]:
7052         * app/render_svg.[ch]:
7053         Free renderers.
7055         * app/interface.c:
7056         Don't add a reference to ddisp->shell. Why was this done in
7057         the first place?
7059         * app/load_save.c:
7060         * lib/dia_xml.c:
7061         * lib/sheet.c:
7062         * lib/text.c:
7063         Free all strings returned from xmlGetProp
7065         * app/modify_tool.c:
7066         Plug leak.
7068         * objects/custom/custom.c:
7069         Use closedir() after opendir().
7071         * objects/custom/shape_info.c:
7072         User g_free() instead of "if (tmp) free(tmp)".
7074         * sheets/ER.sheet:
7075         Add newline at end of file.
7076         
7078 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
7080         Based on patch from Patrick Reynolds <reynolds@cs.duke.edu>
7081         Adds tool menu and keyboard shortcuts.
7083         * app/create_object.[ch]:
7084         Use tool_set() instead of tool_reset().
7085         create_create_object_tool() takes extra type argument
7087         * menus.c:
7088         Add tools menu.
7089         
7090         * tool.[ch]:
7091         Moved tool_data here, export it.
7092         Add separate tool type for all create objects tools.
7093         new functions tool_set().
7095         * commands.[ch]:
7096         New callback tool_set_callback.
7098         * pixmaps.h:
7099         Moved some pixmaps to interface.c.
7100         
7101         * interface.[ch]:
7102         Remove tool_data array (moved to tool.c).
7103         Use the tool_data from tool.c.
7104         Remove modify_tool_button global var.
7105         
7106 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
7108         Patch from Patrick Reynolds <reynolds@cs.duke.edu>
7109         
7110         * app/app_procs.c:
7111         Interprets command-line arguments as files to open even when
7112         HAVE_POPT is not defined.
7114         * app/magnify.c:        
7115         Shift-clicking when zooming zooms out, like the Gimp.
7117         * app/menus.c:
7118         Has hotkeys for zoom-100% and snap-to-grid.
7120 1999-11-17  James Henstridge  <james@daa.com.au>
7122         * app/scroll_tool.c (scroll_motion): fixed shift style scrolling so
7123         that it is not jumpy.
7125         * app/Makefile.am (EXTRA_DIST): added extra files to extra dist list.
7127         * app/scroll_tool.c (scroll_motion): added `grabbing hand' type
7128         scrolling by pressing the shift key when using the scroll tool.
7130         * sheets/Makefile.am: fixed makefile so that install actually works
7131         if the directories $(pkgdatadir)/sheets/UML and $(pkgdatadir)/sheets/ER
7132         don't exist.
7133         (SHEETS): install Circuit.sheet
7135 1999-11-15  Alexander Larsson  <alla@lysator.liu.se>
7136         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
7138         * sheets/Circuit.sheet:
7139         * sheets/ER.sheet:
7140         * sheets/FS.sheet:
7141         * sheets/Flowchart.sheet:
7142         * sheets/UML.sheet:
7143         * sheets/network.sheet:
7144         * sheets/sybase.sheet:
7145         Changed name space
7147         * sheets/Circuit.sheet:
7148         added some missing French translations
7150         * lib/sheet.c:
7151         killed the temporary sheet namespace
7153         * objects/custom/custom.c:
7154         obsolete comment cleaned up
7156 1999-11-12  Alexander Larsson  <alla@lysator.liu.se>
7158         * configure.in:
7159         * po/pt.po:
7160         Added portugese translation from Pedro Morais
7161         <pmmm@rnl.ist.utl.pt>
7163 1999-11-11  Alexander Larsson  <alla@lysator.liu.se>
7165         Changed all sheets to be specified in xml.
7166         All sheet objects removed from the C code.
7167         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
7168         
7169         * Makefile.am:
7170         * configure.in:
7171         Adding shapes dir.
7172         Updated version to 0.81cvs.
7173         
7174         * app/Makefile.am:
7175         Update run_dia.sh with sheet-dir.
7176         
7177         * app/app_procs.c:
7178         Load all sheets on startup.
7179         Create sheet directory first time.
7180         Don't call custom_register_sheets().
7182         * lib/Makefile.am:
7183         Add sheetdir define
7185         * lib/custom.h:
7186         Remove custom_register_sheets().
7188         * lib/sheet.[ch]:
7189         Add sheet loading code.
7191         * sheet/Circuit.sheet:
7192         * sheet/ER.sheet:
7193         * sheet/FS.sheet:
7194         * sheet/Flowchart.sheet:
7195         * sheet/UML.sheet:
7196         * sheet/network.sheet:
7197         * sheet/sybase.sheet:
7198         Added sheet files.
7200         * sheet/ER/weakentity.xpm:
7201         * sheet/UML/aggregation.xpm
7202         * sheet/UML/umlclass_template.xpm
7203         Added sheet pixmaps.
7204         These are moved from their old places.
7206         * sheet/.cvsignore:
7207         Shut up cvs.
7209         * objects/*/*.c:
7210         Removed sheet objects and sheet registration.
7211         
7212         * objects/ER/Makefile.am:
7213         * objects/ER/pixmaps/weakentity.xpm:
7214         * objects/UML/Makefile.am:
7215         * objects/UML/pixmaps/aggregation.xpm:
7216         * objects/UML/pixmaps/umlclass_template.xpm:
7217         Removed alternative pixmaps. (Moved to sheet).
7219         * objects/custom/Makefile.am:
7220         * objects/custom/load_sheet.[ch]:
7221         Removed old sheet loading code.
7222         
7223         * objects/custom/custom.c:
7224         Load all shapes instead of sheets.
7225         Removed custom_register_sheets().
7227         * objects/custom/custom_object.c:
7228         Added debug code.
7230         * objects/custom/shape_info.[ch]:
7231         Added shape_info_getbyname().
7233         * objects/flowchart/Makefile.am:
7234         * objects/flowchart/collate.shape            
7235         * objects/flowchart/delay.shape              
7236         * objects/flowchart/display.shape            
7237         * objects/flowchart/document.shape           
7238         * objects/flowchart/extract.shape            
7239         * objects/flowchart/flowchart.c              
7240         * objects/flowchart/intstorage.shape         
7241         * objects/flowchart/magdisk.shape            
7242         * objects/flowchart/magdrum.shape            
7243         * objects/flowchart/magtape.shape            
7244         * objects/flowchart/manualinput.shape        
7245         * objects/flowchart/manualop.shape           
7246         * objects/flowchart/merge.shape              
7247         * objects/flowchart/offlinestore.shape       
7248         * objects/flowchart/offpageconn.shape        
7249         * objects/flowchart/or.shape                 
7250         * objects/flowchart/predefdproc.shape        
7251         * objects/flowchart/preparation.shape        
7252         * objects/flowchart/punchedcard.shape        
7253         * objects/flowchart/punchedtape.shape        
7254         * objects/flowchart/sort.shape               
7255         * objects/flowchart/sumjunction.shape        
7256         * objects/flowchart/terminal.shape           
7257         * objects/flowchart/transaction.shape        
7258         * objects/flowchart/transmittape.shape       
7259         * objects/flowchart/pixmaps/collate.xpm      
7260         * objects/flowchart/pixmaps/delay.xpm        
7261         * objects/flowchart/pixmaps/display.xpm      
7262         * objects/flowchart/pixmaps/document.xpm     
7263         * objects/flowchart/pixmaps/extract.xpm      
7264         * objects/flowchart/pixmaps/intstorage.xpm   
7265         * objects/flowchart/pixmaps/magdisk.xpm      
7266         * objects/flowchart/pixmaps/magdrum.xpm      
7267         * objects/flowchart/pixmaps/magtape.xpm      
7268         * objects/flowchart/pixmaps/manualinput.xpm  
7269         * objects/flowchart/pixmaps/manualop.xpm     
7270         * objects/flowchart/pixmaps/merge.xpm        
7271         * objects/flowchart/pixmaps/offlinestore.xpm 
7272         * objects/flowchart/pixmaps/offpageconn.xpm  
7273         * objects/flowchart/pixmaps/or.xpm           
7274         * objects/flowchart/pixmaps/predefdproc.xpm  
7275         * objects/flowchart/pixmaps/preparation.xpm  
7276         * objects/flowchart/pixmaps/punchedcard.xpm  
7277         * objects/flowchart/pixmaps/punchedtape.xpm  
7278         * objects/flowchart/pixmaps/sort.xpm         
7279         * objects/flowchart/pixmaps/sumjunction.xpm  
7280         * objects/flowchart/pixmaps/terminal.xpm     
7281         * objects/flowchart/pixmaps/transaction.xpm  
7282         * objects/flowchart/pixmaps/transmittape.xpm 
7283         Moved shapes and their pixmaps to shapes/flowchart
7285         * shapes/Circuit/Makefile.am:
7286         * shapes/Circuit/index.sheet:
7287         Removed index.sheet.
7288         
7289         * shapes/Makefile.am:
7290         * shapes/flowchart/Makefile.am:
7291         * shapes/flowchart/*.shape:
7292         * shapes/flowchart/*.xpm:
7293         Added flowchart shapes. (Moved from objects/flowchart)
7294         
7296 1999-11-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
7298         * app/app_procs.c: Fixed popt stuff.
7300 1999-11-01  James Henstridge  <james@daa.com.au>
7302         * shapes/Circuit/[hv]led_de.{shape,xpm}: new circuit shapes from
7303         Andreas Scherf.
7305 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
7307         * dia.spec:
7308         * configure.in:
7309         Update version to 0.81.
7310         
7311         * NEWS:
7312         Update with news for 0.81.
7313         
7314         * shapes/Circuit/*:
7315         * shapes/Circuit_eu/*:
7316         Moved european circuit objects to Circuit sheet.
7318 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
7319         
7320         * lib/diagramdata.[ch]:
7321         Added layer_set_object_list() function.
7323         * app/undo.[ch]:
7324         Added support for undo of reordered objects.
7325         Fix the undo of delete to keep the right order on undo.
7326         
7327         * app/diagram.c:
7328         changed loop to object_add_updates_list() calls.
7329         Added undo support to bring to front/back.
7331         * app/disp_callbacks.c:
7332         * app/paginate_psprint.c:
7333         Remove warnings.
7335 1999-10-30  Alexander Larsson  <alla@lysator.liu.se>
7337         This plugs some leaks. Thanks to
7338         Bruce Mitchener <bruce@cybersight.com> for running
7339         Dia through purify for me.
7340         
7341         * app/app_procs.c:
7342         Free displays and diagrams on exit.
7344         * app/modify_tool.c:
7345         Free gc when freeing tool.
7347         * lib/diagramdata.c:
7348         Free layer name.
7349         
7350         * app/display.c:
7351         Free update and display lists when destroying display.
7352         
7353         * lib/diagramdata.c:
7354         Don't leak layer name.
7356         * objects/custom/load_sheet.c: 
7357         * objects/custom/shape_info.c:
7358         Free loaded xml documents.
7360 1999-10-28  Alexander Larsson  <alla@lysator.liu.se>
7362         * app/commands.c:
7363         * app/object_ops.[ch]:
7364         Add undo handling to alignment ops.
7365         Based partially on patch by Dan Cohn <dan@internap.com>.
7367         * objects/standard/image.c (image_move_handle):
7368         Don't divide by zero for small images.
7369         Patch by Dan Cohn <dan@internap.com>.
7371         * objects/UML/class.c (umlclass_destroy): 
7372         * objects/custom/custom_object.c (custom_destroy):
7373         Don't free connectionpoints before calling element_destroy
7374         which unconnects them.
7376 1999-10-26  Alexander Larsson  <alla@lysator.liu.se>
7378         * objects/custom/custom_object.c: 
7379         Load and save padding too. Fixes strange load crashes.
7381         * app/group.c (group_destroy):
7382         Don't unconnect already freed connectionpoints when
7383         destroying group. Probably fixes bug reported by
7384         Elliot Lee <sopwith@redhat.com>.
7386         * app/render_gdk.c:
7387         Don't crash on zero-size (broken) bezier curves.
7388         Different sort of fix. This should work on closed bezier curves
7389         too.
7391         * objects/standard/textobj.c:
7392         Activate default properties dialog for Text objects.
7394         * app/render_eps.c: 
7395         * app/load_save.c:
7396         * app/preferences.c:
7397         * app/render_svg.c:
7398         fopen files in binary or text mode.
7400 1999-10-26  Alexander Larsson  <alex@cendio.se>
7402         * app/render_gdk.c (bezier_add_lines):
7403         Don't crash on zero-size (broken) bezier curves.
7404         Fixes a crashing bug.
7406 1999-10-25  James Henstridge  <james@daa.com.au>
7408         * app/Makefile.am (run_dia.sh): allow dia to find internal shape files
7409         before it is installed.
7411         * objects/flowchart/flowchart.c: use relative paths to find shapes.
7413         * objects/custom/custom.c (custom_object_load): take file names
7414         relative to $(pkgdatadir)/shape-internal, and check an environment
7415         variable for an alternative directory.
7417         * app/...: added copyright messages to the top of my new code.
7419         * app/paginate_psprint.c: some general clean ups.  Also, give an error
7420         dialog if we can't open the command or output file for writing.
7422         * app/diapagelayout.c (dia_page_layout_set_orientation): fixed
7423         function so it would set orientation to landscape correctly.
7425         * app/paginate_psprint.c: use the paper settings that come with
7426         the diagram.  Also implemented landscape printing.
7428         * app/render_eps.c (new_psprint_renderer): use diagram paper metrics
7429         in PS header.
7431         * app/commands.[ch] (file_pagesetup_callback): added callback for
7432         the page setup dialog.
7434         * app/menus.c: added page setup menu item.
7436         * app/pagesetup.[ch]: implementation of the page setup dialog.
7438         * app/diapagelayout.[ch]: added accessors for the scaling factor.
7439         
7440         * app/load_save.c (diagram_load): load paper information from save
7441         file.
7442         (diagram_save): save the paper info.
7444         * lib/diagramdata.c (new_diagram_data): initialise paper info section
7445         of DiagramData structure.
7446         (diagram_data_destroy): free the paper name.
7448         * lib/diagramdata.h: added a paper member to the DiagramData structure
7449         that holds the page layout info for a diagram.
7451 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
7453         * objects/flowchart/box.c:
7454         * objects/flowchart/ellipse.c:
7455         * objects/flowchart/diamond.c:
7456         * objects/flowchart/parallelogram.c:
7457         Load and save padding too. Fixes strange load crashes.
7459 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
7461         * app/app_procs.c (name_is_lib):
7462         .dll, .sl and .so.0.0.0 are also libraries.
7464 1999-10-20  James Henstridge  <james@daa.com.au>
7466         * configure.in: added extra makefile.
7467         
7468         * shapes/Circuit_eu/*: a new set of european circuit shapes from
7469         Andreas Scherf <scherfa@fh-trier.de>.  Made a few small modifications
7470         (added fuses to makefile, fill the area of some of the components).
7472 1999-10-19  Alexander Larsson  <alla@lysator.liu.se>
7474         * lib/Makefile.am:
7475         * app/Makefile.am: 
7476         Add GDK_IMLIB_CFLAGS to includes.
7477         Changed --export-dynamic to -export-dynamic
7479         * lib/widgets.c:
7480         * objects/UML/message.c:
7481         Removed c++ comment.
7483         * lib/render_store.[ch]:
7484         Don't use empty structure. That is not Ansi C.
7486 1999-10-19  James Henstridge  <james@daa.com.au>
7488         * app/diapagelayout.c (dia_page_layout_init): use DiaUnitSpinner's for
7489         the margin entries, as they allow interpretation of units.
7490         (paper_size_change): display the current page dimensions.
7492         * app/diaunitspinner.[ch]: a widget derived from the standard
7493         GtkSpinButton that tries to take units into account.  So if you enter
7494         "1in" into the entry, it will convert it to 2.54cm.
7496 1999-10-18  Alexander Larsson  <alla@lysator.liu.se>
7498         * app/app_procs.c:
7499         Removed include of dlfcn.h
7501 1999-10-18  James Henstridge  <james@daa.com.au>
7503         * app/diapagelayout.c (paper_size_change, orient_changed): set upper
7504         bound on margin widths.  It is set to the paper width/height.
7506         * objects/flowchart/diamond.c (diamond_distance_from): fixed distance
7507         routine for the diamond.  This bug was found and fixed by Daniel Wang
7508         <danwang@CS.Princeton.EDU>
7510 Sun Oct 17 19:46:36 1999  ape@gandalf.spacetec.no  (Asbjorn Pettersen)
7512         * app/commands.c: Add <sys/types.h> before <sys/stat.h> to
7513         remove warning (OS/2 version).
7515 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
7517         * README:
7518         Put a pointer to objects/custom/README.
7519         
7520 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
7522         * dia.spec:
7523         Updated version to 0.80
7525         * configure.in:
7526         Updated version to 0.80cvs
7528 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
7530         * Released Dia 0.80
7531         Tag called DIA_0_80
7532         
7533 1999-10-17  Fredrik Hallenberg  <hallon@lysator.liu.se>
7535         * app/Makefile.am
7536         * lib/Makefile.am
7537         * objects/UML/Makefile.am
7538         * objects/ER/Makefile.am
7539         * objects/network/Makefile.am
7540         * objects/standard/Makefile.am
7541         * objects/FS/Makefile.am
7542         * objects/sybase/Makefile.am
7543         * objects/flowchart/Makefile.am
7544         * objects/custom/Makefile.am
7545         Added -I$(top_srcdir)/intl which is needed for
7546         --with-included-gettext.
7548         * POTFILES.in
7549         Updated.
7550         
7551         * po/sv.po
7552         Updated swedish translation.
7554 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
7556         * configure.in:
7557         Updated version number to 0.80.
7559         * KNOWN_BUGS:
7560         New file.
7562         * TODO:
7563         Updated. Moved bugs to KNOWN_BUGS.
7565         * NEWS:
7566         Updated with 0.80 release notes.
7567         
7568 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
7569         
7570         * lib/orth_conn.c:
7571         For backwards compatibility, make sure handle 0 and 1 are the
7572         first and last handle. Fixes compatibility with 0.41, breaks
7573         compatibility with cvs version.
7574         Fixed bug in undo/redo of adding deleting endpoint segments
7575         when the endpoint was connected.
7576         Start OrthConn objects with three segments.
7578 1999-10-16  James Henstridge  <james@daa.com.au>
7580         * objects/custom/custom_object.c (custom_update_data): changed
7581         resizing behaviour a bit so that shapes don't grow huge when you try
7582         to resize them to smaller than the size required by the text box.
7583         Also, now shapes will not grow with fixed aspect ratio when you enter
7584         text into them unless the shape has the fixed aspect ratio flag set.
7586 1999-10-15  James Henstridge  <james@daa.com.au>
7588         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
7590         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
7592         * objects/flowchart/magdrum.shape: 
7593         * objects/flowchart/offlinestore.shape: 
7594         * objects/flowchart/punchedtape.shape: 
7595         * objects/flowchart/transmittape.shape: 
7596         * objects/flowchart/punchedcard.shape: new shapes.
7598         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
7600         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
7602         * objects/flowchart/collate.shape:
7603         * objects/flowchart/delay.shape:
7604         * objects/flowchart/extract.shape:
7605         * objects/flowchart/intstorage.shape:
7606         * objects/flowchart/magdisk.shape:
7607         * objects/flowchart/magtape.shape:
7608         * objects/flowchart/merge.shape:
7609         * objects/flowchart/or.shape:
7610         * objects/flowchart/sort.shape:
7611         * objects/flowchart/sumjunction.shape: new shapes.
7613 1999-10-15  Alexander Larsson  <alla@lysator.liu.se>
7615         * TODO (BUGS):
7616         Added bug:
7617         Entering an erronous command as print command
7618         crashes dia.
7620         * app/paginate_psprint.c:
7621         Save all print dialog values for next time.
7622         
7623         * app/Makefile.am:
7624         Remove custom lib from DIA_LIB_PATH.
7626 1999-10-14  James Henstridge  <james@daa.com.au>
7628         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
7630         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
7631         
7632         * objects/flowchart/offpageconn.shape: 
7633         * objects/flowchart/manualop.shape: 
7634         * objects/flowchart/preparation.shape: 
7635         * objects/flowchart/manualinput.shape: 
7636         * objects/flowchart/predefdproc.shape: 
7637         * objects/flowchart/terminal.shape: new shapes in the flowchart sheet.
7639 1999-10-13  James Henstridge  <james@daa.com.au>
7641         * app/diapagelayout.[ch]: added accessors to paper information.  The
7642         widget should be just about complete now.
7644         * app/diapagelayout.[ch]: fleshed out the page setup widget a bit more.
7645         It actually does something now.
7647 1999-10-12  James Henstridge  <james@daa.com.au>
7649         * app/pixmaps/portrait.xpm, app/pixmaps/landscape.xpm: support pixmaps
7650         for the page layout widget.
7652         * app/diapagelayout.[ch]: start of page layout widget.  Not actually
7653         built yet as it is not complete.
7655         * objects/flowchart/flowchart.c: added new shapes to sheet.
7657         * objects/flowchart/display.shape:
7658         * objects/flowchart/transaction.shape: new shapes.
7660         * AUTHORS: added my name to the spec file.
7662         * dia.spec: include the dia desktop entry to the spec file.
7664         * Makefile.am: install the dia.desktop file.
7666         * dia.desktop: added a gnome desktop entry so you can start dia
7667         from the gnome panel menu.
7669 1999-10-11  James Henstridge  <james@daa.com.au>
7671         * objects/custom/custom_object.c:
7672         * objects/custom/shape_info.c: warning fixes.
7674         * objects/flowchart/document.shape: a shape file for the `document'
7675         flowchart shape.
7677         * lib/custom.h: new header with the custom shape prototypes.
7679         * app/app_procs.c: register custom objects as well.
7680         (register_objects_in): close shared libraries if they don't load
7681         correctly, and call g_module_make_resident on libraries that load
7682         correctly.
7684         * app/Makefile.am (dia_LDADD): added libcustom_objects.a to link list.
7686         * objects/custom/custom.c: removed get_version, added custom_ prefix
7687         to register_objects and register_sheets.
7689         * objects/custom/Makefile.am: converted to a normal library.
7691 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
7693         * app/lineprops_area.c:
7694         * app/render_svg.c:
7695         * lib/objchange.c:
7696         * objects/custom/shape_info.c:
7697         * objects/flowchart/box.c:
7698         * objects/flowchart/diamond.c:
7699         * objects/flowchart/ellipse.c:
7700         * objects/flowchart/parallelogram.c:
7701         * objects/network/flash.c:
7702         * objects/network/scead-plug.c:
7703         * objects/sybase/client.c:
7704         Removed -Wall warnings.
7705         
7706         * objects/network/bus.c:
7707         Removed unused functions.
7709         * objects/FS/flow-ortho.c:
7710         * objects/FS/flow-poly.c:
7711         * objects/FS/flow.c:
7712         * objects/FS/function.c:
7713         
7714         Implemented "non-implemented" undo for FS objects.
7715         Now at least it won't crash.
7716         
7717 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
7719         * objects/network/bus.c:
7720         Implemented undo.
7721         Handles are now added and removed using the object menu.
7722         Default to 6 handles instead of 10.
7723         Changed name from "Standard - Bus" to "Network - Bus". Kept old
7724         name for backwards compatibility.
7726         * objects/network/network.c:
7727         Changed name from "Standard - Bus" to "Network - Bus". Kept old
7728         name for backwards compatibility.
7730         * app/properties.[ch]:
7731         * app/undo.c:
7732         Update properties in properties dialog if the shown object
7733         is part of and ObjectChange (undo or redo).
7735         * lib/poly_conn.c:
7736         Remove old known bugs list.
7738         * objects/UML/class_dialog.c:
7739         Removed debug printf's.
7741 1999-10-10  James Henstridge  <james@daa.com.au>
7743         * objects/custom/custom.c (custom_object_load): new function that
7744         provides a nice entry point to the custom shape code for when it
7745         gets used by other libraries.
7747         * configure.in: removed 11 makefiles from AC_OUTPUT list.  This
7748         speeds builds up a bit.
7750         * */Makefile.am (EXTRA_DIST): include pixmaps in distribution.
7751         (SUBDIRS): do not descend into pixmaps subdirs.
7753         * */pixmaps/Makefile.am: removed -- incorporate into parent makefiles.
7754         This speeds up build process.
7756         * objects/custom/custom.c (sheets): made variable static.
7758         * objects/custom/custom_util.[ch] (custom_get_relative_filename):
7759         renamed function.
7761         * objects/custom/load_sheet.[ch] (custom_sheet_load): renamed function.
7763         * objects/custom/custom.c: look in ~/.shapes instead of
7764         ~/.dia_shapes as the per-user shapes directory.
7766         * app/preferences.c (prefs_save): save config to ~/.diarc.
7767         (prefs_load): load configuration from ~/.diarc.  If the file
7768         does not exist, fallback on the old ~/.diarc location.
7770         * app/app_procs.c (create_user_dirs): create the ~/.dia directory
7771         on startup.
7772         (register_all_objects): look for user specific objects in
7773         ~/.objects rather than ~/.dia_libs.
7775 1999-10-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
7777         * configure.in:
7778         * app_procs.c:
7779         * objects/flowchart/box.c
7780         * objects/flowchart/ellipse.c
7781         * objects/flowchart/flowchart.c 
7782         Use gmodule for dynamic linking. As gmodule is using
7783         RTLD_GLOBAL i had to change flowchart box and ellipse
7784         so the typenames doesn't conflict with the standard
7785         box and ellipse.
7787         * message.c
7788         * commands.c
7789         Use button box to make dialogs look better.
7791 1999-10-09  Alexander Larsson  <alla@lysator.liu.se>
7793         * objects/UML/class_dialog.c:
7794         * objects/UML/class.h:
7795         Implemented undo for "UML - Class" objects.
7796         Not 100% tested yet.
7798         * objects/UML/classicon.c:
7799         * objects/UML/constraint.c:
7800         * objects/UML/dependency.c:
7801         * objects/UML/generalization.c:
7802         * objects/UML/implements.c:
7803         * objects/UML/large_package.c:
7804         * objects/UML/lifeline.c:
7805         * objects/UML/message.c:
7806         * objects/UML/object.c:
7807         * objects/UML/realizes.c:
7808         * objects/UML/state.c:
7809         * objects/UML/usecase.c:
7810         Removed warnings.
7811         
7812         * lib/connectionpoint.h:
7813         Fixed typo.
7814         
7815 1999-10-09  James Henstridge  <james@daa.com.au>
7817         * objects/custom/*.[ch]: added copyright notices to custom object
7818         files.
7820         * shapes/Circuit/hdiode.shape:
7821         * shapes/Circuit/hzener.shape: 
7822         * shapes/Circuit/opamp.shape:
7823         * shapes/Circuit/vdiode.shape:
7824         * shapes/Circuit/vzener.shape: made adjustments to make the circuit
7825         shapes look nice after the custom shape code changes.
7827         * objects/custom/README: updated docs to cover changes to drawing
7828         code.
7830         * objects/custom/custom_object.c (custom_draw): honour the line
7831         properties when drawing the shape.
7833         * objects/custom/shape_info.[ch]: added support for setting line
7834         properties for individual drawing elements in a custom shape.  You
7835         can set the dash style, dash length, cap style and join style.
7837 1999-10-07  James Henstridge  <james@daa.com.au>
7839         * objects/custom/shape_info.c (parse_style): added a few extra synonyms
7840         for foreground and background.
7842         * objects/custom/custom_object.c (custom_draw): use the new style
7843         information when drawing the object.
7845         * objects/custom/shape_info.[ch]: store all shape style info in the
7846         GraphicStyle structure.  This makes adding support for extra CSS
7847         attributes easier -- we don't have to keep adding extra arguments to
7848         a lot of functions.
7850 1999-10-05  James Henstridge  <james@daa.com.au>
7852         * lib/intl.c (unalias_lang): merged in changes from the i18n code
7853         swiped from gnome-libs.
7855 1999-10-03  Alexander Larsson  <alla@lysator.liu.se>
7857         * objects/standard/image.c (get_directory):
7858         Fix memleak. Found by Kjartan Maraas <kmaraas@online.no>
7860 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
7862         * lib/poly_conn.c (polyconn_destroy):
7863         Fix bug. Access of freed memory.
7864         Rememeber, you can't free the handles of an object
7865         before calling object_destroy(), as it unconnects the handles
7866         therefore referencing them.
7868 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
7870         * app/undo.c:
7871         undo_clear() didn't set stack->depth to zero.
7872         This made other undo functions crash after this had been called
7873         on a "full" stack.
7874         
7875         * dia.xpm:
7876         Slightly modified by Chris Love <clove@exactis.com>
7878 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
7880         * objects/UML/class.h: 
7881         * objects/UML/class_dialog.c:
7882         Retrun NULL ObjectChange on class property change.
7883         This means no crashes, but "UML - Class" doesn't support undo yet.
7884         
7885 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
7886         
7887         * lib/text.c:
7888         Indentation fix.
7890         * objects/UML/classicon.c:
7891         * objects/UML/dependency.c:
7892         * objects/UML/generalization.c:
7893         * objects/UML/implements.c:
7894         * objects/UML/large_package.c:
7895         * objects/UML/lifeline.c:
7896         * objects/UML/message.c:
7897         * objects/UML/object.c:
7898         * objects/UML/realizes.c:
7899         * objects/UML/state.c:
7900         * objects/UML/usecase.c:
7901         Update to new undo (w. get/set_state).
7902         Add object menu to add/delete segments.
7904 1999-09-17  Alexander Larsson  <alla@lysator.liu.se>
7906         * app/menus.c:
7907         Add equal distance alignment.
7909         * app/object_ops.c:
7910         Add equal distance alignment.
7911         Fix bug in adjacent alignment.
7913 1999-09-16  Alexander Larsson  <alla@lysator.liu.se>
7915         * objects/UML/constraint.c: 
7916         Update to new undo (w. get/set_state).
7918 1999-09-15  Alexander Larsson  <alla@lysator.liu.se>
7920         * app/paginate_psprint.c:
7921         Save (parts, more todo) of the info in the print dialog to the
7922         next time it's opened.
7923         Patch from Yo Ric Dude <ricdude@toad.net>
7925 1999-09-14  Alexander Larsson  <alla@lysator.liu.se>
7927         * configure.in:
7928         Updated version string to 0.41cvs.
7930         * objects/UML/assocition.c:
7931         Update to new undo (w. get/set_state).
7932         Add object menu to add/delete segments.
7934         * app/app_procs.c:
7935         Added function debug_break() and called it after all
7936         objects and sheets are loaded. Place a breakpoint here if you
7937         want to debug objects. All symbols should be loaded.
7939 1999-09-12  James Henstridge  <james@daa.com.au>
7941         * app/menus.c (display_menu_items): added print menu item.
7942         (filemenu): always add print menu item -- even if gnome-print is
7943         not installed.
7945         * app/commands.h, app/commands.c (file_print_callback): the print
7946         menu item is now available for both gnome-print and non gnome-print
7947         setups.
7949         * app/paginate_psprint.c (diagram_print_ps): show a dialog to let you
7950         print with the non gnome-print driver.
7952 1999-09-11  James Henstridge  <james@daa.com.au>
7954         * app/paginate_gnomeprint.c (diagram_print_gnome): moved the gnome
7955         printer dialog code out of commands.c.
7957         * app/paginate_psprint.c: new file containing the pagination code for
7958         psprint.
7960         * app/render_eps.c: made a few modifications so as well as producing
7961         EPS files, this renderer can be set up to do postscript printing.
7962         This basically entailed adding an extra function to create a RenderEPS
7963         renderer which did not bother setting the viewport for the document.
7964         That was left for the pagination code.
7966 1999-09-10  James Henstridge  <james@daa.com.au>
7968         * app/render_gnomeprint.c (draw_ellipse, fill_ellipse): since
7969         gnome-print does not support elliptic arcs at the moment, approximate
7970         the ellipse with eight bezier curves.  This gives a pretty good
7971         match to a true ellipse.
7973 1999-09-09  James Henstridge  <james@daa.com.au>
7975         * app/commands.c (file_gnome_print_callback): added support for
7976         scaling the diagram.  Also fixed a few other bugs.
7978         * app/paginate_gnomeprint.c (print_page): added ability to scale
7979         document.  Fixed up test to see if the page has no objects on it.
7980         This should prevent some blank pages being printed.  Non square
7981         objects such as lines could still cause problems.
7983 1999-09-08  James Henstridge  <james@daa.com.au>
7985         * app/commands.c (file_gnome_print_callback): changed from using the
7986         standard printer selection dialog to one that also has a paper size
7987         selector as well.
7989         * commands.[ch]: added callbacks for the print menu item.  Currently
7990         it only does A4 output.  I will make it configurable soon.
7991         
7992         * app/menus.c: add a print diagram menu item if gnome-print support
7993         is enabled.
7994         
7995         * app/paginate_gnomeprint.c, app/paginate_gnomeprint.h: this is a
7996         bit higher level than the gnome-print renderer.  It splits the
7997         diagram into page size chunks and then renders them.  For each
7998         page, it only renders the objects whose bounding box intersects
7999         the page, and it sets the clip mask so that the diagram does not
8000         overlap the margins.
8001         
8002         * app/render_gnomeprint.c, app/render_gnomeprint.h: added a renderer
8003         that uses gnome-print as its back end.
8004         
8005         * configure.in: added a check for gnome-print.  It is disabled by
8006         default because the code is not really working correctly yet.
8008         * app/menus.c: the delete object menu item was missing from the
8009         GnomeUIInfo style menus.
8011 1999-09-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
8013         * configure.in
8014         Added japanese to ALL_LINGUAS.
8015         Fix for Linux on Alpha.
8017 1999-09-07  Alexander Larsson  <alla@lysator.liu.se>
8019         * app/create_object.c (create_object_button_press):
8020         Always initialize tool->obj. Otherwise we store a null
8021         in the undo Change.
8023         * lib/text.c:
8024         Set linestyle before drawing cursor.
8025         Fix undo of backwards delete.
8027 1999-09-05  James Henstridge  <james@daa.com.au>
8029         * dia.spec: updated spec file to distribute $(prefix)/share/dia.
8031         * app/render_svg.c (draw_image): some fixes so that the appropriate
8032         style attributes are set.  Before it was setting line styles on
8033         fill_* functions.  Now it only does this for the draw_* variants.
8035         * app/Makefile.am (run_dia.sh): set the DIA_SHAPE_PATH environment
8036         variable so that custom shapes can be loaded.
8038         * shapes/: new directory for custom shapes.  The Circuit sheet has
8039         been moved here.
8041 1999-09-02  James Henstridge  <james@daa.com.au>
8043         * TODO: removed a few todo items that have been implemented.
8045         * app/interface.c (create_sheets): enabled the popup page menu to the
8046         notebook.  This can make it easier to select different sheets.
8048         * object/custom/Circuit/: added diode, zener diode, ground point and
8049         operational amplifier shapes.
8050         
8051         * objects/custom/Makefile.am: added a note about adding DEBUG_CUSTOM
8052         if you want the output.
8054         * objects/custom/shape_info.c (parse_path): same here.
8056         * objects/custom/load_sheet.c (load_with_readdir): don't print so
8057         much debugging output.  To get the previous level of output, define
8058         DEBUG_CUSTOM.
8060         * objects/custom/shape_info.c (parse_svg_node): polygons were being
8061         recorded as polylines in the ShapeInfo structure.
8063         * objects/custom/README: some notes on writing new custom shapes.
8064         
8065 1999-09-01  James Henstridge  <james@daa.com.au>
8067         * objects/custom/Circuit/hinductor.*:
8068         * objects/custom/Circuit/vinductor.*: added inductor shapes that
8069         also test out the bezier curve and SVG path support.
8070         
8071         * objects/custom/custom_object.c (custom_draw): added support for
8072         drawing bezier paths and filled shapes.
8074         * objects/custom/shape_info.c (parse_path): new function to parse
8075         SVG path elements.  It does not do quadratic beziers or elliptic
8076         arcs though.  Only moves, lines and cubic beziers.
8077         (*): added support for paths.
8079 1999-08-31  James Henstridge  <james@daa.com.au>
8081         * objects/sybase/ltm.c (render_to_store): use the newer bezier API.
8083         * app/render_svg.c (draw_bezier, fill_bezier): updated renderer
8084         interface
8086         * app/render_eps.c (draw_bezier, fill_bezier): updated renderer
8087         interface
8089         * app/render_gdk.c (draw_bezier, fill_bezier): updated renderer
8090         interface.
8092         * lib/render_store.[ch]: use newer bezier functions.
8094         * lib/render.h: changed the bezier drawing functions to use an array
8095         of BezPoint structures instead of normal Point structures to allow
8096         lineto's mixed in with the curveto's.
8097         
8098         * objects/custom/Circuit/pnp.*: added pnp transistor shape.
8099         
8100         * objects/custom/Circuit/Makefile.am (SHAPES): added index.sheet and
8101         xpm images for different shapes to Makefile.
8103         * objects/custom/custom_object.c (custom_object_new): set the icon
8104         for the sheet button if there is one.  Otherwise fall back on the
8105         default custom object icon.
8107         * objects/custom/shape_info.c (load_shape_info): read the sheet
8108         icon name from the shape file.
8110         * app/interface.c (create_sheet_page): if sheet_obj->pixmap == NULL,
8111         check the pixmap_file field for the name of a pixmap file to load
8112         for the tool.
8114         * lib/sheet.h (SheetObj): added pixmap_file field to structure.  It is
8115         at the end of the structure, and it isn't used if the pixmap field
8116         is non NULL, so it should not break binary compatibility.
8118         * objects/custom/load_sheet.[ch]: moved sheet loading code here.  Also
8119         added support for the use of an index.sheet file so you can specify
8120         the ordering of the shapes in the sheet, and also internationalise
8121         the sheet name and actually be able to give a description.  The old
8122         readdir based sheet loading code acts as a fallback if an index.sheet
8123         file can not be found.
8125         * objects/custom/custom_util.[ch]: new file containing useful routines
8126         needed by the custom object code.  Currently only contains a simple
8127         routine for resolving relative paths.
8129         * objects/custom/custom_object.c (custom_draw): fixed problem with
8130         drawing rectangles if the shape has been flipped.
8132 1999-08-30  James Henstridge  <james@daa.com.au>
8134         * objects/custom/custom_object.c (custom_get_object_menu): allow
8135         flipping of custom shapes.  This uses the miggle click object
8136         menu.
8138         * objects/custom/Circuit/npn.shape: fix aspect ratio.
8140         * objects/custom/custom_object.c (custom_update_data): honour the
8141         aspect ratio constraints.
8143         * objects/custom/shape_info.c (load_shape_info): updated aspect ratio
8144         tag parsing, so you can specify a free, fixed or a range for aspect
8145         ratios for the shape.
8147 1999-08-29  James Henstridge  <james@daa.com.au>
8149         * objects/custom/test.xml, objects/custom/Circuit/*.shape: fixed
8150         up shape namespace tag.
8152         * objects/custom/shape_info.c (load_shape_info): check xml:lang
8153         attribute on <description> elements to support i18n for custom
8154         shape descriptions.
8155         Also changed the shape namespace for custom shapes to something
8156         a little more sensible.
8158         * lib/dummy_dep.h (dummy_dep): added extra dummy dependency.
8160         * lib/intl.c: new file containing some functions for i18n stuff.
8162         * app/layer_dialog.c (create_button_box): fixed a warning.
8164         * objects/custom/custom_object.c: use current line style.  Save dash
8165         length.
8167         * objects/flowchart/diamond.c: use current line style.  Save dash
8168         length.
8170         * objects/flowchart/parallelogram.c: use current line style.  Save
8171         dash length.
8173         * objects/flowchart/ellipse.c: use current line style.  Save dash
8174         length.
8176         * objects/flowchart/box.c: use current line style.  Save dash length.
8178         * objects/standard/ellipse.c: make ellipse use current line style.
8180         * objects/standard/box.c: use the line style set in the toolbox for
8181         new boxes, and remember the dash length.
8183         * app/commands.c (view_toggle_rulers_callback): fix reshowing of
8184         rulers.
8186 1999-08-24  James Henstridge  <james@daa.com.au>
8188         * objects/flowchart/ellipse.c (ellipse_update_data): made some changes
8189         to try to stop ellipse to get infinite width/height when we resize,
8190         while trying to keep the text inside the ellipse.
8192         * objects/flowchart/box.c, objects/flowchart/parallelogram.c,
8193         * objects/flowchart/diamond.c, objects/flowchart/ellipse.c: fixed
8194         resizing behaviour, so that you can't push objects round the screen
8195         with the resize handles.
8197         * app/lineprops_area.c (dia_arrow_chooser_init, dia_line_chooser_init):
8198         get the OK buttons in the dialogs to take default clicks.
8200         * objects/custom/custom_object.c: added code so that resizing the
8201         shape does not end up pushing it round the screen.
8203 1999-08-23  Alexander Larsson  <alla@lysator.liu.se>
8205         * app/display.[ch]:
8206         Generate rectangle with the union of the damaged regions.
8207         This is used to optimize the grid paint and the object rendering.
8208         display_render_pixmap passes this info to grid_draw() and data_render().
8210         * app/grid.[ch]:
8211         grid_draw doesn't draw grid lines outside of damaged rectangle.
8212         Sets dashlength when drawing non-solid grid.
8213         
8214         * lib/diagramdata.[ch]:
8215         data_render() and layer_render() takes an optional damaged rectangle
8216         argument. No objects not intersecting this are drawn.
8218         * app/diagram.c:
8219         Fix warning.
8220         Call data_render with NULL update rectangle.
8221         
8222 1999-08-23  James Henstridge  <james@daa.com.au>
8224         * objects/custom/custom_object.c (custom_update_data): if the aspect
8225         ratio is fixed, make sure the shape is not distorted.
8227         * object/custom/shape_info.h, objects/custom/shape_info.c: notice if
8228         a <fixaspectratio/> tag is given in the shape file.
8230         * objects/custom/shape_info.[ch], objects/custom/custom_object.c:
8231         added support for stroke-width, stroke and fill CSS attributes
8232         specified in style attributes of the SVG elements.  The line width
8233         is relative to the user specified line width.  The stroke and fill
8234         attributes can only be used to swap the foreground/background
8235         colours.
8237         * lib/widgets.c (dia_line_style_selector_set_linestyle): set the
8238         sensitivity on the dash length selector when this function is called.
8240         * objects/standard/arc.c: same.  Also handle dash length.
8241         * objects/standard/zigzagline.c: same.
8242         * objects/standard/polyline.c: same.  Also handle dash length.
8243         * objects/standard/line.c: use default arrow/line styles.
8245         * app/interface.c: added callbacks to set the default attributes.
8247         * lib/attributes.c: added implementations of these functions.
8249         * lib/attributes.h: added extra prototypes for the new line properties
8250         area in the toolbox.
8252         * app/interface.c (create_lineprops_area): added line properties
8253         area to bottom of toolbox.
8255         * app/lineprops_area.h: a header exporting a few routines of the
8256         line properties area widgets.
8258         * app/lineprops_area.c: new file containing a selector for arrows
8259         and line styles to go in the main toolbox.
8261 1999-08-22  Alexander Larsson  <alla@lysator.liu.se>
8263         * HACKING:
8264         Update Gtk+ 1.0.5 comment to 1.2.0.
8266         * INSTALL:
8267         Demand libtool 1.3
8269         * acconfig.h:
8270         Add HAVE_LIBPOPT
8272         * configure.in:
8273         Make sure we don't propagate -ldl and -lpopt to all LIBS
8274         by adding new var APP_LIBS that only app/dia links with.
8275                 
8276         * app/Makefile.am:
8277         Update run_dia.sh to load custom and flowchart objects.
8279         * objects/ER/Makefile.am:
8280         * objects/FS/Makefile.am:
8281         * objects/UML/Makefile.am:
8282         * objects/network/Makefile.am:
8283         * objects/standard/Makefile.am:
8284         * objects/sybase/Makefile.am:
8285         Don't build versioned libs.     
8286         
8287 1999-08-22  James Henstridge  <james@daa.com.au>
8289         * configure.in: added objects/custom/Circuit/Makefile to AC_OUTPUT
8290         list.
8292         * objects/Makefile.am (SUBDIRS): added custom to subdir list -- it
8293         should actually work a bit now.
8295         * objects/custom/Circuit/*: a test sheet for the custom shape code.
8296         It is a small collection of circuit elements.
8298         * objects/custom/shape_info.c: fixed up loading of polylines and
8299         polygons.  Before it was removing negative signs :(
8301         * objects/custom/pixmaps/custom.xpm: drew the custom shape icon.  A
8302         placeholder was here before.  I still need to work out how to set
8303         icons for individual custom shapes.
8304         
8305         * objects/custom/custom.c: added code to load the shapes into sheets
8306         properly.  The shape files should be arranged into directories, and
8307         each directory represents a different sheet in the toolbox.  This
8308         will make it very easy to distribute a collection of dia shapes as
8309         a tarball.  I still need to work out internationalisation, and maybe
8310         also shape ordering in the sheet.
8312         * objects/custom/custom_object.c: fixed up dialogs for these objects.
8313         (custom_create): fix for objects without text areas.
8315         * objects/custom/shape_info.h, objects/custom/custom_object.c: loading
8316         and saving of custom object works correctly now.
8318 1999-08-21  James Henstridge  <james@daa.com.au>
8320         * objects/flowchart/ellipse.c: 
8321         * objects/flowchart/diamond.c: 
8322         * objects/flowchart/parallelogram.c: 
8323         * objects/flowchart/box.c: Fixed up a few bugs in these objects when
8324         copying or loading these object types.  Not all the connection
8325         points would be initialised correctly.
8327         * objects/flowchart/Makefile.am (libflowchart_objects_la_LDFLAGS):
8328         similar here.
8330         * objects/custom/Makefile.am (libcustom_objects_la_LDFLAGS): do not
8331         build a versioned library.  It will only ever be dlopen'd, so this
8332         is not a problem.
8334         * objects/custom/custom_object.c (custom_distance_from): allow
8335         selecting the object by clicking on the text.  This fixes problems
8336         where the text box is outside the graphic.
8338         * objects/custom/shape_info.c (load_shape_info): fixed up reading
8339         of connections points.  It should be possible to add connections
8340         to custom objects now.
8342         * objects/custom/custom_object.c (custom_update_data): fixed resizing
8343         due to changes to text.
8345         * configure.in: added extra makefiles.
8346         
8347         * objects/custom/shape_info.[ch]:
8348         * objects/custom/custom_object.c:
8349         * objects/custom/custom.c: the starts of custom shape support in dia.
8350         This is not built by default at the moment, since it is not quite
8351         complete.  When it is, it will let you create more shapes for dia
8352         without writing a line of C.  Its implementation includes buzzwords
8353         such as XML and SVG, so it must be good :)
8355 1999-08-19  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
8357         * app/app_procs.c (app_exit): Use button labels "Quit" and
8358         "Cancel" instead of "Yes" and "No".
8359         Set default action to "Cancel" instead of "Quit".
8361 1999-08-19  James Henstridge  <james@daa.com.au>
8363         * objects/flowchart/flowchart.c: added ellipse object.
8364         
8365         * objects/flowchart/ellipse.c: a new shape for the flowchart toolbox.
8367 1999-08-18  James Henstridge  <james@daa.com.au>d
8369         * app/color_area.c (color_area_edit): small fix to prevent dia from
8370         segfaulting when you try to change the default foreground/background.
8372 1999-08-17  Alexander Larsson  <alla@lysator.liu.se>
8374         * app/diagram.[ch] (diagram_redraw_all):
8375         Added function that redraws all diagrams.
8377         * app/preferences.c (prefs_apply):
8378         Call diagram_redraw_all when prefs are changed.
8380         * app/render_svg.c:
8381         Don't use xmlEncodeEntitiesReentrant(). It doesn't exist on
8382         older libxml's, and the old version works good enought here.
8383         
8384 1999-08-17  James Henstridge  <james@daa.com.au>
8386         * lib/widgets.c: changed handlers that were connected to the GtkButton
8387         "pressed" signal to connect to the "clicked" signal.  This removes the
8388         problem where dialogs are inactive until you click a mouse button
8389         after using a colour selector.
8391         * configure.in: added extra makefiles to AC_OUTPUT list.
8392         
8393         * objects/Makefile.am (SUBDIRS): added flowchart module
8395         * objects/flowchart/*: a collection of shapes for use in flowcharts.
8397         * app/color_area.c (color_area_events): similar here.
8399         * app/linewidth_area.c (linewidth_area_events): sometimes a configure
8400         event is recieved with event->width == 0, which causes a warning if we
8401         try to create a pixmap of that width.
8403         * app/preferences.c, app/preferences.h, app/grid.c: added code to
8404         allow you to configure the colour of the grid, and also lets you
8405         set the grid to use dotted lines instead of solid ones.
8406         
8407         * app/commands.c, app/commands.h, app/diagram.c, app/diagram.h,
8408         app/menus.c, app/Makefile.am: added menu entry for exporting SVG files.
8409         
8410         * app/render_svg.h, app/render_svg.c: an SVG (Scalable Vector Graphics)
8411         export filter.  It is not quite complete, but for most shapes it
8412         works as expected.  Fonts still need a bit of work.
8414 1999-08-11  Robert Brady  <rwb197@ecs.soton.ac.uk>
8416         * configure.in: Added "en_GB" to ALL_LINGUAS.
8418 1999-08-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
8420         * menus.c
8421         Added Undo and Redo to GNOME menus.
8422         
8423         * objects/ER/attribute.c:
8424         * objects/ER/entity.c:
8425         * objects/ER/participation.c:
8426         * objects/ER/relationship.c:
8427         Added get/set_state functions.
8429         * objects/ER/participation.c:
8430         Added add/delete segment.
8432         * po/sv.po
8433         Updated Swedish translation.
8435 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
8437         * app/preferences.[hc]:
8438         Added undo_depth pref.
8439         
8440         * app/undo.[ch]:
8441         Never grow stack larger than pref.undo_depth.
8442         undo_depth == 0 means unlimited.
8443         Converted printfs to conditionally compiled DEBUG_PRINTFs.
8444         
8445 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
8447         * app/diagram.c:
8448         * app/group.c:
8449         * lib/object.h:
8450         * lib/render_object.c:
8451         * objects/ER/attribute.c:
8452         * objects/ER/entity.c:
8453         * objects/ER/participation.c:
8454         * objects/ER/relationship.c:
8455         * objects/FS/flow-ortho.c:
8456         * objects/FS/flow-poly.c:
8457         * objects/FS/flow.c:
8458         * objects/FS/function.c:
8459         * objects/UML/actor.c:
8460         * objects/UML/association.c:
8461         * objects/UML/class.c:
8462         * objects/UML/classicon.c:
8463         * objects/UML/component.c:
8464         * objects/UML/constraint.c:
8465         * objects/UML/dependency.c:
8466         * objects/UML/generalization.c:
8467         * objects/UML/implements.c:
8468         * objects/UML/large_package.c:
8469         * objects/UML/lifeline.c:
8470         * objects/UML/message.c:
8471         * objects/UML/note.c:
8472         * objects/UML/object.c:
8473         * objects/UML/realizes.c:
8474         * objects/UML/small_package.c:
8475         * objects/UML/state.c:
8476         * objects/UML/usecase.c:
8477         * objects/network/bus.c:
8478         * objects/standard/arc.c:
8479         * objects/standard/box.c:
8480         * objects/standard/ellipse.c:
8481         * objects/standard/image.c:
8482         * objects/standard/line.c:
8483         * objects/standard/polyline.c:
8484         * objects/standard/textobj.c:
8485         * objects/standard/zigzagline.c:
8486         Removed all traces of is_empty(). It doesn't work in an
8487         Undo/Redo world.
8489 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
8491         * app/diagram.c:
8492         * app/group.[ch]:
8493         * app/undo.[ch]:
8494         Undoable grouping and ungrouping.
8496         * app/layer_dialog.c:
8497         * lib/diagramdata.[ch]:
8498         Undoable layer ops.
8500         * app/modify_tool.c:
8501         Undoable unconnect on handle move.
8503         * lib/orth_conn.[ch]:
8504         Working undoable add/remove segment.
8505         Removed endpoint_handles from OrthConn, renamed
8506         midpoint_handles to handles and put the endpoint
8507         handles there.
8509         * objects/standard/zigzagline.c:
8510         * objects/ER/participation.c:
8511         * objects/UML/association.c:
8512         * objects/UML/dependency.c:
8513         * objects/UML/generalization.c:
8514         * objects/UML/realizes.c:
8515         Update for the changes in OrthConn
8516         
8517 1999-07-23  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
8519         * configure.in: Added "de" to ALL_LINGUAS.
8521 1999-07-17  Alexander Larsson  <alla@lysator.liu.se>
8523         * dia.1:
8524         Fixed typo.
8526         * app/display.c:
8527         * po/da.po:
8528         * po/fr.po:
8529         * po/hu.po:
8530         * po/no.po:
8531         * po/pl.po:
8532         * po/sv.po:
8533         Don't have the <Display> etc part of the menu strings
8534         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
8536         * app/diagram.c:
8537         Don't have the <Display> etc part of the menu strings
8538         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
8539         Don't remove is_empty() objects, that don't work with undo.
8541         * lib/objchange.[ch]:
8542         New files.
8543         Definition of ObjectChange. This is essentially an Change
8544         exported to the object libs. It encapsulates a change made
8545         to an objects internals. It can be applied, reverted and freed.
8546         There are also utility functions for doing ObjectChanges that
8547         only get/set the whole state of an object to store the change.
8548         This cannot be used when the object change deletes or adds a
8549         object which has references from other objects, eg. Handles which
8550         might be connected.
8552         * lib/Makefile.am:
8553         Added objchange.c and objchange.h.
8555         * lib/dia_image.c:
8556         Return NULL when loading fails.
8558         * lib/diamenu.h:
8559         Menu callbacks return an ObjectChange.
8561         * lib/dummy_dep.h:
8562         Reference objchange.o
8564         * lib/focus.h:
8565         Key events return ObjectChange if they modify the object.
8567         
8568         * lib/object.h:
8569         Added object_add_handle_at() function.
8570         Apply properties returns an ObjectChange.
8571         Remove ObjectState and the get/set state functions, these
8572         don't always work. Use the new ObjectChange instead.
8573         
8574         * lib/object.c:
8575         Added object_add_handle_at() function implementation.
8576         
8577         * lib/orth_conn.[ch]:
8578         Use ObjectChange. Not finished yet.
8579         Removed get/set/free state functions
8581         * lib/poly_conn.[ch]:
8582         Use ObjectChange.
8583         Don't remove segments that are small.
8584         Removed get/set/free state functions
8586         * lib/text.[ch]:
8587         Use ObjectChange.
8588         Added functions to get/set all text attributes.
8590         * objects/standard/arc.c:
8591         * objects/standard/box.c:
8592         * objects/standard/ellipse.c:
8593         * objects/standard/image.c:
8594         * objects/standard/line.c:
8595         * objects/standard/polyline.c:
8596         * objects/standard/textobj.c:
8597         * objects/standard/zigzagline.c:
8598         Use ObjectChange.
8599         fixed bug in image_set_state.
8600         zigzagline.c not finished yet.
8602         * app/disp_callbacks.c:
8603         Use ObjectChange that are returned from menu callbacks and
8604         key_events for undo.
8606         * app/properties.c:
8607         Use ObjectChange that are returned from properties apply
8608         for undo.
8610         * app/undo.c:
8611         * app/undo.h:
8612         New undo type: ObjectChangeChange. This wraps a change to the
8613         internals of an object (and ObjectChange) in code that does
8614         app specific stuff (object_add_updates etc.)
8616 1999-07-11  Alexander Larsson  <alla@lysator.liu.se>
8618         * lib/orth_conn.[ch]:
8619         Added code for add/delete segment.
8621         * objects/standard/zigzagline.c:
8622         Use the new orth_conn code.
8623         
8625 1999-07-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
8627         * objects/FS/Makefile.am
8628         Removed fs.h from sources.
8630         * Makefile.am
8631         * dia.1
8632         Added man page.
8634 1999-07-07  Alexander Larsson  <alla@lysator.liu.se>
8636         * app/disp_callbacks.c (ddisplay_canvas_events):
8637         Fix for bug. Every other arrow-key press got lost.
8638         patch from Mr. Data Esq. <data@r47h102.res.gatech.edu>
8640         * INSTALL:
8641         change automake.sh to autogen.sh
8642         
8643 1999-06-24  Alexander Larsson  <alla@lysator.liu.se>
8645         * app/diagram.c:
8646         Don't remove 'empty' objects.
8647         This violent destruction of objects won't work
8648         with the new undo framework.
8650         * app/disp_callbacks.c:
8651         Save undo info for object menu calls and key_events.
8653         * app/properties.c:
8654         Save undo info on properties apply.
8656         * lib/dia_image.[ch]:
8657         Add refcounting for images.
8659         * app/render_eps.c:
8660         * app/render_gdk.c:
8661         * lib/render.h:
8662         DiaImage * -> DiaImage
8664         * app/undo.[ch]:
8665         Add undo functions for object state changes.
8667         * lib/focus.h:
8668         * lib/text.c:
8669         change of semntics for focus->key_event.
8670         Now returns TRUE if the object recieving the event
8671         was changed.
8673         * lib/object.h:
8674         Comment changes.
8676         * lib/orth_conn.[ch]:
8677         Don't automatically create and delete segments when
8678         handles are moved. This is incompatible with undo.
8679         Added state get, set and free functions.
8681         * lib/orth_conn.[ch]:
8682         Added state get, set and free functions.
8684         * objects/UML/object.c:
8685         * objects/UML/uml.c:
8686         Fixed typo "UML - Objet" -> "UML - Object".
8687         Saved old for backwards compatibility.
8689         * objects/standard/arc.c:
8690         * objects/standard/box.c:
8691         * objects/standard/ellipse.c:
8692         * objects/standard/image.c:
8693         * objects/standard/line.c:
8694         * objects/standard/polyline.c:
8695         * objects/standard/textobj.c:
8696         * objects/standard/zigzagline.c:
8697         Added get/set state functions.
8698         Textobj has a redo crash-bug.
8699         Zigzagline needs object menus to add segments.
8700         
8702 1999-06-20  Alexander Larsson  <alla@lysator.liu.se>
8704         * app/render_eps.c (set_dashlength):
8705         Don't generate eps files with zero dash-length.
8707 1999-06-16  Alexander Larsson  <alla@lysator.liu.se>
8709         * app/commands.c:
8710         * app/create_object.c:
8711         * app/undo.[ch]:
8712         Finished undo for create and paste.
8713         
8714         * lib/object.h:
8715         Started properties undo.
8717 1999-06-14  Alexander Larsson  <alla@lysator.liu.se>
8719         * TODO:
8720         Added resizeable groups.
8722         * app/app_procs.c:
8723         Removed unused variable.
8725         * app/commands.c:
8726         * app/undo.[ch]:
8727         Undo/redo for cut/delete done.
8729         * app/create_object.c:
8730         * app/modify_tool.c:
8731         * lib/diagramdata.[ch]:
8732         * app/diagram.[ch]:
8733         renamed diagram_add_selected -> diagram_select
8734         renamed diagram_remove_selected -> diagram_unselect
8735         
8736         * app/properties.[ch]:
8737         Added properties_hide_if_shown() function.
8739 1999-06-13  Alexander Larsson  <alla@lysator.liu.se>
8741         * app/undo.[ch]:
8742         * app/Makefile.am:
8743         Undo functions.
8744         
8745         * app/commands.[ch]
8746         * app/modify_tool.[ch]
8747         * app/object_ops.[ch]
8748         * app/connectionpoint_ops.c
8749         * app/menus.c
8750         Use undo functions.
8751         WARNING: Not finished. Will break.
8752         Finished: move object, move handle.
8754         * app/diagram.[ch]
8755         Added diagram_selected_break_external() function.
8756         It removes all connections between selected objects
8757         and non-selected.
8758         Add undo stack to Diagram.
8759         
8760         * lib/diagramdata.[ch]
8761         Added layer_remove_objects() function
8762         
8763 1999-06-11  Fredrik Hallenberg  <hallon@lysator.liu.se>
8765         * objects/FS/Makefile.am
8766         * objects/sybase/Makefile.am
8767         Now uses GNOME_CFLAGS.
8769         * app/app_procs.c
8770         Now compiles with GNOME even if popt.h isn't available.
8772 1999-06-10  Alexander Larsson  <alla@lysator.liu.se>
8774         * configure.in
8775         * objects/Makefile.am
8776         * objects/sybase/*
8777         First version of sybase objects from
8778         Brian Bruns <camber@umcc.ais.org>
8780 1999-06-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
8782         * configure.in
8783         Added fr to ALL_LINGUAS
8785 1999-06-09  Fredrik Hallenberg  <hallon@lysator.liu.se>
8787         * configure.in
8788         * app/app_procs.c
8789         Popt-code is activated if popt is available.
8791 1999-06-08  Alexander Larsson  <alla@lysator.liu.se>
8793         This is a patch from David Thompson <dcthomp@mail.utexas.edu>
8794         
8795         * lib/orth_conn.[ch]:
8796         Added orthconn_get_middle_handle()
8798         * lib/text.[ch]:
8799         Added text_set_cursor_at_end()
8800         
8801         * objects/FS/*
8802         Added first version of functions structure diagrams.
8803         
8804 1999-05-24  Alexander Larsson  <alla@lysator.liu.se>
8806         * app/modify_tool.c:
8807         Include math.h to remove warning.
8809         * app/commands.c (dialogs_properties_callback):
8810         Bring up correct properties dialog when selected
8811         from menu.
8812         From Dan Cohn <dan@internap.com>
8814 1999-05-20  Alexander Larsson  <alla@lysator.liu.se>
8816         Patch from Lars R. Clausen 
8817         
8818         * app/modify_tool.c:
8819         Changed abs to fabs.
8821 1999-05-19  Alexander Larsson  <alla@lysator.liu.se>
8823         * INSTALL: 
8824         * configure.in:
8825         Require Gtk+ 1.2.0
8827 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
8829         Patches from Dan Cohn <dan@internap.com>
8830         
8831         * app/commands.[ch]: 
8832         * app/display.[ch]: 
8833         * app/menus.c:
8834         * app/preferences.[ch]:
8835         Implements ability to turn on/off connection points in
8836         current drawing and in global prefs.
8838 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
8840         * lib/widgets.c (dia_line_style_selector_init): 
8841         Fixed warnings.
8842         
8843         * lib/diagramdata.c (layer_update_extents):
8844         Fixed uninitialized variable error.
8846 1999-05-17  Alexander Larsson  <alla@lysator.liu.se>
8848         * lib/dia_image.c:
8849         Made some changes to the gdk_imlib visual+colormap setup.
8851 1999-05-17  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
8853         * objects/UML/usecase.c: 
8854        * objects/UML/lifeline.c
8855         Fine tunning.
8857         * objects/UML/object.c: 
8858         * objects/UML/message.c: 
8859         Changed font from Courier to Helvetica.
8861         * lib/widgets.c: 
8862         * lib/widgets.h:
8863         Added dash lenth to the LineStyle widget.
8864         
8865         * objects/standard/ellipse.c :
8866         * objects/standard/zigzagline.c: 
8867         * objects/standard/line.c: 
8868         Added dash lenght property.
8870 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
8872         * app/render_eps.c:
8873         First shot at latin1 encoded eps files.
8874         Works, but the eps files get a bit large.
8875         
8876 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
8878         * objects/UML/class.[ch]: 
8879         * objects/UML/uml.[ch]:
8880         Reverted the line wrap changes.
8881         Some day this might return, but it has to be selectable and
8882         default to off for loaded objects, otherwise it breaks file
8883         format compatibility.
8884         There was also some complains about how it looked, so a making it
8885         selectable is good for this too.
8887 1999-05-15  Alexander Larsson  <alla@lysator.liu.se>
8889         * objects/UML/class.[ch]:
8890         Some indentation cleanup.
8891         Added wrap_lines variable to class.
8892         I'll fix the line break stuff tomorrow.
8894 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
8896         * lib/dummy_dep.h:
8897         Added ref to poly_conn.o.
8899         * objects/standard/polyline.c (polyline_draw): 
8900         * objects/standard/zigzagline.c (zigzagline_draw): 
8901         * objects/standard/arc.c (arc_draw): 
8902         * objects/standard/line.c (line_draw):
8903         Draw lines before arrows. This makes hollow arrows not
8904         show the line.
8906 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
8908         Changes from Kim Peasley <kpeasley@ior.com> 
8909                 
8910         * objects/UML/class.c:
8911         Break lines with long operations so classes won't be
8912         so wide.
8914         * objects/UML/uml.[ch]:
8915         Helperfunctions for the above.
8916         
8917         * objects/UML/objects.c:
8918         Fix bug that duplicated the text in the attributes
8919         textwidget each time the object was selected.
8920         
8921 1999-05-12  Alexander Larsson  <alla@lysator.liu.se>
8923         Changes from Lars R. Clausen <lrclause@cs.uiuc.edu>
8924         
8925         * app/modify_tool.c:
8926         * app/modify_tool.h:
8927         Control-drag is restricted to vertical/horizontal movement
8928         
8929         * lib/object.h:
8930         ModifierKeys argument added to object_move_handle
8932         * app/connectionpoint_ops.c:
8933         * app/create_object.c:
8934         * app/object_ops.c:
8935         * objects/ER/attribute.c:
8936         * objects/ER/entity.c:
8937         * objects/ER/participation.c:
8938         * objects/ER/relationship.c:
8939         * objects/UML/actor.c:
8940         * objects/UML/association.c:
8941         * objects/UML/class.c:
8942         * objects/UML/classicon.c:
8943         * objects/UML/component.c:
8944         * objects/UML/constraint.c:
8945         * objects/UML/dependency.c:
8946         * objects/UML/generalization.c:
8947         * objects/UML/implements.c:
8948         * objects/UML/large_package.c:
8949         * objects/UML/lifeline.c:
8950         * objects/UML/message.c:
8951         * objects/UML/note.c:
8952         * objects/UML/object.c:
8953         * objects/UML/realizes.c:
8954         * objects/UML/small_package.c:
8955         * objects/UML/state.c:
8956         * objects/UML/usecase.c:
8957         * objects/network/bus.c:
8958         * objects/standard/arc.c:
8959         * objects/standard/box.c:
8960         * objects/standard/ellipse.c:
8961         * objects/standard/image.c:
8962         * objects/standard/line.c:
8963         * objects/standard/polyline.c:
8964         * objects/standard/textobj.c:
8965         * objects/standard/zigzagline.c:
8966         Changed calls to move_handle to pass the new argument.
8967         
8968         * lib/widgets.c:
8969         * lib/widgets.h:
8970         Default line width, color etc #define'd
8971         
8972         * po/da.po:
8973         Updates of danish menus
8975 1999-05-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
8977         * dia.xpm
8978         * dia_gnome_icon.png
8979         * dia_gnome_menu_icon.png
8980         * dia_logo.png
8981         Graphics by Toussaint Frédéric <ftoussin@club-internet.fr>.
8983         * app/commands.c
8984         About dialog shows dia_logo.png. Removed the GNOME about dialog.
8986         * Makefile.am
8987         Distribute the icons and install logo in pkgdatadir.
8988         
8989         * app/Makefile.am
8990         Added DATADIR-define.
8991         
8992 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
8993         Patches from Enrico Scholz <enrico.scholz@wirtschaft.tu-chemnitz.de>
8995         * dia.spec:
8996         Updated version number, made setup quiet, can build from cvs,
8997         --enable-gnome, now using automake 1.4 DESTDIR feature, install-strip
8999         * lib/Makefile.am
9000         * objects/ER/Makefile.am
9001         * objects/UML/Makefile.am
9002         * objects/network/Makefile.am
9003         * objects/standard/Makefile.am
9004         now builds better with gnome
9006         * objects/UML/class_dialog.c
9007         Fixed typo -> po files must be updated too!!
9008         
9009 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
9011         * lib/dummy_dep.h:
9012         Added reference so that widgets.o gets linked to the app.
9014 1999-04-23  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9016         * objects/UML/classicon.c: 
9017         Added object mode.
9019         * objects/UML/actor.c: 
9020         Changed position of 'snap-to-grid' so connection points are
9021         in the grid.
9023 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
9025         * objects/UML/classicon.c:
9026         Changed position of 'snap-to-grid'.
9027         By Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
9028         
9029 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
9031         * objects/network/antenna.c
9032         * objects/network/flash.c
9033         * objects/network/hub.c
9034         * objects/network/modem.c
9035         * objects/network/modularswitch.c
9036         * objects/network/rj45plug.c
9037         * objects/network/scead-plug.c
9038         * objects/network/network.c
9039         * objects/network/Makefile.am
9040         * objects/network/pixmaps/antenna.xpm
9041         * objects/network/pixmaps/flash.xpm
9042         * objects/network/pixmaps/hub.xpm
9043         * objects/network/pixmaps/modem.xpm
9044         * objects/network/pixmaps/modularswitch.xpm
9045         * objects/network/pixmaps/rj45plug.xpm
9046         * objects/network/pixmaps/sceadplug.xpm
9047         * objects/network/pixmaps/Makefile.am
9048         Lots of new network objects from
9049         Roland Steinbach <roland@support-system.com>.
9051 1999-04-15  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9053         * objects/UML/classicon.c: 
9054         Fixed connection positions, saved type as int (it has 3 states),
9055         and other small fixes.
9056         
9057 1999-04-14  Alexander Larsson  <alla@lysator.liu.se>
9059         * app/preferences.c:
9060         * app/load_save.c:
9061         Added preference compress_save. It lets dia save uncompressed
9062         xml files.
9064         * objects/UML/class.c:
9065         Fixed bug with size calculation on methods that had class scope.
9066         
9067 1999-04-13  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9069         * objects/UML/usecase.c: 
9070         Added collaboration mode
9071         Fixed connection points with text > ellipse bug and other 
9072         small things
9074         * objects/UML/state.c:
9075         Fixed bug of bad position of text after being either end
9076         or begin, moved and returned to text
9078 1999-04-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
9080         * app/preferences.c: Add prototype declaration for prefs_apply.
9082 1999-04-11  Alexander Larsson  <alla@lysator.liu.se>
9084         * app/preferences.c:
9085         Added 'ok' button.
9086         Apply don't hide window.
9088         * app/properties.c:
9089         Add 'ok' button.
9091         * objects/UML/object.c:
9092         * objdcts/UML/state.c:
9093         Some data was not copied on copy.
9095         This patch is from
9096         Ben Hochstedler <benh@eeyore.moneng.mei.com>
9098 1999-04-09  Alexander Larsson  <alla@lysator.liu.se>
9100         * app/Makefile.am:
9101         Changed link order between X and libxml.
9102         Some people had problems with an old libz in their
9103         x11 directory.  
9105 1999-04-09  Kjartan Maraas  <kmaraas@online.no>
9107         * po/no.po: updated translation.
9108         
9109 1999-04-08  Lars R. Clausen <lrclause@cs.uiuc.edu>
9111         * lib/message.c (message_error):
9112         Fixed small error.
9114         * app/commands.[ch]:
9115         * app/diagram.[ch]:
9116         Added begining of xfig importing
9118 1999-04-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9120         * objects/UML/pixmaps/state.xpm: 
9121         * objects/UML/state.c: 
9122         New UML object state machine.
9124         * objects/UML/uml.c:
9125         * objects/UML/Makefile.am:
9126         * objects/UML/pixmaps/Makefile.am:
9127         Added the state object.
9128         
9129 1999-04-08  Alejandro Aguilar Sierra  <ale@bucefalo>
9131         * objects/UML/usecase.c: 
9132         Added dialog to allow move text outside the ellipse.
9134 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
9136         * Released Dia 0.41
9137         Tag called DIA_0_41
9139         * NEWS:
9140         Updates for 0.41.
9141         
9142 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
9144         * configure.in:
9145         Updated version number to 0.41
9147         * po/*.po:
9148         Update po-files
9150 1999-04-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
9152         * app/app_procs.c
9153         Changed errormessage for --export-to-ps. Removed call to 
9154         g_log_set_always_fatal().
9156         * app/diagram.c
9157         * app/disp_callbacks.c
9158         * app/load_save.c
9159         (i18n) Removed gettext from some debugmessages.
9161         * app/menus.c
9162         Small fix in GNOME-menus. Added warning that will help track
9163         problems with translations.
9165         * po/sv.po
9166         (i18n) Updated swedish translation.
9168 1999-04-02  Alexander Larsson  <alla@lysator.liu.se>
9170         * po/da.po:
9171         New updates
9173 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
9175         * po/da.po:
9176         * po/no.po:
9177         Some fixes.
9178         
9179 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
9181         * po/da.po:
9182         (i18n) Updated the danish translation.
9183         From Lars R. Clausen.
9185 1999-04-01  Fredrik Hallenberg  <hallon@lysator.liu.se>
9187         * app/menus.c
9188         (i18n) The popup menu is translated now.
9190         * po/sv.po
9191         (i18n) Updated swedish translation.
9193 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
9195         * Released Dia 0.40
9196         Tag called DIA_0_40
9198         * NEWS:
9199         Updated for new release
9200         
9201 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
9203         * objects/network/bus.c:
9204         Added initialization of properties dialog to NULL.
9206         * app/commands.c (edit_cut_callback):
9207         Update menu sensitivity when cut object.
9209         * app/modify_tool.c (click_select_object):
9210         * app/modify_tool.c (modify_button_release): 
9211         Call diagram_update_menu_sensitivity() when
9212         selecting objects to update stuff that depends
9213         on selected/not selected.
9215 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
9217         * Makefile.am:
9218         Change order of subdir so that libintl.a builds.
9219         Now passed make distcheck.
9221 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9223         * lib/font.c (init_x11_font):
9224         Stupid bug fixed.
9226 1999-03-28  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9228         * objects/UML/pixmaps/classicon.xpm: 
9229         * objects/UML/classicon.c:
9230         * objects/UML/uml.c:
9231         Added the class stereotype icon objects.
9233         * app/commands.c:
9234         Changed default ps extension from .ps to .eps.
9235         
9236 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9238         * lib/Makefile.am:
9239         Added diamenu.h and intl.h
9241         * lib/font.c:
9242         Stupid typo fix.
9243         
9244         * objects/UML/pixmaps/Makefile.am:
9245         Added message.xpm
9247         * objects/standard/pixmaps/Makefile.am:
9248         Added image.xpm
9250 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9252         * lib/font.c:
9253         Use a scalable font before fixed when real font not found.
9255         * app/commands.c:
9256         Removed warning.
9258         * objects/standard/image.c:
9259         Better handling of loading/saving of images.
9261         * INSTALL:
9262         Added some text about cvs, fonts and rewrote some parts.
9264         * TODO:
9265         Updated with new stuff.
9266         
9267         * configure.in:
9268         Bump up version number to 0.40.
9269         
9270 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9272         * app/display.c:
9273         Moved diagram_add_ddisplay() call into new_display().
9274         Fixed new_display to not use uninitialized variables
9275         causing loaded files to show up as black (or garbage).
9276         
9277         * app/commands.c:
9278         * app/app_procs.c:
9279         Removed unneeded calls to diagram_add_ddisplay().
9280         
9281 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
9283         * objects/UML/lifeline.c:
9284         Fixed bug in copy.
9285         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
9287         * objects/UML/message.c:
9288         Fixed bug loading messages with null-text.
9289         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
9291 1999-03-27  Fredrik Hallenberg  <hallon@lysator.liu.se>
9293         * po/sv.po
9294         Updated swedish translation.
9296         * app/menus.c
9297         (GNOME) Removed help-browser from help menu. Fixed typo.
9299         * app/interface.c
9300         (GNOME) Accelerators in diagrams should work now. 
9302 1999-03-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
9304         * app/app_procs.c
9305         * app/commands.c
9306         * app/defaults.c
9307         * app/disp_callbacks.c
9308         * app/display.c
9309         * app/interface.c
9310         * app/menus.c
9311         * app/preferences.c
9312         * app/render_eps.c
9313         * lib/diagramdata.c
9314         * lib/font.c
9315         * lib/message.c
9316         * lib/widgets.c
9317         * objects/ER/*.c
9318         * objects/UML/*.c
9319         * objects/network/*.c
9320         * objects/standard/*.c
9321         * po/update_pofiles_in.sh
9322         * po/POFILES.in
9323         More i18n. All strings (expect rare debug messages) can be
9324         translated now. Moved intl.h from app to lib. Updated
9325         update_pofiles_in.sh to check all .c-files.
9327 1999-03-23  Alexander Larsson  <alla@lysator.liu.se>
9329         * app/disp_callbacks.c (ddisplay_canvas_events):
9330         Don't drop keys while num-lock, scroll-lock etc is on.
9332 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
9334         * app/render_eps.c (draw_image):
9335         Fixed exporting of images.
9336         Still not perfect, but not outright buggy.
9337         
9338 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
9340         * configure.in:
9341         * po/hu.po:
9342         Added hungarian translation. By Shooby Ban <bansz@szif.hu>.
9344         * app/Makefile.am:
9345         Added $* to the dia call in run_dia.sh
9347 1999-03-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
9348         
9349         * lib/color.[ch]:
9350         Added color_equals() call.
9352         * objects/standard/arc.c:
9353         * objects/standard/line.c:
9354         Don't save unneccesary data.
9355         
9356         * objects/standard/box.c:
9357         * objects/standard/ellipse.c:
9358         * objects/standard/image.c:
9359         * objects/standard/polyline.c:
9360         * objects/standard/zigzagline.c:
9361         Share properties dialog.
9362         Don't save unneccesary data.
9363         
9364 1999-03-22  Seth Alves  <alves@hungry.com>
9366         * app/menus.c:
9367         * app/diagram.c:
9368         * app/display.c:
9369         small changes so that gnome menus aren't broken
9370         
9371 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
9373         * po/da.po:
9374         Added danish translation from lrclause@cs.uiuc.edu.
9376         * po/POFILES.in:
9377         Updated file.
9379         * po/update_pofiles_in.sh:
9380         Added script that updates POFILES.in.
9381         This should probably be run automatically from somewhere.
9383 1999-03-19  Alexander Larsson  <alla@lysator.liu.se>
9385         * app/diagram.[ch]:
9386         Added function diagram_update_menu_sensitivity() which
9387         sets the sensitivity of some menu items. This function
9388         is called at each diagram state change (from diagram_modified()).
9389         This is needed  because otherwise the keyboard accelerators
9390         don't work correctly.
9392         * app/display.[ch]:
9393         Changed display_set_menu_sensitivity() to display_update_menu_state().
9394         Moved lots of code to diagram_update_menu_sensitivity() in
9395         diagram.c. Optimized to only look up menu-items from path:s once.
9396         
9397         * app/disp_callbacks.c:
9398         * app/interface.c:
9399         When we get a GDK_FOCUS_CHANGE, update menu sensitivity.
9400         Need to set GDK_FOCUS_CHANGE_MASK.
9401         
9402         * app/create_object.c:
9403         Call diagram_modified when an object has been created and
9404         selected so that the menu sensitivity is updated. 
9406         * app/menus.[ch]:
9407         removed menus_set_sensitive() and menus_set_state(). Exported
9408         renamed function menus_get_item_from_path().
9410 1999-03-15  Alexander Larsson  <alla@lysator.liu.se>
9412         * app/disp_callbacks.c:
9413         Show (empty) object menus on object that has none.
9414         Show title on object menus.
9416         * app/display.c:
9417         Set zoom factor correctly when opening new displays.
9418         Better setting of scrollbars.
9420         * app/grid.c:
9421         * app/menus.h:
9422         Some reformating cleanup.
9424         * lib/diamenu.h:
9425         Added title to object menus.
9427         * objects/*/*.c:
9428         Added object menu method (NULL-valued) to all objects.
9430         * objects/standard/polyline.c:
9431         Added title to object menu.
9433 1999-03-14  Alexander Larsson  <alla@lysator.liu.se>
9435         * app/preferences.[ch]:
9436         New files. Implements the preferences dialog and
9437         loading/saving of ~/.diarc.
9439         * app/Makefile.am:
9440         Added preferences.[ch].
9442         * app/app_procs.c:
9443         Load preferences on startup.
9445         * app/commands.[ch]:
9446         Added file_preferences_callback to show the preferences dialog.
9448         * app/create_object.c:
9449         Update extents when creating object.
9450         Use the reset_tools_after_create preferences setting.
9452         * app/display.c:
9453         Use preferences when creating new display.
9455         * app/menus.c:
9456         Add preferences to menu.
9458         * app/defaults.c:
9459         * app/layer_dialog.c:
9460         * app/properties.c:
9461         Don't allow shrinking of dialog.
9462         Add i18n of some strings.
9464 1999-03-11  Kjartan Maraas  <kmaraas@fib.hl.no>
9465         * po/no.po:
9466         Norwegian translation added.
9467         
9468 1999-03-11  Alexander Larsson  <alla@lysator.liu.se>
9470         * objects/standard/line.c: 
9471         * objects/standard/arc.c: 
9472         * objects/standard/polyline.c: 
9473         * objects/standard/zigzagline.c:
9474         Loading of arrow data fixed.
9476 1999-03-09  Alexander Larsson  <alla@lysator.liu.se>
9478         * app/commands.c:
9479         Update extents when saving and exporting to postscript.
9480         Fixes a bug with postscript bounding-box being wrong.
9482         * app/defaults.c:
9483         Changed border width from 5 to 2.
9485         * app/group.c:
9486         Move grouped objects by the move-point of the first object.
9487         Fixes bug that made all objects in the group be off-grid
9488         when moving the group, even though all objects was on-grid.
9490         * app/layer_dialog.c:
9491         Update extents when changing layer.
9493 1999-03-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9495        * objects/UML/uml.c: 
9496        * objects/UML/component.c: 
9497        * objects/UML/pixmaps/component.xpm: 
9498        Added the UML component object
9499         
9500 1999-03-04  Seth Alves  <alves@hungry.com>
9502         * objects/UML/generalization.c (generalization_create): avoid
9503         math on uninitialized genlz->text_width (NaN causes sigfpe)
9504         
9505         * objects/UML/realizes.c (realizes_create): same
9507         * objects/UML/dependency.c (dependency_create): same
9509 1999-03-01  Seth Alves  <alves@hungry.com>
9511         * app/display.c (ddisplay_active): don't fly a warning panel
9512         if ddisplay_active is called when no views are open.
9514         * app/commands.c (set_default_file_selection_directory): set
9515         file selector's default directory if there is already
9516         a document open.
9518 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
9520         * INSTALL:
9521         New info about imlib requirements.
9523         * Configure.in:
9524         Added lib/pixmaps/Makefile to created makefiles.
9526         * app/app_procs.c:
9527         * app/commands.c:
9528         Change from obsoleted to newer gtk calls.
9529         
9530         * load_save.c:
9531         Pass filename of the diagram when loading and saving.
9532         This creates better oportunities to handle filename saving.
9534         * lib/object.h:
9535         Pass filenames to load and save methods.
9536         
9537         * lib/dia_image.[ch]:
9538         Added dia_image_get_broken() call that returns a image which
9539         is used for 'broken' images.
9540         
9541         * lib/pixmaps/.cvsignore:
9542         * lib/pixmaps/Makefile.am:
9543         * lib/pixmaps/broken.xpm:
9544         New files for the broken image bitmap.
9546         * lib/widgets.c:
9547         Fixed bug with double destroyed filedialog.
9549         * objects/*/*.c:
9550         Updated load and save prototypes to use the new filename argument.
9552         * objects/image.c:
9553         Render broken image instead of line when got no image.
9554         Use the new filename in load and save to save (if possible)
9555         relative pathnames and to better try to find loaded images.
9557 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
9559         * TODO:
9560         Some updates to the todo file.
9561         
9562         * app/menus.c:
9563         * app/display.c:
9564         Place over/place over => sent to back/bring to front.
9565         Added some keyboard shortcuts to menus.
9566         
9567 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
9569         * lib/dia_xml.c:
9570         Changed string saving/loading to a new method. This should
9571         be much better att handling &,<,> and whitespaces.
9572         Loading strings of the old kind is still supported for backwards
9573         compatibility.
9575         * samples/ER-demo.dia:
9576         * samples/UML-demo.dia:
9577         Updated to use the new strings.
9578         
9579         * app/load_save.c:
9580         statusbar modified update fix.
9582 1999-02-27  Seth Alves  <alves@hungry.com>
9584         * app/app_procs.c (app_init): added a --export-to-ps option
9585         which will cause dia to load a dia file and save it as ps
9586         and then exit.  this is a little bogus, because it still
9587         pops up a window.  this option only shows up if --enable-gnome
9588         is used
9590         * app/display.c (display_set_menu_sensitivity): no Edit/Delete
9591         menu when built with --enable-gnome
9593         * app/interface.c (create_display_shell): build status bar
9594         even if --enable-gnome is used
9596         * app/menus.c: menu fixes for --enable-gnome
9598         * app/commands.c (file_open_dialog_ok_callback): fixed up
9599         menus when --enable-gnome is used
9600         (file_export_to_eps_callback): set a default file name
9601         when dialog is created
9603 1999-02-27  Alexander Larsson  <alex@c125.ryd.student.liu.se>
9605         * objects/UML/association.c (association_create):
9606         Fixed usage of not initialized variable.
9607         Pointed out by Seth Alves <alves@hungry.com>.
9609 1999-02-24  Alexander Larsson  <alex@c125.ryd.student.liu.se>
9611         * configure.in:
9612         Fixed detection of gnome-xml.
9613         From Valtteri Vuorikoski <vuori@k.notcom.org>.
9614         
9615         * app/app_procs.c:
9616         Fixed error detection on dlsym calls. 
9617         From Valtteri Vuorikoski <vuori@k.notcom.org>.
9619 1999-02-23  Alexander Larsson  <alla@lysator.liu.se>
9621         * objects/UML/message.c (fill_in_dialog):
9622         Fixed warnings.
9624 1999-02-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
9626         * objects/standard/zigzagline.c:
9627         * objects/standard/polyline.c:
9628         * objects/standard/line.c:
9629         * objects/standard/arc.c:
9630         * lib/widgets.h:
9631         * lib/arrows.h:
9632         * lib/widgets.c:
9633         Support for sizeable arrows. 
9635         * objects/standard/box.c:
9636         * objects/standard/ellipse.c:
9637         * objects/standard/image.c:
9638         Changed creation handle to lower-right.
9639         Transparent box/ellipse.
9640         
9641         * objects/standard/image.c:
9642         Better layout of properties boxes.
9644 1999-02-20  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9646         * objects/UML/message.c (fill_in_dialog): 
9647         Fixed dialog fill in. Common dialog for all messages.
9649         * objects/UML/object.c: 
9650         Added multiple instance. Dialog related bugs fixed.
9651         Common dialog for all instances. Completed copy and destroy.
9653         * objects/UML/lifeline.c (lifeline_load): 
9654         Conn initialization bug fixed and few bad loading prevention flags.
9655         Common dialog for all lifeline objects.
9656         
9657 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9659         * lib/dia_image.[ch]:
9660         More work on the DiaImage abstraction.
9661         
9662         * app/app_procs.c:
9663         * app/render_eps.c:
9664         * app/render_gdk.c:
9665         * objects/standard/image.c:
9666         Use the new DiaImage calls.
9668 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9670         * app/menus.c:
9671         * app/display.c:
9672         Reversed the meaning of align horizontal/vertical.
9674 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9676         * app/load_save.c (diagram_load):
9677         Statusbar update fix.
9679 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9681         * app/interface.c (create_display_shell):
9682         Fixed status bar size.
9683         
9684 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
9686         * lib/dia_image.[ch]:
9687         Added extern declaration for dia_image_release.
9688         Removed dia_image_draw, as it's not neseccary.
9690 1999-02-14  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9691         
9692         * app/object_ops.c: 
9693         * app/menus.c: 
9694         Added equal distance alignment both vertical and horizontal.
9695         
9696         * objects/UML/object.c: 
9697         Added a couple of attributes to load/read that were missing.
9699         * objects/UML/lifeline.c: 
9700         Better handling of handles. Fixed another bug I forgot to add
9701         to my last patch.
9702         
9703 1999-02-13  Alexander Larsson  <alla@lysator.liu.se>
9705         Patch from Lars Clausen <lrclause@shasta.cs.uiuc.edu>
9706         
9707         * lib/dia_image.[ch]:
9708         * lib/Makefile.am:
9709         New files. DiaImage wraps the GdkImlibImage.
9711         * lib/render.h:
9712         * app/render_eps.c:
9713         * app/render_gdk.c:
9714         * lib/render_store.[ch]:
9715         * objects/standard/image.c:
9716         Use the new DiaImagetype.
9718         * lib/widgets.c:
9719         Removed unused variable to eliminate  warning.
9721 1999-02-11  Alexander Larsson  <alla@lysator.liu.se>
9723         * objects/standard/box.c:
9724         Added rounded corners on the box object.
9726         * lib/widgets.[ch]:
9727         Updated the DiaFileSelector widget.
9728         
9729 1999-02-09  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9731         * objects/UML/object.c (objet_draw): 
9732         Completed underlining of all object name lines. 
9734         * objects/UML/message.c (fill_in_dialog): 
9735         Fixed a bug that filled incorrectly the message's dialog.
9737         * objects/UML/lifeline.c (lifeline_load): 
9738         Some cleanning and fixed a couple of bugs that caused
9739         crashes after reading diagrams with lifelines.
9741         * lib/text.c: 
9742         Added flags to prevent crash with void strings
9744 1999-02-07  Matthias Köster <Matthias.Koester@Informatik.Uni-Oldenburg.DE>
9745         * app/display.[ch]:
9746         Added statusbar to the display widget. Currently shows the zoom
9747         factor and modified flag of the viewed diagram. The statusbar is
9748         updated upon calls to ddisplay_zoom and ddisplay_update_statusbar.
9749         This caused the following additions:
9750         
9751         * app/diagram.[ch]:
9752         Added function diagram_set_modified. Calls
9753         ddisplay_update_statusbar for all displays showing the modified diagram.
9754         Changed diagram_modified to call diagram_set_modified.
9755         
9756         * app/interface.c:
9757         Added the creation of the statusbar.
9758         
9759         * app/load_save.c:
9760         diagram_save now calls diagram_set_modified instead of setting
9761         dia->modified. Needed to force call to display_update_statusbar
9762         
9763         * app/commands.c:
9764         Changed the way view_show_all works. Now calls ddisplay_zoom
9765         instead of directly setting the zoom_factor, so the zoom factor is
9766         correctly shown in the statusbar.
9768         * app/magnify.c:
9769         Fixed rubberband zoom to use ddisplay_zoom().
9770         
9771 1999-02-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
9773         * app/app_procs.c
9774         Rudimentary GNOME session management.
9775         
9776         * app/disp_callbacks.c
9777         * app/interface.c
9778         * app/menus.c
9779         * app/menus.h
9780         GNOME menus. Problems: 
9781         Callbacks doesn't get user_data.
9782         Weird warnings when creating popup menus.
9783         menus_set_sensitive(), menus_set_state() doesn't work.
9785 1999-02-05  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
9787         * configure.in:
9788         Add AM_PATH_GDK_IMLIB() call.
9790         * app/Makefile.am:
9791         Add gdk_imlib to linking flags.
9793         * app/app_procs.c:
9794         Init gdk_imlib.
9795         Print library-loading error messages on stdout too.
9797         * app/interface.c:
9798         Add standard image to toolbox.
9799         
9800         * app/render_eps.c: 
9801         Set a more reasonable dot length.  Fixed
9802         missing initialization of dot length.
9803         Added draw_image methods.
9805         * app/render_gdk.c (new_gdk_renderer): 
9806         Dot a bit wider.  Looks good in normal mode now.
9808         * objects/standard/image.c:
9809         * objects/standard/pixmaps/image.xpm:
9810         New files. Standard object for images.
9811         
9812         * app/render_eps.c (set_linestyle):
9813         * app/render_gdk.c (set_linestyle):
9814         * lib/widgets.c (dia_line_style_selector_init): 
9815         * lib/render.h: 
9816         New line style DOTTED.
9818         * lib/render.h:
9819         * lib/render_store.c:
9820         Change DrawImage call to use gdk_imlib.
9822         * lib/widgets.[ch]:
9823         Added widgets for selecting files.
9824         Added dotted to the linestyle selector.
9826 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
9828         * objects/network/printer.c:
9829         * objects/network/network.c:
9830         * objects/network/pixmaps/printer.xpm:
9831         * objects/network/.cvsignore:
9832         * objects/network/Makefile.am:
9833         * objects/network/pixmaps/Makefile.am:
9834         New printer object in network.
9835         From Martin Hawlisch <hawlisch@roxi.rz.fh-mannheim.de>
9837         * TODO:
9838         Added known XML bug.
9839         
9840 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
9842         * app/load_save.c:
9843         * lib/dia_xml.c:
9844         Reverted back from #include <gnome-xml/tree.h> to
9845         #include <tree.h> as this is fixed by the xml-config program.
9846         The former way broke for some people.
9847         Reported by blizzard@redhat.com.
9849         * objects/UML/lifeline.c:
9850         * objects/UML/message.c:
9851         * objects/UML/object.c:
9852         Removed some warnings.
9853         
9854 1999-02-04  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9856         * objects/UML/lifeline.c: 
9857         Fixed connection points over the life line when the focus of
9858         control is not drawn.
9860         * objects/UML/message.c: 
9861         Now a recursive message can be freely resized using the handles.
9863 1999-02-02  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9865         * objects/UML/lifeline.c:
9866         Added connection points.
9867         Added properties dialog with the option to draw/hide focus of control
9868         box and destruction mark.
9870         * objects/UML/object.c: 
9871         Added properties dialog and stereotype, explicit state and attributes. 
9872         It's also possible to mark the object as active.
9874         * objects/UML/pixmaps/object.xpm: 
9875         Cosmetic change.
9877         * objects/UML/message.c:
9878         Added "recursive" message type (was not necessary to use OrthConn).
9880 1999-02-02  Alexander Larsson  <alla@lysator.liu.se>
9882         * objects/standard/arc.c:
9883         Removed old debug code. Fixes a visual bug. From lrclause@cs.uiuc.edu.
9885 1999-02-01  Alexander Larsson  <alla@lysator.liu.se>
9887         Patch from Lars R. Clausen <lrclause@cs.uiuc.edu>
9888         
9889         * app/load_save.c:
9890         * lib/dia_xml.c:
9891         Update xml includes to gnome-xml/*.h.
9893         * objects/standard/arc.c:
9894         Only one property dialog per type.
9895         Fix arrows directions.
9897         * objects/standard/box.c:
9898         * objects/standard/ellipse.c:
9899         * objects/standard/textobj.c
9900         Added default properties dialog.
9901         
9903 1999-01-31  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
9905         * objects/UML/Makefile.am: 
9906         * objects/UML/uml.c:
9907         * objects/UML/lifeline.c: 
9908         * objects/UML/object.c: 
9909         * objects/UML/message.c:
9910         * objects/UML/pixmaps/lifeline.xpm: 
9911         * objects/UML/pixmaps/object.xpm: 
9912         * objects/UML/pixmaps/message.xpm:
9913         Added 3 new UML objects for dynamic modeling. To avoid internal 
9914         conflicts, the name "objet" is used for object "object".        
9916         * lib/arrows.[ch]: 
9917         Added ARROW_HALF_HEAD arrow type to allow drawing asynchronous
9918         UML messages.
9919         
9920 1999-01-30  Alexander Larsson  <alla@lysator.liu.se>
9922         * app/display.[ch]:
9923         * app/modify_tool.c:
9924         Added autoscrolling while doing rubber-band select.
9925         This patch from Matthias Köster
9926         (Matthias.Koester@Informatik.Uni-Oldenburg.DE)
9927         
9929 1999-01-28  Alexander Larsson  <alla@lysator.liu.se>
9931         * app/defaults.[ch]:
9932         New files, deals with default properties dialog.
9934         * lib/diamenu.h:
9935         New file. Contains definitions for the new object menu.
9937         * lib/poly_conn.[ch]:
9938         New file. Base class for poly-line like objects.
9940         * objects/standard/polyline.c:
9941         * objects/standard/pixmaps/polyline.xpm:
9942         New files. Polyline object.
9944         * app/app_procs.c:
9945         Fixed bug with infinite loop when registering sheets.
9946         
9947         * app/commands.c:
9948         Removed unneccesary stuff.
9950         * app/disp_callbacks.c:
9951         Support for object menus.
9953         * app/interface.c:
9954         Added polyline to toolbox.
9955         Added call to tool_options_dialog_show() when double clicking on
9956         tool.
9958         * app/tool.[ch]:
9959         New function tool_options_dialog_show() for tool properties.
9961         * lib/arrows.[ch]:
9962         Added ARROW_NONE.
9964         * lib/object.h:
9965         Added ObjectType methods for handling object default dialogs.
9966         Added Object method for handling object_menu.
9967         Added unused methods to ObjectTypeOps for future binary
9968         compatibility.
9970         * lib/widgets.[ch]:
9971         Added DiaArrowTypeSelector widget.
9973         * objects/standard/arc.c:
9974         * objects/standard/zigzagline.c:
9975         Added support for default properties.
9977         * objects/standard/line.c:
9978         Added support for default properties.
9979         Just use one properties dialog for all line objects. NOTE: This
9980         seems to have a bug. We're working on it.
9982         * standard/standard.c:
9983         Add the polyline object.
9985 1999-01-27  Alexander Larsson  <alla@lysator.liu.se>
9987         * app/modify_tool.c:
9988         Commented out buggy transitive select function. It wasn't really
9989         meant to go into cvs.
9990         
9992 1999-01-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
9994         * autogen.sh:
9995         * acconfig.h:
9996         * configure.in:
9997         * Makefile.am:
9998         * app/Makefile.am:
9999         * po/POTFILES.in:
10000         * app/intl.h
10001         i18n-support.
10003         * po/sv.po:
10004         Swedish translation. Not completed.
10005         
10006         * configure.in:
10007         * acconfig.h:
10008         Added possibility to enable GNOME specific code with configure.
10010         * configure.in:
10011         Added possibility to set debug level with configure.
10013         * commands.[hc]:
10014         Added about dialog.
10016         * app_procs.c
10017         * commands.c
10018         * interface.c
10019         * menus.c
10020         Added some GNOME specific code. Not ready for use.
10022 1999-01-24  Alexander Larsson  <alla@lysator.liu.se>
10024         * INSTALL:
10025         Added text about needing gtk 1.1.13 and gnome-xml.
10026         
10027         * NEWS:
10028         Described changes since last version (0.20).
10030         Released version 0.30, tagged DIA_0_30.
10032 1999-01-22  Alexander Larsson  <alla@lysator.liu.se>
10034         * app/magnify.c (magnify_button_release):
10035         Fixed a problem when zooming in on a very small box would
10036         not release the grabbed pointer-focus.
10038 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
10040         * app/load_save.c (diagram_load):
10041         Be somewhat more robust when loading files that
10042         are not diagrams.
10043         
10044 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
10046         * app/app_procs.c:
10047         * objects/ER/er.c:
10048         * objects/UML/uml.c:
10049         * objects/network/network.c:
10050         * objects/standard/standard.c:
10051         Added versioning of object libraries.
10053         * app/create_object.c:
10054         Don't change tool when an object is created.
10055         
10056         * objects/network/network.c:
10058         * TODO:
10059         Update
10061 1999-01-19  Alexander Larsson  <alla@lysator.liu.se>
10063         * configure.in:
10064         Updated gtk requirement to Gtk+ 1.1.13.
10066         * app/display.c:
10067         Always add one screenful of scrolling space on
10068         each side of a diagram window.
10070 1999-01-19  Jeff Garzik  <jgarzik@pobox.com>
10072         * autogen.sh:
10073         Tell automake to auto-install missing files.
10075         * app/menus.c:
10076         Renamed deprecated Gtk+ function.
10078 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
10080         * Makefile.am:
10081         * configure.in:
10082         * samples/Makefile.am:
10083         * samples/ER-demo.dia:
10084         * samples/UML-demo.dia:
10085         Added samples directory.
10086         Added samples for ER and UML.
10087         
10088         * app/commands.c:
10089         * app/disp_callbacks.c:
10090         * app/menus.c:
10091         Zoom is done by sqrt(2) instead of 2.
10092         Lots of more zoom options in the menu.
10094         * objects/ER/relationship.c:
10095         Relationships have 8 connectionpoints instead of 4.
10097         * objects/UML/class.c:
10098         UML class name font a bit smaller.
10099         Fixed stupid bug in the copy operation.
10100         
10101         * app/display.c:
10102         Displays are opened at 500x400 instead of 256x256.
10104         * app/load_save.c:
10105         Fixup of internal error message.
10107         * app/color_area.c:
10108         * app/diagram.c:
10109         * app/modify_tool.c:
10110         * lib/object.c:
10111         Removed debug printf's.
10112         
10113         * TODO (BUGS):
10114         Added new known bug.
10116 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
10118         * app/interface.c:
10119         * app/menus.c:
10120         Fixed so accelerator groups work in all windows.
10121         Updated to new gtk function names.
10123         * TODO (BUGS):
10124         Removed fixed bug.
10126         * app/display.c:
10127         Updated to new gtk function names.
10128         Set sensitivity of the align menu items.        
10130         * objects/ER/pixmaps/Makefile.am:
10131         * objects/UML/pixmaps/Makefile.am:
10132         * objects/network/pixmaps/Makefile.am:
10133         Fix so that make dist works.
10135         * app/app_procs.c:
10136         * app/color_area.c:
10137         * app/commands.c:
10138         * app/diagram.c:
10139         * app/grid.c:
10140         * app/layer_dialog.c:
10141         * app/load_save.c:
10142         * app/object_ops.c:
10143         * app/properties.c:
10144         * lib/diagramdata.[ch]: 
10145         * lib/message.c:
10146         * lib/objects/ER/attribute.c:
10147         * lib/objects/ER/entity.c:
10148         * lib/objects/ER/participation.c:
10149         * lib/objects/ER/relationship.c:
10150         * lib/objects/ER/.c:
10151         * objects/UML/actor.c:
10152         * objects/UML/association.c:
10153         * objects/UML/class_dialog.c:
10154         * objects/UML/dependency.c:
10155         * objects/UML/generalization.c:
10156         * objects/UML/large_package.c:
10157         * objects/UML/realizes.c:
10158         * objects/UML/.c:
10159         * objects/UML/.c:
10160         Updated to new gtk function names.
10161         Removed warnings.
10163 1999-01-15  Alexander Larsson  <alla@lysator.liu.se>
10165         * TODO:
10166         Update TODO.
10168         * app/app_procs.c:
10169         Fixed loading of diagrams specified as arguments.
10171         * objects/ER/attribute.c:
10172         * objects/ER/entity.c:
10173         * objects/ER/er.c:
10174         * objects/ER/participation.c:
10175         * objects/ER/relationship.c:
10176         Updated the ER objects.
10177         
10179 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
10181         * configure.in:
10182         * app/Makefile.am:
10183         * objects/Makefile.am:
10184         * objects/ER/attribute.c:
10185         * objects/ER/entity.c:
10186         * objects/ER/er.c:
10187         * objects/ER/participation.c:
10188         * objects/ER/relationship.c:
10189         * objects/ER/pixmaps/Makefile.am:
10190         * objects/ER/pixmaps/attribute.xpm:
10191         * objects/ER/pixmaps/entity.xpm:
10192         * objects/ER/pixmaps/participation.xpm:
10193         * objects/ER/pixmaps/relationship.xpm:
10194         * objects/ER/pixmaps/weakentity.xpm:
10195         First commit of entity relationship objects.
10196         These were done by hallon@lysator.liu.se.
10197         There are still stuff to do on these.
10198         
10199 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
10201         * TODO:
10202         Updates.
10204         * app/diagram.[ch]:
10205         Change diagram_remove_all_selected to take new argument
10206         delete_empty. Empty objects are deleted only if it is TRUE.
10207         Removed call to close_eps_renderer. This is now done in end_render
10208         in the eps renderer.
10210         * app/create_object.c:
10211         * app/layer_dialog.c:
10212         Update calls to diagram_remove_all_selected.
10214         * app/commands.c:
10215         Update calls to diagram_remove_all_selected.
10216         Some code reformating.
10217         Changed order of adding updates i align_h and align_v.
10219         * app/modify_tool.c:
10220         Update calls to diagram_remove_all_selected.
10221         Added pointer grab when doing rubber-band selection, this fixes
10222         the bug when draging the box over to another window.
10224         * app/connectionpoint_ops.[ch]:
10225         diagram_update_connections_object changed to take an argument
10226         update_nonmoved. This lets connections that has not moved, but
10227         the stuff they're connected to has been moved work.
10228         Update calls to the new diagram_update_connections_object.
10230         * app/properties.c:
10231         Update calls to the new diagram_update_connections_object.
10232         Update extents when properties are applied.
10233         
10234         * app/disp_callbacks.c:
10235         Added support for zooming with the '+' and '-' keys.
10237         * app/menus.c:
10238         Removed old keyboard shortcuts for zoom.
10240         * lib/render.h:
10241         Added calls begin_render and end_render to renderer.
10242         These can be used for setup and cleanup.
10244         * lib/diagramdata.c:
10245         Added calls to begin_render and end_render in data_render.
10247         * app/render_gdk.c:
10248         Added begin_render and end_render.
10250         * app/render_eps.[ch]:
10251         Added begin_render and end_render.
10252         Moved close_eps_renderer code to end_render.
10253         Various fixes to the generated eps code. This fixes importing
10254         generated eps into LYX.
10255         
10256 1999-01-12  Alexander Larsson  <alla@lysator.liu.se>
10258         * TODO:
10259         Update of todo.
10260         
10261         * app/menus.c:
10262         Menus for alignment updated.
10264         * app/object_ops.[ch]:
10265         Functions for object alignment updated.
10267         * app/commands.[ch]:
10268         Object alignment callbacks updated.
10269         New diagrams are called Untitled-<nr>.
10271         * app/layer_dialog.c:
10272         Active layer selected when showing layers from new
10273         diagram.
10275         * app/load_save.c:
10276         Compress xml files when saving.
10277         Use xml namespace 'dia'.
10279         * lib/object.h:
10280         Minor comment update.
10282         * objects/UML/class_dialog.c:
10283         Cleanup of the gkt_list_item moving code.
10284         Fixed bug with update of operation when moving parameters.
10286 1999-01-10  Alexander Larsson  <alla@lysator.liu.se>
10288         * app/layer_dialog.[ch]:
10289         Fixed the rest of the layers dialog.
10291         * app/dialog.c:
10292         Added call to redo layer dialogs diagram list when changing
10293         diagram name.
10295         * lib/diagramdata.[ch]:
10296         Added data_raise_layer and data_lower_layer functions for
10297         raising/lowering layers. Added data_add_layer_at for adding a
10298         layer at a specified index.
10300 1999-01-05  Alexander Larsson  <alla@lysator.liu.se>
10302         This is the asierra-990105 patch done by asierra@servidor.unam.mx.
10303                 
10304         * app/app_procs.c:
10305         Added support for reading diagrams from the command line.
10307 1998-12-21  Alexander Larsson  <alla@lysator.liu.se>
10309         This is the asierra-981220 patch done by asierra@servidor.unam.mx.
10310                 
10311         * app/commands.[ch]:
10312         Added objects_align_callback().
10314         * app/menus.c:
10315         Added align objects to menu.
10317         * app/object_ops.[ch]:
10318         Add object_list_align().
10319         
10320 1998-12-17  Alexander Larsson  <alla@lysator.liu.se>
10321         * app/layer_dialog.[ch]:
10322         New files. Handles the layers dialog. Needs a bugfix for glib to
10323         work. Sent patch to gtk-list.
10324         
10325         * app/pixmaps/new.xpm:
10326         * app/pixmaps/eye.xbm:
10327         * app/pixmaps/lower.xpm:
10328         * app/pixmaps/raise.xpm:
10329         * app/pixmaps/delete.xpm:
10330         New files. Images for the layer dialog buttons.
10331         
10332         * lib/diagramdata.h
10333         * lib/diagramdata.c
10334         New files for the DiagramData and Layer structures and functions.
10335         
10336         * app/app_procs.c:
10337         Added call to create_layer_dialog() on startup.
10338         
10339         * app/commands.[ch]:
10340         New callbacks for showing the properties and layout dialog.
10341         Changes for the new DiagramData structure.
10343         * app/connectionpoint_ops.c:
10344         * app/cut_n_paste.c:
10345         * app/diagram.[ch]:
10346         * app/display.[ch]:
10347         * app/group.c:
10348         * app/modify_tool.c:
10349         * app/object_ops.[ch]:
10350         * app/render_eps.c:
10351         * lib/object.[ch]:
10352         Changes for the new DiagramData structure.
10354         * app/interface.c:
10355         * app/properties.c:
10356         Set correct wmclasses.
10358         * app/load_save.c:
10359         Fix load and save of layers.
10361         * diagram.dtd:
10362         Update DTD for layers.
10363         
10364         * app/menus.c:
10365         New menus for dialogs.
10367         
10368         * TODO:
10369         Some updates.
10370         
10371 1998-12-06  Alexander Larsson  <alla@lysator.liu.se>
10373         * TODO:
10374         Removed the gtk 1.1.5 stuff.
10376         * configure.in:
10377         Updated gtk check to version 1.1.5.
10378         Updated version from 0.20 to 0.30
10380         * app/commands.[ch]:
10381         Updated some callbacks to be of type GtkItemFactoryCallback1.
10382         Not all are done yet, but it works anyway.
10384         * app/display.h:
10385         Removed Gtk 1.0.0 GtkAcceleratorTable references.
10386         
10387         * app/interface.c:
10388         * app/menus.[ch]:
10389         Update to Gtk 1.1.x functions.
10390         Use ItemFactory instead of MenuFactory.
10391         
10392         * app/render_gdk.c:
10393         Removed Gtk 1.0.0 references.
10395         * objects/UML/class_dialog.c:
10396         Scrolled window updates for Gtk 1.1.5.
10397         
10398         * lib/dia_xml.c:
10399         Removed ugly fix for gnome-xml bug. Make sure you get the
10400         newest version of gnome-xml from CVS.
10401         
10402 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
10404         * TODO:
10405         Removed the xml load/save line.
10407         * lib/files.[ch]:
10408         Removed files.
10409         
10410         * lib/Makefile.am:
10411         Removed building of files.c
10413         * app/load_save.c:
10414         * lib/connection.c:
10415         * lib/element.c:
10416         * lib/object.c:
10417         * lib/orth_conn.c:
10418         * lib/render_object.c:
10419         * objects/UML/actor.c:
10420         * objects/UML/association.c:
10421         * objects/UML/class.c:
10422         * objects/UML/constraint.c:
10423         * objects/UML/dependency.c:
10424         * objects/UML/generalization.c:
10425         * objects/UML/implements.c:
10426         * objects/UML/large_package.c:
10427         * objects/UML/note.c:
10428         * objects/UML/realizes.c:
10429         * objects/UML/small_package.c:
10430         * objects/UML/uml.c:
10431         * objects/UML/usecase.c:
10432         * objects/network/bus.c:
10433         * objects/standard/arc.c:
10434         * objects/standard/box.c:
10435         * objects/standard/ellipse.c:
10436         * objects/standard/line.c:
10437         * objects/standard/textobj.c:
10438         * objects/standard/zigzagline.c:
10439         Removed all includes of files.h
10441         
10442 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
10444         * dialog.dtd:
10445         Made the val property of string be implied.
10446         This makes it possible to save strings that
10447         are NULL. Just leave out val.
10449         * objects/lib/dia_xml.c:
10450         Fixed string so that it is possible to save strings
10451         that are NULL. Also made an ugly workaround of a
10452         bug in gnome-xml which removes empty properties.
10453         
10454         * objects/lib/orth_conn.c:
10455         Fixed a bug in saving. Forgot to step through the
10456         directions.
10457         
10458         * objects/UML/association.c: 
10459         * objects/UML/class.c: 
10460         * objects/UML/constraint.c: 
10461         * objects/UML/dependency.c: 
10462         * objects/UML/generalization.c: 
10463         * objects/UML/implements.c: 
10464         * objects/UML/large_package.c: 
10465         * objects/UML/note.c: 
10466         * objects/UML/small_package.c:
10467         * objects/UML/realizes.c:
10468         * objects/UML/usecase.c: 
10469         * objects/UML/actor.c: 
10470         Fixed UML objects to save as xml.
10471         The last two were done by asierra@servidor.unam.mx (asierra-981204)
10472         
10473         * objects/UML/uml.[ch]:
10474         Updated *_write() and *_read() functions to use xml.
10476         * objects/network/bus.c: 
10477         * objects/network/computer.c: 
10478         * objects/network/disc.c: 
10479         * objects/network/monitor.c:
10480         Updated network diagrams to use xml.
10482 1998-12-02  Alexander Larsson  <alla@lysator.liu.se>
10484         * dialog.dtd:
10485         New file. DTD that describes the xml file format
10486         dia uses.
10488         * lib/dia_xml.[ch]:
10489         New files. Support for saving object to xml files.
10491         * configure.in:
10492         * app/Makefile.am:
10493         * lib/Makefile.am:
10494         Added check for and usage of gnome-xml library.
10496         * app/load_save.c:
10497         Major chages. Now saves/loads diagrams as xml.
10499         * lib/object.[ch]:
10500         * lib/element.[ch]:
10501         * lib/connection.[ch]:
10502         * lib/orth_conn.[ch]:
10503         * lib/render_object.[ch]:
10504         * lib/text.[ch]:
10505         Updated object support load/save functions for xml:
10507         * object/standard/arc.c:
10508         * object/standard/box.c:
10509         * object/standard/ellipse.c:
10510         * object/standard/line.c:
10511         * object/standard/textobj.c:
10512         * object/standard/zigzagline.c:
10513         Updated all standard objects to use xml.
10514         
10515         NOTE NOTE NOTE
10516         Only the standard objects are converted right now, don't
10517         save or load uml or network diagrams yet. Also, since this
10518         is new code it is deemed a bit unstable.
10519         
10520         * TODO
10521         Added a know bug.
10523 1998-12-01  Alexander Larsson  <alla@lysator.liu.se>
10525         * objects/UML/class.c:
10526         Changed classname font to Helvetica.
10527         Added more space above the classname
10529         * objects/UML/usecase.c:
10530         Correct placements of connectionpoints on ellipse.
10531         Better algorithm for deciding aspect ration on
10532         ellipse.
10534         These changes were made by Alejandro Aguilar Sierra
10535         <asierra@servidor.unam.mx>. (asierra-981201)
10537 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
10539         * objects/UML/actor.c:
10540         Changed the extents and alignment of the element
10541         and the text.
10543         * objects/UML/.cvsignore:
10544         Added usecase.lo and actor.lo.
10546 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
10548         * objects/UML/actor.c:
10549         * objects/UML/usecase.c:
10550         * objects/UML/pixmaps/actor.xpm:
10551         * objects/UML/pixmaps/case.xpm:
10552         New files. Implements usecase and actor UML objects.
10553         These objects are done by Alejandro Aguilar Sierra
10554         <asierra@servidor.unam.mx>.
10555         
10556         * objects/UML/Makefile.am:
10557         * objects/UML/pixmaps/Makefile.am:
10558         Added usecase and actor to makefile.
10559         
10560         * AUTHORS:
10561         Added Alejandro and Jerome to autors list.
10562         
10563 1998-11-25  Alexander Larsson  <alla@lysator.liu.se>
10565         * objects/UML/class.c (umlclass_load):
10566         Fixed typo. Reported by Jerome.Abela@solsoft.fr
10568 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
10570         * app/properties.c:
10571         Update connections when doing apply in the properties window.
10573         * objects/UML/uml.[ch]:
10574         * objects/UML/class.[ch]:
10575         * objects/UML/class_dialog.c:
10576         Added connection points on both sides of attributes and
10577         operations in UML classes.
10578         Based on idea from Jerome.Abela@solsoft.fr
10579         
10580 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
10582         * README:
10583         Some new documentation about handles and connectionpoints.
10584         
10585         * lib/object.[ch]:
10586         Added functions object_add_connectionpoint and
10587         object_remove_connectionpoint for handling a dynamic
10588         number of connectionpoints.
10590         * objects/UML/class.c:
10591         Only reserve space for stereotype when it is shown.
10593         These changes are from Jerome Abela <Jerome.Abela@solsoft.fr>
10595 1998-11-08  Alexander Larsson  <alla@lysator.liu.se>
10597         * app/connectionpoint_ops.c:
10598         * app/commands.c:
10599         * app/disp_callbacks.c:
10600         * app/display.[ch]:
10601         * app/grid.c:
10602         * app/handle_ops.c:
10603         * app/magnify.c:
10604         * app/modify_tool.c:
10605         * app/render_gdk.[ch]:
10606         * lib/render.h:
10607         Huge cleanup of internal rendering system.
10608         Moved a lot of data (pixmap, width, height & gc) into the GdkRenderer.
10609         This gives a few new methods for Interactive Renderers for setting
10610         clipping regions and drawing pixel based lines and rects.
10611         Updated the rest of the code to use the new stuff.
10612         
10613         * app/render_eps.c:
10614         Fixed warning.
10616         * lib/widgets.c:
10617         * objects/standard/zigzagline.c
10618         Fixed unused variable warnings.
10620         * lib/font.c:
10621         Fixedbug with stringwidth where width==0.
10623         * TODO:
10624         Added known bug.
10626 1998-11-02  Alexander Larsson  <alla@lysator.liu.se>
10628         * lib/widgets.[ch]:
10629         Added suppot for setting the font of a
10630         DiaFontSelector widget.
10631         Also fixed some typos in the header.
10633         * lib/object.h: 
10634         Added a comment about the GetPRoperties method call.
10635         You have to make sure to update widget state when
10636         this method is called. (Not all objects do this yet,
10637         to be fixed.)
10639         * TODO:
10640         Some small updates
10642 1998-11-01  Alexander Larsson  <alla@lysator.liu.se>
10644         * lib/font.c
10645         Fixed problem with height of ascent and descent for fonts.
10646         It didn't use the whole height (==ascent+descent) when calculatine
10647         ascent_ratio and descent_ratio.
10649         * objects/standard/textobj.c:
10650         * objects/standard/box.c:
10651         * objects/standard/ellipse.c:
10652         * objects/standard/line.c:
10653         * objects/standard/arc.c:
10654         Updated and added property dialogs for these objects.
10655         Also added line width/color/style to those objects
10656         that didn't have it.
10657         This change breaks fileformat compatibility for these objects.
10658         
10659         * objects/standard/zigzagline.c:
10660         Changed zigzagline to be based on OrthConn, much nicer.
10661         Also added line style and color to properties.
10662         This change breaks fileformat compatibility for zigzagline.
10664         * lib/message.c:
10665         Fixed bug in message(). Forgot a pair of '&'.
10667 1998-10-29  Alexander Larsson  <alla@lysator.liu.se>
10669         * lib/widgets.[ch]:
10670         Added DiaColorSelector widget.
10671         This is a colored button that pops up a color selection
10672         dialog when pressed.
10674 1998-10-28  Alexander Larsson  <alla@lysator.liu.se>
10676         * lib/widgets.[ch]:
10677         * lib/Makefile.am:
10678         New files, added widgets for selecting fonts, alignment
10679         and line-style. Will be used later.
10681 1998-10-12  Alexander Larsson  <alla@lysator.liu.se>
10683         * app/Makefile.am:
10684         * lib/Makefile.am:
10685         * objects/UML/Makefile.am:
10686         * objects/network/Makefile.am:
10687         * objects/standard/Makefile.am:
10688         Changed "CFLAGS = -Wall -g" to "CFLAGS = @CFLAGS@"
10689         in all Makefile.am.
10691 1998-10-03  Alexander Larsson  <alla@lysator.liu.se>
10693         * app/handle_ops.c (handle_draw):
10694         connected HANDLE_MINOR_CONTROL also becomes red.
10696 1998-10-02  Alexander Larsson  <alla@lysator.liu.se>
10698         * Makefile.am:
10699         removed -ldl from linking. This is added if needed by configure.
10701         * app/app_procs.c:
10702         Open dlls with RTLD_LAZY if it is defined.
10703         Some cleanups: char *error -> const char *error
10704         Added fprintf()'s to where we exited because of errors.
10706         * lib/files.c:
10707         Include <sys/types.h>
10709 1998-10-01  Alexander Larsson  <alla@lysator.liu.se>
10711         * acconfig.h:
10712         * configure.in:
10713         * app/app_procs.c:
10714         Detect dlopen better.
10715         Detect wether dlopen needs an underscore in the identifier.
10716         This code was mostly borrowed from guile.
10718         * lib/sheet.[ch]:
10719         * app/app_procs.c:
10720         * objects/standard/standard.c:
10721         * objects/network/network.c:
10722         * objects/UML/uml.c:
10723         * most objects:
10724         Changed the way sheets reference objects to use just the
10725         name. Changed module loading to a two stage model:
10726         First register_objects() is called for all modules.
10727         Then register_sheets() is called. This means that
10728         sheets can safely include objects from other modules.
10729         
10731 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
10733         * objects/network/bus.c:
10734         * objects/network/network.c:
10735         * objects/network/Makefile.am:
10736         New file bus.c. Added new object: Ethernet bus.
10738         * objects/standard/box.c:
10739         Added call to gtk_spin_button_set_numeric for linewidth spinner
10740         in property dialog.
10742 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
10744         * app/connectionpoint_ops.c:
10745         * app/create_object.c:
10746         * app/group.c:
10747         * app/handle_ops.c:
10748         * app/modify_tool.c:
10749         * lib/connection.c:
10750         * lib/element.c:
10751         * lib/handle.h:
10752         * lib/object.c:
10753         * lib/orth_conn.c:
10754         * loads of objects:
10755         Changed handle->connectable to handle->connect_type.
10756         Now handles can be HANDLE_CONNECTABLE_NOBREAK, which means
10757         that their connections don't break when moving objects.
10759         * app/diagram.c:
10760         Always select the last handle in an object that has
10761         the closest distance.
10762         
10763         * lib/geometry.[ch]:
10764         Added rectangle_add_point function.
10765         
10767 1998-09-27  Alexander Larsson  <alla@lysator.liu.se>
10769         * app/properties.[ch]: New files. Handles the new properties
10770         dialog.
10772         * app/modify_tool.c: Changed to use new properties dialog.
10774         * app/object_ops.[ch]: Removed object_changed_callback, as it's
10775         not needed anymore. This is now handled differently in
10776         properties.c
10778         * lib/object.[ch]:
10779         Changed the properties ops for objects. Removed typedefs
10780         ChangedObjectTime and ObjectChangedFunc needed for the old way.
10781         Added object_return_null function.
10782         
10783         * app/group.c:
10784         * lib/render_object.c:
10785         * objects/*/*.c:
10786         Changed objects to use the new properties dialog.
10787         
10789 1998-09-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
10791         * */Makefile.am (INCLUDES): Changes to work with srcdir !=
10792         builddir.
10794         * autogen.sh: New file. Copied from gtk and added a call to
10795         libtoolize. Anyone knows why this isn't done in gtk?
10797         * Removed autogenerated files.
10799 1998-09-12  Alexander Larsson  <alla@lysator.liu.se>
10801         * Added call setlocale(LC_NUMERIC, "C") so that formating of
10802           floating-point numbers in postscript output will be correct.
10803         * Did some cleanup of generated postscript files.