small fixes after Hans's Commit
[dia.git] / ChangeLog
bloba1f08ed0073b5781f860417d78763c242265c6f9
1 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
3         * app/recent_files.h was missing from Hans's commit
5         * plug-ins/shape/shape_export.c: shape export was broken
6         due to interface changes
7         
8 2001-01-05  Hans Breuer <Hans@Breuer.Org>
10         Applied Steffen's recent file list patch :
11         * app/Makefile.am : added recent_files.[hc]
12         * app/diagram.c : add files to recent file list
13         * app/menus.c : add recent file menu
14         * app/app_procs.c : changed initialization order to
15         make recent file list work with command line processing.
17         The Filter export()/import() functions have got an additional 
18         parameter to allow multiple filters via one C callback (required
19         for Python bindings)
21         * app/commands.[hc] : corrected the signature for gtk menu callback
22         functions, which actually use the second or third parameter. This
23         is the absolute minimum change to make these functions/menu entries
24         work again. Using the other possible gtk menu callback signature
25         would have required one more function to change. (see mailing list
26         thread "Objects/Align/Equal Distance" for more information.
28         * app/disp_callbacks.c : applied Gustavo J.A.M. Carneiro's
29         zoom-combo focus patch
31         * app/display.c
32         * app/interface.c : wrapped the Zoom Combo code into 
33         #ifndef WITHOUT_ZOOM_COMBO because IHMO it isn't an useabilty
34         improvement but cluttering the user interface. Also it wasn't
35         compiling on Win32 anyway. The win32 version does define 
36         WITHOUT_ZOOM_COMBO to keep the old look. 
37         There are plans to use the statusbar to display size and placement
38         of selected objects, whereas the Zoom Combo would need to get out
39         of the way as well.
41         Added "Save Changes?" to diagram close dialog. Hopefuly the
42         Yes/No/Cancel option isn't too much windoze like. IHMO this is
43         an useability improvement.
45         * app/export_png.c
46         * app/filedlg.c
47         * app/load_save.c
48         * app/layer_dialog.c
49         * app/paginate_psprint.c
50         * app/render_eps.c
51         - reflect signature changing of filter->export function
52         - replaced '/' with G_DIR_SEPARARTOR where appropriate
54         * app/diaunitspinner.c
55         * app/render_libart.c
56         added misssing headers like <string.h>
58         * app/object_ops.c : fixed copy&paste bug in dialog string
60         * app/splash.c : gdk_widget_show_now () does not ensure actual
61         drawing of the splash screen, at least not on win32. Reuse the
62         previous implementation with gtk_main_iteration() again.
64         * */makefile.msc : make use of the build module (available in
65         gnome-cvs/build. Updated for other source changes
67         * lib/filter.h : added an user_data pointer to <ex/im>port()
68         function signature and Dia<Im/Ex>portFilter to allow different
69         filters to reuse the same callback function
71         * lib/font.c : #include <string.h>
73         * lib/orth_conn.c 
74         * lib/poly_conn.c 
75         * lib/poly_shape.c 
76         * lib/neworth_conn.c
77         * lib/text.c : don't mix allocator functions (g_)realloc, free, ...
79         * */*.def : export function definition files required by win32 build
81         * objects/custom/custom.c : #include <string.h>
83         * plug-ins/pstricks/render_pstricks.c
84         * plug-ins/shape/shape_export.c
85         * plug-ins/svg/render_svg.c
86         reflect changes to filter export function signature
88         * plug-ins/wmf/wmf.cpp : fixed indent and scaling. It now should
89         mostly work as expected
90         * plug-ins/wmf/wmf_gdi.[hc] : Updated comment. Still not used
91         to build the wmf plug-in because on the one hand the GDI emulation 
92         isn't finished and on the other hand it isn't required when building
93         for win32. Is there anybody out there, who wants to save WMF on non
94         windoze platforms ?
96         * plug-ins/wpg/wpg.cpp : fixed scaling to take axis dependent
97         offset into account.
99 2001-01-02  Steffen Macke <sdteffen@yahoo.com>
101         * app/Makefile.am: added missing plug-ins to run_dia.sh
103         * lib/paper.c: added paper sizes A0, A1, A2
105         * objects/UML/class.c
106         objects/UML/class.h
107         objects/UML/class_dialog.c: added support for colored UML
108         classes
109         
110 2000-12-30  Kevin Breit <battery841@mediaone.net>
112         * doc/en/usage-customization.sgml: added more content
114 2000-12-24  Kevin Breit <battery841@mediaone.net>
116         * doc/en/usage-layers.sgml: added file, contributed by Remypsb
117         <remy.viard@laposte.net>
119 2000-12-24  Steffen Macke <sdteffen@yahoo.com>
121         * added limiting lines to Civil Engineering sheet,
122         fixed vertical pump icon
123         
124 2000-12-20  Steffen Macke <sdteffen@yahoo.com>
126         * updated/additional Civil Engineering shapes: better icons,
127         shapes use foreground/background colors now and are filled
128         
129 2000-12-03  Kevin Breit  <battery841@mediaone.net>
131         * doc/en/dia-manual.sgml Integrated a few diffs.  New section should be
132         the selection <sect1>
134 2000-11-29  Fredrik Hallenberg  <hallon@lysator.liu.se>
136         * app/load_save.c (diagram_data_save): avoid using obsoleted
137         libxml calls (only matters when compiling with libxml2)
139 2000-11-25  James Henstridge  <james@daa.com.au>
141         * app/disp_callbacks.c (ddisplay_drop_object): add a function to
142         handle the tool drops on the canvas.
144         * app/interface.c (display_data_received_callback): do the check
145         to make sure that the drag is from a local toolbox here as well.
147         * app/interface.c (create_tools): unref the pixmap/mask after
148         creating the GtkPixmap.
149         (tool_setup_drag_source): function to set up a drag source for
150         create object tool buttons.
151         (create_tools): setup drag source for CREATE_OBJECT_TOOL's.
152         (fill_sheet_wbox): same here.
153         (create_display_shell): set up the display canvas as a drag
154         destination.
155         (display_drop_callback, display_data_received_callback): functions
156         to handle drops of tool buttons.
158         * app/menus.c (menus_init): don't use gnome_popup_menu_new().  It
159         does weird shit to the user_data pointer for a menu item.  Object
160         alignment should work again now.
162         * app/splash.c (get_logo_pixmap): don't unref the bitmap if it is
163         NULL, and mark this function static.
164         (app_splash_init): use gtk_widget_show_now() instead of the
165         gtk_main_iteration loop.
166         (app_splash_init): connecting gtk_widget_destroy to the destroy
167         signal of a widget seems pretty useless.
169 2000-11-23  Kevin Breit <battery841@users.sourceforge.net>
171         * doc/en/dia-manual.sgml:
172                 Added sect1 for advanced object types.  Starting development
173                 on that part.
175 2000-11-18  Kevin Breit <battery841@mediaone.net>
177         * doc/en/dia-manual.sgml:
178                 Stupid spelling fixes.
180 2000-11-18  Kevin Breit <battery841@mediaone.net>
182         * doc/en/dia-manual.sgml:
183                 Just some small changes I made.  Props to Greg LeBlanc on the
184                 recommendations.
186 2000-11-17  Alexander Larsson  <alla@lysator.liu.se>
188         * app/display.c:
189         (ddisplay_add_display_area): Clip input rectangle to
190         the visible part of the display.
191         (ddisplay_scroll): Optimization, don't scroll and
192         redraw if moving to the same position as before.
194         * app/render_libart.c (renderer_libart_copy_to_window):
195         Removed sanity check. Now moved to ddisplay_add_display_area().
197         * lib/diavar.h:
198         Added return at end of file.
199         
200 2000-11-13 Kevin Breit <battery841@mypad.com>
201         * doc/en/dia-manual.sgml
202                 Commited manual changes from Henry House <hajhouse@houseag.com>
204 2000-10-21 Hans Breuer <Hans@Breuer.Org>
205         * lib/beziershape.c :
206                 The previous code was accessing unowned memory due to IHMO
207                 wrong index calculation. Now it appears to be fixed.
208                 *Please Review!*
210         * lib/makefile.msc
211         * plug-ins/makefile.msc
212         * objects/makefile.msc
213         * app/makefile.msc: (new files)
214                 Makefiles for Dia on Win32, Micro$oft VC only.
216         * plug-ins/pstricks/render_pstricks.c
217         * plug-ins/dxf/dxf-import.c
218         * plug-ins/shape/shape-export.c
219         * plug-ins/svg/render_svg.c
220         * app/commands.c
221         * app/filedlg.c
222         * app/preferences.c
223         * app/render_eps.c
224         * lib/sheet.c
225         * lib/plug-ins.c
226         * objects/custom/custom.c
227         * objects/standard/image.c
228                 portability (not only win32): use HAVE_UNISTD_H, HAVE_DIRENT_H 
229                 where   appropriate, add missing prototypes like <string.h>
231         * plug-ins/wmf/wmf_gdi.cpp
232         * plug-ins/wmf/wmf_gdi.h:
233                 start of wmf write functions for non Win32 platform. Not 
234                 finished yet. The other way to get it working maybe to
235                 link the plug-in against wine libs.
236                 
237         * plug-ins/wpg/wpg.c : add missing brace
239         * app/load_save.c :
240                 Handling for unknown objects at load time. Previously Dia
241                 was crashing, if you try to load a file referencing objects
242                 whiches plug-ins aren't installed/available. Now it spits out 
243                 a warning and ignores the unknown objects.
245         * app/interface.c
246                 toolbox DND support for files like The Gimp does it.
248         * app/main.c
249         * app/app_procs.h
250                 Simple splash screen support and usage.
252         * app/app_procs.c
253                 Splash screen, portability fixes, dont' g_error if there is
254                 g_get_homedir return NULL. This may remove the one and only
255                 FAQ for Win32.
257         * app/menus.c :
258                 Make it compile without ENABLE_NLS
260         * app/render_libart.c :
261                 Sanity check to avoid calling libart with wrong window coordinates.
262                 They come from the update handler. Direct Gdk is dealing nicely
263                 with coordinates out of range, libart does access un-owned memory
264                 in this case, mostly causing crashes.
266         * app/winmain.c: (new file) Export the Win32 Gui version of the
267                 main function. This file is only required for Windoze.
269         * app/splash.c: (new file) splash screen implementation
271         * lib/color.h
272         * lib/font.h
273         * lib/diavar.h: (new file)
274                 moved special variable export code to diavar.h, because it is
275                 needed in color.h and font.h
277         * lib/paper.c :
278                 M$VC cann't export inlined functions. Quick hack to let it
279                 link again. Probably the glib mechanics should be used here?
281         * objects/UML/lifeline.c : initialize var before usage
283         * objects/GRAFCET/step.c : removed unused var
285 2000-10-14  James Henstridge  <james@daa.com.au>
287         * app/render_gnomeprint.c (draw_image): change code so images
288         don't get flipped when printing.
290         * app/paginate_gnomeprint.c (diagram_print_gnome): check to make
291         sure that the return value of
292         gnome_print_context_new_with_paper_size is not NULL.
294         * app/render_gnomeprint.c (draw_arc): add code to convert arcs
295         into a series of bezier segments.
296         (fill_arc): similar code to handle filled arc segments.
298 2000-10-12  Fredrik Hallenberg  <hallon@lysator.liu.se>
300         * app/app_procs.c
301         * app/commands.c
302         * app/dia-props.c
303         * app/diagram.c
304         * app/diagram.h
305         * app/disp_callbacks.c
306         * app/display.c
307         * app/linewidth_area.c
308         * app/paginate_psprint.c
309         * app/preferences.c
310         * app/undo.c
311         * app/font.c
312         * app/message.c
313         * app/neworth_conn.c
314         * app/orth_conn.c
315         * objects/standard/box.c: various small changes to get rid of 
316         annoying warnings (eg faulty prototypes and unused variables)
318         * app/disp_callbacks.c
319         * app/cursor.h
320         * app/magnify.c
321         * app/magnify.h: update magnify tool icon when pressing/releasing
322         shift. I will try to make something more general so that similar
323         things can be used by other tools.
325         * shapes/SDL/inout.shape
326         * shapes/SDL/return.shape: fixed some typos
328 2000-10-09  James Henstridge  <james@daa.com.au>
330         * objects/custom/shape_info.c (parse_path): apply patch from
331         Robert Young <robertdotyoung@dsto.defence.gov.au> to fix bug
332         #25221
334 2000-10-08  James Henstridge  <james@daa.com.au>
336         * objects/standard/image.c (image_set_props): if the file could not
337         be loaded, show the broken image icon.
339         * plug-ins/Makefile.am (SUBDIRS): add shape to the subdirs list.
341         * plug-ins/shape/*: the shape export plugin by Steffen Macke.
343         * app/interface.c (fill_sheet_wbox): use gdk-pixbuf to load the
344         object icon when loading from a file.  This allows you to have PNG
345         icon files for shapes.
347 2000-10-07  James Henstridge  <james@daa.com.au>
349         * app/Makefile.am (dia_LDADD): remove GDK_IMLIB_LIBS reference.
351         * lib/Makefile.am, app/Makefile.am (INCLUDES): remove
352         GDK_IMLIB_CFLAGS reference.
354         * app/commands.c (help_about_callback): remove imlib code.
356         * lib/dia_image.c: only include the pixbuf version of the image
357         routines.
359         * acconfig.h: remove the HAVE_GDK_PIXBUF flag from here.
361         * configure.in (CPPFLAGS): remove the check for imlib, as we now
362         require gdk-pixbuf.
364         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer):
365         conditionally define \setfont as well.
367 2000-10-05  James Henstridge  <james@daa.com.au>
369         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): fix
370         preamble so that we define \setlinejoinmode and \setlinecaps
371         commands conditionally on them being undefined.  This way, the
372         pstricks output files should work without modification, and will
373         support the commands when they are implemented in pstricks.
375 2000-10-05  Szabolcs Ban  <shooby@gnome.hu>
377         * dia.desktop: added hungarian translations to dia.desktop
379 2000-10-04  James Henstridge  <james@daa.com.au>
381         * sheets/UML.sheet: fix typo.
383         * objects/custom/shape_info.c: use strtod instead of g_strtod.
384         (parse_path): actually call setlocale around strtod calls.
386         * lib/dia_xml.c: use strtod rather than g_strtod.  We wrap each
387         call in setlocale(LC_NUMERIC, "C"), so there is no reason to call
388         the g_strtod wrapper.
390         * shapes/SDL/: add SDL shapes from Rubens Ramos
391         <rubens_ramos@yahoo.com>
393         * acinclude.m4 (DIA_CHECK_CFLAG): fix up macro.
395         * sheets/Makefile.am (SHEETS): add SDL.sheet to list.
397         * shapes/MSE/: add Mobile Subscriber Equipment shapes from
398         W. Michael Petullo <mike@flyn.org>.
400         * sheets/Makefile.am (SHEETS): add civil.sheet (which got missed
401         from the 0.86 tarball) and jigsaw.sheet.
403         * configure.in: add shapes/jigsaw/Makefile to list of generated files.
405         * shapes/jigsaw/: jigsaw shapes from Martin Hawlisch.
407         * shapes/network/: add network-additional shapes here.
409         * sheets/network.sheet: add the network-additional shapes from
410         Martin Hawlisch <Martin.Hawlisch@bflow.com> to the main network
411         sheet.
413 2000-09-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
415         * configure.in: Updated ALL_LINGUAS
417         * po/nl.po: Removed newline from translation
419 2000-09-17  Asbjorn Pettersen  <asbjornP@dualog.no>
421         * app/commands.c (help_about_callback): Use G_DIR_SEPARATOR_S in 
422         logo filename generation. 
424         * lib/dia_dirs.c (dia_get_data_directory): Handle empty subdir better.
425         Avoiding "//dia_logo.png".
427 2000-09-16  Asbjorn Pettersen  <asbjornP@dualog.no>
429         * app/filedlg.c: add include <sys/types.h> to
430         remove warning. (OS/2)
432 2000-09-13  Cyrille Chepelov <chepelov@calixo.net>
434         * objects/chronogram/chronoline_event.c (reparse_clevent):
435         the __checksum routine was simply bogus. Redone it in a slightly
436         saner way (reported by Michael Farr <mfarr@cs.latrobe.edu.au>).
438 2000-09-10  Asbjorn Pettersen  <asbjornP@dualog.no>
440         * app/create_object.c (create_object_button_press): 
441         * app/modify_tool.c (click_select_object): 
442         * lib/object.h: select renamed to selectf to prevent
443         compiler problems with function select().  OS/2 version.
445 2000-09-08  Karsten Weiss  <knweiss@gmx.de>
447         * po/de.po: Updated.
449 2000-09-07  Karsten Weiss  <knweiss@gmx.de>
451         * dia.desktop: Added German translation
452         * app/menus.c: "Diagram Propeties..." -> "Diagram Properties..."
454 2000-08-29  Manuel de Vega Barreiro <barreiro@arrakis.es>
456         * configure.in (ALL_LINGUAS): added "es"
458 2000-08-28  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
460         * app/magnify.c:
461         * app/cursor.h:
462         * app/cursor.c:
463         * app/scroll_tool.c:
464         Standardized cursor function get_cursor().  Magnify now has
465         looking-glass cursor with + and -.
467         * app/create_object.c (create_object_button_press): 
468         Newly created connections now snap to connection points even when
469         off the grid. 
471 2000-08-17  Daniel Egger  <egger@suse.de>
473         * app/menus.c: #ifdef'ed some code for the none GNOME
474         case.
475         * app/dia_embedd.c: Changed obvious hackery. Can anyone
476         please have a look at the GNOME UI menu creation? The
477         gnome-app-helper code is ages old and plainly broken!
479 2000-08-15  Daniel Egger  <egger@suse.de>
481         * app/commands.c:
482         * app/commands.h:
483         * app/diagram.c:
484         * app/display.c:
485         * app/menus.c:
486         * app/select.c: First big patch to get the menus
487         working again in the international version. Copied
488         some code written by Sven and me from GIMP and
489         thus implemented automatic tearoffmenu creation and
490         proper translation. I also removed that pseudo
491         radiomenu hack and cleaned up several translation
492         hacks which have never really worked. All in all
493         this is part I of the big menu patch. Enjoy and tell
494         me if you detect any problems.
496 2000-08-14  Daniel Egger  <egger@suse.de>
498         * sheets/UML.sheet: Changed one German translation as
499         suggested by Heribert Schuetz <hs@heribert-schuetz.de>.
501 2000-08-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
503         * app/diapagelayout.c:
504         * lib/diagramdata.c:
505         * lib/diagramdata.h:
506         * lib/Makefile.am:
507         * lib/paper.c:
508         * lib/paper.h: honour PAPERCONF env variable and /etc/papersize when
509         selecting paper size for a new diagram. TODO: Use libpaper if 
510         available and use gnome_paper-stuff if using GNOME.
512         * sheets/Electric.sheet: fixed typo.
513         
514 2000-08-08  James Henstridge  <james@daa.com.au>
516         * po/README: added a readme file to tell translators to translate
517         the .sheet files as well.
519         * app/commands.c (help_about_callback): fix small bug where we tried
520         to gdk_bitmap_unref() the mask for the about box image, even though
521         it was NULL.  Now check for a NULL mask.
523 2000-08-07  Daniel Egger  <egger@suse.de>
525         * sheets/*.sheet: Added translations for the name
526         in the toolbar tab. Brushed up some descriptions 
527         and some translations a bit.
529 2000-08-06  James Henstridge  <james@daa.com.au>
531         * plug-ins/svg/render_svg.c (new_svg_renderer): update public
532         identifier and dtd url for SVG output.
533         (new_svg_renderer): fix the output of the viewBox output.  The
534         second two numbers are the width and height -- not the right
535         and bottom sides of the box.
537         * shapes/*/*.shape: update svg namespace URI.
539         * objects/custom/shape_info.c (load_shape_info): change the
540         namespace URI for custom shapes yet again to match the Candidate
541         Recommedation.  It looks like this one will probably be the final
542         one.
544         * app/display.c (new_display): remove the code that sets ic and
545         ic_attr members to NULL, as one of the previous function calls
546         causes the display to be realised.  This means that the ic gets
547         lost.  Thanks to Yukihiro Nakai <ynakai@redhat.com> for finding
548         this one.
550 2000-08-06  James Henstridge  <james@daa.com.au>
552         * shapes/Makefile.am (SUBDIRS): add Civil back to list.
554         * NEWS: fixed date in NEWS file, as I will release today.
556         * README: updated the README a little.  Added note that Dia is now
557         a GNU program.
559         * dia.spec: fix up spec file.
561         * plug-ins/wpg/wpg.c: changed DIAG_NOTE stuff here as well.
563         * plug-ins/hpgl/hpgl.c: change Hans's DIAG_NOTE stuff so that we don't
564         get heaps of warnings when you turn off debugging.
565         Also made a few other warning fixes.
567 2000-08-02  James Henstridge  <james@daa.com.au>
569         * plug-ins/svg/Makefile.am (INCLUDES): add XML_CFLAGS to INCLUDES.
571         * configure.in: update version number.
573 2000-08-01  James Henstridge  <james@daa.com.au>
575         * app/commands.c (help_about_callback): add Hans to about dialog.
577         * doc/shape.dtd: dtd for shape file format.
579         * doc/custom-shapes: update doc file about creating custom shapes.
581         * shapes/*/*.shape: change namespace URI for the SVG portion to the
582         one for the latest draft.
584         * shapes/*/*.shape: fix up rect definitions.
586         * objects/custom/shape_info.c (load_shape_info): recognise newer
587         namespace tag for SVG.
588         (parse_svg_node): the rect element should take attributes x, y, width
589         and height -- not x1,y1,x2,y2.
591         * plug-ins/svg/render_svg.c (new_svg_renderer): updated doctype
592         output to use the newest draft DTD.
594         * plug-ins/svg/svg.c: initialisation code for plugin.
596         * plug-ins/svg/render_svg.c: move svg export code to a plugin.
598         * plug-ins/svg/Makefile.am: makefile for svg plugin.
600         * app/app_procs.c (internal_plugin_init): don't register the svg
601         export filter here.
603         * app/Makefile.am (dia_core_files): don't compile in render_svg.[ch]
605 2000-07-31  James Henstridge  <james@daa.com.au>
607         * objects/standard/textobj.c (textobj_get_defaults): 
608         * objects/standard/polygon.c (polygon_get_defaults): 
609         * objects/standard/image.c (image_get_defaults): 
610         * objects/standard/ellipse.c (ellipse_get_defaults): 
611         * objects/standard/box.c (box_get_defaults): 
612         * objects/standard/beziergon.c (beziergon_get_defaults): 
613         * objects/flowchart/parallelogram.c (pgram_get_defaults): 
614         * objects/flowchart/ellipse.c (ellipse_get_defaults): 
615         * objects/flowchart/diamond.c (diamond_get_defaults): 
616         * objects/flowchart/box.c (box_get_defaults): 
617         * objects/custom/custom_object.c (custom_get_defaults): 
618         * objects/FS/flow.c (flow_get_defaults): 
619         * objects/FS/flow-poly.c (flow_get_defaults): 
620         * objects/FS/flow-ortho.c (orthflow_get_defaults): ref and sink the
621         defaults widget.
623         * app/defaults.c (defaults_show): don't keep on ref'ing the defaults
624         widgets for various object types.
625         (create_dialog): ref and sink the no_defaults_dialog.
627         * app/preferences.c (prefs_create_dialog): change
628         gtk_container_border_width call to gtk_container_set_border_width.
630 2000-07-29  James Henstridge  <james@daa.com.au>
632         * app/commands.c (view_aa_callback): show a warning dialog if
633         you start AA mode.
635         * app/interface.c (fill_sheet_menu): don't add a menu item for
636         empty sheets.
638 2000-07-26  James Henstridge  <james@daa.com.au>
640         * plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677
642         * app/menus.c: remove edit grid menu item.
644         * app/commands.[ch] (view_edit_grid_callback): removed.
646         * app/display.c (new_display): don't initialise removed Grid members.
648         * app/grid.c: remove unused functions.
650         * app/grid.h: remove dialog related stuff from Grid structure.
651         Remove prototypes for dialog functions.
653         * app/menus.c: add to menus
654         
655         * app/commands.[ch] (view_diagram_properties_callback): new command
656         for showing the diagram properties dialog.
658         * app/dia-props.[ch]: a new diagram properties dialog.  To replace
659         the edit grid dialog.
661 2000-07-25  James Henstridge  <james@daa.com.au>
663         * app/grid.c (grid_x_update): 
664         (grid_y_update): as the grid setting is stored with the diagram,
665         update all displays when a change is made.
667         * app/modify_tool.c (modify_motion): use new snap_to_grid sig.
669         * app/create_object.c (create_object_button_press): 
670         (create_object_motion): use new snap_to_grid signature.
672         * app/grid.c (grid_draw): use the grid settings in the DiagramData,
673         and handle invisible grid lines.
674         (snap_to_grid): use new grid settings.  Also changed signature to
675         take a DDisplay rather than Grid pointer.
676         (grid_show_dialog): get the defaults from the correct place.
678         * app/display.c (new_display): do not set ddisp->grid.width_[xy].
680         * app/diagram.c (new_diagram): set the grid size defaults from the
681         user preferences.
683         * app/load_save.c (diagram_data_save): save grid and guide info to
684         diagram file.
685         (diagram_data_load): add guide and grid load support.
687         * lib/diagramdata.c (new_diagram_data): set the new DiagramData
688         members.
690         * lib/diagramdata.h: add members to DiagramData for grid and guide
691         settings.
693         * configure.in (BONOBO_LIBS): update configure scripts
695         * app/dia.oafinfo: oafinfo file for dia embeddables.
697         * app/dia_embedd.c: add OAF support.
699 2000-07-24  James Henstridge  <james@daa.com.au>
701         * plug-ins/wpg/Makefile.am: 
702         * plug-ins/pstricks/Makefile.am: 
703         * plug-ins/hpgl/Makefile.am: 
704         * plug-ins/dxf/Makefile.am: same here.
706         * plug-ins/cgm/Makefile.am: remove LIBADD.  Dia already links with
707         the required libraries, and the link line was causing libtool not
708         to build a shared library on some systems :(
710         * plug-ins/cgm/cgm.c (write_real): the initial if statement should
711         be checking x, not n.
713 2000-07-23  James Henstridge  <james@daa.com.au>
715         * app/preferences.c (prefs_data): set the "reset tools after
716         create" preference to true by default.  That seems to be what most
717         people expect.
719         * app/interface.c (create_sheets): instead of a notebook, use an
720         option menu that updates the sheet tools.  The notebook tabs were
721         getting a bit unwieldly, so the option menu should fix that.  This
722         also reduces the number of widgets in the tools radio button
723         group, which should make the UI a little more responsive.
725 2000-07-19  Fatih Demir <kabalak@gmx.net>
726         
727         * configure.in: Added tr to ALL_LINGUAS.
728                 [ Yeah, we're now having a Turkish translation,
729                    too. ]
730         
731         * dia.desktop: Added the Turkish entries.
733 2000-07-02  Fredrik Hallenberg  <hallon@lysator.liu.se>
735         * doc/diagram.dtd: changed string-element so it conforms to the
736         output from dia.
738 2000-06-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
740         * configure.in: added chinese. 
741         Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL.
743         * app/app_procs.c:
744           app/load_save.c:
745           app/render_svg.c:
746           lib/dia_xml.c:
747           lib/plug-ins.c:
748           lib/sheet.c:
749           objects/custom/shape_info.c: 
750           shapes/Circuit/npn.shape:
751           shapes/Circuit/pnp.shape:
752           sheets/*.sheet: dia now works with libxml2.
753         Libxml2 is a bit more picky when parsing xml and reported errors on all 
754         sheet files because they use non ascii characters (added 
755         encoding="iso-8859-1"). Also "xml:lang=en@layman" is not proper xml so 
756         I commented out these.
758 2000-06-30  Christopher R. Gabriel  <cgabriel@linux.it>
760         * configure.in (ALL_LINGUAS): added Italian
762 2000-06-27  Sung-Hyun Nam  <namsh@lgic.co.kr>
764         * configure.in (ALL_LINGUAS): added Korean
766 2000-06-25  James Henstridge  <james@daa.com.au>
768         * objects/flowchart/parallelogram.c (pgram_create): use default font
769         and add properties interface support.
771         * objects/flowchart/ellipse.c (ellipse_create): use default font and
772         add properties interface support.
774         * objects/flowchart/diamond.c (diamond_create): use default font and
775         add properties interface code.
777         * objects/flowchart/box.c (box_create): use default font.
779         * objects/custom/custom_object.c (custom_create): use default font
780         here too.
782         * objects/standard/textobj.c (textobj_create): update to use default
783         font.
785         * lib/attributes.c: add implementations.
787         * lib/attributes.h (attributes_[gs]et_default_font): add function
788         prototypes for setting/getting a default font.
790 2000-06-24  James Henstridge  <james@daa.com.au>
792         * app/paginate_gnomeprint.h: updated prototype.
794         * app/paginate_gnomeprint.c (paginate_gnomeprint): update to use
795         diagram page settings.
797         * objects/standard/beziergon.c (beziergon_copy): same here.
799         * objects/standard/polygon.c (polygon_copy): copy the fill colour
800         as well.
802         * app/undo.h: 
803         * app/tool.h (tool_options_dialog_show): 
804         * app/scroll_tool.h (free_scroll_tool): 
805         * app/render_svg.h: 
806         * app/render_libart.h (renderer_libart_copy_to_window): 
807         * app/render_gdk.h (renderer_gdk_copy_to_window): 
808         * app/properties.h (properties_hide_if_shown): 
809         * app/preferences.h (prefs_load): 
810         * app/object_ops.h: 
811         * app/modify_tool.h (free_modify_tool): 
812         * app/magnify.h (free_magnify_tool): 
813         * app/linewidth_area.h (linewidth_area_create): 
814         * app/layer_dialog.h: 
815         * app/handle_ops.h (handle_is_clicked): 
816         * app/group.h: 
817         * app/grid.h (grid_destroy_dialog): 
818         * app/defaults.h (defaults_show): 
819         * app/cut_n_paste.h (cnp_exist_stored_objects): 
820         * app/create_object.h (free_create_object_tool): 
821         * app/connectionpoint_ops.h (diagram_unconnect_selected): 
822         * app/commands.h: 
823         * app/color_area.h (color_area_create): 
824         * app/app_procs.h (app_is_embedded): remove extern keyword from
825         function prototypes.
827         * lib/text.h: 
828         * lib/sheet.h (load_all_sheets): 
829         * lib/render_store.h: 
830         * lib/render_object.h (render_object_load): 
831         * lib/polyshape.h (polyshape_closest_segment): 
832         * lib/poly_conn.h (polyconn_closest_segment): 
833         * lib/orth_conn.h: 
834         * lib/object.h: 
835         * lib/objchange.h (new_object_state_change): 
836         * lib/neworth_conn.h (neworthconn_add_segment): 
837         * lib/message.h (message_error): 
838         * lib/lazyprops.h: 
839         * lib/geometry.h: 
840         * lib/font.h (font_descent): 
841         * lib/focus.h (remove_focus): 
842         * lib/element.h: 
843         * lib/diagramdata.h: 
844         * lib/dia_xml.h (data_add_composite): 
845         * lib/dia_image.h: 
846         * lib/connpoint_line.h: 
847         * lib/connection.h (connection_move_handle): 
848         * lib/color.h: 
849         * lib/attributes.h (attributes_set_default_line_style): 
850         * lib/arrows.h (arrow_draw): remove extern keyword from function
851         definitions.  It is not required for functions.
853         * plug-ins/dxf/Makefile.am (INCLUDES): 
854         * plug-ins/pstricks/Makefile.am (INCLUDES): 
855         * plug-ins/cgm/Makefile.am (INCLUDES): 
856         * objects/SADT/Makefile.am (INCLUDES): 
857         * objects/chronogram/Makefile.am (INCLUDES): 
858         * objects/GRAFCET/Makefile.am (INCLUDES): 
859         * objects/flowchart/Makefile.am (INCLUDES): 
860         * objects/sybase/Makefile.am (INCLUDES): 
861         * objects/FS/Makefile.am (INCLUDES): 
862         * objects/standard/Makefile.am (INCLUDES): 
863         * objects/network/Makefile.am (INCLUDES):
864         * objects/UML/Makefile.am (INCLUDES): same here.
866         * objects/ER/Makefile.am: changed inclusion of some macros to
867         variables.
869         * lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to
870         handle the plug in extension, rather than have all the #ifdef's in
871         the code.
873         * plug-ins/Makefile.am: add renderer.inc to dist.
875         * plug-ins/dxf/dxf-import.c: Updates from Steffen Macke.
877 2000-06-11  Asbjorn Pettersen  <asbjornP@dualog.no>
879         * lib/plug-ins.c: Handle OS/2 dll's too.
881 2000-06-07  James Henstridge  <james@daa.com.au>
883         * app/plugin-manager.c (get_plugin_manager): set some table
884         packing options to make it look a little nicer.
886         * plug-ins/hpgl/Makefile.am, plug-ins/wpg/Makefile.am: added
887         makefiles for these plug-ins.
889         * plug-ins/{hpgl,wmf,wpg}/*: removed dos style cariage returns.
891         * configure.in: added hpgl and wpg directories to build.  Added
892         note about whether gnome-print support was enabled, and noted that
893         it is not recommended.
895 2000-06-06  James Henstridge  <james@daa.com.au>
897         * plug-ins/{hpgl,wmf,wpg}/*: Hans Breuer's plug-ins.  They still need
898         a little work, but I am checking them in so I don't lose them.
900 2000-06-01  James Henstridge  <james@daa.com.au>
902         * objects/standard/arc.c: added extra properties.
904         * lib/beziershape.c (beziershape_closest_handle): fix a bug where I
905         was using the wrong index into the handles array.  This gets corner
906         type changing working correctly.
908         * lib/properties.[ch]: add support for BezPoint's and BezPoint arrays
909         to properties code (no editing or loading yet though).  Also added
910         support for point array manipulation through the offsets interfaces.
912         * lib/Makefile.am (INCLUDES): added include of gdk-pixbuf 
914         * app/interface.c (origin_button_press): changes so the origin
915         button doesn't grab the pointer when we pop up the menu.
917         * app/commands.c (help_about_callback): fix small memory leak in
918         about box code.
920         * app/menus.c (menus_init): fixed breakage I introduced in the non
921         gnome menus when I was doing the menu changes.  The tearoffs work
922         really nicely in plain gtk mode as well.
924         * objects/standard/beziergon.c (beziergon_create): changed the
925         returned handles to match the handle numbering changes.  Now
926         segment addition and removal works correctly with undo!
928         * lib/beziershape.c: various changes to the code.  Changed the
929         numbering of handles, and fixed the segment removal code.
931 2000-05-31  James Henstridge  <james@daa.com.au>
933         * objects/standard/beziergon.c: remove connection point handling.
934         There is still a bit of work to be done to get adding and removing
935         of segments working correctly.
937         * lib/beziershape.c: add connection point handling to beziershape.
938         I set it for two connection points per segment.
940 2000-05-30  James Henstridge  <james@daa.com.au>
942         * objects/standard/polygon.c: don't do connectionpoint handling.
944         * lib/polyshape.c: changed to handle connection points internally.
945         Also, don't worry about connections to handles on polyshape, as
946         all handles are non connectable.
948 2000-05-30 Ville Hautamaki <villeh@cs.joensuu.fi>
950         * configure.in: Added finnish
951         
952 2000-05-30  James Henstridge  <james@daa.com.au>
954         * sheets/*.sheet: translation updates to the .sheet files.
956         * po/fr.po: updated po file from Christophe Merlet.
958         * menus.h: removed prototypes for functions which have been removed.
960 2000-05-29  James Henstridge  <james@daa.com.au>
962         * app/layer_dialog.c (layer_dialog_set_diagram): set the selected
963         item in the option menu when changing selected diagram.
965         * app/dia_embedd.c (view_factory): fix up function to work with new
966         menus API.
968         * app/disp_callbacks.c (ddisplay_realize): remove call to
969         display_set_active from here.
970         (ddisplay_canvas_events): move call here.  This gets rid of all the
971         warnings, as the renderer has been fully set up correctly at this
972         point.
974         * app/menus.c (menus_init): add the tearoff item to the start of the
975         right click menu.
977         * app/app_procs.c (create_user_dirs): we don't need to create the
978         menus directory anymore.
980         * app/disp_callbacks.c (ddisplay_popup_menu): it should not be
981         necessary to update the menu state here, as it was done when the
982         active display was set.
984         * app/display.c (display_set_active): update the menu state when
985         changing active displays.
987         * app/interface.c (origin_button_press): set the display as active
988         when a click is made on the menu button.
990         * app/menus.c (menus_init): set up a quit function to save the accels
991         at exit.
992         Add tearoff items for the non GNOME menus, add accelerators for
993         several GNOME menus.
995         * app/disp_callbacks.c (ddisplay_popup_menu): get the menu with
996         menus_get_image_menu().
998         * app/menus.c (menus_get_item_from_path): use display_menus here
999         rather than ddisp->popup.
1001         * app/display.h: remove the popup member in the DDisplay structure.
1003         * app/interface.c: remove option of not using wrap box.
1004         (create_toolbox): change to always use menus_get_toolbox_menubar
1005         even when using gnome menus.
1006         (create_display_shell): use menus_get_image_menu to load accelerators
1007         only -- not the actual popup menu.
1009         * app/menus.c (menus_init): new function to create the menus.
1010         (menus_get_toolbox_menubar): use this function whether gnome is
1011         in use or not.  Changed to use menus_init.
1012         (menus_get_image_menu): same here.  Also, now this function always
1013         returns the same menu, rather than a new one each time.
1014         (menus_init): read a menurc file to load accelerators here.
1016 2000-05-28  James Henstridge  <james@daa.com.au>
1018         * app/display.c (ddisplay_really_destroy): unset active display if
1019         active display is destroyed.
1020         (ddisplay_active): simplify function to return active_display as set
1021         by display_set_active.  This allows using a pinned menu with any
1022         display -- not just the one it was popped up from.
1023         (display_set_active): notify the layer dialog of change of diagrams
1024         when active diagram changes.
1026         * app/disp_callbacks.c (ddisplay_canvas_events): set active display
1027         on button and key presses.
1028         (ddisplay_realize): set active display on realize.
1030         * app/display.c (display_set_active): simple implementation of this
1031         function.
1033         * app/display.h (display_set_active): add prototype for setting
1034         the active display.
1036         * app/interface.c (create_display_shell): don't give focus to the
1037         menu button.
1039         * app/menus.c: fix up menus for Beziergon.
1041         * app/interface.c (create_display_shell): make the widget in the
1042         top left corner a button that can be used to pop up the right click
1043         menu, like in gimp and sketch.
1045         * app/disp_callbacks.c (ddisplay_popup_menu): new function to popup
1046         the display menu.
1048         * objects/standard/beziergon.c (beziergon_set_corner_type_callback):
1049         add code to set corner types for beziergon.
1051         * lib/beziershape.c (beziershape_set_corner_type): fix up corner type
1052         setting code.
1053         (beziershape_move_handle): use the previous corner type for right
1054         controls.
1056         * app/interface.c (tool_data): add beziergon to toolbox.
1058         * objects/standard/standard.c (dia_plugin_init): initialise the new
1059         Beziergon object type.
1061         * objects/standard/beziergon.c: an object based on BezierShape.
1063         * lib/dummy_dep.h (dummy_dep): added to dummy_dep.
1065         * lib/beziershape.[ch]: new files implementing a bezier shape.
1067 2000-05-26  James Henstridge  <james@daa.com.au>
1069         * lib/text.c (text_key_event): handle multibyte inserts.
1070         (text_key_event): also add home and end keybindings.
1072         * app/interface.c (create_display_shell): connect handlers for
1073         focus_in_event, focus_out_event, realize and unrealize signals.
1075         * app/display.[ch] (new_display): initialise input context members.
1077         * app/disp_callbacks.[ch]: added XIM support here.
1079         * lib/font.c (suck_font): the black and white pixel values should be
1080         taken from a 1 bit colormap rather than the default colormap.
1082         Hans Breuer's Windows patches ...
1084         * lib/font.c: use Courier New for fixed width font on windows
1085         machines.
1087         * lib/dia_image.h: change to "struct _DiaImage".
1089         * lib/dia_image.c: change "struct DiaImage" to "struct _DiaImage"
1091         * app/disp_callbacks.c (ddisplay_canvas_events): allow ctrl+right
1092         mouse button for object menu.  This will make two button mouse owners
1093         happier.
1095 2000-05-25  James Henstridge  <james@daa.com.au>
1097         * app/filedlg.c (file_open_ok_callback): use diagram_load here.
1099         * app/app_procs.c (app_init): add extra NULL argument to call of
1100         diagram_load.
1102         * app/load_save.h: remove prototype.
1104         * app/load_save.c: remove diagram_data function here.
1106         * app/diagram.h: added prototype.
1108         * app/diagram.c (diagram_load): new function here, which uses import
1109         filters.
1111         * plug-ins/dxf/dxf.c: register the import filter as well.
1113         * plug-ins/dxf/dxf-import.c: added (unfinished) DXF import filter from
1114         Steffen Macke <macke@heini.fbbwu.fh-lueneburg.de>
1116         * objects/standard/line.c: add start_point and end_point properties
1117         to standard line object.
1119 2000-05-21  James Henstridge  <james@daa.com.au>
1121         * app/paginate_psprint.c: added missing include of locale.h.
1123         * objects/custom/custom_object.c (custom_draw): use fabs rather than
1124         abs for scaling factors.
1125         (custom_distance_from): same here.
1127         * dia.spec: make sure rpm doesn't bomb out when LINGUAS isn't set.
1129 2000-05-18  James Henstridge  <james@daa.com.au>
1131         * po/POTFILES.in: updated POTFILES.in.
1133         * dia.spec: incremented version number in spec file.
1135         * NEWS: added (lots of) news items for the 0.85 release.
1137         * app/preferences.c (prefs_save): set LC_NUMERIC to C while writing
1138         the config file.
1140         * configure.in: updated version number here.
1142         * app/Makefile.am (run_dia.sh): include plug-ins in the lib path.
1144 2000-05-17  James Henstridge  <james@daa.com.au>
1146         * app/app_procs.c (internal_plugin_init): register the native import
1147         filter.
1149         * app/load_save.c (diagram_data_load, diagram_load): split this
1150         function into two -- one that does all the work on the DiagramData
1151         structure, and the other that provides compatibility with the old
1152         function.
1153         (dia_import_filter): use diagram_data_load to define an import
1154         filter.
1156         * app/diagram.h (new_diagram): added const to prototype.
1158         * app/filedlg.c (file_open_callback): change to use new import filter
1159         code.
1161         * lib/filter.c: added import filter management functions.
1163         * lib/filter.h: added prototypes for import filter interface.
1165         * app/commands.c (help_about_callback): updated about dialog to
1166         contain a few more names.
1168 2000-05-16  James Henstridge  <james@daa.com.au>
1170         * configure.in (Configuration): added a status message to the end of
1171         the configure script to give the user some idea of what was
1172         configured.
1174         * plug-ins/dxf/Makefile.am: Makefile for new plugin.
1176         * plug-ins/dxf/dxf.c (dia_plugin_init): added file to initialise the
1177         plugin.
1179         * plug-ins/dxf/dxf-export.c: new file -- Steffen Macke's DXF export
1180         filter for dia.
1182         * configure.in (AM_PATH_LIBART): use the check function provided
1183         with libart rather than our own code.  It is more reliable, and
1184         it only requires that people who build out of CVS have libart.m4
1185         installed (not necessarily all of libart).
1186         (AM_PATH_GDK_PIXBUF): same here for gdk-pixbuf.
1188 2000-05-12  Andreas Hyden  <a.hyden@cyberpoint.se>
1190         * dia.desktop: Added Swedish translation.
1192 2000-05-09  James Henstridge  <james@daa.com.au>
1194         * lib/dia_xml.c: you can't free a const pointer, so remove const
1195         from variable definitions.
1197         Explicitely set LC_NUMERIC where needed, as sometimes it isn't
1198         initialised correctly.
1200         * app/render_svg.c (export_svg): set locale to C.
1202         * app/paginate_psprint.c (paginate_psprint): set locale to C.
1204         * app/render_eps.c (export_eps): set locale to C for EPS export.
1206         * lib/dia_xml.c (data_add_real): change to C locale for snprintf call.
1207         (data_add_point): same here.
1208         (data_add_rectangle): same here.
1209         (data_real): use g_strtod to convert strings to real numbers, so that
1210         locales are taken into account.
1211         (data_point): same here.
1212         (data_rectangle): same here.
1214         * AUTHORS: added Henk and Jacek to authors file.
1216         Daniel Egger's code cleanups.
1218         * app/select.c (select_invert_callback): remove unused variable.
1220         * app/plugin-manager.c (get_plugin_manager): fix typo.
1222         * app/load_save.c (read_connections, write_objects): 
1223         (write_connections): made some functions static.
1225         * app/interface.c (toolbox_delete, toolbox_destroy): made some
1226         functions static.
1228         * app/filedlg.c (file_export_callback): remove unused variable.
1230         * app/app_procs.c: various warning fixes.
1232         Integrating Jacek Pliszka's pstricks export filter.
1234         * plug-ins/pstricks/pstricks.c: code to initialise the plugin.
1236         * plug-ins/pstricks/render_pstricks.[ch]: Jacek Pliszka's pstricks
1237         renderer (with a few small modifications by me).
1239         * plug-ins/pstricks/Makefile.am: new makefile for pstricks plug-in.
1241         * plug-ins/Makefile.am (SUBDIRS): add pstricks subdirectory.
1243 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
1245         * configure.in:
1246         * sheets/Makefile.am:
1247         * shapes/Makefile.am:
1248         * shapes/Civil/Makefile.am:
1249         * sheets/civil.sheet:
1250         * shapes/Civil/*:
1251         Added civil/hydraulic/structural engineering objects from
1252         sdteffen <macke@heini.fbbwu.fh-lueneburg.de>.
1253         
1254 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
1256         * objects/FS/flow-poly.c:
1257         * objects/FS/flow.c:
1258         Fix division by zero in point_normalize().
1259         Patch by David Thompson <dcthomp@mail.utexas.edu>
1261 2000-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1263         * lib/arrows.c:
1264         * lib/bezier_conn.c:
1265         * lib/connpoint_line.c:
1266         Added checks for zero-length lines before calls to point_normalize.
1268 2000-04-24  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1270         * app/preferences.c (prefs_data): Changed
1271         reversed_dragging_intersects to not make the dialog ridiculously
1272         wide.
1273         
1274 2000-04-22  James Henstridge  <james@daa.com.au>
1276         Hans's win32 patches:
1278         * app/export_png.c: include message.h
1279         * app/interface.c: include dia_dirs.h
1280         * app/linewidth_area.c: check for rint
1281         * app/main.c: include interface.h
1282         * app/paginate_psprint.c: remove unused variable.
1283         * app/preferences.c: include message.h
1284         * app/render_svg.c: include stdlib.h
1285         * app/select.c: include object_ops.h
1286         * lib/dia_dirs.c: miscelaneous fixes for win32.
1287         * lib/dia_image.c: include string.h
1288         * lib/plug-ins.c: look for .dll files rather than .la files on win32.
1289         * lib/properties.c: include stdlib.h
1290         * lib/properties.h: define extra data for standard properties as
1291         static variables on win32 (to get around dynamic linker problems).
1292         * objects/standard/polygon.c: polygon_create_change missing return
1293         statement.
1295 2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>
1297         * configure.in (ALL_LINGUAS): added Catalan
1299 2000-04-18  James Henstridge  <james@daa.com.au>
1301         * objects/standard/bezier.c (bezierline_get_object_menu): add a
1302         separator to the object menu between the add/remove segment items
1303         and the corner type items.
1304         (bezierline_get_object_menu): add code to disable the menu item for
1305         the current corner type.  Really just a cosmetic change.
1307         * app/disp_callbacks.c (create_object_menu): handle DiaMenuItems with
1308         a NULL for the label or with no associated callback.
1310         * objects/standard/bezier.c (bezierline_menu_items): use the
1311         enumeration values rather than numeric values for the corner types.
1313         * lib/bezier_conn.[ch]: added a corner_types member to the BezierConn
1314         structure, and add code to handle it.  Also, don't save the corner
1315         types inline in the bez_points node.  The way it is conditionally
1316         including the element just feels like it will break.
1318         * lib/geometry.h (BezPoint): removed the corner_type stuff from
1319         BezPoint.  The corner type stuff is a user interface level idea rather
1320         than something required by the renderer, so should be taken care of
1321         at the object level.
1323 2000-04-17  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1325         * configure.in: Fixed some problems with the gdk-pixbuf/imlib
1326         checks.  Weren't able to reproduce original bug, tough.
1328 2000-04-16  Cyrille Chepelov  <chepelov@calixo.net>
1330         * sheets/Electric.sheet:
1331         * sheets/Contact.sheet:
1332         * sheets/Pneumatic.sheet:
1333         * sheets/Circuit.sheet: sprayed some <br/>'s around.
1334         (added a few French translations in the last file)
1335         
1336 2000-04-16  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1338         * lib/geometry.h: 
1339         * lib/bezier_conn.h: 
1340         * objects/standard/bezier.c: 
1341         * lib/bezier_conn.c: Support for cuspy, smooth and symmetric
1342         bezier points.  Only one minor problem known:  Menus are active
1343         for endpoints minor handles.
1344         11:28: Save and load now works, too.
1345         (bezierconn_closest_major_handle): 12:03: New function to get the
1346         non-control point handle associated with the nearest control
1347         point.  
1348         Also fixed the menu activation problem, and made remove_segment
1349         not remove the endpoint.
1351 2000-04-15  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1353         * configure.in: Added check for gdk-pixbuf being >= 0.7.0 since
1354         new API is in use.
1356 2000-04-15  Asbjorn Pettersen  <asbjornP@dualog.no>
1358         * lib/plug-ins.c: Added <sys/types.h> and moved <fcntl.h> below
1359         <sys/stat.h>.   OS/2 patch.
1361 2000-04-15  James Henstridge  <james@daa.com.au>
1363         * objects/FS/flow-ortho.c, objects/FS/function.c: Applied David
1364         Thompson's patch that adds undo support to the function structure
1365         diagram objects.
1367 2000-04-14  James Henstridge  <james@daa.com.au>
1369         * objects/custom/custom_object.c (custom_distance_from): new
1370         implementation of distance algorithm that actually takes the
1371         display list into account when calculating the distance.  Much nicer
1372         than a simple bounding box.
1374 2000-04-13  Lars Clausen  <lrclause@cs.uiuc.edu>>
1376         * lib/geometry.c (line_crosses_ray): Fixed division by zero bug
1378 2000-04-12  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1380         * objects/standard/polygon.c: Start of polygons own changes (for
1381         connectionpoints).  Need to do seperate changes in polyshape, too,
1382         rather than reuse the bezier changes.
1384 2000-04-13  James Henstridge  <james@daa.com.au>
1386         * lib/dia_image.c (dia_image_draw): use the new enumeration values
1387         from after the gdk-pixbuf cleanup.
1389         * lib/geometry.c (bez_point_distance_and_ray_crosses): fix up limit
1390         on for loop.  Last set of coefficients were not beeing calculated,
1391         which caused a bit of breakage.
1393         * lib/bezier_conn.c (bezierconn_closest_segment): use the new
1394         functions in geometry.c for calculating the closest segment.
1395         (bezierconn_distance_from): use distance_bez_line_point to calculate
1396         the distance.
1398         * lib/geometry.c (distance_bez_line_point): new function to calculate
1399         the distance from an open bezier line to a point.
1400         (distance_bez_shape_point): new function to calculate the distance
1401         from a closed bezier shape.
1402         (distance_ellipse_point): new function to calculate the distance from
1403         a filled ellipse to a point.
1405         * lib/geometry.h (BezPoint): moved this structure here from render.h
1407 2000-04-12  James Henstridge  <james@daa.com.au>
1409         * lib/geometry.c (distance_bez_seg_point): new function to calculate
1410         the distance from a bezier segment.
1412         * lib/polyshape.c (polyshape_distance_from): use distance_polygon_point
1413         to calculate the distance from the object.
1415         * lib/geometry.c (distance_polygon_point): function for calculating
1416         the distance from a polygon to a point.
1418 2000-04-12  Cyrille Chepelov  <chepelov@calixo.net>
1420         * app/interface.c:
1421         * lib/sheet.[ch]: added a <br/> tag in sheet files, so that line 
1422         breaks can be inserted in the tool box. 
1424         * doc/sheet.dtd: updated the DTD
1425         * sheets/GRAFCET.sheet: tried <br/> on that sheet (more to come).
1426         
1427 2000-04-12  James Henstridge  <james@daa.com.au>
1429         * app/plugin-manager.c (get_plugin_manager): use the GTK_DIALOG
1430         macro if the dialog is a GtkDialog :(
1432 2000-04-11  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1434         * objects/standard/polygon.c: Connectionpoints now properly
1435         managed in a GList.  As far as I can tell, this will not dieturb
1436         the order (but I have the nagging doubt...)
1438         * lib/polyshape.c: No longer knows about connectionpoints.
1440 2000-04-11  James Henstridge  <james@daa.com.au>
1442         * app/Makefile.am: fix makefile for bonobo build.
1444         * configure.in: fix checks for bonobo.
1446         * app/menus.c: added entries for the plugin manager.
1448         * app/Makefile.am (dia_core_files): added plugin manager to files
1449         list.
1451         * app/plugin-manager.[ch]: the plugin manager dialog.
1453         * app/display.c (display_update_menu_state): set the antialiased
1454         menu entry to the correct value.
1456 2000-04-11  Cyrille Chepelov  <chepelov@calixo.net>
1458         * objects/custom/custom_object.c: not all renderers like ellipses with
1459         negative dimensions. This could cause ellipses to disappear when using
1460         the flip_h and flip_v functions.
1462         * samples/grafcet.dia: fixed speling and correctness.
1463         
1464 2000-04-11  James Henstridge  <james@daa.com.au>
1466         * lib/plug-ins.[ch]: added more accessors for use by a plugins dialog.
1467         exposed the dia_plugin_load and dia_plugin_unload functions.
1469         * lib/plug-ins.c (plugin_load): change plugin_load to work on an
1470         already created PluginInfo structure.
1472         * app/app_procs.c (app_exit): call dia_pluginrc_write() to write
1473         the pluginrc file.
1475         * lib/sheet.c: fix up call to dia_config_filename.
1477         * lib/plug-ins.[ch]: started writing code for handling a pluginrc
1478         file.  This would save information such as which plugins not to
1479         load during startup.
1481 2000-04-09  James Henstridge  <james@daa.com.au>
1483         * lib/sheet.c: use dia_config_filename to resolve file in ~/.dia.
1485 2000-04-10  Alexander Larsson  <alla@lysator.liu.se>
1487         * lib/plug-ins.c (dia_register_plugins):
1488         Don't free the value returned from g_getenv.
1490 2000-04-09  Anders Carlsson  <andersca@gnu.org>
1492         * app/preferences.h: Add reverse_rubberbanding_intersects preference variable.
1494         * app/preferences.c (prefs_data): Add reverse_rubberbanding_intersects preference data.
1496         * app/modify_tool.c (modify_button_release): If rubberbanding is done from 
1497         right to left, select objects that intersect the rubberbanding rectangle
1498         instead of selecting objects that are in the rectangle.
1500         * lib/diagramdata.c (layer_find_objects_intersecting_rectangle): Add function.
1502         * lib/diagramdata.h: Likewise.
1505 2000-04-09  James Henstridge  <james@daa.com.au>
1507         * lib/plug-ins.[ch]: add copyright messages to files.
1509         * plug-ins/cgm/cgm.c (dia_plugin_init): convert plugin over to new
1510         plugin interface.
1512         * objects/sybase/sybase.c (dia_plugin_init): 
1513         * objects/network/network.c (dia_plugin_init): 
1514         * objects/flowchart/flowchart.c (dia_plugin_init): 
1515         * objects/custom/custom.c (dia_plugin_init): 
1516         * objects/chronogram/chronogram.c (dia_plugin_init): 
1517         * objects/UML/uml.c (dia_plugin_init): 
1518         * objects/SADT/sadt.c (dia_plugin_init): 
1519         * objects/GRAFCET/grafcet.c (dia_plugin_init): 
1520         * objects/FS/fs.c (dia_plugin_init): 
1521         * objects/ER/er.c (dia_plugin_init): updated plugin load code for
1522         object libraries.
1524         * objects/standard/standard.c (dia_plugin_init): change over to new
1525         plugin interface.
1527         * lib/plug-ins.h (DIA_PLUGIN_CHECK_INIT): added a macro to define
1528         the version checker for plugins.
1530         * app/app_procs.c: remove plugin loading code from here, and use
1531         code from plug-ins.[ch].  Also move registration of internal
1532         objects/filters to a `builtin' plugin.
1534         * lib/Makefile.am (libdia_a_SOURCES): added plug-ins.[ch] to library.
1536         * configure.in: use AC_PROG_LIBTOOL rather than AM_PROG_LIBTOOL.
1538         * app/Makefile.am (EXTRA_DIST): you can't include a conditionally
1539         defined variable in EXTRA_DIST.
1541         * app/preferences.h: removed dia_config_filename from header.
1543         * app/preferences.c: removed dia_config_filename function.
1545         * lib/dia_dirs.c (dia_config_filename): moved function over to this
1546         file.  Also changed implementation slightly so that it should work
1547         on the win32 port correctly (and use NT home directories).
1549         * lib/dia_dirs.h (dia_config_filename): move dia_config_filename where
1550         it should have been.
1552         * lib/plug-ins.[ch]: new plugin loading code.
1554 2000-04-08  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1556         * objects/standard/polygon.c: Fixed startup crash bug (do'h!).
1558         * lib/polyshape.c: Fix closest segment finding, exposes deeper
1559         bugs in adding corners to 'wraparound' segment.
1561         * objects/standard/polygon.c: Added connection points (fixed so
1562         far), set menu sensitivity.
1564         * lib/polyshape.c: Changed to box-style handles, fixed for start
1565         and ends not being special, added initial connections,
1567         * lib/dummy_dep.h: Added polyshape (gotcha!)
1569         * objects/standard/pixmaps/ellipse.xpm: 
1570         * objects/standard/pixmaps/box.xpm: 
1571         Filled element pixmaps with white.
1573         * lib/polyshape.c: 
1574         * objects/standard/polygon.c: 
1575         * lib/polyshape.h: 
1576         * objects/standard/standard.c: 
1577         * objects/standard/Makefile.am (libstandard_objects_la_SOURCES): 
1578         * lib/Makefile.am (libdia_a_SOURCES): 
1579         * app/menus.c: 
1580         * app/interface.c (tool_data): 
1581         Added Standard/Polygon object and PolyShape lib object.  Still
1582         needs inside grab and connection points.
1584         * app/commands.c (help_about_callback): Now uses gdk-pixbuf if
1585         available. 
1587         * configure.in: Made imlib a fallback if gdk-pixbuf is absent or
1588         not wanted.
1590         * app/app_procs.c (app_init): Moved gtk_init outside #ifdef, moved
1591         if (argv) outside ifdefs.
1593 2000-04-04  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1595         * objects/standard/image.c (image_set_props): 
1596         Aspect ratio is back in town.
1598         * app/Makefile.am (dia_LDADD): 
1599         * acconfig.h: 
1600         * configure.in: 
1601         Check for gdk_pixbuf (by default disabled, for now)
1603         * app/render_eps.c (draw_image): 
1604         * app/render_libart.c (draw_image): 
1605         * app/render_gnomeprint.c (draw_image): 
1606         Support for alpha mask in rendering.  Color postscript, too.
1608         * lib/dia_image.c: 
1609         * lib/dia_image.h: 
1610         Support for gdk_pixbuf and proper masking for exports.
1612 2000-04-01  Kjartan Maraas  <kmaraas@online.no>
1614         * sheets/*.sheets: Updated Norwegian translations.
1615         
1616 2000-03-30  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1618         * lib/text.c (text_insert_char): 
1619         * lib/render_store.c (add_data): 
1620         Made realloc double the alloced space rather than add
1621         a fixed amount, to reduce memory stress.
1623         * app/select.c: Added new select method 'Transitive'
1624         that select every reachable (by connections) object.
1626 2000-03-27  Kjartan Maraas  <kmaraas@online.no>
1628         * dia.desktop: Added Norwegian translation.
1629         
1630 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
1632         * app/render_eps.c:
1633         * app/render_svg.c:
1634         Don't dereference NULL pointer if the renderer
1635         couldn't open the file. Fix by Lars Clausen.
1636         Bug reported by Martin Chisholm <b1mt@unb.ca>
1637         
1638 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
1640         * dia.desktop:
1641         * po/pt.po:
1642         Updated pt translation from Pedro Morais <pmmm@rnl.ist.utl.pt>
1644 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
1646         * app/dia.gnorba (location_info):
1647         Changed to correct executable name.
1649 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
1651         * app/app_procs.c:
1652         Don't do any argument parsing or initialization
1653         if argv==NULL.
1655         * app/dia_embedd.c:
1656         Call init_server_factroy before app_init.
1657         Call app_init with argv==NULL
1658         Now we don't get any critical error on startup.
1660         * configure.in:
1661         Add Electric and Pneumatic to makefile list.
1662         
1663 2000-03-24  Cyrille Chepelov <chepelov@calixo.net>
1665         * shapes/Electric/*:
1666         * sheets/Electric.sheet:
1667         Add some Electric circuit shapes.
1669         * shapes/Pneumatic/*:
1670         * sheets/Pneumatic.sheet:
1671         Add some Pneumatic & Hydraulic circuit shapes
1672         (both sheets are still incomplete, though feature enough 
1673         things for basic circuits).
1675         * shapes/Contact/l_*.(xpm|shape):
1676         * sheets/Contact.sheet
1677         * shapes/Contact/Makefile.am
1678         made the older electric circuit shapes in Contact obsolete (disabled
1679         them in the sheet, made that sheet Ladder only). Fixed the makefile
1680         for forgotten items.
1681         
1682 2000-03-24  Alexander Larsson  <alla@lysator.liu.se>
1684         * app/Makefile.am:
1685         Add support for Dia bonobo component.
1686         Currently a bit raw, so it's commented out.
1687         
1688         * app/dia_embedd.c:
1689         * app/dia.gnorba:
1690         New files for embedding dia.
1691         The menu disabling hack is a bit gross. Esp. for GNOME.
1693         * app/app_procs.h:
1694         Add new function app_is_embedded();
1696         * app/diagram.c:
1697         Don't destroy diagram when last display is destroyed if embedded.
1698         
1699         * app/display.c:
1700         Change initialization of display so it works with embedding.
1702         * app/display.h:
1703         Clarify comment about display destruction.
1705         * app/interface.[ch]:
1706         Added top_level_window argument to create_display_shell.
1707         Don't open a top-level window if embedding.
1708         Don't quit app if trying to close toolbox window when embedding.
1709         Add toolbox_show() and toolbox_hide().
1711         * app/main.c:
1712         Added app_is_embedded() function (just returns false).
1713         Added toolbox_show() call in main().
1715         * app/menus.c:
1716         Added code for getting toolbox menus. This is used to
1717         hide some menu items when running embedded.
1718         
1719         * app/app_procs.c:
1720         Include sheet.h to remove warning.
1722         * objects/UML/association.c:
1723         Clarify association direction text.
1724         
1725 2000-03-16  Fredrik Hallenberg  <hallon@lysator.liu.se>
1727         * dia.1
1728         Fixed man page so whatis parsing works.
1730 2000-03-12  Alexander Larsson  <alla@lysator.liu.se>
1732         * app/render_libart.c (new_libart_renderer):
1733         Fix from segg <segg@infonet.ca> to compile without libart.
1734         I forgot to change the stub for new_libart_renderer when doing
1735         the interactive renderer stuff for libart.
1737 2000-03-11  Alastair McKinstry  <mckinstry@computer.org>
1739         * dia.desktop: Added Irish translation.
1740         
1741         * configure.in (ALL_LINGUAS): Added Irish (ga) translation.
1743 2000-03-07  Asbjorn Pettersen  <asbjornP@dualog.no>
1745         * app/load_save.c (fchmod): OS/2 defines only.
1747 2000-03-07  James Henstridge  <james@daa.com.au>
1749         * lib/properties.c (prop_get_widget): set the position in the option
1750         menu correctly.
1752 2000-03-06  Alexander Larsson  <alla@lysator.liu.se>
1754         * app/display.c:
1755         * app/export_png.c:
1756         * app/render_libart.[ch]:
1757         Don't export png:s with an interactive libart renderer.
1759 2000-03-03  Asbjorn Pettersen  <asbjornP@dualog.no>
1761         * lib/arrows.c (finite): define finite(d) isfinite(d)  for OS/2
1763 2000-03-02  James Henstridge  <james@daa.com.au>
1765         * dia.spec (%build): unset LINGUAS before running configure.  This
1766         ensures that all translations get included in the RPM.
1768         * lib/properties.c (object_create_props_dialog): put in a check for
1769         a NULL return from the describe_props() object method.
1770         (prop_desc_lists_union): make sure that the returned array is not
1771         NULL.
1772         (prop_desc_lists_intersection): same here.
1774 2000-02-29  Alexander Larsson  <alla@lysator.liu.se>
1776         * objects/ER/Makefile.am:
1777         * objects/FS/Makefile.am:
1778         * objects/UML/Makefile.am:
1779         Don't link object libs with gtk.
1781 2000-02-29  James Henstridge  <james@daa.com.au>
1783         * app/preferences.c (prefs_save): check to see if the file could
1784         be opened before writing the prefs.
1786         * app/disp_callbacks.c (popup_object_menu): pass the button event
1787         to gtk_menu_popup.  This allows you to click and release to open
1788         the object menu.
1789         (ddisplay_canvas_events): same here.
1790         (create_object_menu): set the object type menu item in the object
1791         menu to be insensitive.
1793         * app/render_svg.c (draw_string): call xmlEncodeEntitiesReentrant,
1794         as we are now requiring a new version of libxml.
1796         * dia.spec: updated version number.  Added requirement for
1797         libxml >= 1.8.5
1799         * configure.in: incremented version number to 0.84.
1800         Added check for libxml >= 1.8.5.  This will prevent some of the
1801         problems people have had with broken libxml versions.
1803         * NEWS: added news items.
1805         * app/interface.c (create_color_area): removed call to realize parent
1806         widget.  Segg <segg@infonet.ca> reported that it caused a warning,
1807         but I haven't seen it on my copy of dia.
1809 2000-02-28  James Henstridge  <james@daa.com.au>
1811         * app/export_png.c: added copyright notice, and made the band height
1812         a constant.
1814 2000-02-27  Alexander Larsson  <alla@lysator.liu.se>
1816         * lib/font.c (suck_font):
1817         Fixed off-by one bug in font pixmap height.
1818         Fixes the problem with garbage at the bottom of some text in aa mode
1819         and in png exported files.
1821 2000-02-27  James Henstridge  <james@daa.com.au>
1823         * app/app_procs.c: add the png export filter if it was compiled in.
1825         * app/export_png.c (export_png): new PNG export filter.  This requires
1826         the libart renderer to work as it needs a renderer that renders to a
1827         pixel buffer.
1829         * configure.in: add check for libpng.
1831         * lib/message.c (message_internal): use a GNOME dialog here as well.
1833         * app/display.c (ddisplay_close): use a GNOME dialog here.
1835         * app/render_eps.c (create_eps_renderer): use diagram scaling factor
1836         when exporting to EPS.  This is because some people said the EPS
1837         output was too large
1839 2000-02-26  James Henstridge  <james@daa.com.au>
1841         * app/defaults.c (create_dialog): use a GNOME dialog for the defaults
1842         window.
1844         * app/app_procs.c (app_exit): use a GNOME dialog here.
1846         * app/preferences.c (prefs_create_dialog): if GNOME support is
1847         enabled, show a GNOME dialog.
1849         * app/grid.c (grid_draw): use preferences when drawing page break
1850         lines.
1852         * app/preferences.c: add page break preferences to dialog.
1854         * app/preferences.h: added page break preferences.
1856 2000-02-25  James Henstridge  <james@daa.com.au>
1858         * sheets/UML.sheet: added new objects.
1860         * objects/UML/uml.c: link in the two new objects.
1862         * objects/UML/node.c: 
1863         * objects/UML/branch.c: new UML objects from Stfan Seefeld
1864         <seefelds@magellan.umontreal.ca>.
1866 2000-02-24  James Henstridge  <james@daa.com.au>
1868         * objects/custom/custom_object.c: converted to use the properties
1869         interface.  In the future, it would be nice to add support for
1870         defining custom properties for custom objects, but that can wait.
1872 2000-02-22  James Henstridge  <james@daa.com.au>
1874         * sheets/Circuit.sheet: added new circuit shapes to sheet.
1876         * plug-ins/cgm/cgm.c: cgm plugin updates from Henk Jan Priester
1877         <hj@justcroft.com>.  Fixes number encoding, colour encoding, fonts
1878         and adds a few new features.
1880 2000-02-21  Daniel Egger  <egger@suse.de>
1882         * sheets/*.sheets: Added German translations and made some
1883         corrections to the others.
1884         
1885 2000-02-21  James Henstridge  <james@daa.com.au>
1887         * shapes/Circuit/Makefile.am (SHAPES): added new shapes to list.
1889         * shapes/Circuit/...: added new shapes from Erik Janssens.
1891 2000-02-20  James Henstridge  <james@daa.com.au>
1893         * app/interface.c (create_color_area): realize the parent window
1894         first.
1896         * objects/standard/image.c: properties patch for standard image
1897         object, from Lars Clausen.
1899         * lib/properties.c: support for PROP_TYPE_FILE from Lars Clausen.
1901         * lib/properties.h (PropType): added file property type.
1903         * shapes/Circuit/speaker_de.xpm: changed size of pixmap to match
1904         other shapes.
1906         * app/interface.c: use wrap box for toolbox.
1908         * app/Makefile.am: added new files.
1910         * app/gtk*wrapbox.[ch]: added wrap box widget.
1912 2000-02-19  James Henstridge  <james@daa.com.au>
1914         * sheets/network.sheet: added extra shapes to networks sheet.
1916         * configure.in (AC_OUTPUT): added shapes/network/Makefile
1918         * shapes/network/*: added shapes that were posted to the list a while
1919         back.
1920         
1921         * shapes/Makefile.am (SUBDIRS): added network subdirectory
1923         * app/menus.c (toolbox_menu_items): don't right justify help menu for
1924         gtk+ version of menus.
1926         * app/properties.c (create_dialog): use a GnomeDialog if we happen
1927         to be using gnome.
1929 2000-02-18  James Henstridge  <james@daa.com.au>
1931         * objects/flowchart/box.c: set extra data for corner radius and text
1932         padding properties.
1934         * objects/standard/box.c: set extra data for corner radius property.
1936         * lib/properties.h: set extra data in some standard properties.
1938         * lib/properties.c (prop_get_widget): look at the extra data for
1939         int, real and enum property types.  They now use GtkSpinButton and
1940         GtkOptionMenu respectively.
1942         * lib/properties.h: extra data members for creating property setting
1943         widgets.
1945 2000-02-17  James Henstridge  <james@daa.com.au>
1947         * objects/flowchart/box.c: reverted load/save functions back to
1948         previous implementations.  Made box use standard property names.
1950         * plug-ins/cgm/cgm.c (set_linestyle): was missing a */
1952         * app/grid.c: add more digits to the grid edit dialog.  This patch
1953         was also from Lars Clausen.
1955         * objects/standard/zigzagline.c: 
1956         * objects/standard/textobj.c:
1957         * objects/standard/polyline.c:
1958         * objects/standard/line.c:
1959         * objects/standard/ellipse.c:
1960         * objects/standard/box.c: 
1961         * objects/standard/bezier.c: 
1962         * objects/standard/arc.c: patches to add properties code to standard
1963         objects.  Based on patches from Lars Clausen.  I have also removed
1964         some dead code from the files.
1966         * lib/properties.h (PROP_STD_*): define a number of standard
1967         properties.  Where appropriate, objects should include these
1968         properties in their PropDescription list.  This way, the intersection
1969         of properties of two different shapes will be greater.
1971 2000-02-14  James Henstridge  <james@daa.com.au>
1973         * objects/flowchart/box.c (box_load, box_save): use property save
1974         routines.  Make sure that any props not handled by object_load_props
1975         are loaded before calling object_load_props, or we get errors because
1976         update_data is called.
1978         * lib/properties.c (object_get_props_from_offsets): fixed an indexing
1979         error that could cause properties to be loaded incorrectly.
1980         (object_set_props_from_offsets): similar here.
1982         * lib/properties.[ch] (prop_{load,save}): functions for loading
1983         or saving a property in Dia's XML file format.
1984         (object_{load,save}_props): load or save some properties of an
1985         object.  These functions should help simplify the load/save methods
1986         of objects that implement the properties interface.
1988 2000-02-13  James Henstridge  <james@daa.com.au>
1990         * objects/flowchart/box.c: use offset code to simplify property
1991         get/set routines.
1993         * lib/element.h (ELEMENT_COMMON_PROPERTIES): standard element
1994         properties.
1995         (ELEMENT_COMMON_PROPERTIES_OFFSETS): offsets.
1997         * lib/object.h (OBJECT_COMMON_PROPERTIES): list of standard object
1998         properties.
1999         (OBJECT_COMMON_PROPERTIES_OFFSETS): the offsets of the properties.
2001         * lib/properties.[ch] (object_{get,set}_props_from_offsets): new
2002         functions 
2004 2000-02-12  Alexander Larsson  <alla@lysator.liu.se>
2006         * app/Makefile.am:
2007         Add the custom object to DIA_LIB_PATH in run_dia.sh
2009 2000-02-10  Cyrille Chepelov  <chepelov@calixo.net>
2011         * sheets/Circuit.sheet:
2012         * shapes/l_sout* (NEW):
2013         * shapes/l_outj.* (NEW): added new outputs : jump, and the power-saved
2014         variants of simple, inverted, set and reset outputs.
2015         Still to do: all Schneider/Telemecanique TSX *7 function blocks ; 
2016         probably a split of Contact and Ladder sheets. And then a major 
2017         revamping of the Contact sheet.
2019 2000-02-10  James Henstridge  <james@daa.com.au>
2021         * app/Makefile.am (dia_LDADD): don't link with libcustom_objects.
2023         * app/app_procs.c (register_all_objects): don't explicitely
2024         register the custom objects library -- let it be loaded by the
2025         normal plugin loading methods.
2027         * lib/Makefile.am (libdia_a_SOURCES): don't include custom.h here.
2029         * objects/custom/Makefile.am: build libcustom_objects as a shared
2030         library again.
2032         * objects/custom/shape_info.[ch]: don't read the description field
2033         of custom shapes.  It makes more sense to have these in the sheet
2034         file to localise the parts of dia that translators have to deal
2035         with.
2037         * objects/custom/custom_object.c (custom_object_new): do not
2038         create the sheet object for the new custom shape -- this is
2039         handled by the custom sheet code.
2041         * objects/custom/custom.c: change over to being a normal plug-in
2042         rather than being linked with the main dia executable.
2044 2000-02-09  James Henstridge  <james@daa.com.au>
2046         * sheets/Circuit.sheet: 
2047         * sheets/Flowchart.sheet: 
2048         * sheets/Contact.sheet: fixed up sheets.
2050         * objects/custom/custom_object.c (custom_object_new): set the
2051         extra ObjectType fields.
2053         * lib/sheet.c: use extra ObjectType fields when creating sheet
2054         objects.  Give a warning if <shape> tags are found in a sheet
2055         file.  Now the custom sheet code does not know about custom
2056         shapes -- they look like any other object type.
2058         * lib/object.h (ObjectType): added extra members
2060 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
2062         * app/linewidth_area.c:
2063         Added code to set arbitrary line width.
2064         Patch by Lars Clausen <lrclause@cs.uiuc.edu>
2066 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
2068         * app/linewidth_area.c: 
2069         * lib/font.[ch]:
2070         Add support for font-sucking.
2071         Implementation borrowed from gnome-canvas.
2072         
2073         * app/render_libart.[ch]:
2074         Implement text rendering.
2076 2000-02-07  Alexander Larsson  <alla@lysator.liu.se>
2078         * app/properties.c (create_dialog):
2079         ref and sink no_properties_dialog.
2081 2000-02-07  James Henstridge  <james@daa.com.au>
2083         * app/group.c (group_describe_props): new function.  Return the
2084         intersection of the properties of the contained objects that
2085         implement the describe_props interface.
2086         (group_get_props): implement by iterating through contained objects
2087         and calling their get_props method until all properties have been
2088         set.  Maybe this should go through all objects all the time??
2089         (group_set_props): implement by calling set_props method on all
2090         contained objects.
2091         (group_ops): use standard props dialog creation routines.
2093         * lib/properties.c (prop_desc_lists_intersection): fix implementation
2094         of intersection -- I was using i++ instead of i-- in a for loop :(
2096         * objects/custom/custom.c (custom_register_objects): fix usage
2097         of dia_get_data_directory again.
2099         * lib/sheet.c: fix up use of dia_get_data_directory, so that we
2100         actually read the sheets.
2102 2000-02-06  Alexander Larsson  <alla@lysator.liu.se>
2104         Win32 port by Hans Breuer <Hans@Breuer.org>
2106         * app/Makefile.am:
2107         Remove DATADIR and LIBDIR defines.
2109         * lib/Makefile.am:
2110         Add dia_dirs.c and dia_dirs.h
2111         Added DATADIR and LIBDIR defines.
2113         * lib/dia_dirs.[ch]:
2114         New files for handling special directories.
2116         * app/app_procs.c:
2117         * app/commands.c:
2118         * lib/sheet.c:
2119         * objects/custom/custom.c:
2120         Fix warnings.  Use directory functions.
2122         * app/diagram.h:
2123         Add prototype for diagram_redraw_all.
2125         * app/diaunitspinner.c:
2126         * app/filedlg.c:
2127         * app/interface.c:
2128         * app/preferences.c:
2129         Fix warning.
2131         * app/load_save.c:
2132         Win32 doesn't have mkstemp and fchmod.
2134         * app/paginate_psprint.c:
2135         Win32 calls popen _popen and pclose _pclose.
2136         
2137         * app/arrow.c:
2138         Win32 calls finite _finite.
2140         * lib/color.h:
2141         Win32 needs to dllexport the color vars.
2143         * objects/GRAFCET/step.c:
2144         * objects/chronogram/chronoref.c:
2145         snprintf -> g_snprintf
2147 2000-02-05  James Henstridge  <james@daa.com.au>
2149         * lib/properties.c: more fixes so that it doesn't crash when using
2150         properties.  The undo/redo stuff also works!!
2152         * objects/flowchart/box.c (box_{describe, get, set}_props): test
2153         object where I have implemented the new properties interface
2154         complete with automatic properties dialog generation.
2156         * lib/properties.c (object_apply_props): fixed stupid error when
2157         creating the old_props array.  Also, it no longer frees the props
2158         array -- you will have to do that yourself.
2160 2000-02-04  James Henstridge  <james@daa.com.au>
2162         * app/properties.c (properties_apply): pass object_part to
2163         apply_properties.
2165         * lib/object.h (ApplyPropertiesFunc): added widget argument.
2167         * lib/lazyprops.h (PROPDLG_CREATE): ref and sink properties dialogs
2168         created this way as well.
2170         * objects/*/*.c: ref and sink the properties dialog window for each
2171         widget.  It can't rely on ref count being incremented by
2172         properties_show anymore.
2174         * app/properties.c (properties_show): don't ref the widget before
2175         removing it, or its ref count will increase each time you open the
2176         properties dialog.  Don't unparent the widget, as container_remove
2177         does that for us.
2179         * lib/object.h: fixed up prototypes for new object methods.
2181         * lib/properties.[ch]: added functions for automatically creating
2182         a properties dialog from the output of describe_props, get_props and
2183         set_props.
2184         (object_apply_props): apply properties and return an ObjectChange
2185         structure that can be used for undo.
2187 2000-02-03  Cyrille Chepelov  <chepelov@calixo.net>
2189         * objects/GRAFCET/transition.c: minor leak plugged.
2191         * sheets/GRAFCET.sheet:
2192         * objects/GRAFCET/pixmaps/condition.xpm: (NEW)
2193         * objects/GRAFCET/condition.c: (NEW) added a new object type, action 
2194         conditions.
2195         * objects/GRAFCET/Makefile.am: fixed incorrect dependencies, added
2196         new ones (for condition.c).
2197         * objects/GRAFCET/action.c: added connection points for the conditions.
2198         * samples/grafcet.dia: updated the sample to improve conformance to
2199         IEC 848 and take advantage of dia's new features.
2200         
2201         * lib/geometry.h: (point_get_normed) fixed a typo.
2203 2000-02-02  James Henstridge  <james@daa.com.au>
2205         * lib/object.h: added object functions describe_props, get_props and
2206         set_props.  Do type definitions so that object.h doesn't need to
2207         include properties.h, since properties.h includes object.h.
2209         * lib/properties.[ch]: more hacking.
2211         * po/de.po: updated po file.
2213 2000-01-30  James Henstridge  <james@daa.com.au>
2215         * configure.in: don't add flags to CFLAGS unconditionally.  Instead,
2216         check to see if the C compiler accepts the flag beforehand.
2218         * lib/properties.[ch]: start of properties code.
2220         * shapes/Contact/Makefile.am (SHAPES): fix up makefile.
2222 2000-01-30  Cyrille Chepelov  <chepelov@calixo.net>
2223         
2224         * sheets/GRAFCET.sheet:
2225         * sheets/GRAFCET/etapemc.xpm: (NEW)
2226         * sheets/GRAFCET/etapesp.xpm: (NEW)
2227         * objects/GRAFCET/step.c: Added the macro and
2228         sub-program call step types.
2230         * objects/GRAFCET/receptivity.[ch]: renamed to 
2231         objects/GRAFCET/boolequation.[ch]. 
2232         * objects/GRAFCET/transition.c: changed (Receptivity *) to 
2233         (BoolEquation *)
2235         * lib/connpoint_line.[ch]: 
2236         * objects/chronogram/chronoline.c:
2237         * objects/chronogram/chronoref.c:
2238         * objects/GRAFCET/vergent.c:
2239         * objects/standard/line.c:
2240         * objects/SADT/box.c: Minor CPL interface changes, factored out the
2241         point count adjustment code into the CPL object.
2242         
2243 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
2245         * app/render_libart.c:
2246         Added support for images and bezier curves.
2247         Only text/fonts missing now.
2249         * app/render_gdk.c:
2250         Removed old erronous comment.
2252 2000-01-29  Cyrille Chepelov <chepelov@calixo.net>
2254         * objects/chronogram/chronoline_event.c: removed references to
2255         lround(). Please don't insist, I'm already red of shame.
2256         
2257 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
2259         * app/render_libart.[ch]:
2260         * app/Makefile.am:
2261         Non-finished libart renderer.
2263         * acconfig.h:
2264         Added HAVE_LIBART flag
2266         * configure.in:
2267         Added libart probe
2269         * app/app_procs.c:
2270         Call gdk_rbg_init().
2272         * app/connectionpoint_ops.c:
2273         * app/disp_callbacks.c:
2274         * app/grid.c:
2275         * app/handle_ops.c:
2276         * app/magnify.c:
2277         * app/modify_tool.c:
2278         Change ddisp->renderer type from RendererGdk * to Renderer *
2279         Draw zoom and select rects in ddisp->canvas->window instead
2280         of ddisp->renderer->renderer->pixmap.
2282         * app/display.[ch]:
2283         Add aa_renderer to DDisplay, and  support for it.
2284         New function ddisplay_set_renderer() for changing renderer.
2285         Add ddisplay_transform_coords_double() function, used by aa renderer.
2286         Change ddisp->renderer type from RendererGdk * to Renderer *
2288         * app/menus.c:
2289         Add antialias to menu.
2290         
2291         * app/commands.[ch]:
2292         add view_aa_callback function
2293         Change ddisp->renderer type from RendererGdk * to Renderer *
2295         * lib/geometry.[ch]:
2296         Added IntRectangle and int_rectangle_union.
2298 2000-01-28  James Henstridge  <james@daa.com.au>
2300         * app/commands.h: removed prototypes.
2302         * app/commands.c: removed the functions that have been moved to
2303         filedlg.c.
2305         * app/filedlg.h: added new prototypes.
2307         * app/filedlg.c (file_open_callback): move open dialog to this
2308         file.  This implementation should remember the current directory
2309         between file loads.
2310         (file_save_as_callback): moved this dialog as well.
2311         (file_save_callback): moved this function here.
2313         * app/paginate_psprint.c (paginate_psprint): if not in fit to mode,
2314         align page boundaries to the origin.
2316         * app/diagram.c (diagram_update_extents): redraw the diagram if the
2317         scaling factor changes while updating the extents.  This is so the
2318         page breaks get redrawn correctly.
2320         * app/pagesetup.c (pagesetup_apply): added diagram_flush call when
2321         applying changes.
2323         * app/grid.c (grid_draw): draw page breaks as well as grid lines.
2324         For normal mode, use (0,0) as the origin.  For `fit to' mode, use
2325         the corner of the bounding box.
2327         * app/pagesetup.c (create_page_setup_dlg): load new paper attributes
2328         into page setup dialog.
2329         (pagesetup_apply): apply new `fit to' attributes to the diagram.
2331         * app/load_save.c (diagram_load): load new paper `fit to' attributes.
2332         (diagram_data_save): save `fit to' data.
2334         * lib/diagramdata.c (new_diagram_data): initialise `fit to' members.
2335         (data_update_extents): when in `fit to' mode, update scale factor
2336         when we update the extents.
2338         * lib/diagramdata.h (PaperInfo): added `fit to' members to PaperInfo
2339         structure.
2341         * .../.cvsignore: added some cvsignore files to quieten cvs.
2342         
2343         * app/pagesetup.c (pagesetup_changed): added code to change the
2344         scaling/fit to values as you change the options in the page setup
2345         dialog.  I haven't added code so that the fit to options are saved
2346         though.
2348         * app/diapagelayout.[ch]: changed the scaling portion of the widget
2349         to make it easier to set a `fit to' style scaling factor.
2351 2000-01-27 Cyrille Chepelov <chepelov@calixo.net>
2352         * lib/neworth_conn.[ch]: (NEW) Temporary (hopefully) fork of orth_conn,
2353         but connpoint_line-based, so that there's a connection point at the 
2354         middle of each segment. Currently only the SADT arrow uses this.
2356         * objects/SADT/* (NEW): SADT (both idf0 and idf1) support.
2357         
2358 2000-01-26 Cyrille Chepelov <chepelov@calixo.net>
2359         * lib/lazyprops.[ch]:(NEW) Added a bunch of macros for loading, 
2360         saving and editing of properties (and default properties). 
2361         See the new objects (GRAFCET, SADT, chonograms) for examples.
2362         For already too hairy stuff, see objects/chronogram/chronoline.c.
2364         * lib/connpoint_line.[ch] (NEW): This subobject manages a line of 
2365         evenly spaced connection points, which the user can add or remove at
2366         will. An object can own several connection point lines. See the SADT
2367         Box, or the GRAFCET vergents for examples.
2369         * lib/dummy_dep.h: added dependencies to new files. Told gcc to keep 
2370         quiet about unused stuff.
2372         * objects/GRAFCET (NEW):
2373         * samples/grafcet.dia (NEW):
2374         Added support for GRAFCET charts. 
2376         * objects/chronogram (NEW):
2377         * samples/chronograms.dia (NEW):
2378         Added support for chronograms (feature requested by Ronald L. Chichest;
2379         I found I'd use it often, too).
2381         * objects/standard/line.c: Replace the middle connectionpoint by 
2382         a whole connection point line, which defaults to one point (hint, 
2383         hint). New Line object menu to take advantage of this. 
2384         "Bothwards" compatibility is preserved (although you may loose 
2385         connections if you load a newer file in a older dia).
2387         * app/lineprops_area.c:
2388         * lib/arrows.[ch]:
2389         * lib/widgets.c: Added hollow and filled ellipse arrow head type. 
2390         (feature requested by Benjamin Kahn).
2391         Merged in Steffen Macke's slashed arrow head type.
2393         * app/Makefile.am (app/run_dia.sh actually):
2394         Added $DEBUGGER in front of dia's invocation, so that
2395         you can call "DEBUGGER=ddd app/run_dia.sh" (maybe naive, but useful).
2396         Added $(EFENCE) to app/dia's LDFLAGS, so that you can do 
2397         "EFENCE=-lefence" to link with Electric Fence.
2399         * configure.in: Made gcc do more aggressive optimisations on i386, and
2400         enabled warnings.
2401         
2402 2000-01-24  James Henstridge  <james@daa.com.au>
2404         * lib/geometry.[ch]: added inline versions of functions.  Used
2405         glib's G_INLINE_FUNC stuff, so it should still work on systems
2406         without inline funcs.
2408         * plug-ins/cgm/cgm.c (draw_ellipse, fill_ellipse): fixed up so that
2409         it outputs the correct element id for the ellipse objects.
2411 2000-01-24 Cyrille Chepelov <chepelov@calixo.net>
2413         * lib/object.[ch]: added object_add_connectionpoint_at, similar to
2414         object_add_handle_at. Message typo fixed.
2415         
2416         * lib/sheet.c (load_register_sheet):
2417         potential bug fixed (warning hunt).
2419         * objects/custom/custom.c (custom_object_load): disabled an assertion
2420         which made dia abort upon failure to load a shape file. Fixed a
2421         subsequent crash. 
2423         * objects/custom/shape_info.c (load_shape_info): Made the custom 
2424         shape load code ignore XML comments between <?xml ...?> and the 
2425         root object (mostly useful to put the emacs magic comments).
2426         
2427         * app/load_save.c: Made dia do backup copies of files when saving,
2428         and complain in case of failure.
2430 2000-01-24  Cyrille Chepelov  <chepelov@calixo.net>
2432         * AUTHORS: fixed my address (ISP thought it was a great idea to change
2433         the domain name)
2434         
2435         * configure.in:
2436         * shapes/Contact:
2437         * shapes/Contact/*:
2438         * sheets/Contact.sheet:
2439         * sheets/Makefile.am:
2440         Added support for Contact and LADDER charts.
2442         * dia.desktop: Added a French translation.
2443         
2444 2000-01-23  James Henstridge  <james@daa.com.au>
2446         * app/commands.c (help_about_callback): don't die if can't load
2447         logo image.
2449         * app/render_gdk.c (bezier_add_lines): sanity check to try to weed
2450         out NaN's when performing bezier curve subdivision.
2452         * objects/custom/custom_object.c: initialise memory of Custom structs
2453         to zero.
2455         * app/render_svg.c (draw_image): added image support to the XML
2456         output filter.  The image is just referenced, rather than being
2457         included inline, so if you copy the SVG file somewhere else, you
2458         may need to move the images or fix up the links.
2460         * plug-ins/cgm/cgm.c (draw_string): output a text colour element,
2461         so the text is not just displayed in black all the time.
2463 2000-01-15  Fredrik Hallenberg  <hallon@lysator.liu.se>
2465         * configure.in: fixed libpopt test so we wont try to build with
2466         too old libpopt.
2468 1999-12-18  Yuri Syrota  <rasta@renome.rovno.ua>
2470         * configure.in: Added "uk" to ALL_LINGUAS.
2472 1999-12-24  James Henstridge  <james@daa.com.au>
2474         * po/ru.po: updated russian translation from Valek Filippov.
2475         
2476         * app/render_svg.c (new_svg_renderer): make output use 19991203
2477         version of SVG DTD.  Use viewBox to set the extents of the view.
2479         * INSTALL (FONTS): updated locations of gnome-xml and imlib.  List
2480         ftp.gnome.org as the download.
2482         * TODO (TODO): weeded out completed todo items and added a few extra.
2484         * Makefile.am (EXTRA_DIST): added documentation to EXTRA_DIST.
2486         * doc/sheet.dtd: first stab at a DTD for the sheet files.  It would
2487         be good to get rid of the object/shape distinction and separate
2488         the custom shape code out from the main application.
2490         * objects/custom/README, diagram.dtd: moved to new doc directory.
2491         Renamed the custom shapes README to custom-shapes.  Also updated
2492         custom shape docs a bit and removed the section on sheet files, as
2493         that has changed a bit.
2495         * plug-ins/cgm/cgm.c (draw_image): give an error if the row length
2496         of the image data is larger than the maximum cell array.  I should
2497         add code to break scan lines down further in this case, but for now
2498         an error message is better than an infinite loop.
2500         * app/filedlg.c (file_export_ok_callback): show a dialog if we
2501         couldn't determine the export filter to use.
2503         * app/commands.c (help_about_callback): fixed up about box logo
2504         expose bug.  Now just use a GtkPixmap widget rather than a
2505         GtkDrawingArea and calling gdk_imlib_paste_image.
2507         * app/Makefile.am (EXTRA_DIST): added print stuff to extra dist,
2508         because automake does not always get things right.
2510         * configure.in: updated version number to 0.83.
2512         * app/preferences.c (prefs_save): 
2513         * app/render_svg.c (new_svg_renderer): "wt" is not a valid flag string
2514         for fopen.  Text is the default file mode anyway.
2516         * app/commands.c (file_save_as_dialog_ok_callback, file_new_callback): 
2517         * app/grid.c (grid_x_update, grid_y_update, grid_show_dialog): 
2518         * app/load_save.c (write_objects, write_connections): 
2519         * app/filedlg.c (file_export_ok_callback): 
2520         * lib/dia_xml.c (data_add_int, data_add_enum, data_add_real): 
2521         * lib/dia_xml.c (data_add_point, data_add_rectangle): 
2522         * lib/font.c (init_x11_font, font_get_gdkfont): changed calls to
2523         snprintf to calls to g_snprintf.
2525         * plug-ins/cgm/cgm.c (export_cgm): write the original dia file name
2526         as the picture name.
2528 1999-12-23  James Henstridge  <james@daa.com.au>
2530         * plug-ins/cgm/cgm.c (write_int32, write_int16): fixed up output of
2531         negative numbers.  This fixes the upside down text problem I was
2532         having previously.
2533         (draw_image): implemented the image code.  It will try to split the
2534         image data up into bands if it is too big to fit into a single
2535         cgm cell array element.  It will have problems if you try to insert
2536         an image wider than about 10,000 pixels though.
2538         * Makefile.am: use gnomedatadir for the files that need to be
2539         installed in gnome's datadir.  This is mainly to help people doing
2540         packages for weird setups.
2542 1999-12-22  James Henstridge  <james@daa.com.au>
2544         * plug-ins/cgm/cgm.c: added support for text.  Now only images and
2545         beziers are left to do.  The text seems to be the wrong way up
2546         still.  This is probably a problem with character orientation
2547         element, but I have used what the settings given in the standard.
2548         Other than this, the CGMs dia produces are readable (and displayable)
2549         by ralcgm and corel draw.
2550         (draw_string): subtract from the X coord rather than the Y coord for
2551         center and right aligned text.
2553         * plug-ins/cgm/cgm.c: a few fixups for the output.  Use REALSIZE as
2554         the size of a real number, and changed name of write_double to
2555         write_real.  Consider changing to fixed real encoding.  Also, now
2556         all element headers are correct.  Once the real number encoding is
2557         fixed, only text, beziers and images are left to do.
2559 1999-12-21  James Henstridge  <james@daa.com.au>
2561         * Makefile.am (SUBDIRS): recurse into plug-ins.
2563         * configure.in: add plug-ins directory makefiles to list.
2565         * plug-ins/cgm/cgm.c: start of cgm export filter.  Beziers and text
2566         not done yet.  Also, the output files are not quite correct.
2568         * app/render_eps.c (print_reencode_font): don't reencode the Symbol
2569         font.  It doesn't work if you do.
2571 1999-12-20  James Henstridge  <james@daa.com.au>
2573         * app/app_procs.c (app_init): don't use diagram_export_to_eps to
2574         export the files.  Instead, use filter_guess_export_filter to
2575         guess the correct format to save in and use the appropriate filter.
2576         It defaults to postscript for compatibility.
2578         * app/diagram.[ch] (diagram_export_to_eps): removed export to eps
2579         function.
2581         * app/commands.[ch]: removed export to eps functions.
2583         * app/menus.c: removed export to eps menu items.
2585         * app/app_procs.c: register new export filters.
2587         * app/load_save.[ch]: define dia native export filter.
2589         * app/render_eps.[ch]: define eps export filter.
2591         * lib/filter.h: added diafilename argument to the DiaExportFunc
2592         prototype.  This is useful for putting the source of the diagram
2593         into the output file for instance.
2595         * app/app_procs.c (app_init): register the SVG export filter.  Have
2596         to get EPS code converted to this API, and maybe also allow saving in
2597         DIA's native format from the export dialog.  In fact, it is now
2598         possible to load an export filter from a shared library and it will
2599         integrate into the interface correctly.
2601         * app/menus.c: removed references to the SVG renderer.
2603         * app/commands.[ch]: removed svg stuff.
2605         * app/diagram.[ch]: removed diagram_export_to_svg function.
2607         * app/render_svg.[ch]: added a DiaExportFilter structure for this
2608         renderer.
2610         * app/filedlg.[ch]: code for the new export diagram dialog.  Will
2611         probably move the open/save dialogs to this file as well.
2613 1999-12-19  James Henstridge  <james@daa.com.au>
2615         * lib/filter.[ch]: start of interface for generalised handling of
2616         filters.  I have only done code for export filters so far.  I still
2617         need to do the gui for this, and convert the current SVG and EPS
2618         filters to the new API.
2620         * lib/bezier_conn.c (bezierconn_copy): fix up copy operation.  We
2621         weren't setting the last handle correctly.  It was actually assigning
2622         to the wrong position in the handles array, so the last handle was
2623         left as NULL, which caused the segfault.
2625         * objects/standard/image.c (image_copy): modified routine so that
2626         it just adds a reference to the DiaImage structure in the new image
2627         object.  This seems to have cleared up the problems with copying
2628         image objects.
2630         * dia.spec: spec file additions from John Gotts.
2632 1999-12-12  James Henstridge  <james@daa.com.au>
2634         * configure.in (GNOME_LIBS): updated version number to 0.82.  0.82
2635         has not been released yet though.
2637         * Makefile.am (EXTRA_DIST): distribute diagram.dtd.
2639         
2640         The following based on a patch from Lars Clausen:
2641         
2642         * objects/standard/bezier.c (bezierline_move_handle): when performing
2643         the initial drag of the bezierline, move the control points to keep
2644         the line straight.
2646         * lib/bezier_conn.c (bezierconn_add_segment): when adding a segment,
2647         make the new control points a bit closer to the major point.
2649         * app/create_object.c (create_object_motion): use HANDLE_MOVE_CREATE
2650         as the reason for the move.
2651         (create_object_button_release): use HANDLE_MOVE_CREATE_FINAL as the
2652         move reason.
2654         * lib/handle.h: new handle move reasons.
2656 1999-12-09  James Henstridge  <james@daa.com.au>
2658         * dia.spec: include the new files in RPMs.
2660         * Makefile.am: install these new files.
2662         * dia.keys.in: file describing actions and icon for dia diagrams for
2663         use in the gnome file manager.
2664         
2665         * dia.mime: a file defining the application/x-dia-diagram mime type.
2666         
2667         * dia-diagram.png: an icon for dia diagrams.
2669 1999-12-08  James Henstridge  <james@daa.com.au>
2671         * plug-ins/python/pydia-diagram.c: added heaps of new methods.
2673         * plug-ins/python/pydia-display.[ch]: wrapper for display.
2675         * objects/standard/ellipse.c: applied Lars's patch to optionally not
2676         draw the background of the ellipse.
2678         * app/load_save.c (read_connections): do some sanity checking on the
2679         handle and connection point numbers before performing the object
2680         connection.
2682         * lib/bezier_conn.c (bezierconn_load): give the correct number of
2683         handles when loading a BezierConn.
2685 1999-12-07  Kjartan Maraas  <kmaraas@online.no>
2687         * sheets/*.sheet: Finished Norwegian translations.
2688         
2689 1999-12-07  James Henstridge  <james@daa.com.au>
2691         * plug-ins/python/diamodule.c (PyDia_Load): load diagram function.
2692         (PyDia_GetObjectType): find object type function.
2694         * plug-ins/python/pydia-diagram.c (PyDiaDiagram_Save): added a save
2695         method for diagrams.
2697         * plug-ins/python/pydia-object.c: added methods for DiaObject and
2698         DiaObjectType.
2700         * AUTHORS: added Lars and Cyrille to the authors file.
2702         * objects/standard/bezier.c (bezierline_add_segment_callback): place
2703         new point correctly.
2705         * lib/bezier_conn.h (bezierconn_closest_segment): fixed prototype.
2707         * lib/bezier_conn.c: applied Lars's patch for placement of the new
2708         point when adding a segment to a BezierConn.
2710 1999-12-06  James Henstridge  <james@daa.com.au>
2712         * plug-ins/python/test.py: test script for the python plug-in.
2714         * plug-ins/python/python.c: this file contains the plug-in startup
2715         code for the python plugin.  Right now, it just initialises the
2716         dia module and executes a script.
2718         * objects/standard/polyline.c (polyline_draw): fix start arrow size.
2720         * objects/standard/bezier.c (bezierline_draw): draw control lines for
2721         bezier curve if we are using an interactive renderer (ie. only if
2722         displaying to the screen).
2724         * lib/bezier_conn.[ch] (bezierconn_draw_control_lines): function
2725         to draw control lines on to a bezier curve.  Based on implementation
2726         from Lars.
2728         * objects/standard/bezier.c (bezierline_delete_segment_callback):
2729         calculate segment number using closest_segment rather than
2730         closest_handle.  Sometimes the closest handle is part of a different
2731         segment.
2732         (bezierline_draw): use correct size for start arrow.
2734         The next few entries are from Peter Moulder <reiter@netspace.net.au>:
2735         * lib/geometry.c (distance_line_point): added notes to documentation
2736         in comment.
2737         * app/object_ops.c (object_list_align_v): 
2738         (object_list_align_h): fix of by one error when calculating free space
2739         for equal distance alignment.
2740         * app/menus.c (objects_align_h, objects_align_v): include align
2741         adjacent menu items in the gnome version of the menus.
2742         * app/diagram.c (diagram_update_menu_sensitivity): set sensitivity on
2743         align adjacent menu items correctly.
2746         * lib/dummy_dep.h (dummy_dep): added bezierconn to dummy dependency
2747         table.
2749         * objects/standard/bezier.c: converted bezierline to use BezierConn.
2750         Still a few bugs.  It crashes on deleting line segments.
2752         * lib/Makefile.am (libdia_a_SOURCES): added BezierConn to libdia.
2754 1999-12-05  James Henstridge  <james@daa.com.au>
2756         * lib/bezier_conn.[ch]: start of BezierConn object
2758         * app/interface.c: add bezierline to toolbox.
2760         * objects/standard/standard.c: initialise bezierline.
2762         * objects/standard/bezier.c: new object from Lars R. Clausen.  I have
2763         made a few modifications to get it working nicely.  It still needs
2764         a bit of work though.  Maybe create a BezierConn object in lib.
2766 1999-12-02  James Henstridge  <james@daa.com.au>
2768         * plug-ins/python/pydia-*.c: fixed compile errors in these files.
2769         
2770         * plug-ins/python/Makefile.am: tried building everything.  It is
2771         building as a library at the moment.  I will have to convert it
2772         to a libtool library and add some initialisation code.
2773         
2774         * plug-ins/python/diamodule.c: start of the dia module, using the
2775         other object wrappers.  Not complete.
2777 1999-12-01  James Henstridge  <james@daa.com.au>
2779         * plug-ins/python/pydia-object.c (PyDiaObject_GetAttr): implement
2780         the handles and connections attributes.
2782         * plug-ins/python/pydia-layer.c: added functions that use
2783         ConnectionPoint's.
2785         * plug-ins/python/pydia-handle.[ch]: wrapper for Handle's.
2787         * plug-ins/python/pydia-cpoint.[ch]: wrapper for ConnectionPoint's.
2789         * plug-ins/python/pydia-*.[ch]: starts of python scripting plug-in.
2790         I am currently wrapping the basic elements in the diagram in python
2791         objects -- nothing to see or play with yet.
2793 1999-11-30  Alexander Larsson  <alla@lysator.liu.se>
2795         * AUTHORS:
2796         * HACKING:
2797         James Henstridge <james@daa.com.au> is now the maintainer of Dia.
2799 1999-11-29  Alexander Larsson  <alla@lysator.liu.se>
2801         * configure.in:
2802         * po/ru.po:
2803         Added russian translation from Valek Filippov <frob@df.ru>
2805 1999-11-24  James Henstridge  <james@daa.com.au>
2807         * sheets/UML/*: 
2808         * sheet/ER/*: moved extra sheet pixmaps back to separate dirs as
2809         discussed with Alex.  Also added extra makefiles so that make install
2810         works correctly.
2812 1999-11-23  Alexander Larsson  <alla@lysator.liu.se>
2814         * app/preferences.[ch]:
2815         * app/display.c:
2816         Added snap to grid preference.
2817         Patch from Michael Leslie <mles@springboardwireless.com>
2819 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2821         * app/load_save.c:
2822         * lib/dia_xml.c:
2823         * lib/sheet.c:
2824         * lib/text.c:
2825         * objects/custom/shape_info.c:
2826         All strings returned by libxml must be freed with free, not
2827         g_free, or there will be problems if you use memory debugging
2828         in glib.
2829         
2830 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2832         * app/create_object.[ch]:
2833         * app/menus.c:
2834         * app/tool.[ch]:
2835         * app/commands.[ch]:
2836         * app/pixmaps.h:
2837         * app/interface.[ch]:
2838         Reverted the tool menu patch. It has some 'issues'.
2839         I liked it though, so it'll probably return.
2841 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2843         Fixed a lot of memory leaks. Thanks to Bruce Mitchener
2844         <bruce@cybersight.com> for some purify runs and analysis.
2845         Also a great thank you to Owen Taylor for creating MemProf, a
2846         free memory leak detector that was used to find and verify a
2847         lot of these fixes.
2848         
2849         * app/diagram.c:
2850         * app/paginate_psprint.c:
2851         * app/render_eps.[ch]:
2852         * app/render_svg.[ch]:
2853         Free renderers.
2855         * app/interface.c:
2856         Don't add a reference to ddisp->shell. Why was this done in
2857         the first place?
2859         * app/load_save.c:
2860         * lib/dia_xml.c:
2861         * lib/sheet.c:
2862         * lib/text.c:
2863         Free all strings returned from xmlGetProp
2865         * app/modify_tool.c:
2866         Plug leak.
2868         * objects/custom/custom.c:
2869         Use closedir() after opendir().
2871         * objects/custom/shape_info.c:
2872         User g_free() instead of "if (tmp) free(tmp)".
2874         * sheets/ER.sheet:
2875         Add newline at end of file.
2876         
2878 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
2880         Based on patch from Patrick Reynolds <reynolds@cs.duke.edu>
2881         Adds tool menu and keyboard shortcuts.
2883         * app/create_object.[ch]:
2884         Use tool_set() instead of tool_reset().
2885         create_create_object_tool() takes extra type argument
2887         * menus.c:
2888         Add tools menu.
2889         
2890         * tool.[ch]:
2891         Moved tool_data here, export it.
2892         Add separate tool type for all create objects tools.
2893         new functions tool_set().
2895         * commands.[ch]:
2896         New callback tool_set_callback.
2898         * pixmaps.h:
2899         Moved some pixmaps to interface.c.
2900         
2901         * interface.[ch]:
2902         Remove tool_data array (moved to tool.c).
2903         Use the tool_data from tool.c.
2904         Remove modify_tool_button global var.
2905         
2906 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
2908         Patch from Patrick Reynolds <reynolds@cs.duke.edu>
2909         
2910         * app/app_procs.c:
2911         Interprets command-line arguments as files to open even when
2912         HAVE_POPT is not defined.
2914         * app/magnify.c:        
2915         Shift-clicking when zooming zooms out, like the Gimp.
2917         * app/menus.c:
2918         Has hotkeys for zoom-100% and snap-to-grid.
2920 1999-11-17  James Henstridge  <james@daa.com.au>
2922         * app/scroll_tool.c (scroll_motion): fixed shift style scrolling so
2923         that it is not jumpy.
2925         * app/Makefile.am (EXTRA_DIST): added extra files to extra dist list.
2927         * app/scroll_tool.c (scroll_motion): added `grabbing hand' type
2928         scrolling by pressing the shift key when using the scroll tool.
2930         * sheets/Makefile.am: fixed makefile so that install actually works
2931         if the directories $(pkgdatadir)/sheets/UML and $(pkgdatadir)/sheets/ER
2932         don't exist.
2933         (SHEETS): install Circuit.sheet
2935 1999-11-15  Alexander Larsson  <alla@lysator.liu.se>
2936         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
2938         * sheets/Circuit.sheet:
2939         * sheets/ER.sheet:
2940         * sheets/FS.sheet:
2941         * sheets/Flowchart.sheet:
2942         * sheets/UML.sheet:
2943         * sheets/network.sheet:
2944         * sheets/sybase.sheet:
2945         Changed name space
2947         * sheets/Circuit.sheet:
2948         added some missing French translations
2950         * lib/sheet.c:
2951         killed the temporary sheet namespace
2953         * objects/custom/custom.c:
2954         obsolete comment cleaned up
2956 1999-11-12  Alexander Larsson  <alla@lysator.liu.se>
2958         * configure.in:
2959         * po/pt.po:
2960         Added portugese translation from Pedro Morais
2961         <pmmm@rnl.ist.utl.pt>
2963 1999-11-11  Alexander Larsson  <alla@lysator.liu.se>
2965         Changed all sheets to be specified in xml.
2966         All sheet objects removed from the C code.
2967         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
2968         
2969         * Makefile.am:
2970         * configure.in:
2971         Adding shapes dir.
2972         Updated version to 0.81cvs.
2973         
2974         * app/Makefile.am:
2975         Update run_dia.sh with sheet-dir.
2976         
2977         * app/app_procs.c:
2978         Load all sheets on startup.
2979         Create sheet directory first time.
2980         Don't call custom_register_sheets().
2982         * lib/Makefile.am:
2983         Add sheetdir define
2985         * lib/custom.h:
2986         Remove custom_register_sheets().
2988         * lib/sheet.[ch]:
2989         Add sheet loading code.
2991         * sheet/Circuit.sheet:
2992         * sheet/ER.sheet:
2993         * sheet/FS.sheet:
2994         * sheet/Flowchart.sheet:
2995         * sheet/UML.sheet:
2996         * sheet/network.sheet:
2997         * sheet/sybase.sheet:
2998         Added sheet files.
3000         * sheet/ER/weakentity.xpm:
3001         * sheet/UML/aggregation.xpm
3002         * sheet/UML/umlclass_template.xpm
3003         Added sheet pixmaps.
3004         These are moved from their old places.
3006         * sheet/.cvsignore:
3007         Shut up cvs.
3009         * objects/*/*.c:
3010         Removed sheet objects and sheet registration.
3011         
3012         * objects/ER/Makefile.am:
3013         * objects/ER/pixmaps/weakentity.xpm:
3014         * objects/UML/Makefile.am:
3015         * objects/UML/pixmaps/aggregation.xpm:
3016         * objects/UML/pixmaps/umlclass_template.xpm:
3017         Removed alternative pixmaps. (Moved to sheet).
3019         * objects/custom/Makefile.am:
3020         * objects/custom/load_sheet.[ch]:
3021         Removed old sheet loading code.
3022         
3023         * objects/custom/custom.c:
3024         Load all shapes instead of sheets.
3025         Removed custom_register_sheets().
3027         * objects/custom/custom_object.c:
3028         Added debug code.
3030         * objects/custom/shape_info.[ch]:
3031         Added shape_info_getbyname().
3033         * objects/flowchart/Makefile.am:
3034         * objects/flowchart/collate.shape            
3035         * objects/flowchart/delay.shape              
3036         * objects/flowchart/display.shape            
3037         * objects/flowchart/document.shape           
3038         * objects/flowchart/extract.shape            
3039         * objects/flowchart/flowchart.c              
3040         * objects/flowchart/intstorage.shape         
3041         * objects/flowchart/magdisk.shape            
3042         * objects/flowchart/magdrum.shape            
3043         * objects/flowchart/magtape.shape            
3044         * objects/flowchart/manualinput.shape        
3045         * objects/flowchart/manualop.shape           
3046         * objects/flowchart/merge.shape              
3047         * objects/flowchart/offlinestore.shape       
3048         * objects/flowchart/offpageconn.shape        
3049         * objects/flowchart/or.shape                 
3050         * objects/flowchart/predefdproc.shape        
3051         * objects/flowchart/preparation.shape        
3052         * objects/flowchart/punchedcard.shape        
3053         * objects/flowchart/punchedtape.shape        
3054         * objects/flowchart/sort.shape               
3055         * objects/flowchart/sumjunction.shape        
3056         * objects/flowchart/terminal.shape           
3057         * objects/flowchart/transaction.shape        
3058         * objects/flowchart/transmittape.shape       
3059         * objects/flowchart/pixmaps/collate.xpm      
3060         * objects/flowchart/pixmaps/delay.xpm        
3061         * objects/flowchart/pixmaps/display.xpm      
3062         * objects/flowchart/pixmaps/document.xpm     
3063         * objects/flowchart/pixmaps/extract.xpm      
3064         * objects/flowchart/pixmaps/intstorage.xpm   
3065         * objects/flowchart/pixmaps/magdisk.xpm      
3066         * objects/flowchart/pixmaps/magdrum.xpm      
3067         * objects/flowchart/pixmaps/magtape.xpm      
3068         * objects/flowchart/pixmaps/manualinput.xpm  
3069         * objects/flowchart/pixmaps/manualop.xpm     
3070         * objects/flowchart/pixmaps/merge.xpm        
3071         * objects/flowchart/pixmaps/offlinestore.xpm 
3072         * objects/flowchart/pixmaps/offpageconn.xpm  
3073         * objects/flowchart/pixmaps/or.xpm           
3074         * objects/flowchart/pixmaps/predefdproc.xpm  
3075         * objects/flowchart/pixmaps/preparation.xpm  
3076         * objects/flowchart/pixmaps/punchedcard.xpm  
3077         * objects/flowchart/pixmaps/punchedtape.xpm  
3078         * objects/flowchart/pixmaps/sort.xpm         
3079         * objects/flowchart/pixmaps/sumjunction.xpm  
3080         * objects/flowchart/pixmaps/terminal.xpm     
3081         * objects/flowchart/pixmaps/transaction.xpm  
3082         * objects/flowchart/pixmaps/transmittape.xpm 
3083         Moved shapes and their pixmaps to shapes/flowchart
3085         * shapes/Circuit/Makefile.am:
3086         * shapes/Circuit/index.sheet:
3087         Removed index.sheet.
3088         
3089         * shapes/Makefile.am:
3090         * shapes/flowchart/Makefile.am:
3091         * shapes/flowchart/*.shape:
3092         * shapes/flowchart/*.xpm:
3093         Added flowchart shapes. (Moved from objects/flowchart)
3094         
3096 1999-11-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
3098         * app/app_procs.c: Fixed popt stuff.
3100 1999-11-01  James Henstridge  <james@daa.com.au>
3102         * shapes/Circuit/[hv]led_de.{shape,xpm}: new circuit shapes from
3103         Andreas Scherf.
3105 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
3107         * dia.spec:
3108         * configure.in:
3109         Update version to 0.81.
3110         
3111         * NEWS:
3112         Update with news for 0.81.
3113         
3114         * shapes/Circuit/*:
3115         * shapes/Circuit_eu/*:
3116         Moved european circuit objects to Circuit sheet.
3118 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
3119         
3120         * lib/diagramdata.[ch]:
3121         Added layer_set_object_list() function.
3123         * app/undo.[ch]:
3124         Added support for undo of reordered objects.
3125         Fix the undo of delete to keep the right order on undo.
3126         
3127         * app/diagram.c:
3128         changed loop to object_add_updates_list() calls.
3129         Added undo support to bring to front/back.
3131         * app/disp_callbacks.c:
3132         * app/paginate_psprint.c:
3133         Remove warnings.
3135 1999-10-30  Alexander Larsson  <alla@lysator.liu.se>
3137         This plugs some leaks. Thanks to
3138         Bruce Mitchener <bruce@cybersight.com> for running
3139         Dia through purify for me.
3140         
3141         * app/app_procs.c:
3142         Free displays and diagrams on exit.
3144         * app/modify_tool.c:
3145         Free gc when freeing tool.
3147         * lib/diagramdata.c:
3148         Free layer name.
3149         
3150         * app/display.c:
3151         Free update and display lists when destroying display.
3152         
3153         * lib/diagramdata.c:
3154         Don't leak layer name.
3156         * objects/custom/load_sheet.c: 
3157         * objects/custom/shape_info.c:
3158         Free loaded xml documents.
3160 1999-10-28  Alexander Larsson  <alla@lysator.liu.se>
3162         * app/commands.c:
3163         * app/object_ops.[ch]:
3164         Add undo handling to alignment ops.
3165         Based partially on patch by Dan Cohn <dan@internap.com>.
3167         * objects/standard/image.c (image_move_handle):
3168         Don't divide by zero for small images.
3169         Patch by Dan Cohn <dan@internap.com>.
3171         * objects/UML/class.c (umlclass_destroy): 
3172         * objects/custom/custom_object.c (custom_destroy):
3173         Don't free connectionpoints before calling element_destroy
3174         which unconnects them.
3176 1999-10-26  Alexander Larsson  <alla@lysator.liu.se>
3178         * objects/custom/custom_object.c: 
3179         Load and save padding too. Fixes strange load crashes.
3181         * app/group.c (group_destroy):
3182         Don't unconnect already freed connectionpoints when
3183         destroying group. Probably fixes bug reported by
3184         Elliot Lee <sopwith@redhat.com>.
3186         * app/render_gdk.c:
3187         Don't crash on zero-size (broken) bezier curves.
3188         Different sort of fix. This should work on closed bezier curves
3189         too.
3191         * objects/standard/textobj.c:
3192         Activate default properties dialog for Text objects.
3194         * app/render_eps.c: 
3195         * app/load_save.c:
3196         * app/preferences.c:
3197         * app/render_svg.c:
3198         fopen files in binary or text mode.
3200 1999-10-26  Alexander Larsson  <alex@cendio.se>
3202         * app/render_gdk.c (bezier_add_lines):
3203         Don't crash on zero-size (broken) bezier curves.
3204         Fixes a crashing bug.
3206 1999-10-25  James Henstridge  <james@daa.com.au>
3208         * app/Makefile.am (run_dia.sh): allow dia to find internal shape files
3209         before it is installed.
3211         * objects/flowchart/flowchart.c: use relative paths to find shapes.
3213         * objects/custom/custom.c (custom_object_load): take file names
3214         relative to $(pkgdatadir)/shape-internal, and check an environment
3215         variable for an alternative directory.
3217         * app/...: added copyright messages to the top of my new code.
3219         * app/paginate_psprint.c: some general clean ups.  Also, give an error
3220         dialog if we can't open the command or output file for writing.
3222         * app/diapagelayout.c (dia_page_layout_set_orientation): fixed
3223         function so it would set orientation to landscape correctly.
3225         * app/paginate_psprint.c: use the paper settings that come with
3226         the diagram.  Also implemented landscape printing.
3228         * app/render_eps.c (new_psprint_renderer): use diagram paper metrics
3229         in PS header.
3231         * app/commands.[ch] (file_pagesetup_callback): added callback for
3232         the page setup dialog.
3234         * app/menus.c: added page setup menu item.
3236         * app/pagesetup.[ch]: implementation of the page setup dialog.
3238         * app/diapagelayout.[ch]: added accessors for the scaling factor.
3239         
3240         * app/load_save.c (diagram_load): load paper information from save
3241         file.
3242         (diagram_save): save the paper info.
3244         * lib/diagramdata.c (new_diagram_data): initialise paper info section
3245         of DiagramData structure.
3246         (diagram_data_destroy): free the paper name.
3248         * lib/diagramdata.h: added a paper member to the DiagramData structure
3249         that holds the page layout info for a diagram.
3251 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
3253         * objects/flowchart/box.c:
3254         * objects/flowchart/ellipse.c:
3255         * objects/flowchart/diamond.c:
3256         * objects/flowchart/parallelogram.c:
3257         Load and save padding too. Fixes strange load crashes.
3259 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
3261         * app/app_procs.c (name_is_lib):
3262         .dll, .sl and .so.0.0.0 are also libraries.
3264 1999-10-20  James Henstridge  <james@daa.com.au>
3266         * configure.in: added extra makefile.
3267         
3268         * shapes/Circuit_eu/*: a new set of european circuit shapes from
3269         Andreas Scherf <scherfa@fh-trier.de>.  Made a few small modifications
3270         (added fuses to makefile, fill the area of some of the components).
3272 1999-10-19  Alexander Larsson  <alla@lysator.liu.se>
3274         * lib/Makefile.am:
3275         * app/Makefile.am: 
3276         Add GDK_IMLIB_CFLAGS to includes.
3277         Changed --export-dynamic to -export-dynamic
3279         * lib/widgets.c:
3280         * objects/UML/message.c:
3281         Removed c++ comment.
3283         * lib/render_store.[ch]:
3284         Don't use empty structure. That is not Ansi C.
3286 1999-10-19  James Henstridge  <james@daa.com.au>
3288         * app/diapagelayout.c (dia_page_layout_init): use DiaUnitSpinner's for
3289         the margin entries, as they allow interpretation of units.
3290         (paper_size_change): display the current page dimensions.
3292         * app/diaunitspinner.[ch]: a widget derived from the standard
3293         GtkSpinButton that tries to take units into account.  So if you enter
3294         "1in" into the entry, it will convert it to 2.54cm.
3296 1999-10-18  Alexander Larsson  <alla@lysator.liu.se>
3298         * app/app_procs.c:
3299         Removed include of dlfcn.h
3301 1999-10-18  James Henstridge  <james@daa.com.au>
3303         * app/diapagelayout.c (paper_size_change, orient_changed): set upper
3304         bound on margin widths.  It is set to the paper width/height.
3306         * objects/flowchart/diamond.c (diamond_distance_from): fixed distance
3307         routine for the diamond.  This bug was found and fixed by Daniel Wang
3308         <danwang@CS.Princeton.EDU>
3310 Sun Oct 17 19:46:36 1999  ape@gandalf.spacetec.no  (Asbjorn Pettersen)
3312         * app/commands.c: Add <sys/types.h> before <sys/stat.h> to
3313         remove warning (OS/2 version).
3315 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
3317         * README:
3318         Put a pointer to objects/custom/README.
3319         
3320 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
3322         * dia.spec:
3323         Updated version to 0.80
3325         * configure.in:
3326         Updated version to 0.80cvs
3328 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
3330         * Released Dia 0.80
3331         Tag called DIA_0_80
3332         
3333 1999-10-17  Fredrik Hallenberg  <hallon@lysator.liu.se>
3335         * app/Makefile.am
3336         * lib/Makefile.am
3337         * objects/UML/Makefile.am
3338         * objects/ER/Makefile.am
3339         * objects/network/Makefile.am
3340         * objects/standard/Makefile.am
3341         * objects/FS/Makefile.am
3342         * objects/sybase/Makefile.am
3343         * objects/flowchart/Makefile.am
3344         * objects/custom/Makefile.am
3345         Added -I$(top_srcdir)/intl which is needed for
3346         --with-included-gettext.
3348         * POTFILES.in
3349         Updated.
3350         
3351         * po/sv.po
3352         Updated swedish translation.
3354 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
3356         * configure.in:
3357         Updated version number to 0.80.
3359         * KNOWN_BUGS:
3360         New file.
3362         * TODO:
3363         Updated. Moved bugs to KNOWN_BUGS.
3365         * NEWS:
3366         Updated with 0.80 release notes.
3367         
3368 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
3369         
3370         * lib/orth_conn.c:
3371         For backwards compatibility, make sure handle 0 and 1 are the
3372         first and last handle. Fixes compatibility with 0.41, breaks
3373         compatibility with cvs version.
3374         Fixed bug in undo/redo of adding deleting endpoint segments
3375         when the endpoint was connected.
3376         Start OrthConn objects with three segments.
3378 1999-10-16  James Henstridge  <james@daa.com.au>
3380         * objects/custom/custom_object.c (custom_update_data): changed
3381         resizing behaviour a bit so that shapes don't grow huge when you try
3382         to resize them to smaller than the size required by the text box.
3383         Also, now shapes will not grow with fixed aspect ratio when you enter
3384         text into them unless the shape has the fixed aspect ratio flag set.
3386 1999-10-15  James Henstridge  <james@daa.com.au>
3388         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3390         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3392         * objects/flowchart/magdrum.shape: 
3393         * objects/flowchart/offlinestore.shape: 
3394         * objects/flowchart/punchedtape.shape: 
3395         * objects/flowchart/transmittape.shape: 
3396         * objects/flowchart/punchedcard.shape: new shapes.
3398         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3400         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3402         * objects/flowchart/collate.shape:
3403         * objects/flowchart/delay.shape:
3404         * objects/flowchart/extract.shape:
3405         * objects/flowchart/intstorage.shape:
3406         * objects/flowchart/magdisk.shape:
3407         * objects/flowchart/magtape.shape:
3408         * objects/flowchart/merge.shape:
3409         * objects/flowchart/or.shape:
3410         * objects/flowchart/sort.shape:
3411         * objects/flowchart/sumjunction.shape: new shapes.
3413 1999-10-15  Alexander Larsson  <alla@lysator.liu.se>
3415         * TODO (BUGS):
3416         Added bug:
3417         Entering an erronous command as print command
3418         crashes dia.
3420         * app/paginate_psprint.c:
3421         Save all print dialog values for next time.
3422         
3423         * app/Makefile.am:
3424         Remove custom lib from DIA_LIB_PATH.
3426 1999-10-14  James Henstridge  <james@daa.com.au>
3428         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3430         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3431         
3432         * objects/flowchart/offpageconn.shape: 
3433         * objects/flowchart/manualop.shape: 
3434         * objects/flowchart/preparation.shape: 
3435         * objects/flowchart/manualinput.shape: 
3436         * objects/flowchart/predefdproc.shape: 
3437         * objects/flowchart/terminal.shape: new shapes in the flowchart sheet.
3439 1999-10-13  James Henstridge  <james@daa.com.au>
3441         * app/diapagelayout.[ch]: added accessors to paper information.  The
3442         widget should be just about complete now.
3444         * app/diapagelayout.[ch]: fleshed out the page setup widget a bit more.
3445         It actually does something now.
3447 1999-10-12  James Henstridge  <james@daa.com.au>
3449         * app/pixmaps/portrait.xpm, app/pixmaps/landscape.xpm: support pixmaps
3450         for the page layout widget.
3452         * app/diapagelayout.[ch]: start of page layout widget.  Not actually
3453         built yet as it is not complete.
3455         * objects/flowchart/flowchart.c: added new shapes to sheet.
3457         * objects/flowchart/display.shape:
3458         * objects/flowchart/transaction.shape: new shapes.
3460         * AUTHORS: added my name to the spec file.
3462         * dia.spec: include the dia desktop entry to the spec file.
3464         * Makefile.am: install the dia.desktop file.
3466         * dia.desktop: added a gnome desktop entry so you can start dia
3467         from the gnome panel menu.
3469 1999-10-11  James Henstridge  <james@daa.com.au>
3471         * objects/custom/custom_object.c:
3472         * objects/custom/shape_info.c: warning fixes.
3474         * objects/flowchart/document.shape: a shape file for the `document'
3475         flowchart shape.
3477         * lib/custom.h: new header with the custom shape prototypes.
3479         * app/app_procs.c: register custom objects as well.
3480         (register_objects_in): close shared libraries if they don't load
3481         correctly, and call g_module_make_resident on libraries that load
3482         correctly.
3484         * app/Makefile.am (dia_LDADD): added libcustom_objects.a to link list.
3486         * objects/custom/custom.c: removed get_version, added custom_ prefix
3487         to register_objects and register_sheets.
3489         * objects/custom/Makefile.am: converted to a normal library.
3491 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
3493         * app/lineprops_area.c:
3494         * app/render_svg.c:
3495         * lib/objchange.c:
3496         * objects/custom/shape_info.c:
3497         * objects/flowchart/box.c:
3498         * objects/flowchart/diamond.c:
3499         * objects/flowchart/ellipse.c:
3500         * objects/flowchart/parallelogram.c:
3501         * objects/network/flash.c:
3502         * objects/network/scead-plug.c:
3503         * objects/sybase/client.c:
3504         Removed -Wall warnings.
3505         
3506         * objects/network/bus.c:
3507         Removed unused functions.
3509         * objects/FS/flow-ortho.c:
3510         * objects/FS/flow-poly.c:
3511         * objects/FS/flow.c:
3512         * objects/FS/function.c:
3513         
3514         Implemented "non-implemented" undo for FS objects.
3515         Now at least it won't crash.
3516         
3517 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
3519         * objects/network/bus.c:
3520         Implemented undo.
3521         Handles are now added and removed using the object menu.
3522         Default to 6 handles instead of 10.
3523         Changed name from "Standard - Bus" to "Network - Bus". Kept old
3524         name for backwards compatibility.
3526         * objects/network/network.c:
3527         Changed name from "Standard - Bus" to "Network - Bus". Kept old
3528         name for backwards compatibility.
3530         * app/properties.[ch]:
3531         * app/undo.c:
3532         Update properties in properties dialog if the shown object
3533         is part of and ObjectChange (undo or redo).
3535         * lib/poly_conn.c:
3536         Remove old known bugs list.
3538         * objects/UML/class_dialog.c:
3539         Removed debug printf's.
3541 1999-10-10  James Henstridge  <james@daa.com.au>
3543         * objects/custom/custom.c (custom_object_load): new function that
3544         provides a nice entry point to the custom shape code for when it
3545         gets used by other libraries.
3547         * configure.in: removed 11 makefiles from AC_OUTPUT list.  This
3548         speeds builds up a bit.
3550         * */Makefile.am (EXTRA_DIST): include pixmaps in distribution.
3551         (SUBDIRS): do not descend into pixmaps subdirs.
3553         * */pixmaps/Makefile.am: removed -- incorporate into parent makefiles.
3554         This speeds up build process.
3556         * objects/custom/custom.c (sheets): made variable static.
3558         * objects/custom/custom_util.[ch] (custom_get_relative_filename):
3559         renamed function.
3561         * objects/custom/load_sheet.[ch] (custom_sheet_load): renamed function.
3563         * objects/custom/custom.c: look in ~/.shapes instead of
3564         ~/.dia_shapes as the per-user shapes directory.
3566         * app/preferences.c (prefs_save): save config to ~/.diarc.
3567         (prefs_load): load configuration from ~/.diarc.  If the file
3568         does not exist, fallback on the old ~/.diarc location.
3570         * app/app_procs.c (create_user_dirs): create the ~/.dia directory
3571         on startup.
3572         (register_all_objects): look for user specific objects in
3573         ~/.objects rather than ~/.dia_libs.
3575 1999-10-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
3577         * configure.in:
3578         * app_procs.c:
3579         * objects/flowchart/box.c
3580         * objects/flowchart/ellipse.c
3581         * objects/flowchart/flowchart.c 
3582         Use gmodule for dynamic linking. As gmodule is using
3583         RTLD_GLOBAL i had to change flowchart box and ellipse
3584         so the typenames doesn't conflict with the standard
3585         box and ellipse.
3587         * message.c
3588         * commands.c
3589         Use button box to make dialogs look better.
3591 1999-10-09  Alexander Larsson  <alla@lysator.liu.se>
3593         * objects/UML/class_dialog.c:
3594         * objects/UML/class.h:
3595         Implemented undo for "UML - Class" objects.
3596         Not 100% tested yet.
3598         * objects/UML/classicon.c:
3599         * objects/UML/constraint.c:
3600         * objects/UML/dependency.c:
3601         * objects/UML/generalization.c:
3602         * objects/UML/implements.c:
3603         * objects/UML/large_package.c:
3604         * objects/UML/lifeline.c:
3605         * objects/UML/message.c:
3606         * objects/UML/object.c:
3607         * objects/UML/realizes.c:
3608         * objects/UML/state.c:
3609         * objects/UML/usecase.c:
3610         Removed warnings.
3611         
3612         * lib/connectionpoint.h:
3613         Fixed typo.
3614         
3615 1999-10-09  James Henstridge  <james@daa.com.au>
3617         * objects/custom/*.[ch]: added copyright notices to custom object
3618         files.
3620         * shapes/Circuit/hdiode.shape:
3621         * shapes/Circuit/hzener.shape: 
3622         * shapes/Circuit/opamp.shape:
3623         * shapes/Circuit/vdiode.shape:
3624         * shapes/Circuit/vzener.shape: made adjustments to make the circuit
3625         shapes look nice after the custom shape code changes.
3627         * objects/custom/README: updated docs to cover changes to drawing
3628         code.
3630         * objects/custom/custom_object.c (custom_draw): honour the line
3631         properties when drawing the shape.
3633         * objects/custom/shape_info.[ch]: added support for setting line
3634         properties for individual drawing elements in a custom shape.  You
3635         can set the dash style, dash length, cap style and join style.
3637 1999-10-07  James Henstridge  <james@daa.com.au>
3639         * objects/custom/shape_info.c (parse_style): added a few extra synonyms
3640         for foreground and background.
3642         * objects/custom/custom_object.c (custom_draw): use the new style
3643         information when drawing the object.
3645         * objects/custom/shape_info.[ch]: store all shape style info in the
3646         GraphicStyle structure.  This makes adding support for extra CSS
3647         attributes easier -- we don't have to keep adding extra arguments to
3648         a lot of functions.
3650 1999-10-05  James Henstridge  <james@daa.com.au>
3652         * lib/intl.c (unalias_lang): merged in changes from the i18n code
3653         swiped from gnome-libs.
3655 1999-10-03  Alexander Larsson  <alla@lysator.liu.se>
3657         * objects/standard/image.c (get_directory):
3658         Fix memleak. Found by Kjartan Maraas <kmaraas@online.no>
3660 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
3662         * lib/poly_conn.c (polyconn_destroy):
3663         Fix bug. Access of freed memory.
3664         Rememeber, you can't free the handles of an object
3665         before calling object_destroy(), as it unconnects the handles
3666         therefore referencing them.
3668 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
3670         * app/undo.c:
3671         undo_clear() didn't set stack->depth to zero.
3672         This made other undo functions crash after this had been called
3673         on a "full" stack.
3674         
3675         * dia.xpm:
3676         Slightly modified by Chris Love <clove@exactis.com>
3678 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
3680         * objects/UML/class.h: 
3681         * objects/UML/class_dialog.c:
3682         Retrun NULL ObjectChange on class property change.
3683         This means no crashes, but "UML - Class" doesn't support undo yet.
3684         
3685 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
3686         
3687         * lib/text.c:
3688         Indentation fix.
3690         * objects/UML/classicon.c:
3691         * objects/UML/dependency.c:
3692         * objects/UML/generalization.c:
3693         * objects/UML/implements.c:
3694         * objects/UML/large_package.c:
3695         * objects/UML/lifeline.c:
3696         * objects/UML/message.c:
3697         * objects/UML/object.c:
3698         * objects/UML/realizes.c:
3699         * objects/UML/state.c:
3700         * objects/UML/usecase.c:
3701         Update to new undo (w. get/set_state).
3702         Add object menu to add/delete segments.
3704 1999-09-17  Alexander Larsson  <alla@lysator.liu.se>
3706         * app/menus.c:
3707         Add equal distance alignment.
3709         * app/object_ops.c:
3710         Add equal distance alignment.
3711         Fix bug in adjacent alignment.
3713 1999-09-16  Alexander Larsson  <alla@lysator.liu.se>
3715         * objects/UML/constraint.c: 
3716         Update to new undo (w. get/set_state).
3718 1999-09-15  Alexander Larsson  <alla@lysator.liu.se>
3720         * app/paginate_psprint.c:
3721         Save (parts, more todo) of the info in the print dialog to the
3722         next time it's opened.
3723         Patch from Yo Ric Dude <ricdude@toad.net>
3725 1999-09-14  Alexander Larsson  <alla@lysator.liu.se>
3727         * configure.in:
3728         Updated version string to 0.41cvs.
3730         * objects/UML/assocition.c:
3731         Update to new undo (w. get/set_state).
3732         Add object menu to add/delete segments.
3734         * app/app_procs.c:
3735         Added function debug_break() and called it after all
3736         objects and sheets are loaded. Place a breakpoint here if you
3737         want to debug objects. All symbols should be loaded.
3739 1999-09-12  James Henstridge  <james@daa.com.au>
3741         * app/menus.c (display_menu_items): added print menu item.
3742         (filemenu): always add print menu item -- even if gnome-print is
3743         not installed.
3745         * app/commands.h, app/commands.c (file_print_callback): the print
3746         menu item is now available for both gnome-print and non gnome-print
3747         setups.
3749         * app/paginate_psprint.c (diagram_print_ps): show a dialog to let you
3750         print with the non gnome-print driver.
3752 1999-09-11  James Henstridge  <james@daa.com.au>
3754         * app/paginate_gnomeprint.c (diagram_print_gnome): moved the gnome
3755         printer dialog code out of commands.c.
3757         * app/paginate_psprint.c: new file containing the pagination code for
3758         psprint.
3760         * app/render_eps.c: made a few modifications so as well as producing
3761         EPS files, this renderer can be set up to do postscript printing.
3762         This basically entailed adding an extra function to create a RenderEPS
3763         renderer which did not bother setting the viewport for the document.
3764         That was left for the pagination code.
3766 1999-09-10  James Henstridge  <james@daa.com.au>
3768         * app/render_gnomeprint.c (draw_ellipse, fill_ellipse): since
3769         gnome-print does not support elliptic arcs at the moment, approximate
3770         the ellipse with eight bezier curves.  This gives a pretty good
3771         match to a true ellipse.
3773 1999-09-09  James Henstridge  <james@daa.com.au>
3775         * app/commands.c (file_gnome_print_callback): added support for
3776         scaling the diagram.  Also fixed a few other bugs.
3778         * app/paginate_gnomeprint.c (print_page): added ability to scale
3779         document.  Fixed up test to see if the page has no objects on it.
3780         This should prevent some blank pages being printed.  Non square
3781         objects such as lines could still cause problems.
3783 1999-09-08  James Henstridge  <james@daa.com.au>
3785         * app/commands.c (file_gnome_print_callback): changed from using the
3786         standard printer selection dialog to one that also has a paper size
3787         selector as well.
3789         * commands.[ch]: added callbacks for the print menu item.  Currently
3790         it only does A4 output.  I will make it configurable soon.
3791         
3792         * app/menus.c: add a print diagram menu item if gnome-print support
3793         is enabled.
3794         
3795         * app/paginate_gnomeprint.c, app/paginate_gnomeprint.h: this is a
3796         bit higher level than the gnome-print renderer.  It splits the
3797         diagram into page size chunks and then renders them.  For each
3798         page, it only renders the objects whose bounding box intersects
3799         the page, and it sets the clip mask so that the diagram does not
3800         overlap the margins.
3801         
3802         * app/render_gnomeprint.c, app/render_gnomeprint.h: added a renderer
3803         that uses gnome-print as its back end.
3804         
3805         * configure.in: added a check for gnome-print.  It is disabled by
3806         default because the code is not really working correctly yet.
3808         * app/menus.c: the delete object menu item was missing from the
3809         GnomeUIInfo style menus.
3811 1999-09-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
3813         * configure.in
3814         Added japanese to ALL_LINGUAS.
3815         Fix for Linux on Alpha.
3817 1999-09-07  Alexander Larsson  <alla@lysator.liu.se>
3819         * app/create_object.c (create_object_button_press):
3820         Always initialize tool->obj. Otherwise we store a null
3821         in the undo Change.
3823         * lib/text.c:
3824         Set linestyle before drawing cursor.
3825         Fix undo of backwards delete.
3827 1999-09-05  James Henstridge  <james@daa.com.au>
3829         * dia.spec: updated spec file to distribute $(prefix)/share/dia.
3831         * app/render_svg.c (draw_image): some fixes so that the appropriate
3832         style attributes are set.  Before it was setting line styles on
3833         fill_* functions.  Now it only does this for the draw_* variants.
3835         * app/Makefile.am (run_dia.sh): set the DIA_SHAPE_PATH environment
3836         variable so that custom shapes can be loaded.
3838         * shapes/: new directory for custom shapes.  The Circuit sheet has
3839         been moved here.
3841 1999-09-02  James Henstridge  <james@daa.com.au>
3843         * TODO: removed a few todo items that have been implemented.
3845         * app/interface.c (create_sheets): enabled the popup page menu to the
3846         notebook.  This can make it easier to select different sheets.
3848         * object/custom/Circuit/: added diode, zener diode, ground point and
3849         operational amplifier shapes.
3850         
3851         * objects/custom/Makefile.am: added a note about adding DEBUG_CUSTOM
3852         if you want the output.
3854         * objects/custom/shape_info.c (parse_path): same here.
3856         * objects/custom/load_sheet.c (load_with_readdir): don't print so
3857         much debugging output.  To get the previous level of output, define
3858         DEBUG_CUSTOM.
3860         * objects/custom/shape_info.c (parse_svg_node): polygons were being
3861         recorded as polylines in the ShapeInfo structure.
3863         * objects/custom/README: some notes on writing new custom shapes.
3864         
3865 1999-09-01  James Henstridge  <james@daa.com.au>
3867         * objects/custom/Circuit/hinductor.*:
3868         * objects/custom/Circuit/vinductor.*: added inductor shapes that
3869         also test out the bezier curve and SVG path support.
3870         
3871         * objects/custom/custom_object.c (custom_draw): added support for
3872         drawing bezier paths and filled shapes.
3874         * objects/custom/shape_info.c (parse_path): new function to parse
3875         SVG path elements.  It does not do quadratic beziers or elliptic
3876         arcs though.  Only moves, lines and cubic beziers.
3877         (*): added support for paths.
3879 1999-08-31  James Henstridge  <james@daa.com.au>
3881         * objects/sybase/ltm.c (render_to_store): use the newer bezier API.
3883         * app/render_svg.c (draw_bezier, fill_bezier): updated renderer
3884         interface
3886         * app/render_eps.c (draw_bezier, fill_bezier): updated renderer
3887         interface
3889         * app/render_gdk.c (draw_bezier, fill_bezier): updated renderer
3890         interface.
3892         * lib/render_store.[ch]: use newer bezier functions.
3894         * lib/render.h: changed the bezier drawing functions to use an array
3895         of BezPoint structures instead of normal Point structures to allow
3896         lineto's mixed in with the curveto's.
3897         
3898         * objects/custom/Circuit/pnp.*: added pnp transistor shape.
3899         
3900         * objects/custom/Circuit/Makefile.am (SHAPES): added index.sheet and
3901         xpm images for different shapes to Makefile.
3903         * objects/custom/custom_object.c (custom_object_new): set the icon
3904         for the sheet button if there is one.  Otherwise fall back on the
3905         default custom object icon.
3907         * objects/custom/shape_info.c (load_shape_info): read the sheet
3908         icon name from the shape file.
3910         * app/interface.c (create_sheet_page): if sheet_obj->pixmap == NULL,
3911         check the pixmap_file field for the name of a pixmap file to load
3912         for the tool.
3914         * lib/sheet.h (SheetObj): added pixmap_file field to structure.  It is
3915         at the end of the structure, and it isn't used if the pixmap field
3916         is non NULL, so it should not break binary compatibility.
3918         * objects/custom/load_sheet.[ch]: moved sheet loading code here.  Also
3919         added support for the use of an index.sheet file so you can specify
3920         the ordering of the shapes in the sheet, and also internationalise
3921         the sheet name and actually be able to give a description.  The old
3922         readdir based sheet loading code acts as a fallback if an index.sheet
3923         file can not be found.
3925         * objects/custom/custom_util.[ch]: new file containing useful routines
3926         needed by the custom object code.  Currently only contains a simple
3927         routine for resolving relative paths.
3929         * objects/custom/custom_object.c (custom_draw): fixed problem with
3930         drawing rectangles if the shape has been flipped.
3932 1999-08-30  James Henstridge  <james@daa.com.au>
3934         * objects/custom/custom_object.c (custom_get_object_menu): allow
3935         flipping of custom shapes.  This uses the miggle click object
3936         menu.
3938         * objects/custom/Circuit/npn.shape: fix aspect ratio.
3940         * objects/custom/custom_object.c (custom_update_data): honour the
3941         aspect ratio constraints.
3943         * objects/custom/shape_info.c (load_shape_info): updated aspect ratio
3944         tag parsing, so you can specify a free, fixed or a range for aspect
3945         ratios for the shape.
3947 1999-08-29  James Henstridge  <james@daa.com.au>
3949         * objects/custom/test.xml, objects/custom/Circuit/*.shape: fixed
3950         up shape namespace tag.
3952         * objects/custom/shape_info.c (load_shape_info): check xml:lang
3953         attribute on <description> elements to support i18n for custom
3954         shape descriptions.
3955         Also changed the shape namespace for custom shapes to something
3956         a little more sensible.
3958         * lib/dummy_dep.h (dummy_dep): added extra dummy dependency.
3960         * lib/intl.c: new file containing some functions for i18n stuff.
3962         * app/layer_dialog.c (create_button_box): fixed a warning.
3964         * objects/custom/custom_object.c: use current line style.  Save dash
3965         length.
3967         * objects/flowchart/diamond.c: use current line style.  Save dash
3968         length.
3970         * objects/flowchart/parallelogram.c: use current line style.  Save
3971         dash length.
3973         * objects/flowchart/ellipse.c: use current line style.  Save dash
3974         length.
3976         * objects/flowchart/box.c: use current line style.  Save dash length.
3978         * objects/standard/ellipse.c: make ellipse use current line style.
3980         * objects/standard/box.c: use the line style set in the toolbox for
3981         new boxes, and remember the dash length.
3983         * app/commands.c (view_toggle_rulers_callback): fix reshowing of
3984         rulers.
3986 1999-08-24  James Henstridge  <james@daa.com.au>
3988         * objects/flowchart/ellipse.c (ellipse_update_data): made some changes
3989         to try to stop ellipse to get infinite width/height when we resize,
3990         while trying to keep the text inside the ellipse.
3992         * objects/flowchart/box.c, objects/flowchart/parallelogram.c,
3993         * objects/flowchart/diamond.c, objects/flowchart/ellipse.c: fixed
3994         resizing behaviour, so that you can't push objects round the screen
3995         with the resize handles.
3997         * app/lineprops_area.c (dia_arrow_chooser_init, dia_line_chooser_init):
3998         get the OK buttons in the dialogs to take default clicks.
4000         * objects/custom/custom_object.c: added code so that resizing the
4001         shape does not end up pushing it round the screen.
4003 1999-08-23  Alexander Larsson  <alla@lysator.liu.se>
4005         * app/display.[ch]:
4006         Generate rectangle with the union of the damaged regions.
4007         This is used to optimize the grid paint and the object rendering.
4008         display_render_pixmap passes this info to grid_draw() and data_render().
4010         * app/grid.[ch]:
4011         grid_draw doesn't draw grid lines outside of damaged rectangle.
4012         Sets dashlength when drawing non-solid grid.
4013         
4014         * lib/diagramdata.[ch]:
4015         data_render() and layer_render() takes an optional damaged rectangle
4016         argument. No objects not intersecting this are drawn.
4018         * app/diagram.c:
4019         Fix warning.
4020         Call data_render with NULL update rectangle.
4021         
4022 1999-08-23  James Henstridge  <james@daa.com.au>
4024         * objects/custom/custom_object.c (custom_update_data): if the aspect
4025         ratio is fixed, make sure the shape is not distorted.
4027         * object/custom/shape_info.h, objects/custom/shape_info.c: notice if
4028         a <fixaspectratio/> tag is given in the shape file.
4030         * objects/custom/shape_info.[ch], objects/custom/custom_object.c:
4031         added support for stroke-width, stroke and fill CSS attributes
4032         specified in style attributes of the SVG elements.  The line width
4033         is relative to the user specified line width.  The stroke and fill
4034         attributes can only be used to swap the foreground/background
4035         colours.
4037         * lib/widgets.c (dia_line_style_selector_set_linestyle): set the
4038         sensitivity on the dash length selector when this function is called.
4040         * objects/standard/arc.c: same.  Also handle dash length.
4041         * objects/standard/zigzagline.c: same.
4042         * objects/standard/polyline.c: same.  Also handle dash length.
4043         * objects/standard/line.c: use default arrow/line styles.
4045         * app/interface.c: added callbacks to set the default attributes.
4047         * lib/attributes.c: added implementations of these functions.
4049         * lib/attributes.h: added extra prototypes for the new line properties
4050         area in the toolbox.
4052         * app/interface.c (create_lineprops_area): added line properties
4053         area to bottom of toolbox.
4055         * app/lineprops_area.h: a header exporting a few routines of the
4056         line properties area widgets.
4058         * app/lineprops_area.c: new file containing a selector for arrows
4059         and line styles to go in the main toolbox.
4061 1999-08-22  Alexander Larsson  <alla@lysator.liu.se>
4063         * HACKING:
4064         Update Gtk+ 1.0.5 comment to 1.2.0.
4066         * INSTALL:
4067         Demand libtool 1.3
4069         * acconfig.h:
4070         Add HAVE_LIBPOPT
4072         * configure.in:
4073         Make sure we don't propagate -ldl and -lpopt to all LIBS
4074         by adding new var APP_LIBS that only app/dia links with.
4075                 
4076         * app/Makefile.am:
4077         Update run_dia.sh to load custom and flowchart objects.
4079         * objects/ER/Makefile.am:
4080         * objects/FS/Makefile.am:
4081         * objects/UML/Makefile.am:
4082         * objects/network/Makefile.am:
4083         * objects/standard/Makefile.am:
4084         * objects/sybase/Makefile.am:
4085         Don't build versioned libs.     
4086         
4087 1999-08-22  James Henstridge  <james@daa.com.au>
4089         * configure.in: added objects/custom/Circuit/Makefile to AC_OUTPUT
4090         list.
4092         * objects/Makefile.am (SUBDIRS): added custom to subdir list -- it
4093         should actually work a bit now.
4095         * objects/custom/Circuit/*: a test sheet for the custom shape code.
4096         It is a small collection of circuit elements.
4098         * objects/custom/shape_info.c: fixed up loading of polylines and
4099         polygons.  Before it was removing negative signs :(
4101         * objects/custom/pixmaps/custom.xpm: drew the custom shape icon.  A
4102         placeholder was here before.  I still need to work out how to set
4103         icons for individual custom shapes.
4104         
4105         * objects/custom/custom.c: added code to load the shapes into sheets
4106         properly.  The shape files should be arranged into directories, and
4107         each directory represents a different sheet in the toolbox.  This
4108         will make it very easy to distribute a collection of dia shapes as
4109         a tarball.  I still need to work out internationalisation, and maybe
4110         also shape ordering in the sheet.
4112         * objects/custom/custom_object.c: fixed up dialogs for these objects.
4113         (custom_create): fix for objects without text areas.
4115         * objects/custom/shape_info.h, objects/custom/custom_object.c: loading
4116         and saving of custom object works correctly now.
4118 1999-08-21  James Henstridge  <james@daa.com.au>
4120         * objects/flowchart/ellipse.c: 
4121         * objects/flowchart/diamond.c: 
4122         * objects/flowchart/parallelogram.c: 
4123         * objects/flowchart/box.c: Fixed up a few bugs in these objects when
4124         copying or loading these object types.  Not all the connection
4125         points would be initialised correctly.
4127         * objects/flowchart/Makefile.am (libflowchart_objects_la_LDFLAGS):
4128         similar here.
4130         * objects/custom/Makefile.am (libcustom_objects_la_LDFLAGS): do not
4131         build a versioned library.  It will only ever be dlopen'd, so this
4132         is not a problem.
4134         * objects/custom/custom_object.c (custom_distance_from): allow
4135         selecting the object by clicking on the text.  This fixes problems
4136         where the text box is outside the graphic.
4138         * objects/custom/shape_info.c (load_shape_info): fixed up reading
4139         of connections points.  It should be possible to add connections
4140         to custom objects now.
4142         * objects/custom/custom_object.c (custom_update_data): fixed resizing
4143         due to changes to text.
4145         * configure.in: added extra makefiles.
4146         
4147         * objects/custom/shape_info.[ch]:
4148         * objects/custom/custom_object.c:
4149         * objects/custom/custom.c: the starts of custom shape support in dia.
4150         This is not built by default at the moment, since it is not quite
4151         complete.  When it is, it will let you create more shapes for dia
4152         without writing a line of C.  Its implementation includes buzzwords
4153         such as XML and SVG, so it must be good :)
4155 1999-08-19  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
4157         * app/app_procs.c (app_exit): Use button labels "Quit" and
4158         "Cancel" instead of "Yes" and "No".
4159         Set default action to "Cancel" instead of "Quit".
4161 1999-08-19  James Henstridge  <james@daa.com.au>
4163         * objects/flowchart/flowchart.c: added ellipse object.
4164         
4165         * objects/flowchart/ellipse.c: a new shape for the flowchart toolbox.
4167 1999-08-18  James Henstridge  <james@daa.com.au>d
4169         * app/color_area.c (color_area_edit): small fix to prevent dia from
4170         segfaulting when you try to change the default foreground/background.
4172 1999-08-17  Alexander Larsson  <alla@lysator.liu.se>
4174         * app/diagram.[ch] (diagram_redraw_all):
4175         Added function that redraws all diagrams.
4177         * app/preferences.c (prefs_apply):
4178         Call diagram_redraw_all when prefs are changed.
4180         * app/render_svg.c:
4181         Don't use xmlEncodeEntitiesReentrant(). It doesn't exist on
4182         older libxml's, and the old version works good enought here.
4183         
4184 1999-08-17  James Henstridge  <james@daa.com.au>
4186         * lib/widgets.c: changed handlers that were connected to the GtkButton
4187         "pressed" signal to connect to the "clicked" signal.  This removes the
4188         problem where dialogs are inactive until you click a mouse button
4189         after using a colour selector.
4191         * configure.in: added extra makefiles to AC_OUTPUT list.
4192         
4193         * objects/Makefile.am (SUBDIRS): added flowchart module
4195         * objects/flowchart/*: a collection of shapes for use in flowcharts.
4197         * app/color_area.c (color_area_events): similar here.
4199         * app/linewidth_area.c (linewidth_area_events): sometimes a configure
4200         event is recieved with event->width == 0, which causes a warning if we
4201         try to create a pixmap of that width.
4203         * app/preferences.c, app/preferences.h, app/grid.c: added code to
4204         allow you to configure the colour of the grid, and also lets you
4205         set the grid to use dotted lines instead of solid ones.
4206         
4207         * app/commands.c, app/commands.h, app/diagram.c, app/diagram.h,
4208         app/menus.c, app/Makefile.am: added menu entry for exporting SVG files.
4209         
4210         * app/render_svg.h, app/render_svg.c: an SVG (Scalable Vector Graphics)
4211         export filter.  It is not quite complete, but for most shapes it
4212         works as expected.  Fonts still need a bit of work.
4214 1999-08-11  Robert Brady  <rwb197@ecs.soton.ac.uk>
4216         * configure.in: Added "en_GB" to ALL_LINGUAS.
4218 1999-08-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
4220         * menus.c
4221         Added Undo and Redo to GNOME menus.
4222         
4223         * objects/ER/attribute.c:
4224         * objects/ER/entity.c:
4225         * objects/ER/participation.c:
4226         * objects/ER/relationship.c:
4227         Added get/set_state functions.
4229         * objects/ER/participation.c:
4230         Added add/delete segment.
4232         * po/sv.po
4233         Updated Swedish translation.
4235 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4237         * app/preferences.[hc]:
4238         Added undo_depth pref.
4239         
4240         * app/undo.[ch]:
4241         Never grow stack larger than pref.undo_depth.
4242         undo_depth == 0 means unlimited.
4243         Converted printfs to conditionally compiled DEBUG_PRINTFs.
4244         
4245 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4247         * app/diagram.c:
4248         * app/group.c:
4249         * lib/object.h:
4250         * lib/render_object.c:
4251         * objects/ER/attribute.c:
4252         * objects/ER/entity.c:
4253         * objects/ER/participation.c:
4254         * objects/ER/relationship.c:
4255         * objects/FS/flow-ortho.c:
4256         * objects/FS/flow-poly.c:
4257         * objects/FS/flow.c:
4258         * objects/FS/function.c:
4259         * objects/UML/actor.c:
4260         * objects/UML/association.c:
4261         * objects/UML/class.c:
4262         * objects/UML/classicon.c:
4263         * objects/UML/component.c:
4264         * objects/UML/constraint.c:
4265         * objects/UML/dependency.c:
4266         * objects/UML/generalization.c:
4267         * objects/UML/implements.c:
4268         * objects/UML/large_package.c:
4269         * objects/UML/lifeline.c:
4270         * objects/UML/message.c:
4271         * objects/UML/note.c:
4272         * objects/UML/object.c:
4273         * objects/UML/realizes.c:
4274         * objects/UML/small_package.c:
4275         * objects/UML/state.c:
4276         * objects/UML/usecase.c:
4277         * objects/network/bus.c:
4278         * objects/standard/arc.c:
4279         * objects/standard/box.c:
4280         * objects/standard/ellipse.c:
4281         * objects/standard/image.c:
4282         * objects/standard/line.c:
4283         * objects/standard/polyline.c:
4284         * objects/standard/textobj.c:
4285         * objects/standard/zigzagline.c:
4286         Removed all traces of is_empty(). It doesn't work in an
4287         Undo/Redo world.
4289 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4291         * app/diagram.c:
4292         * app/group.[ch]:
4293         * app/undo.[ch]:
4294         Undoable grouping and ungrouping.
4296         * app/layer_dialog.c:
4297         * lib/diagramdata.[ch]:
4298         Undoable layer ops.
4300         * app/modify_tool.c:
4301         Undoable unconnect on handle move.
4303         * lib/orth_conn.[ch]:
4304         Working undoable add/remove segment.
4305         Removed endpoint_handles from OrthConn, renamed
4306         midpoint_handles to handles and put the endpoint
4307         handles there.
4309         * objects/standard/zigzagline.c:
4310         * objects/ER/participation.c:
4311         * objects/UML/association.c:
4312         * objects/UML/dependency.c:
4313         * objects/UML/generalization.c:
4314         * objects/UML/realizes.c:
4315         Update for the changes in OrthConn
4316         
4317 1999-07-23  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
4319         * configure.in: Added "de" to ALL_LINGUAS.
4321 1999-07-17  Alexander Larsson  <alla@lysator.liu.se>
4323         * dia.1:
4324         Fixed typo.
4326         * app/display.c:
4327         * po/da.po:
4328         * po/fr.po:
4329         * po/hu.po:
4330         * po/no.po:
4331         * po/pl.po:
4332         * po/sv.po:
4333         Don't have the <Display> etc part of the menu strings
4334         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
4336         * app/diagram.c:
4337         Don't have the <Display> etc part of the menu strings
4338         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
4339         Don't remove is_empty() objects, that don't work with undo.
4341         * lib/objchange.[ch]:
4342         New files.
4343         Definition of ObjectChange. This is essentially an Change
4344         exported to the object libs. It encapsulates a change made
4345         to an objects internals. It can be applied, reverted and freed.
4346         There are also utility functions for doing ObjectChanges that
4347         only get/set the whole state of an object to store the change.
4348         This cannot be used when the object change deletes or adds a
4349         object which has references from other objects, eg. Handles which
4350         might be connected.
4352         * lib/Makefile.am:
4353         Added objchange.c and objchange.h.
4355         * lib/dia_image.c:
4356         Return NULL when loading fails.
4358         * lib/diamenu.h:
4359         Menu callbacks return an ObjectChange.
4361         * lib/dummy_dep.h:
4362         Reference objchange.o
4364         * lib/focus.h:
4365         Key events return ObjectChange if they modify the object.
4367         
4368         * lib/object.h:
4369         Added object_add_handle_at() function.
4370         Apply properties returns an ObjectChange.
4371         Remove ObjectState and the get/set state functions, these
4372         don't always work. Use the new ObjectChange instead.
4373         
4374         * lib/object.c:
4375         Added object_add_handle_at() function implementation.
4376         
4377         * lib/orth_conn.[ch]:
4378         Use ObjectChange. Not finished yet.
4379         Removed get/set/free state functions
4381         * lib/poly_conn.[ch]:
4382         Use ObjectChange.
4383         Don't remove segments that are small.
4384         Removed get/set/free state functions
4386         * lib/text.[ch]:
4387         Use ObjectChange.
4388         Added functions to get/set all text attributes.
4390         * objects/standard/arc.c:
4391         * objects/standard/box.c:
4392         * objects/standard/ellipse.c:
4393         * objects/standard/image.c:
4394         * objects/standard/line.c:
4395         * objects/standard/polyline.c:
4396         * objects/standard/textobj.c:
4397         * objects/standard/zigzagline.c:
4398         Use ObjectChange.
4399         fixed bug in image_set_state.
4400         zigzagline.c not finished yet.
4402         * app/disp_callbacks.c:
4403         Use ObjectChange that are returned from menu callbacks and
4404         key_events for undo.
4406         * app/properties.c:
4407         Use ObjectChange that are returned from properties apply
4408         for undo.
4410         * app/undo.c:
4411         * app/undo.h:
4412         New undo type: ObjectChangeChange. This wraps a change to the
4413         internals of an object (and ObjectChange) in code that does
4414         app specific stuff (object_add_updates etc.)
4416 1999-07-11  Alexander Larsson  <alla@lysator.liu.se>
4418         * lib/orth_conn.[ch]:
4419         Added code for add/delete segment.
4421         * objects/standard/zigzagline.c:
4422         Use the new orth_conn code.
4423         
4425 1999-07-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
4427         * objects/FS/Makefile.am
4428         Removed fs.h from sources.
4430         * Makefile.am
4431         * dia.1
4432         Added man page.
4434 1999-07-07  Alexander Larsson  <alla@lysator.liu.se>
4436         * app/disp_callbacks.c (ddisplay_canvas_events):
4437         Fix for bug. Every other arrow-key press got lost.
4438         patch from Mr. Data Esq. <data@r47h102.res.gatech.edu>
4440         * INSTALL:
4441         change automake.sh to autogen.sh
4442         
4443 1999-06-24  Alexander Larsson  <alla@lysator.liu.se>
4445         * app/diagram.c:
4446         Don't remove 'empty' objects.
4447         This violent destruction of objects won't work
4448         with the new undo framework.
4450         * app/disp_callbacks.c:
4451         Save undo info for object menu calls and key_events.
4453         * app/properties.c:
4454         Save undo info on properties apply.
4456         * lib/dia_image.[ch]:
4457         Add refcounting for images.
4459         * app/render_eps.c:
4460         * app/render_gdk.c:
4461         * lib/render.h:
4462         DiaImage * -> DiaImage
4464         * app/undo.[ch]:
4465         Add undo functions for object state changes.
4467         * lib/focus.h:
4468         * lib/text.c:
4469         change of semntics for focus->key_event.
4470         Now returns TRUE if the object recieving the event
4471         was changed.
4473         * lib/object.h:
4474         Comment changes.
4476         * lib/orth_conn.[ch]:
4477         Don't automatically create and delete segments when
4478         handles are moved. This is incompatible with undo.
4479         Added state get, set and free functions.
4481         * lib/orth_conn.[ch]:
4482         Added state get, set and free functions.
4484         * objects/UML/object.c:
4485         * objects/UML/uml.c:
4486         Fixed typo "UML - Objet" -> "UML - Object".
4487         Saved old for backwards compatibility.
4489         * objects/standard/arc.c:
4490         * objects/standard/box.c:
4491         * objects/standard/ellipse.c:
4492         * objects/standard/image.c:
4493         * objects/standard/line.c:
4494         * objects/standard/polyline.c:
4495         * objects/standard/textobj.c:
4496         * objects/standard/zigzagline.c:
4497         Added get/set state functions.
4498         Textobj has a redo crash-bug.
4499         Zigzagline needs object menus to add segments.
4500         
4502 1999-06-20  Alexander Larsson  <alla@lysator.liu.se>
4504         * app/render_eps.c (set_dashlength):
4505         Don't generate eps files with zero dash-length.
4507 1999-06-16  Alexander Larsson  <alla@lysator.liu.se>
4509         * app/commands.c:
4510         * app/create_object.c:
4511         * app/undo.[ch]:
4512         Finished undo for create and paste.
4513         
4514         * lib/object.h:
4515         Started properties undo.
4517 1999-06-14  Alexander Larsson  <alla@lysator.liu.se>
4519         * TODO:
4520         Added resizeable groups.
4522         * app/app_procs.c:
4523         Removed unused variable.
4525         * app/commands.c:
4526         * app/undo.[ch]:
4527         Undo/redo for cut/delete done.
4529         * app/create_object.c:
4530         * app/modify_tool.c:
4531         * lib/diagramdata.[ch]:
4532         * app/diagram.[ch]:
4533         renamed diagram_add_selected -> diagram_select
4534         renamed diagram_remove_selected -> diagram_unselect
4535         
4536         * app/properties.[ch]:
4537         Added properties_hide_if_shown() function.
4539 1999-06-13  Alexander Larsson  <alla@lysator.liu.se>
4541         * app/undo.[ch]:
4542         * app/Makefile.am:
4543         Undo functions.
4544         
4545         * app/commands.[ch]
4546         * app/modify_tool.[ch]
4547         * app/object_ops.[ch]
4548         * app/connectionpoint_ops.c
4549         * app/menus.c
4550         Use undo functions.
4551         WARNING: Not finished. Will break.
4552         Finished: move object, move handle.
4554         * app/diagram.[ch]
4555         Added diagram_selected_break_external() function.
4556         It removes all connections between selected objects
4557         and non-selected.
4558         Add undo stack to Diagram.
4559         
4560         * lib/diagramdata.[ch]
4561         Added layer_remove_objects() function
4562         
4563 1999-06-11  Fredrik Hallenberg  <hallon@lysator.liu.se>
4565         * objects/FS/Makefile.am
4566         * objects/sybase/Makefile.am
4567         Now uses GNOME_CFLAGS.
4569         * app/app_procs.c
4570         Now compiles with GNOME even if popt.h isn't available.
4572 1999-06-10  Alexander Larsson  <alla@lysator.liu.se>
4574         * configure.in
4575         * objects/Makefile.am
4576         * objects/sybase/*
4577         First version of sybase objects from
4578         Brian Bruns <camber@umcc.ais.org>
4580 1999-06-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
4582         * configure.in
4583         Added fr to ALL_LINGUAS
4585 1999-06-09  Fredrik Hallenberg  <hallon@lysator.liu.se>
4587         * configure.in
4588         * app/app_procs.c
4589         Popt-code is activated if popt is available.
4591 1999-06-08  Alexander Larsson  <alla@lysator.liu.se>
4593         This is a patch from David Thompson <dcthomp@mail.utexas.edu>
4594         
4595         * lib/orth_conn.[ch]:
4596         Added orthconn_get_middle_handle()
4598         * lib/text.[ch]:
4599         Added text_set_cursor_at_end()
4600         
4601         * objects/FS/*
4602         Added first version of functions structure diagrams.
4603         
4604 1999-05-24  Alexander Larsson  <alla@lysator.liu.se>
4606         * app/modify_tool.c:
4607         Include math.h to remove warning.
4609         * app/commands.c (dialogs_properties_callback):
4610         Bring up correct properties dialog when selected
4611         from menu.
4612         From Dan Cohn <dan@internap.com>
4614 1999-05-20  Alexander Larsson  <alla@lysator.liu.se>
4616         Patch from Lars R. Clausen 
4617         
4618         * app/modify_tool.c:
4619         Changed abs to fabs.
4621 1999-05-19  Alexander Larsson  <alla@lysator.liu.se>
4623         * INSTALL: 
4624         * configure.in:
4625         Require Gtk+ 1.2.0
4627 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
4629         Patches from Dan Cohn <dan@internap.com>
4630         
4631         * app/commands.[ch]: 
4632         * app/display.[ch]: 
4633         * app/menus.c:
4634         * app/preferences.[ch]:
4635         Implements ability to turn on/off connection points in
4636         current drawing and in global prefs.
4638 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
4640         * lib/widgets.c (dia_line_style_selector_init): 
4641         Fixed warnings.
4642         
4643         * lib/diagramdata.c (layer_update_extents):
4644         Fixed uninitialized variable error.
4646 1999-05-17  Alexander Larsson  <alla@lysator.liu.se>
4648         * lib/dia_image.c:
4649         Made some changes to the gdk_imlib visual+colormap setup.
4651 1999-05-17  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4653         * objects/UML/usecase.c: 
4654        * objects/UML/lifeline.c
4655         Fine tunning.
4657         * objects/UML/object.c: 
4658         * objects/UML/message.c: 
4659         Changed font from Courier to Helvetica.
4661         * lib/widgets.c: 
4662         * lib/widgets.h:
4663         Added dash lenth to the LineStyle widget.
4664         
4665         * objects/standard/ellipse.c :
4666         * objects/standard/zigzagline.c: 
4667         * objects/standard/line.c: 
4668         Added dash lenght property.
4670 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
4672         * app/render_eps.c:
4673         First shot at latin1 encoded eps files.
4674         Works, but the eps files get a bit large.
4675         
4676 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
4678         * objects/UML/class.[ch]: 
4679         * objects/UML/uml.[ch]:
4680         Reverted the line wrap changes.
4681         Some day this might return, but it has to be selectable and
4682         default to off for loaded objects, otherwise it breaks file
4683         format compatibility.
4684         There was also some complains about how it looked, so a making it
4685         selectable is good for this too.
4687 1999-05-15  Alexander Larsson  <alla@lysator.liu.se>
4689         * objects/UML/class.[ch]:
4690         Some indentation cleanup.
4691         Added wrap_lines variable to class.
4692         I'll fix the line break stuff tomorrow.
4694 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
4696         * lib/dummy_dep.h:
4697         Added ref to poly_conn.o.
4699         * objects/standard/polyline.c (polyline_draw): 
4700         * objects/standard/zigzagline.c (zigzagline_draw): 
4701         * objects/standard/arc.c (arc_draw): 
4702         * objects/standard/line.c (line_draw):
4703         Draw lines before arrows. This makes hollow arrows not
4704         show the line.
4706 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
4708         Changes from Kim Peasley <kpeasley@ior.com> 
4709                 
4710         * objects/UML/class.c:
4711         Break lines with long operations so classes won't be
4712         so wide.
4714         * objects/UML/uml.[ch]:
4715         Helperfunctions for the above.
4716         
4717         * objects/UML/objects.c:
4718         Fix bug that duplicated the text in the attributes
4719         textwidget each time the object was selected.
4720         
4721 1999-05-12  Alexander Larsson  <alla@lysator.liu.se>
4723         Changes from Lars R. Clausen <lrclause@cs.uiuc.edu>
4724         
4725         * app/modify_tool.c:
4726         * app/modify_tool.h:
4727         Control-drag is restricted to vertical/horizontal movement
4728         
4729         * lib/object.h:
4730         ModifierKeys argument added to object_move_handle
4732         * app/connectionpoint_ops.c:
4733         * app/create_object.c:
4734         * app/object_ops.c:
4735         * objects/ER/attribute.c:
4736         * objects/ER/entity.c:
4737         * objects/ER/participation.c:
4738         * objects/ER/relationship.c:
4739         * objects/UML/actor.c:
4740         * objects/UML/association.c:
4741         * objects/UML/class.c:
4742         * objects/UML/classicon.c:
4743         * objects/UML/component.c:
4744         * objects/UML/constraint.c:
4745         * objects/UML/dependency.c:
4746         * objects/UML/generalization.c:
4747         * objects/UML/implements.c:
4748         * objects/UML/large_package.c:
4749         * objects/UML/lifeline.c:
4750         * objects/UML/message.c:
4751         * objects/UML/note.c:
4752         * objects/UML/object.c:
4753         * objects/UML/realizes.c:
4754         * objects/UML/small_package.c:
4755         * objects/UML/state.c:
4756         * objects/UML/usecase.c:
4757         * objects/network/bus.c:
4758         * objects/standard/arc.c:
4759         * objects/standard/box.c:
4760         * objects/standard/ellipse.c:
4761         * objects/standard/image.c:
4762         * objects/standard/line.c:
4763         * objects/standard/polyline.c:
4764         * objects/standard/textobj.c:
4765         * objects/standard/zigzagline.c:
4766         Changed calls to move_handle to pass the new argument.
4767         
4768         * lib/widgets.c:
4769         * lib/widgets.h:
4770         Default line width, color etc #define'd
4771         
4772         * po/da.po:
4773         Updates of danish menus
4775 1999-05-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
4777         * dia.xpm
4778         * dia_gnome_icon.png
4779         * dia_gnome_menu_icon.png
4780         * dia_logo.png
4781         Graphics by Toussaint Frédéric <ftoussin@club-internet.fr>.
4783         * app/commands.c
4784         About dialog shows dia_logo.png. Removed the GNOME about dialog.
4786         * Makefile.am
4787         Distribute the icons and install logo in pkgdatadir.
4788         
4789         * app/Makefile.am
4790         Added DATADIR-define.
4791         
4792 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
4793         Patches from Enrico Scholz <enrico.scholz@wirtschaft.tu-chemnitz.de>
4795         * dia.spec:
4796         Updated version number, made setup quiet, can build from cvs,
4797         --enable-gnome, now using automake 1.4 DESTDIR feature, install-strip
4799         * lib/Makefile.am
4800         * objects/ER/Makefile.am
4801         * objects/UML/Makefile.am
4802         * objects/network/Makefile.am
4803         * objects/standard/Makefile.am
4804         now builds better with gnome
4806         * objects/UML/class_dialog.c
4807         Fixed typo -> po files must be updated too!!
4808         
4809 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
4811         * lib/dummy_dep.h:
4812         Added reference so that widgets.o gets linked to the app.
4814 1999-04-23  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4816         * objects/UML/classicon.c: 
4817         Added object mode.
4819         * objects/UML/actor.c: 
4820         Changed position of 'snap-to-grid' so connection points are
4821         in the grid.
4823 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
4825         * objects/UML/classicon.c:
4826         Changed position of 'snap-to-grid'.
4827         By Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
4828         
4829 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
4831         * objects/network/antenna.c
4832         * objects/network/flash.c
4833         * objects/network/hub.c
4834         * objects/network/modem.c
4835         * objects/network/modularswitch.c
4836         * objects/network/rj45plug.c
4837         * objects/network/scead-plug.c
4838         * objects/network/network.c
4839         * objects/network/Makefile.am
4840         * objects/network/pixmaps/antenna.xpm
4841         * objects/network/pixmaps/flash.xpm
4842         * objects/network/pixmaps/hub.xpm
4843         * objects/network/pixmaps/modem.xpm
4844         * objects/network/pixmaps/modularswitch.xpm
4845         * objects/network/pixmaps/rj45plug.xpm
4846         * objects/network/pixmaps/sceadplug.xpm
4847         * objects/network/pixmaps/Makefile.am
4848         Lots of new network objects from
4849         Roland Steinbach <roland@support-system.com>.
4851 1999-04-15  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4853         * objects/UML/classicon.c: 
4854         Fixed connection positions, saved type as int (it has 3 states),
4855         and other small fixes.
4856         
4857 1999-04-14  Alexander Larsson  <alla@lysator.liu.se>
4859         * app/preferences.c:
4860         * app/load_save.c:
4861         Added preference compress_save. It lets dia save uncompressed
4862         xml files.
4864         * objects/UML/class.c:
4865         Fixed bug with size calculation on methods that had class scope.
4866         
4867 1999-04-13  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4869         * objects/UML/usecase.c: 
4870         Added collaboration mode
4871         Fixed connection points with text > ellipse bug and other 
4872         small things
4874         * objects/UML/state.c:
4875         Fixed bug of bad position of text after being either end
4876         or begin, moved and returned to text
4878 1999-04-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
4880         * app/preferences.c: Add prototype declaration for prefs_apply.
4882 1999-04-11  Alexander Larsson  <alla@lysator.liu.se>
4884         * app/preferences.c:
4885         Added 'ok' button.
4886         Apply don't hide window.
4888         * app/properties.c:
4889         Add 'ok' button.
4891         * objects/UML/object.c:
4892         * objdcts/UML/state.c:
4893         Some data was not copied on copy.
4895         This patch is from
4896         Ben Hochstedler <benh@eeyore.moneng.mei.com>
4898 1999-04-09  Alexander Larsson  <alla@lysator.liu.se>
4900         * app/Makefile.am:
4901         Changed link order between X and libxml.
4902         Some people had problems with an old libz in their
4903         x11 directory.  
4905 1999-04-09  Kjartan Maraas  <kmaraas@online.no>
4907         * po/no.po: updated translation.
4908         
4909 1999-04-08  Lars R. Clausen <lrclause@cs.uiuc.edu>
4911         * lib/message.c (message_error):
4912         Fixed small error.
4914         * app/commands.[ch]:
4915         * app/diagram.[ch]:
4916         Added begining of xfig importing
4918 1999-04-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4920         * objects/UML/pixmaps/state.xpm: 
4921         * objects/UML/state.c: 
4922         New UML object state machine.
4924         * objects/UML/uml.c:
4925         * objects/UML/Makefile.am:
4926         * objects/UML/pixmaps/Makefile.am:
4927         Added the state object.
4928         
4929 1999-04-08  Alejandro Aguilar Sierra  <ale@bucefalo>
4931         * objects/UML/usecase.c: 
4932         Added dialog to allow move text outside the ellipse.
4934 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
4936         * Released Dia 0.41
4937         Tag called DIA_0_41
4939         * NEWS:
4940         Updates for 0.41.
4941         
4942 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
4944         * configure.in:
4945         Updated version number to 0.41
4947         * po/*.po:
4948         Update po-files
4950 1999-04-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
4952         * app/app_procs.c
4953         Changed errormessage for --export-to-ps. Removed call to 
4954         g_log_set_always_fatal().
4956         * app/diagram.c
4957         * app/disp_callbacks.c
4958         * app/load_save.c
4959         (i18n) Removed gettext from some debugmessages.
4961         * app/menus.c
4962         Small fix in GNOME-menus. Added warning that will help track
4963         problems with translations.
4965         * po/sv.po
4966         (i18n) Updated swedish translation.
4968 1999-04-02  Alexander Larsson  <alla@lysator.liu.se>
4970         * po/da.po:
4971         New updates
4973 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
4975         * po/da.po:
4976         * po/no.po:
4977         Some fixes.
4978         
4979 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
4981         * po/da.po:
4982         (i18n) Updated the danish translation.
4983         From Lars R. Clausen.
4985 1999-04-01  Fredrik Hallenberg  <hallon@lysator.liu.se>
4987         * app/menus.c
4988         (i18n) The popup menu is translated now.
4990         * po/sv.po
4991         (i18n) Updated swedish translation.
4993 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
4995         * Released Dia 0.40
4996         Tag called DIA_0_40
4998         * NEWS:
4999         Updated for new release
5000         
5001 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
5003         * objects/network/bus.c:
5004         Added initialization of properties dialog to NULL.
5006         * app/commands.c (edit_cut_callback):
5007         Update menu sensitivity when cut object.
5009         * app/modify_tool.c (click_select_object):
5010         * app/modify_tool.c (modify_button_release): 
5011         Call diagram_update_menu_sensitivity() when
5012         selecting objects to update stuff that depends
5013         on selected/not selected.
5015 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
5017         * Makefile.am:
5018         Change order of subdir so that libintl.a builds.
5019         Now passed make distcheck.
5021 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5023         * lib/font.c (init_x11_font):
5024         Stupid bug fixed.
5026 1999-03-28  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5028         * objects/UML/pixmaps/classicon.xpm: 
5029         * objects/UML/classicon.c:
5030         * objects/UML/uml.c:
5031         Added the class stereotype icon objects.
5033         * app/commands.c:
5034         Changed default ps extension from .ps to .eps.
5035         
5036 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5038         * lib/Makefile.am:
5039         Added diamenu.h and intl.h
5041         * lib/font.c:
5042         Stupid typo fix.
5043         
5044         * objects/UML/pixmaps/Makefile.am:
5045         Added message.xpm
5047         * objects/standard/pixmaps/Makefile.am:
5048         Added image.xpm
5050 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5052         * lib/font.c:
5053         Use a scalable font before fixed when real font not found.
5055         * app/commands.c:
5056         Removed warning.
5058         * objects/standard/image.c:
5059         Better handling of loading/saving of images.
5061         * INSTALL:
5062         Added some text about cvs, fonts and rewrote some parts.
5064         * TODO:
5065         Updated with new stuff.
5066         
5067         * configure.in:
5068         Bump up version number to 0.40.
5069         
5070 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5072         * app/display.c:
5073         Moved diagram_add_ddisplay() call into new_display().
5074         Fixed new_display to not use uninitialized variables
5075         causing loaded files to show up as black (or garbage).
5076         
5077         * app/commands.c:
5078         * app/app_procs.c:
5079         Removed unneeded calls to diagram_add_ddisplay().
5080         
5081 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5083         * objects/UML/lifeline.c:
5084         Fixed bug in copy.
5085         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
5087         * objects/UML/message.c:
5088         Fixed bug loading messages with null-text.
5089         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
5091 1999-03-27  Fredrik Hallenberg  <hallon@lysator.liu.se>
5093         * po/sv.po
5094         Updated swedish translation.
5096         * app/menus.c
5097         (GNOME) Removed help-browser from help menu. Fixed typo.
5099         * app/interface.c
5100         (GNOME) Accelerators in diagrams should work now. 
5102 1999-03-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
5104         * app/app_procs.c
5105         * app/commands.c
5106         * app/defaults.c
5107         * app/disp_callbacks.c
5108         * app/display.c
5109         * app/interface.c
5110         * app/menus.c
5111         * app/preferences.c
5112         * app/render_eps.c
5113         * lib/diagramdata.c
5114         * lib/font.c
5115         * lib/message.c
5116         * lib/widgets.c
5117         * objects/ER/*.c
5118         * objects/UML/*.c
5119         * objects/network/*.c
5120         * objects/standard/*.c
5121         * po/update_pofiles_in.sh
5122         * po/POFILES.in
5123         More i18n. All strings (expect rare debug messages) can be
5124         translated now. Moved intl.h from app to lib. Updated
5125         update_pofiles_in.sh to check all .c-files.
5127 1999-03-23  Alexander Larsson  <alla@lysator.liu.se>
5129         * app/disp_callbacks.c (ddisplay_canvas_events):
5130         Don't drop keys while num-lock, scroll-lock etc is on.
5132 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5134         * app/render_eps.c (draw_image):
5135         Fixed exporting of images.
5136         Still not perfect, but not outright buggy.
5137         
5138 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5140         * configure.in:
5141         * po/hu.po:
5142         Added hungarian translation. By Shooby Ban <bansz@szif.hu>.
5144         * app/Makefile.am:
5145         Added $* to the dia call in run_dia.sh
5147 1999-03-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5148         
5149         * lib/color.[ch]:
5150         Added color_equals() call.
5152         * objects/standard/arc.c:
5153         * objects/standard/line.c:
5154         Don't save unneccesary data.
5155         
5156         * objects/standard/box.c:
5157         * objects/standard/ellipse.c:
5158         * objects/standard/image.c:
5159         * objects/standard/polyline.c:
5160         * objects/standard/zigzagline.c:
5161         Share properties dialog.
5162         Don't save unneccesary data.
5163         
5164 1999-03-22  Seth Alves  <alves@hungry.com>
5166         * app/menus.c:
5167         * app/diagram.c:
5168         * app/display.c:
5169         small changes so that gnome menus aren't broken
5170         
5171 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5173         * po/da.po:
5174         Added danish translation from lrclause@cs.uiuc.edu.
5176         * po/POFILES.in:
5177         Updated file.
5179         * po/update_pofiles_in.sh:
5180         Added script that updates POFILES.in.
5181         This should probably be run automatically from somewhere.
5183 1999-03-19  Alexander Larsson  <alla@lysator.liu.se>
5185         * app/diagram.[ch]:
5186         Added function diagram_update_menu_sensitivity() which
5187         sets the sensitivity of some menu items. This function
5188         is called at each diagram state change (from diagram_modified()).
5189         This is needed  because otherwise the keyboard accelerators
5190         don't work correctly.
5192         * app/display.[ch]:
5193         Changed display_set_menu_sensitivity() to display_update_menu_state().
5194         Moved lots of code to diagram_update_menu_sensitivity() in
5195         diagram.c. Optimized to only look up menu-items from path:s once.
5196         
5197         * app/disp_callbacks.c:
5198         * app/interface.c:
5199         When we get a GDK_FOCUS_CHANGE, update menu sensitivity.
5200         Need to set GDK_FOCUS_CHANGE_MASK.
5201         
5202         * app/create_object.c:
5203         Call diagram_modified when an object has been created and
5204         selected so that the menu sensitivity is updated. 
5206         * app/menus.[ch]:
5207         removed menus_set_sensitive() and menus_set_state(). Exported
5208         renamed function menus_get_item_from_path().
5210 1999-03-15  Alexander Larsson  <alla@lysator.liu.se>
5212         * app/disp_callbacks.c:
5213         Show (empty) object menus on object that has none.
5214         Show title on object menus.
5216         * app/display.c:
5217         Set zoom factor correctly when opening new displays.
5218         Better setting of scrollbars.
5220         * app/grid.c:
5221         * app/menus.h:
5222         Some reformating cleanup.
5224         * lib/diamenu.h:
5225         Added title to object menus.
5227         * objects/*/*.c:
5228         Added object menu method (NULL-valued) to all objects.
5230         * objects/standard/polyline.c:
5231         Added title to object menu.
5233 1999-03-14  Alexander Larsson  <alla@lysator.liu.se>
5235         * app/preferences.[ch]:
5236         New files. Implements the preferences dialog and
5237         loading/saving of ~/.diarc.
5239         * app/Makefile.am:
5240         Added preferences.[ch].
5242         * app/app_procs.c:
5243         Load preferences on startup.
5245         * app/commands.[ch]:
5246         Added file_preferences_callback to show the preferences dialog.
5248         * app/create_object.c:
5249         Update extents when creating object.
5250         Use the reset_tools_after_create preferences setting.
5252         * app/display.c:
5253         Use preferences when creating new display.
5255         * app/menus.c:
5256         Add preferences to menu.
5258         * app/defaults.c:
5259         * app/layer_dialog.c:
5260         * app/properties.c:
5261         Don't allow shrinking of dialog.
5262         Add i18n of some strings.
5264 1999-03-11  Kjartan Maraas  <kmaraas@fib.hl.no>
5265         * po/no.po:
5266         Norwegian translation added.
5267         
5268 1999-03-11  Alexander Larsson  <alla@lysator.liu.se>
5270         * objects/standard/line.c: 
5271         * objects/standard/arc.c: 
5272         * objects/standard/polyline.c: 
5273         * objects/standard/zigzagline.c:
5274         Loading of arrow data fixed.
5276 1999-03-09  Alexander Larsson  <alla@lysator.liu.se>
5278         * app/commands.c:
5279         Update extents when saving and exporting to postscript.
5280         Fixes a bug with postscript bounding-box being wrong.
5282         * app/defaults.c:
5283         Changed border width from 5 to 2.
5285         * app/group.c:
5286         Move grouped objects by the move-point of the first object.
5287         Fixes bug that made all objects in the group be off-grid
5288         when moving the group, even though all objects was on-grid.
5290         * app/layer_dialog.c:
5291         Update extents when changing layer.
5293 1999-03-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5295        * objects/UML/uml.c: 
5296        * objects/UML/component.c: 
5297        * objects/UML/pixmaps/component.xpm: 
5298        Added the UML component object
5299         
5300 1999-03-04  Seth Alves  <alves@hungry.com>
5302         * objects/UML/generalization.c (generalization_create): avoid
5303         math on uninitialized genlz->text_width (NaN causes sigfpe)
5304         
5305         * objects/UML/realizes.c (realizes_create): same
5307         * objects/UML/dependency.c (dependency_create): same
5309 1999-03-01  Seth Alves  <alves@hungry.com>
5311         * app/display.c (ddisplay_active): don't fly a warning panel
5312         if ddisplay_active is called when no views are open.
5314         * app/commands.c (set_default_file_selection_directory): set
5315         file selector's default directory if there is already
5316         a document open.
5318 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5320         * INSTALL:
5321         New info about imlib requirements.
5323         * Configure.in:
5324         Added lib/pixmaps/Makefile to created makefiles.
5326         * app/app_procs.c:
5327         * app/commands.c:
5328         Change from obsoleted to newer gtk calls.
5329         
5330         * load_save.c:
5331         Pass filename of the diagram when loading and saving.
5332         This creates better oportunities to handle filename saving.
5334         * lib/object.h:
5335         Pass filenames to load and save methods.
5336         
5337         * lib/dia_image.[ch]:
5338         Added dia_image_get_broken() call that returns a image which
5339         is used for 'broken' images.
5340         
5341         * lib/pixmaps/.cvsignore:
5342         * lib/pixmaps/Makefile.am:
5343         * lib/pixmaps/broken.xpm:
5344         New files for the broken image bitmap.
5346         * lib/widgets.c:
5347         Fixed bug with double destroyed filedialog.
5349         * objects/*/*.c:
5350         Updated load and save prototypes to use the new filename argument.
5352         * objects/image.c:
5353         Render broken image instead of line when got no image.
5354         Use the new filename in load and save to save (if possible)
5355         relative pathnames and to better try to find loaded images.
5357 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5359         * TODO:
5360         Some updates to the todo file.
5361         
5362         * app/menus.c:
5363         * app/display.c:
5364         Place over/place over => sent to back/bring to front.
5365         Added some keyboard shortcuts to menus.
5366         
5367 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5369         * lib/dia_xml.c:
5370         Changed string saving/loading to a new method. This should
5371         be much better att handling &,<,> and whitespaces.
5372         Loading strings of the old kind is still supported for backwards
5373         compatibility.
5375         * samples/ER-demo.dia:
5376         * samples/UML-demo.dia:
5377         Updated to use the new strings.
5378         
5379         * app/load_save.c:
5380         statusbar modified update fix.
5382 1999-02-27  Seth Alves  <alves@hungry.com>
5384         * app/app_procs.c (app_init): added a --export-to-ps option
5385         which will cause dia to load a dia file and save it as ps
5386         and then exit.  this is a little bogus, because it still
5387         pops up a window.  this option only shows up if --enable-gnome
5388         is used
5390         * app/display.c (display_set_menu_sensitivity): no Edit/Delete
5391         menu when built with --enable-gnome
5393         * app/interface.c (create_display_shell): build status bar
5394         even if --enable-gnome is used
5396         * app/menus.c: menu fixes for --enable-gnome
5398         * app/commands.c (file_open_dialog_ok_callback): fixed up
5399         menus when --enable-gnome is used
5400         (file_export_to_eps_callback): set a default file name
5401         when dialog is created
5403 1999-02-27  Alexander Larsson  <alex@c125.ryd.student.liu.se>
5405         * objects/UML/association.c (association_create):
5406         Fixed usage of not initialized variable.
5407         Pointed out by Seth Alves <alves@hungry.com>.
5409 1999-02-24  Alexander Larsson  <alex@c125.ryd.student.liu.se>
5411         * configure.in:
5412         Fixed detection of gnome-xml.
5413         From Valtteri Vuorikoski <vuori@k.notcom.org>.
5414         
5415         * app/app_procs.c:
5416         Fixed error detection on dlsym calls. 
5417         From Valtteri Vuorikoski <vuori@k.notcom.org>.
5419 1999-02-23  Alexander Larsson  <alla@lysator.liu.se>
5421         * objects/UML/message.c (fill_in_dialog):
5422         Fixed warnings.
5424 1999-02-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5426         * objects/standard/zigzagline.c:
5427         * objects/standard/polyline.c:
5428         * objects/standard/line.c:
5429         * objects/standard/arc.c:
5430         * lib/widgets.h:
5431         * lib/arrows.h:
5432         * lib/widgets.c:
5433         Support for sizeable arrows. 
5435         * objects/standard/box.c:
5436         * objects/standard/ellipse.c:
5437         * objects/standard/image.c:
5438         Changed creation handle to lower-right.
5439         Transparent box/ellipse.
5440         
5441         * objects/standard/image.c:
5442         Better layout of properties boxes.
5444 1999-02-20  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5446         * objects/UML/message.c (fill_in_dialog): 
5447         Fixed dialog fill in. Common dialog for all messages.
5449         * objects/UML/object.c: 
5450         Added multiple instance. Dialog related bugs fixed.
5451         Common dialog for all instances. Completed copy and destroy.
5453         * objects/UML/lifeline.c (lifeline_load): 
5454         Conn initialization bug fixed and few bad loading prevention flags.
5455         Common dialog for all lifeline objects.
5456         
5457 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5459         * lib/dia_image.[ch]:
5460         More work on the DiaImage abstraction.
5461         
5462         * app/app_procs.c:
5463         * app/render_eps.c:
5464         * app/render_gdk.c:
5465         * objects/standard/image.c:
5466         Use the new DiaImage calls.
5468 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5470         * app/menus.c:
5471         * app/display.c:
5472         Reversed the meaning of align horizontal/vertical.
5474 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5476         * app/load_save.c (diagram_load):
5477         Statusbar update fix.
5479 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5481         * app/interface.c (create_display_shell):
5482         Fixed status bar size.
5483         
5484 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5486         * lib/dia_image.[ch]:
5487         Added extern declaration for dia_image_release.
5488         Removed dia_image_draw, as it's not neseccary.
5490 1999-02-14  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5491         
5492         * app/object_ops.c: 
5493         * app/menus.c: 
5494         Added equal distance alignment both vertical and horizontal.
5495         
5496         * objects/UML/object.c: 
5497         Added a couple of attributes to load/read that were missing.
5499         * objects/UML/lifeline.c: 
5500         Better handling of handles. Fixed another bug I forgot to add
5501         to my last patch.
5502         
5503 1999-02-13  Alexander Larsson  <alla@lysator.liu.se>
5505         Patch from Lars Clausen <lrclause@shasta.cs.uiuc.edu>
5506         
5507         * lib/dia_image.[ch]:
5508         * lib/Makefile.am:
5509         New files. DiaImage wraps the GdkImlibImage.
5511         * lib/render.h:
5512         * app/render_eps.c:
5513         * app/render_gdk.c:
5514         * lib/render_store.[ch]:
5515         * objects/standard/image.c:
5516         Use the new DiaImagetype.
5518         * lib/widgets.c:
5519         Removed unused variable to eliminate  warning.
5521 1999-02-11  Alexander Larsson  <alla@lysator.liu.se>
5523         * objects/standard/box.c:
5524         Added rounded corners on the box object.
5526         * lib/widgets.[ch]:
5527         Updated the DiaFileSelector widget.
5528         
5529 1999-02-09  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5531         * objects/UML/object.c (objet_draw): 
5532         Completed underlining of all object name lines. 
5534         * objects/UML/message.c (fill_in_dialog): 
5535         Fixed a bug that filled incorrectly the message's dialog.
5537         * objects/UML/lifeline.c (lifeline_load): 
5538         Some cleanning and fixed a couple of bugs that caused
5539         crashes after reading diagrams with lifelines.
5541         * lib/text.c: 
5542         Added flags to prevent crash with void strings
5544 1999-02-07  Matthias Köster <Matthias.Koester@Informatik.Uni-Oldenburg.DE>
5545         * app/display.[ch]:
5546         Added statusbar to the display widget. Currently shows the zoom
5547         factor and modified flag of the viewed diagram. The statusbar is
5548         updated upon calls to ddisplay_zoom and ddisplay_update_statusbar.
5549         This caused the following additions:
5550         
5551         * app/diagram.[ch]:
5552         Added function diagram_set_modified. Calls
5553         ddisplay_update_statusbar for all displays showing the modified diagram.
5554         Changed diagram_modified to call diagram_set_modified.
5555         
5556         * app/interface.c:
5557         Added the creation of the statusbar.
5558         
5559         * app/load_save.c:
5560         diagram_save now calls diagram_set_modified instead of setting
5561         dia->modified. Needed to force call to display_update_statusbar
5562         
5563         * app/commands.c:
5564         Changed the way view_show_all works. Now calls ddisplay_zoom
5565         instead of directly setting the zoom_factor, so the zoom factor is
5566         correctly shown in the statusbar.
5568         * app/magnify.c:
5569         Fixed rubberband zoom to use ddisplay_zoom().
5570         
5571 1999-02-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
5573         * app/app_procs.c
5574         Rudimentary GNOME session management.
5575         
5576         * app/disp_callbacks.c
5577         * app/interface.c
5578         * app/menus.c
5579         * app/menus.h
5580         GNOME menus. Problems: 
5581         Callbacks doesn't get user_data.
5582         Weird warnings when creating popup menus.
5583         menus_set_sensitive(), menus_set_state() doesn't work.
5585 1999-02-05  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5587         * configure.in:
5588         Add AM_PATH_GDK_IMLIB() call.
5590         * app/Makefile.am:
5591         Add gdk_imlib to linking flags.
5593         * app/app_procs.c:
5594         Init gdk_imlib.
5595         Print library-loading error messages on stdout too.
5597         * app/interface.c:
5598         Add standard image to toolbox.
5599         
5600         * app/render_eps.c: 
5601         Set a more reasonable dot length.  Fixed
5602         missing initialization of dot length.
5603         Added draw_image methods.
5605         * app/render_gdk.c (new_gdk_renderer): 
5606         Dot a bit wider.  Looks good in normal mode now.
5608         * objects/standard/image.c:
5609         * objects/standard/pixmaps/image.xpm:
5610         New files. Standard object for images.
5611         
5612         * app/render_eps.c (set_linestyle):
5613         * app/render_gdk.c (set_linestyle):
5614         * lib/widgets.c (dia_line_style_selector_init): 
5615         * lib/render.h: 
5616         New line style DOTTED.
5618         * lib/render.h:
5619         * lib/render_store.c:
5620         Change DrawImage call to use gdk_imlib.
5622         * lib/widgets.[ch]:
5623         Added widgets for selecting files.
5624         Added dotted to the linestyle selector.
5626 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
5628         * objects/network/printer.c:
5629         * objects/network/network.c:
5630         * objects/network/pixmaps/printer.xpm:
5631         * objects/network/.cvsignore:
5632         * objects/network/Makefile.am:
5633         * objects/network/pixmaps/Makefile.am:
5634         New printer object in network.
5635         From Martin Hawlisch <hawlisch@roxi.rz.fh-mannheim.de>
5637         * TODO:
5638         Added known XML bug.
5639         
5640 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
5642         * app/load_save.c:
5643         * lib/dia_xml.c:
5644         Reverted back from #include <gnome-xml/tree.h> to
5645         #include <tree.h> as this is fixed by the xml-config program.
5646         The former way broke for some people.
5647         Reported by blizzard@redhat.com.
5649         * objects/UML/lifeline.c:
5650         * objects/UML/message.c:
5651         * objects/UML/object.c:
5652         Removed some warnings.
5653         
5654 1999-02-04  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5656         * objects/UML/lifeline.c: 
5657         Fixed connection points over the life line when the focus of
5658         control is not drawn.
5660         * objects/UML/message.c: 
5661         Now a recursive message can be freely resized using the handles.
5663 1999-02-02  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5665         * objects/UML/lifeline.c:
5666         Added connection points.
5667         Added properties dialog with the option to draw/hide focus of control
5668         box and destruction mark.
5670         * objects/UML/object.c: 
5671         Added properties dialog and stereotype, explicit state and attributes. 
5672         It's also possible to mark the object as active.
5674         * objects/UML/pixmaps/object.xpm: 
5675         Cosmetic change.
5677         * objects/UML/message.c:
5678         Added "recursive" message type (was not necessary to use OrthConn).
5680 1999-02-02  Alexander Larsson  <alla@lysator.liu.se>
5682         * objects/standard/arc.c:
5683         Removed old debug code. Fixes a visual bug. From lrclause@cs.uiuc.edu.
5685 1999-02-01  Alexander Larsson  <alla@lysator.liu.se>
5687         Patch from Lars R. Clausen <lrclause@cs.uiuc.edu>
5688         
5689         * app/load_save.c:
5690         * lib/dia_xml.c:
5691         Update xml includes to gnome-xml/*.h.
5693         * objects/standard/arc.c:
5694         Only one property dialog per type.
5695         Fix arrows directions.
5697         * objects/standard/box.c:
5698         * objects/standard/ellipse.c:
5699         * objects/standard/textobj.c
5700         Added default properties dialog.
5701         
5703 1999-01-31  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5705         * objects/UML/Makefile.am: 
5706         * objects/UML/uml.c:
5707         * objects/UML/lifeline.c: 
5708         * objects/UML/object.c: 
5709         * objects/UML/message.c:
5710         * objects/UML/pixmaps/lifeline.xpm: 
5711         * objects/UML/pixmaps/object.xpm: 
5712         * objects/UML/pixmaps/message.xpm:
5713         Added 3 new UML objects for dynamic modeling. To avoid internal 
5714         conflicts, the name "objet" is used for object "object".        
5716         * lib/arrows.[ch]: 
5717         Added ARROW_HALF_HEAD arrow type to allow drawing asynchronous
5718         UML messages.
5719         
5720 1999-01-30  Alexander Larsson  <alla@lysator.liu.se>
5722         * app/display.[ch]:
5723         * app/modify_tool.c:
5724         Added autoscrolling while doing rubber-band select.
5725         This patch from Matthias Köster
5726         (Matthias.Koester@Informatik.Uni-Oldenburg.DE)
5727         
5729 1999-01-28  Alexander Larsson  <alla@lysator.liu.se>
5731         * app/defaults.[ch]:
5732         New files, deals with default properties dialog.
5734         * lib/diamenu.h:
5735         New file. Contains definitions for the new object menu.
5737         * lib/poly_conn.[ch]:
5738         New file. Base class for poly-line like objects.
5740         * objects/standard/polyline.c:
5741         * objects/standard/pixmaps/polyline.xpm:
5742         New files. Polyline object.
5744         * app/app_procs.c:
5745         Fixed bug with infinite loop when registering sheets.
5746         
5747         * app/commands.c:
5748         Removed unneccesary stuff.
5750         * app/disp_callbacks.c:
5751         Support for object menus.
5753         * app/interface.c:
5754         Added polyline to toolbox.
5755         Added call to tool_options_dialog_show() when double clicking on
5756         tool.
5758         * app/tool.[ch]:
5759         New function tool_options_dialog_show() for tool properties.
5761         * lib/arrows.[ch]:
5762         Added ARROW_NONE.
5764         * lib/object.h:
5765         Added ObjectType methods for handling object default dialogs.
5766         Added Object method for handling object_menu.
5767         Added unused methods to ObjectTypeOps for future binary
5768         compatibility.
5770         * lib/widgets.[ch]:
5771         Added DiaArrowTypeSelector widget.
5773         * objects/standard/arc.c:
5774         * objects/standard/zigzagline.c:
5775         Added support for default properties.
5777         * objects/standard/line.c:
5778         Added support for default properties.
5779         Just use one properties dialog for all line objects. NOTE: This
5780         seems to have a bug. We're working on it.
5782         * standard/standard.c:
5783         Add the polyline object.
5785 1999-01-27  Alexander Larsson  <alla@lysator.liu.se>
5787         * app/modify_tool.c:
5788         Commented out buggy transitive select function. It wasn't really
5789         meant to go into cvs.
5790         
5792 1999-01-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
5794         * autogen.sh:
5795         * acconfig.h:
5796         * configure.in:
5797         * Makefile.am:
5798         * app/Makefile.am:
5799         * po/POTFILES.in:
5800         * app/intl.h
5801         i18n-support.
5803         * po/sv.po:
5804         Swedish translation. Not completed.
5805         
5806         * configure.in:
5807         * acconfig.h:
5808         Added possibility to enable GNOME specific code with configure.
5810         * configure.in:
5811         Added possibility to set debug level with configure.
5813         * commands.[hc]:
5814         Added about dialog.
5816         * app_procs.c
5817         * commands.c
5818         * interface.c
5819         * menus.c
5820         Added some GNOME specific code. Not ready for use.
5822 1999-01-24  Alexander Larsson  <alla@lysator.liu.se>
5824         * INSTALL:
5825         Added text about needing gtk 1.1.13 and gnome-xml.
5826         
5827         * NEWS:
5828         Described changes since last version (0.20).
5830         Released version 0.30, tagged DIA_0_30.
5832 1999-01-22  Alexander Larsson  <alla@lysator.liu.se>
5834         * app/magnify.c (magnify_button_release):
5835         Fixed a problem when zooming in on a very small box would
5836         not release the grabbed pointer-focus.
5838 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
5840         * app/load_save.c (diagram_load):
5841         Be somewhat more robust when loading files that
5842         are not diagrams.
5843         
5844 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
5846         * app/app_procs.c:
5847         * objects/ER/er.c:
5848         * objects/UML/uml.c:
5849         * objects/network/network.c:
5850         * objects/standard/standard.c:
5851         Added versioning of object libraries.
5853         * app/create_object.c:
5854         Don't change tool when an object is created.
5855         
5856         * objects/network/network.c:
5858         * TODO:
5859         Update
5861 1999-01-19  Alexander Larsson  <alla@lysator.liu.se>
5863         * configure.in:
5864         Updated gtk requirement to Gtk+ 1.1.13.
5866         * app/display.c:
5867         Always add one screenful of scrolling space on
5868         each side of a diagram window.
5870 1999-01-19  Jeff Garzik  <jgarzik@pobox.com>
5872         * autogen.sh:
5873         Tell automake to auto-install missing files.
5875         * app/menus.c:
5876         Renamed deprecated Gtk+ function.
5878 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
5880         * Makefile.am:
5881         * configure.in:
5882         * samples/Makefile.am:
5883         * samples/ER-demo.dia:
5884         * samples/UML-demo.dia:
5885         Added samples directory.
5886         Added samples for ER and UML.
5887         
5888         * app/commands.c:
5889         * app/disp_callbacks.c:
5890         * app/menus.c:
5891         Zoom is done by sqrt(2) instead of 2.
5892         Lots of more zoom options in the menu.
5894         * objects/ER/relationship.c:
5895         Relationships have 8 connectionpoints instead of 4.
5897         * objects/UML/class.c:
5898         UML class name font a bit smaller.
5899         Fixed stupid bug in the copy operation.
5900         
5901         * app/display.c:
5902         Displays are opened at 500x400 instead of 256x256.
5904         * app/load_save.c:
5905         Fixup of internal error message.
5907         * app/color_area.c:
5908         * app/diagram.c:
5909         * app/modify_tool.c:
5910         * lib/object.c:
5911         Removed debug printf's.
5912         
5913         * TODO (BUGS):
5914         Added new known bug.
5916 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
5918         * app/interface.c:
5919         * app/menus.c:
5920         Fixed so accelerator groups work in all windows.
5921         Updated to new gtk function names.
5923         * TODO (BUGS):
5924         Removed fixed bug.
5926         * app/display.c:
5927         Updated to new gtk function names.
5928         Set sensitivity of the align menu items.        
5930         * objects/ER/pixmaps/Makefile.am:
5931         * objects/UML/pixmaps/Makefile.am:
5932         * objects/network/pixmaps/Makefile.am:
5933         Fix so that make dist works.
5935         * app/app_procs.c:
5936         * app/color_area.c:
5937         * app/commands.c:
5938         * app/diagram.c:
5939         * app/grid.c:
5940         * app/layer_dialog.c:
5941         * app/load_save.c:
5942         * app/object_ops.c:
5943         * app/properties.c:
5944         * lib/diagramdata.[ch]: 
5945         * lib/message.c:
5946         * lib/objects/ER/attribute.c:
5947         * lib/objects/ER/entity.c:
5948         * lib/objects/ER/participation.c:
5949         * lib/objects/ER/relationship.c:
5950         * lib/objects/ER/.c:
5951         * objects/UML/actor.c:
5952         * objects/UML/association.c:
5953         * objects/UML/class_dialog.c:
5954         * objects/UML/dependency.c:
5955         * objects/UML/generalization.c:
5956         * objects/UML/large_package.c:
5957         * objects/UML/realizes.c:
5958         * objects/UML/.c:
5959         * objects/UML/.c:
5960         Updated to new gtk function names.
5961         Removed warnings.
5963 1999-01-15  Alexander Larsson  <alla@lysator.liu.se>
5965         * TODO:
5966         Update TODO.
5968         * app/app_procs.c:
5969         Fixed loading of diagrams specified as arguments.
5971         * objects/ER/attribute.c:
5972         * objects/ER/entity.c:
5973         * objects/ER/er.c:
5974         * objects/ER/participation.c:
5975         * objects/ER/relationship.c:
5976         Updated the ER objects.
5977         
5979 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
5981         * configure.in:
5982         * app/Makefile.am:
5983         * objects/Makefile.am:
5984         * objects/ER/attribute.c:
5985         * objects/ER/entity.c:
5986         * objects/ER/er.c:
5987         * objects/ER/participation.c:
5988         * objects/ER/relationship.c:
5989         * objects/ER/pixmaps/Makefile.am:
5990         * objects/ER/pixmaps/attribute.xpm:
5991         * objects/ER/pixmaps/entity.xpm:
5992         * objects/ER/pixmaps/participation.xpm:
5993         * objects/ER/pixmaps/relationship.xpm:
5994         * objects/ER/pixmaps/weakentity.xpm:
5995         First commit of entity relationship objects.
5996         These were done by hallon@lysator.liu.se.
5997         There are still stuff to do on these.
5998         
5999 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
6001         * TODO:
6002         Updates.
6004         * app/diagram.[ch]:
6005         Change diagram_remove_all_selected to take new argument
6006         delete_empty. Empty objects are deleted only if it is TRUE.
6007         Removed call to close_eps_renderer. This is now done in end_render
6008         in the eps renderer.
6010         * app/create_object.c:
6011         * app/layer_dialog.c:
6012         Update calls to diagram_remove_all_selected.
6014         * app/commands.c:
6015         Update calls to diagram_remove_all_selected.
6016         Some code reformating.
6017         Changed order of adding updates i align_h and align_v.
6019         * app/modify_tool.c:
6020         Update calls to diagram_remove_all_selected.
6021         Added pointer grab when doing rubber-band selection, this fixes
6022         the bug when draging the box over to another window.
6024         * app/connectionpoint_ops.[ch]:
6025         diagram_update_connections_object changed to take an argument
6026         update_nonmoved. This lets connections that has not moved, but
6027         the stuff they're connected to has been moved work.
6028         Update calls to the new diagram_update_connections_object.
6030         * app/properties.c:
6031         Update calls to the new diagram_update_connections_object.
6032         Update extents when properties are applied.
6033         
6034         * app/disp_callbacks.c:
6035         Added support for zooming with the '+' and '-' keys.
6037         * app/menus.c:
6038         Removed old keyboard shortcuts for zoom.
6040         * lib/render.h:
6041         Added calls begin_render and end_render to renderer.
6042         These can be used for setup and cleanup.
6044         * lib/diagramdata.c:
6045         Added calls to begin_render and end_render in data_render.
6047         * app/render_gdk.c:
6048         Added begin_render and end_render.
6050         * app/render_eps.[ch]:
6051         Added begin_render and end_render.
6052         Moved close_eps_renderer code to end_render.
6053         Various fixes to the generated eps code. This fixes importing
6054         generated eps into LYX.
6055         
6056 1999-01-12  Alexander Larsson  <alla@lysator.liu.se>
6058         * TODO:
6059         Update of todo.
6060         
6061         * app/menus.c:
6062         Menus for alignment updated.
6064         * app/object_ops.[ch]:
6065         Functions for object alignment updated.
6067         * app/commands.[ch]:
6068         Object alignment callbacks updated.
6069         New diagrams are called Untitled-<nr>.
6071         * app/layer_dialog.c:
6072         Active layer selected when showing layers from new
6073         diagram.
6075         * app/load_save.c:
6076         Compress xml files when saving.
6077         Use xml namespace 'dia'.
6079         * lib/object.h:
6080         Minor comment update.
6082         * objects/UML/class_dialog.c:
6083         Cleanup of the gkt_list_item moving code.
6084         Fixed bug with update of operation when moving parameters.
6086 1999-01-10  Alexander Larsson  <alla@lysator.liu.se>
6088         * app/layer_dialog.[ch]:
6089         Fixed the rest of the layers dialog.
6091         * app/dialog.c:
6092         Added call to redo layer dialogs diagram list when changing
6093         diagram name.
6095         * lib/diagramdata.[ch]:
6096         Added data_raise_layer and data_lower_layer functions for
6097         raising/lowering layers. Added data_add_layer_at for adding a
6098         layer at a specified index.
6100 1999-01-05  Alexander Larsson  <alla@lysator.liu.se>
6102         This is the asierra-990105 patch done by asierra@servidor.unam.mx.
6103                 
6104         * app/app_procs.c:
6105         Added support for reading diagrams from the command line.
6107 1998-12-21  Alexander Larsson  <alla@lysator.liu.se>
6109         This is the asierra-981220 patch done by asierra@servidor.unam.mx.
6110                 
6111         * app/commands.[ch]:
6112         Added objects_align_callback().
6114         * app/menus.c:
6115         Added align objects to menu.
6117         * app/object_ops.[ch]:
6118         Add object_list_align().
6119         
6120 1998-12-17  Alexander Larsson  <alla@lysator.liu.se>
6121         * app/layer_dialog.[ch]:
6122         New files. Handles the layers dialog. Needs a bugfix for glib to
6123         work. Sent patch to gtk-list.
6124         
6125         * app/pixmaps/new.xpm:
6126         * app/pixmaps/eye.xbm:
6127         * app/pixmaps/lower.xpm:
6128         * app/pixmaps/raise.xpm:
6129         * app/pixmaps/delete.xpm:
6130         New files. Images for the layer dialog buttons.
6131         
6132         * lib/diagramdata.h
6133         * lib/diagramdata.c
6134         New files for the DiagramData and Layer structures and functions.
6135         
6136         * app/app_procs.c:
6137         Added call to create_layer_dialog() on startup.
6138         
6139         * app/commands.[ch]:
6140         New callbacks for showing the properties and layout dialog.
6141         Changes for the new DiagramData structure.
6143         * app/connectionpoint_ops.c:
6144         * app/cut_n_paste.c:
6145         * app/diagram.[ch]:
6146         * app/display.[ch]:
6147         * app/group.c:
6148         * app/modify_tool.c:
6149         * app/object_ops.[ch]:
6150         * app/render_eps.c:
6151         * lib/object.[ch]:
6152         Changes for the new DiagramData structure.
6154         * app/interface.c:
6155         * app/properties.c:
6156         Set correct wmclasses.
6158         * app/load_save.c:
6159         Fix load and save of layers.
6161         * diagram.dtd:
6162         Update DTD for layers.
6163         
6164         * app/menus.c:
6165         New menus for dialogs.
6167         
6168         * TODO:
6169         Some updates.
6170         
6171 1998-12-06  Alexander Larsson  <alla@lysator.liu.se>
6173         * TODO:
6174         Removed the gtk 1.1.5 stuff.
6176         * configure.in:
6177         Updated gtk check to version 1.1.5.
6178         Updated version from 0.20 to 0.30
6180         * app/commands.[ch]:
6181         Updated some callbacks to be of type GtkItemFactoryCallback1.
6182         Not all are done yet, but it works anyway.
6184         * app/display.h:
6185         Removed Gtk 1.0.0 GtkAcceleratorTable references.
6186         
6187         * app/interface.c:
6188         * app/menus.[ch]:
6189         Update to Gtk 1.1.x functions.
6190         Use ItemFactory instead of MenuFactory.
6191         
6192         * app/render_gdk.c:
6193         Removed Gtk 1.0.0 references.
6195         * objects/UML/class_dialog.c:
6196         Scrolled window updates for Gtk 1.1.5.
6197         
6198         * lib/dia_xml.c:
6199         Removed ugly fix for gnome-xml bug. Make sure you get the
6200         newest version of gnome-xml from CVS.
6201         
6202 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
6204         * TODO:
6205         Removed the xml load/save line.
6207         * lib/files.[ch]:
6208         Removed files.
6209         
6210         * lib/Makefile.am:
6211         Removed building of files.c
6213         * app/load_save.c:
6214         * lib/connection.c:
6215         * lib/element.c:
6216         * lib/object.c:
6217         * lib/orth_conn.c:
6218         * lib/render_object.c:
6219         * objects/UML/actor.c:
6220         * objects/UML/association.c:
6221         * objects/UML/class.c:
6222         * objects/UML/constraint.c:
6223         * objects/UML/dependency.c:
6224         * objects/UML/generalization.c:
6225         * objects/UML/implements.c:
6226         * objects/UML/large_package.c:
6227         * objects/UML/note.c:
6228         * objects/UML/realizes.c:
6229         * objects/UML/small_package.c:
6230         * objects/UML/uml.c:
6231         * objects/UML/usecase.c:
6232         * objects/network/bus.c:
6233         * objects/standard/arc.c:
6234         * objects/standard/box.c:
6235         * objects/standard/ellipse.c:
6236         * objects/standard/line.c:
6237         * objects/standard/textobj.c:
6238         * objects/standard/zigzagline.c:
6239         Removed all includes of files.h
6241         
6242 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
6244         * dialog.dtd:
6245         Made the val property of string be implied.
6246         This makes it possible to save strings that
6247         are NULL. Just leave out val.
6249         * objects/lib/dia_xml.c:
6250         Fixed string so that it is possible to save strings
6251         that are NULL. Also made an ugly workaround of a
6252         bug in gnome-xml which removes empty properties.
6253         
6254         * objects/lib/orth_conn.c:
6255         Fixed a bug in saving. Forgot to step through the
6256         directions.
6257         
6258         * objects/UML/association.c: 
6259         * objects/UML/class.c: 
6260         * objects/UML/constraint.c: 
6261         * objects/UML/dependency.c: 
6262         * objects/UML/generalization.c: 
6263         * objects/UML/implements.c: 
6264         * objects/UML/large_package.c: 
6265         * objects/UML/note.c: 
6266         * objects/UML/small_package.c:
6267         * objects/UML/realizes.c:
6268         * objects/UML/usecase.c: 
6269         * objects/UML/actor.c: 
6270         Fixed UML objects to save as xml.
6271         The last two were done by asierra@servidor.unam.mx (asierra-981204)
6272         
6273         * objects/UML/uml.[ch]:
6274         Updated *_write() and *_read() functions to use xml.
6276         * objects/network/bus.c: 
6277         * objects/network/computer.c: 
6278         * objects/network/disc.c: 
6279         * objects/network/monitor.c:
6280         Updated network diagrams to use xml.
6282 1998-12-02  Alexander Larsson  <alla@lysator.liu.se>
6284         * dialog.dtd:
6285         New file. DTD that describes the xml file format
6286         dia uses.
6288         * lib/dia_xml.[ch]:
6289         New files. Support for saving object to xml files.
6291         * configure.in:
6292         * app/Makefile.am:
6293         * lib/Makefile.am:
6294         Added check for and usage of gnome-xml library.
6296         * app/load_save.c:
6297         Major chages. Now saves/loads diagrams as xml.
6299         * lib/object.[ch]:
6300         * lib/element.[ch]:
6301         * lib/connection.[ch]:
6302         * lib/orth_conn.[ch]:
6303         * lib/render_object.[ch]:
6304         * lib/text.[ch]:
6305         Updated object support load/save functions for xml:
6307         * object/standard/arc.c:
6308         * object/standard/box.c:
6309         * object/standard/ellipse.c:
6310         * object/standard/line.c:
6311         * object/standard/textobj.c:
6312         * object/standard/zigzagline.c:
6313         Updated all standard objects to use xml.
6314         
6315         NOTE NOTE NOTE
6316         Only the standard objects are converted right now, don't
6317         save or load uml or network diagrams yet. Also, since this
6318         is new code it is deemed a bit unstable.
6319         
6320         * TODO
6321         Added a know bug.
6323 1998-12-01  Alexander Larsson  <alla@lysator.liu.se>
6325         * objects/UML/class.c:
6326         Changed classname font to Helvetica.
6327         Added more space above the classname
6329         * objects/UML/usecase.c:
6330         Correct placements of connectionpoints on ellipse.
6331         Better algorithm for deciding aspect ration on
6332         ellipse.
6334         These changes were made by Alejandro Aguilar Sierra
6335         <asierra@servidor.unam.mx>. (asierra-981201)
6337 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
6339         * objects/UML/actor.c:
6340         Changed the extents and alignment of the element
6341         and the text.
6343         * objects/UML/.cvsignore:
6344         Added usecase.lo and actor.lo.
6346 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
6348         * objects/UML/actor.c:
6349         * objects/UML/usecase.c:
6350         * objects/UML/pixmaps/actor.xpm:
6351         * objects/UML/pixmaps/case.xpm:
6352         New files. Implements usecase and actor UML objects.
6353         These objects are done by Alejandro Aguilar Sierra
6354         <asierra@servidor.unam.mx>.
6355         
6356         * objects/UML/Makefile.am:
6357         * objects/UML/pixmaps/Makefile.am:
6358         Added usecase and actor to makefile.
6359         
6360         * AUTHORS:
6361         Added Alejandro and Jerome to autors list.
6362         
6363 1998-11-25  Alexander Larsson  <alla@lysator.liu.se>
6365         * objects/UML/class.c (umlclass_load):
6366         Fixed typo. Reported by Jerome.Abela@solsoft.fr
6368 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
6370         * app/properties.c:
6371         Update connections when doing apply in the properties window.
6373         * objects/UML/uml.[ch]:
6374         * objects/UML/class.[ch]:
6375         * objects/UML/class_dialog.c:
6376         Added connection points on both sides of attributes and
6377         operations in UML classes.
6378         Based on idea from Jerome.Abela@solsoft.fr
6379         
6380 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
6382         * README:
6383         Some new documentation about handles and connectionpoints.
6384         
6385         * lib/object.[ch]:
6386         Added functions object_add_connectionpoint and
6387         object_remove_connectionpoint for handling a dynamic
6388         number of connectionpoints.
6390         * objects/UML/class.c:
6391         Only reserve space for stereotype when it is shown.
6393         These changes are from Jerome Abela <Jerome.Abela@solsoft.fr>
6395 1998-11-08  Alexander Larsson  <alla@lysator.liu.se>
6397         * app/connectionpoint_ops.c:
6398         * app/commands.c:
6399         * app/disp_callbacks.c:
6400         * app/display.[ch]:
6401         * app/grid.c:
6402         * app/handle_ops.c:
6403         * app/magnify.c:
6404         * app/modify_tool.c:
6405         * app/render_gdk.[ch]:
6406         * lib/render.h:
6407         Huge cleanup of internal rendering system.
6408         Moved a lot of data (pixmap, width, height & gc) into the GdkRenderer.
6409         This gives a few new methods for Interactive Renderers for setting
6410         clipping regions and drawing pixel based lines and rects.
6411         Updated the rest of the code to use the new stuff.
6412         
6413         * app/render_eps.c:
6414         Fixed warning.
6416         * lib/widgets.c:
6417         * objects/standard/zigzagline.c
6418         Fixed unused variable warnings.
6420         * lib/font.c:
6421         Fixedbug with stringwidth where width==0.
6423         * TODO:
6424         Added known bug.
6426 1998-11-02  Alexander Larsson  <alla@lysator.liu.se>
6428         * lib/widgets.[ch]:
6429         Added suppot for setting the font of a
6430         DiaFontSelector widget.
6431         Also fixed some typos in the header.
6433         * lib/object.h: 
6434         Added a comment about the GetPRoperties method call.
6435         You have to make sure to update widget state when
6436         this method is called. (Not all objects do this yet,
6437         to be fixed.)
6439         * TODO:
6440         Some small updates
6442 1998-11-01  Alexander Larsson  <alla@lysator.liu.se>
6444         * lib/font.c
6445         Fixed problem with height of ascent and descent for fonts.
6446         It didn't use the whole height (==ascent+descent) when calculatine
6447         ascent_ratio and descent_ratio.
6449         * objects/standard/textobj.c:
6450         * objects/standard/box.c:
6451         * objects/standard/ellipse.c:
6452         * objects/standard/line.c:
6453         * objects/standard/arc.c:
6454         Updated and added property dialogs for these objects.
6455         Also added line width/color/style to those objects
6456         that didn't have it.
6457         This change breaks fileformat compatibility for these objects.
6458         
6459         * objects/standard/zigzagline.c:
6460         Changed zigzagline to be based on OrthConn, much nicer.
6461         Also added line style and color to properties.
6462         This change breaks fileformat compatibility for zigzagline.
6464         * lib/message.c:
6465         Fixed bug in message(). Forgot a pair of '&'.
6467 1998-10-29  Alexander Larsson  <alla@lysator.liu.se>
6469         * lib/widgets.[ch]:
6470         Added DiaColorSelector widget.
6471         This is a colored button that pops up a color selection
6472         dialog when pressed.
6474 1998-10-28  Alexander Larsson  <alla@lysator.liu.se>
6476         * lib/widgets.[ch]:
6477         * lib/Makefile.am:
6478         New files, added widgets for selecting fonts, alignment
6479         and line-style. Will be used later.
6481 1998-10-12  Alexander Larsson  <alla@lysator.liu.se>
6483         * app/Makefile.am:
6484         * lib/Makefile.am:
6485         * objects/UML/Makefile.am:
6486         * objects/network/Makefile.am:
6487         * objects/standard/Makefile.am:
6488         Changed "CFLAGS = -Wall -g" to "CFLAGS = @CFLAGS@"
6489         in all Makefile.am.
6491 1998-10-03  Alexander Larsson  <alla@lysator.liu.se>
6493         * app/handle_ops.c (handle_draw):
6494         connected HANDLE_MINOR_CONTROL also becomes red.
6496 1998-10-02  Alexander Larsson  <alla@lysator.liu.se>
6498         * Makefile.am:
6499         removed -ldl from linking. This is added if needed by configure.
6501         * app/app_procs.c:
6502         Open dlls with RTLD_LAZY if it is defined.
6503         Some cleanups: char *error -> const char *error
6504         Added fprintf()'s to where we exited because of errors.
6506         * lib/files.c:
6507         Include <sys/types.h>
6509 1998-10-01  Alexander Larsson  <alla@lysator.liu.se>
6511         * acconfig.h:
6512         * configure.in:
6513         * app/app_procs.c:
6514         Detect dlopen better.
6515         Detect wether dlopen needs an underscore in the identifier.
6516         This code was mostly borrowed from guile.
6518         * lib/sheet.[ch]:
6519         * app/app_procs.c:
6520         * objects/standard/standard.c:
6521         * objects/network/network.c:
6522         * objects/UML/uml.c:
6523         * most objects:
6524         Changed the way sheets reference objects to use just the
6525         name. Changed module loading to a two stage model:
6526         First register_objects() is called for all modules.
6527         Then register_sheets() is called. This means that
6528         sheets can safely include objects from other modules.
6529         
6531 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
6533         * objects/network/bus.c:
6534         * objects/network/network.c:
6535         * objects/network/Makefile.am:
6536         New file bus.c. Added new object: Ethernet bus.
6538         * objects/standard/box.c:
6539         Added call to gtk_spin_button_set_numeric for linewidth spinner
6540         in property dialog.
6542 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
6544         * app/connectionpoint_ops.c:
6545         * app/create_object.c:
6546         * app/group.c:
6547         * app/handle_ops.c:
6548         * app/modify_tool.c:
6549         * lib/connection.c:
6550         * lib/element.c:
6551         * lib/handle.h:
6552         * lib/object.c:
6553         * lib/orth_conn.c:
6554         * loads of objects:
6555         Changed handle->connectable to handle->connect_type.
6556         Now handles can be HANDLE_CONNECTABLE_NOBREAK, which means
6557         that their connections don't break when moving objects.
6559         * app/diagram.c:
6560         Always select the last handle in an object that has
6561         the closest distance.
6562         
6563         * lib/geometry.[ch]:
6564         Added rectangle_add_point function.
6565         
6567 1998-09-27  Alexander Larsson  <alla@lysator.liu.se>
6569         * app/properties.[ch]: New files. Handles the new properties
6570         dialog.
6572         * app/modify_tool.c: Changed to use new properties dialog.
6574         * app/object_ops.[ch]: Removed object_changed_callback, as it's
6575         not needed anymore. This is now handled differently in
6576         properties.c
6578         * lib/object.[ch]:
6579         Changed the properties ops for objects. Removed typedefs
6580         ChangedObjectTime and ObjectChangedFunc needed for the old way.
6581         Added object_return_null function.
6582         
6583         * app/group.c:
6584         * lib/render_object.c:
6585         * objects/*/*.c:
6586         Changed objects to use the new properties dialog.
6587         
6589 1998-09-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
6591         * */Makefile.am (INCLUDES): Changes to work with srcdir !=
6592         builddir.
6594         * autogen.sh: New file. Copied from gtk and added a call to
6595         libtoolize. Anyone knows why this isn't done in gtk?
6597         * Removed autogenerated files.
6599 1998-09-12  Alexander Larsson  <alla@lysator.liu.se>
6601         * Added call setlocale(LC_NUMERIC, "C") so that formating of
6602           floating-point numbers in postscript output will be correct.
6603         * Did some cleanup of generated postscript files.