* make the shape export work again
[dia.git] / ChangeLog
blob0ec22df651d9ec18d33dd38200d56114d960fb38
1 2001-01-05  Hans Breuer <Hans@Breuer.Org>
3         Applied Steffen's recent file list patch :
4         * app/Makefile.am : added recent_files.[hc]
5         * app/diagram.c : add files to recent file list
6         * app/menus.c : add recent file menu
7         * app/app_procs.c : changed initialization order to
8         make recent file list work with command line processing.
10         The Filter export()/import() functions have got an additional 
11         parameter to allow multiple filters via one C callback (required
12         for Python bindings)
14         * app/commands.[hc] : corrected the signature for gtk menu callback
15         functions, which actually use the second or third parameter. This
16         is the absolute minimum change to make these functions/menu entries
17         work again. Using the other possible gtk menu callback signature
18         would have required one more function to change. (see mailing list
19         thread "Objects/Align/Equal Distance" for more information.
21         * app/disp_callbacks.c : applied Gustavo J.A.M. Carneiro's
22         zoom-combo focus patch
24         * app/display.c
25         * app/interface.c : wrapped the Zoom Combo code into 
26         #ifndef WITHOUT_ZOOM_COMBO because IHMO it isn't an useabilty
27         improvement but cluttering the user interface. Also it wasn't
28         compiling on Win32 anyway. The win32 version does define 
29         WITHOUT_ZOOM_COMBO to keep the old look. 
30         There are plans to use the statusbar to display size and placement
31         of selected objects, whereas the Zoom Combo would need to get out
32         of the way as well.
34         Added "Save Changes?" to diagram close dialog. Hopefuly the
35         Yes/No/Cancel option isn't too much windoze like. IHMO this is
36         an useability improvement.
38         * app/export_png.c
39         * app/filedlg.c
40         * app/load_save.c
41         * app/layer_dialog.c
42         * app/paginate_psprint.c
43         * app/render_eps.c
44         - reflect signature changing of filter->export function
45         - replaced '/' with G_DIR_SEPARARTOR where appropriate
47         * app/diaunitspinner.c
48         * app/render_libart.c
49         added misssing headers like <string.h>
51         * app/object_ops.c : fixed copy&paste bug in dialog string
53         * app/splash.c : gdk_widget_show_now () does not ensure actual
54         drawing of the splash screen, at least not on win32. Reuse the
55         previous implementation with gtk_main_iteration() again.
57         * */makefile.msc : make use of the build module (available in
58         gnome-cvs/build. Updated for other source changes
60         * lib/filter.h : added an user_data pointer to <ex/im>port()
61         function signature and Dia<Im/Ex>portFilter to allow different
62         filters to reuse the same callback function
64         * lib/font.c : #include <string.h>
66         * lib/orth_conn.c 
67         * lib/poly_conn.c 
68         * lib/poly_shape.c 
69         * lib/neworth_conn.c
70         * lib/text.c : don't mix allocator functions (g_)realloc, free, ...
72         * */*.def : export function definition files required by win32 build
74         * objects/custom/custom.c : #include <string.h>
76         * plug-ins/pstricks/render_pstricks.c
77         * plug-ins/shape/shape_export.c
78         * plug-ins/svg/render_svg.c
79         reflect changes to filter export function signature
81         * plug-ins/wmf/wmf.cpp : fixed indent and scaling. It now should
82         mostly work as expected
83         * plug-ins/wmf/wmf_gdi.[hc] : Updated comment. Still not used
84         to build the wmf plug-in because on the one hand the GDI emulation 
85         isn't finished and on the other hand it isn't required when building
86         for win32. Is there anybody out there, who wants to save WMF on non
87         windoze platforms ?
89         * plug-ins/wpg/wpg.cpp : fixed scaling to take axis dependent
90         offset into account.
92 2001-01-02  Steffen Macke <sdteffen@yahoo.com>
94         * app/Makefile.am: added missing plug-ins to run_dia.sh
96         * lib/paper.c: added paper sizes A0, A1, A2
98         * objects/UML/class.c
99         objects/UML/class.h
100         objects/UML/class_dialog.c: added support for colored UML
101         classes
102         
103 2000-12-30  Kevin Breit <battery841@mediaone.net>
105         * doc/en/usage-customization.sgml: added more content
107 2000-12-24  Kevin Breit <battery841@mediaone.net>
109         * doc/en/usage-layers.sgml: added file, contributed by Remypsb
110         <remy.viard@laposte.net>
112 2000-12-24  Steffen Macke <sdteffen@yahoo.com>
114         * added limiting lines to Civil Engineering sheet,
115         fixed vertical pump icon
116         
117 2000-12-20  Steffen Macke <sdteffen@yahoo.com>
119         * updated/additional Civil Engineering shapes: better icons,
120         shapes use foreground/background colors now and are filled
121         
122 2000-12-03  Kevin Breit  <battery841@mediaone.net>
124         * doc/en/dia-manual.sgml Integrated a few diffs.  New section should be
125         the selection <sect1>
127 2000-11-29  Fredrik Hallenberg  <hallon@lysator.liu.se>
129         * app/load_save.c (diagram_data_save): avoid using obsoleted
130         libxml calls (only matters when compiling with libxml2)
132 2000-11-25  James Henstridge  <james@daa.com.au>
134         * app/disp_callbacks.c (ddisplay_drop_object): add a function to
135         handle the tool drops on the canvas.
137         * app/interface.c (display_data_received_callback): do the check
138         to make sure that the drag is from a local toolbox here as well.
140         * app/interface.c (create_tools): unref the pixmap/mask after
141         creating the GtkPixmap.
142         (tool_setup_drag_source): function to set up a drag source for
143         create object tool buttons.
144         (create_tools): setup drag source for CREATE_OBJECT_TOOL's.
145         (fill_sheet_wbox): same here.
146         (create_display_shell): set up the display canvas as a drag
147         destination.
148         (display_drop_callback, display_data_received_callback): functions
149         to handle drops of tool buttons.
151         * app/menus.c (menus_init): don't use gnome_popup_menu_new().  It
152         does weird shit to the user_data pointer for a menu item.  Object
153         alignment should work again now.
155         * app/splash.c (get_logo_pixmap): don't unref the bitmap if it is
156         NULL, and mark this function static.
157         (app_splash_init): use gtk_widget_show_now() instead of the
158         gtk_main_iteration loop.
159         (app_splash_init): connecting gtk_widget_destroy to the destroy
160         signal of a widget seems pretty useless.
162 2000-11-23  Kevin Breit <battery841@users.sourceforge.net>
164         * doc/en/dia-manual.sgml:
165                 Added sect1 for advanced object types.  Starting development
166                 on that part.
168 2000-11-18  Kevin Breit <battery841@mediaone.net>
170         * doc/en/dia-manual.sgml:
171                 Stupid spelling fixes.
173 2000-11-18  Kevin Breit <battery841@mediaone.net>
175         * doc/en/dia-manual.sgml:
176                 Just some small changes I made.  Props to Greg LeBlanc on the
177                 recommendations.
179 2000-11-17  Alexander Larsson  <alla@lysator.liu.se>
181         * app/display.c:
182         (ddisplay_add_display_area): Clip input rectangle to
183         the visible part of the display.
184         (ddisplay_scroll): Optimization, don't scroll and
185         redraw if moving to the same position as before.
187         * app/render_libart.c (renderer_libart_copy_to_window):
188         Removed sanity check. Now moved to ddisplay_add_display_area().
190         * lib/diavar.h:
191         Added return at end of file.
192         
193 2000-11-13 Kevin Breit <battery841@mypad.com>
194         * doc/en/dia-manual.sgml
195                 Commited manual changes from Henry House <hajhouse@houseag.com>
197 2000-10-21 Hans Breuer <Hans@Breuer.Org>
198         * lib/beziershape.c :
199                 The previous code was accessing unowned memory due to IHMO
200                 wrong index calculation. Now it appears to be fixed.
201                 *Please Review!*
203         * lib/makefile.msc
204         * plug-ins/makefile.msc
205         * objects/makefile.msc
206         * app/makefile.msc: (new files)
207                 Makefiles for Dia on Win32, Micro$oft VC only.
209         * plug-ins/pstricks/render_pstricks.c
210         * plug-ins/dxf/dxf-import.c
211         * plug-ins/shape/shape-export.c
212         * plug-ins/svg/render_svg.c
213         * app/commands.c
214         * app/filedlg.c
215         * app/preferences.c
216         * app/render_eps.c
217         * lib/sheet.c
218         * lib/plug-ins.c
219         * objects/custom/custom.c
220         * objects/standard/image.c
221                 portability (not only win32): use HAVE_UNISTD_H, HAVE_DIRENT_H 
222                 where   appropriate, add missing prototypes like <string.h>
224         * plug-ins/wmf/wmf_gdi.cpp
225         * plug-ins/wmf/wmf_gdi.h:
226                 start of wmf write functions for non Win32 platform. Not 
227                 finished yet. The other way to get it working maybe to
228                 link the plug-in against wine libs.
229                 
230         * plug-ins/wpg/wpg.c : add missing brace
232         * app/load_save.c :
233                 Handling for unknown objects at load time. Previously Dia
234                 was crashing, if you try to load a file referencing objects
235                 whiches plug-ins aren't installed/available. Now it spits out 
236                 a warning and ignores the unknown objects.
238         * app/interface.c
239                 toolbox DND support for files like The Gimp does it.
241         * app/main.c
242         * app/app_procs.h
243                 Simple splash screen support and usage.
245         * app/app_procs.c
246                 Splash screen, portability fixes, dont' g_error if there is
247                 g_get_homedir return NULL. This may remove the one and only
248                 FAQ for Win32.
250         * app/menus.c :
251                 Make it compile without ENABLE_NLS
253         * app/render_libart.c :
254                 Sanity check to avoid calling libart with wrong window coordinates.
255                 They come from the update handler. Direct Gdk is dealing nicely
256                 with coordinates out of range, libart does access un-owned memory
257                 in this case, mostly causing crashes.
259         * app/winmain.c: (new file) Export the Win32 Gui version of the
260                 main function. This file is only required for Windoze.
262         * app/splash.c: (new file) splash screen implementation
264         * lib/color.h
265         * lib/font.h
266         * lib/diavar.h: (new file)
267                 moved special variable export code to diavar.h, because it is
268                 needed in color.h and font.h
270         * lib/paper.c :
271                 M$VC cann't export inlined functions. Quick hack to let it
272                 link again. Probably the glib mechanics should be used here?
274         * objects/UML/lifeline.c : initialize var before usage
276         * objects/GRAFCET/step.c : removed unused var
278 2000-10-14  James Henstridge  <james@daa.com.au>
280         * app/render_gnomeprint.c (draw_image): change code so images
281         don't get flipped when printing.
283         * app/paginate_gnomeprint.c (diagram_print_gnome): check to make
284         sure that the return value of
285         gnome_print_context_new_with_paper_size is not NULL.
287         * app/render_gnomeprint.c (draw_arc): add code to convert arcs
288         into a series of bezier segments.
289         (fill_arc): similar code to handle filled arc segments.
291 2000-10-12  Fredrik Hallenberg  <hallon@lysator.liu.se>
293         * app/app_procs.c
294         * app/commands.c
295         * app/dia-props.c
296         * app/diagram.c
297         * app/diagram.h
298         * app/disp_callbacks.c
299         * app/display.c
300         * app/linewidth_area.c
301         * app/paginate_psprint.c
302         * app/preferences.c
303         * app/undo.c
304         * app/font.c
305         * app/message.c
306         * app/neworth_conn.c
307         * app/orth_conn.c
308         * objects/standard/box.c: various small changes to get rid of 
309         annoying warnings (eg faulty prototypes and unused variables)
311         * app/disp_callbacks.c
312         * app/cursor.h
313         * app/magnify.c
314         * app/magnify.h: update magnify tool icon when pressing/releasing
315         shift. I will try to make something more general so that similar
316         things can be used by other tools.
318         * shapes/SDL/inout.shape
319         * shapes/SDL/return.shape: fixed some typos
321 2000-10-09  James Henstridge  <james@daa.com.au>
323         * objects/custom/shape_info.c (parse_path): apply patch from
324         Robert Young <robertdotyoung@dsto.defence.gov.au> to fix bug
325         #25221
327 2000-10-08  James Henstridge  <james@daa.com.au>
329         * objects/standard/image.c (image_set_props): if the file could not
330         be loaded, show the broken image icon.
332         * plug-ins/Makefile.am (SUBDIRS): add shape to the subdirs list.
334         * plug-ins/shape/*: the shape export plugin by Steffen Macke.
336         * app/interface.c (fill_sheet_wbox): use gdk-pixbuf to load the
337         object icon when loading from a file.  This allows you to have PNG
338         icon files for shapes.
340 2000-10-07  James Henstridge  <james@daa.com.au>
342         * app/Makefile.am (dia_LDADD): remove GDK_IMLIB_LIBS reference.
344         * lib/Makefile.am, app/Makefile.am (INCLUDES): remove
345         GDK_IMLIB_CFLAGS reference.
347         * app/commands.c (help_about_callback): remove imlib code.
349         * lib/dia_image.c: only include the pixbuf version of the image
350         routines.
352         * acconfig.h: remove the HAVE_GDK_PIXBUF flag from here.
354         * configure.in (CPPFLAGS): remove the check for imlib, as we now
355         require gdk-pixbuf.
357         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer):
358         conditionally define \setfont as well.
360 2000-10-05  James Henstridge  <james@daa.com.au>
362         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): fix
363         preamble so that we define \setlinejoinmode and \setlinecaps
364         commands conditionally on them being undefined.  This way, the
365         pstricks output files should work without modification, and will
366         support the commands when they are implemented in pstricks.
368 2000-10-05  Szabolcs Ban  <shooby@gnome.hu>
370         * dia.desktop: added hungarian translations to dia.desktop
372 2000-10-04  James Henstridge  <james@daa.com.au>
374         * sheets/UML.sheet: fix typo.
376         * objects/custom/shape_info.c: use strtod instead of g_strtod.
377         (parse_path): actually call setlocale around strtod calls.
379         * lib/dia_xml.c: use strtod rather than g_strtod.  We wrap each
380         call in setlocale(LC_NUMERIC, "C"), so there is no reason to call
381         the g_strtod wrapper.
383         * shapes/SDL/: add SDL shapes from Rubens Ramos
384         <rubens_ramos@yahoo.com>
386         * acinclude.m4 (DIA_CHECK_CFLAG): fix up macro.
388         * sheets/Makefile.am (SHEETS): add SDL.sheet to list.
390         * shapes/MSE/: add Mobile Subscriber Equipment shapes from
391         W. Michael Petullo <mike@flyn.org>.
393         * sheets/Makefile.am (SHEETS): add civil.sheet (which got missed
394         from the 0.86 tarball) and jigsaw.sheet.
396         * configure.in: add shapes/jigsaw/Makefile to list of generated files.
398         * shapes/jigsaw/: jigsaw shapes from Martin Hawlisch.
400         * shapes/network/: add network-additional shapes here.
402         * sheets/network.sheet: add the network-additional shapes from
403         Martin Hawlisch <Martin.Hawlisch@bflow.com> to the main network
404         sheet.
406 2000-09-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
408         * configure.in: Updated ALL_LINGUAS
410         * po/nl.po: Removed newline from translation
412 2000-09-17  Asbjorn Pettersen  <asbjornP@dualog.no>
414         * app/commands.c (help_about_callback): Use G_DIR_SEPARATOR_S in 
415         logo filename generation. 
417         * lib/dia_dirs.c (dia_get_data_directory): Handle empty subdir better.
418         Avoiding "//dia_logo.png".
420 2000-09-16  Asbjorn Pettersen  <asbjornP@dualog.no>
422         * app/filedlg.c: add include <sys/types.h> to
423         remove warning. (OS/2)
425 2000-09-13  Cyrille Chepelov <chepelov@calixo.net>
427         * objects/chronogram/chronoline_event.c (reparse_clevent):
428         the __checksum routine was simply bogus. Redone it in a slightly
429         saner way (reported by Michael Farr <mfarr@cs.latrobe.edu.au>).
431 2000-09-10  Asbjorn Pettersen  <asbjornP@dualog.no>
433         * app/create_object.c (create_object_button_press): 
434         * app/modify_tool.c (click_select_object): 
435         * lib/object.h: select renamed to selectf to prevent
436         compiler problems with function select().  OS/2 version.
438 2000-09-08  Karsten Weiss  <knweiss@gmx.de>
440         * po/de.po: Updated.
442 2000-09-07  Karsten Weiss  <knweiss@gmx.de>
444         * dia.desktop: Added German translation
445         * app/menus.c: "Diagram Propeties..." -> "Diagram Properties..."
447 2000-08-29  Manuel de Vega Barreiro <barreiro@arrakis.es>
449         * configure.in (ALL_LINGUAS): added "es"
451 2000-08-28  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
453         * app/magnify.c:
454         * app/cursor.h:
455         * app/cursor.c:
456         * app/scroll_tool.c:
457         Standardized cursor function get_cursor().  Magnify now has
458         looking-glass cursor with + and -.
460         * app/create_object.c (create_object_button_press): 
461         Newly created connections now snap to connection points even when
462         off the grid. 
464 2000-08-17  Daniel Egger  <egger@suse.de>
466         * app/menus.c: #ifdef'ed some code for the none GNOME
467         case.
468         * app/dia_embedd.c: Changed obvious hackery. Can anyone
469         please have a look at the GNOME UI menu creation? The
470         gnome-app-helper code is ages old and plainly broken!
472 2000-08-15  Daniel Egger  <egger@suse.de>
474         * app/commands.c:
475         * app/commands.h:
476         * app/diagram.c:
477         * app/display.c:
478         * app/menus.c:
479         * app/select.c: First big patch to get the menus
480         working again in the international version. Copied
481         some code written by Sven and me from GIMP and
482         thus implemented automatic tearoffmenu creation and
483         proper translation. I also removed that pseudo
484         radiomenu hack and cleaned up several translation
485         hacks which have never really worked. All in all
486         this is part I of the big menu patch. Enjoy and tell
487         me if you detect any problems.
489 2000-08-14  Daniel Egger  <egger@suse.de>
491         * sheets/UML.sheet: Changed one German translation as
492         suggested by Heribert Schuetz <hs@heribert-schuetz.de>.
494 2000-08-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
496         * app/diapagelayout.c:
497         * lib/diagramdata.c:
498         * lib/diagramdata.h:
499         * lib/Makefile.am:
500         * lib/paper.c:
501         * lib/paper.h: honour PAPERCONF env variable and /etc/papersize when
502         selecting paper size for a new diagram. TODO: Use libpaper if 
503         available and use gnome_paper-stuff if using GNOME.
505         * sheets/Electric.sheet: fixed typo.
506         
507 2000-08-08  James Henstridge  <james@daa.com.au>
509         * po/README: added a readme file to tell translators to translate
510         the .sheet files as well.
512         * app/commands.c (help_about_callback): fix small bug where we tried
513         to gdk_bitmap_unref() the mask for the about box image, even though
514         it was NULL.  Now check for a NULL mask.
516 2000-08-07  Daniel Egger  <egger@suse.de>
518         * sheets/*.sheet: Added translations for the name
519         in the toolbar tab. Brushed up some descriptions 
520         and some translations a bit.
522 2000-08-06  James Henstridge  <james@daa.com.au>
524         * plug-ins/svg/render_svg.c (new_svg_renderer): update public
525         identifier and dtd url for SVG output.
526         (new_svg_renderer): fix the output of the viewBox output.  The
527         second two numbers are the width and height -- not the right
528         and bottom sides of the box.
530         * shapes/*/*.shape: update svg namespace URI.
532         * objects/custom/shape_info.c (load_shape_info): change the
533         namespace URI for custom shapes yet again to match the Candidate
534         Recommedation.  It looks like this one will probably be the final
535         one.
537         * app/display.c (new_display): remove the code that sets ic and
538         ic_attr members to NULL, as one of the previous function calls
539         causes the display to be realised.  This means that the ic gets
540         lost.  Thanks to Yukihiro Nakai <ynakai@redhat.com> for finding
541         this one.
543 2000-08-06  James Henstridge  <james@daa.com.au>
545         * shapes/Makefile.am (SUBDIRS): add Civil back to list.
547         * NEWS: fixed date in NEWS file, as I will release today.
549         * README: updated the README a little.  Added note that Dia is now
550         a GNU program.
552         * dia.spec: fix up spec file.
554         * plug-ins/wpg/wpg.c: changed DIAG_NOTE stuff here as well.
556         * plug-ins/hpgl/hpgl.c: change Hans's DIAG_NOTE stuff so that we don't
557         get heaps of warnings when you turn off debugging.
558         Also made a few other warning fixes.
560 2000-08-02  James Henstridge  <james@daa.com.au>
562         * plug-ins/svg/Makefile.am (INCLUDES): add XML_CFLAGS to INCLUDES.
564         * configure.in: update version number.
566 2000-08-01  James Henstridge  <james@daa.com.au>
568         * app/commands.c (help_about_callback): add Hans to about dialog.
570         * doc/shape.dtd: dtd for shape file format.
572         * doc/custom-shapes: update doc file about creating custom shapes.
574         * shapes/*/*.shape: change namespace URI for the SVG portion to the
575         one for the latest draft.
577         * shapes/*/*.shape: fix up rect definitions.
579         * objects/custom/shape_info.c (load_shape_info): recognise newer
580         namespace tag for SVG.
581         (parse_svg_node): the rect element should take attributes x, y, width
582         and height -- not x1,y1,x2,y2.
584         * plug-ins/svg/render_svg.c (new_svg_renderer): updated doctype
585         output to use the newest draft DTD.
587         * plug-ins/svg/svg.c: initialisation code for plugin.
589         * plug-ins/svg/render_svg.c: move svg export code to a plugin.
591         * plug-ins/svg/Makefile.am: makefile for svg plugin.
593         * app/app_procs.c (internal_plugin_init): don't register the svg
594         export filter here.
596         * app/Makefile.am (dia_core_files): don't compile in render_svg.[ch]
598 2000-07-31  James Henstridge  <james@daa.com.au>
600         * objects/standard/textobj.c (textobj_get_defaults): 
601         * objects/standard/polygon.c (polygon_get_defaults): 
602         * objects/standard/image.c (image_get_defaults): 
603         * objects/standard/ellipse.c (ellipse_get_defaults): 
604         * objects/standard/box.c (box_get_defaults): 
605         * objects/standard/beziergon.c (beziergon_get_defaults): 
606         * objects/flowchart/parallelogram.c (pgram_get_defaults): 
607         * objects/flowchart/ellipse.c (ellipse_get_defaults): 
608         * objects/flowchart/diamond.c (diamond_get_defaults): 
609         * objects/flowchart/box.c (box_get_defaults): 
610         * objects/custom/custom_object.c (custom_get_defaults): 
611         * objects/FS/flow.c (flow_get_defaults): 
612         * objects/FS/flow-poly.c (flow_get_defaults): 
613         * objects/FS/flow-ortho.c (orthflow_get_defaults): ref and sink the
614         defaults widget.
616         * app/defaults.c (defaults_show): don't keep on ref'ing the defaults
617         widgets for various object types.
618         (create_dialog): ref and sink the no_defaults_dialog.
620         * app/preferences.c (prefs_create_dialog): change
621         gtk_container_border_width call to gtk_container_set_border_width.
623 2000-07-29  James Henstridge  <james@daa.com.au>
625         * app/commands.c (view_aa_callback): show a warning dialog if
626         you start AA mode.
628         * app/interface.c (fill_sheet_menu): don't add a menu item for
629         empty sheets.
631 2000-07-26  James Henstridge  <james@daa.com.au>
633         * plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677
635         * app/menus.c: remove edit grid menu item.
637         * app/commands.[ch] (view_edit_grid_callback): removed.
639         * app/display.c (new_display): don't initialise removed Grid members.
641         * app/grid.c: remove unused functions.
643         * app/grid.h: remove dialog related stuff from Grid structure.
644         Remove prototypes for dialog functions.
646         * app/menus.c: add to menus
647         
648         * app/commands.[ch] (view_diagram_properties_callback): new command
649         for showing the diagram properties dialog.
651         * app/dia-props.[ch]: a new diagram properties dialog.  To replace
652         the edit grid dialog.
654 2000-07-25  James Henstridge  <james@daa.com.au>
656         * app/grid.c (grid_x_update): 
657         (grid_y_update): as the grid setting is stored with the diagram,
658         update all displays when a change is made.
660         * app/modify_tool.c (modify_motion): use new snap_to_grid sig.
662         * app/create_object.c (create_object_button_press): 
663         (create_object_motion): use new snap_to_grid signature.
665         * app/grid.c (grid_draw): use the grid settings in the DiagramData,
666         and handle invisible grid lines.
667         (snap_to_grid): use new grid settings.  Also changed signature to
668         take a DDisplay rather than Grid pointer.
669         (grid_show_dialog): get the defaults from the correct place.
671         * app/display.c (new_display): do not set ddisp->grid.width_[xy].
673         * app/diagram.c (new_diagram): set the grid size defaults from the
674         user preferences.
676         * app/load_save.c (diagram_data_save): save grid and guide info to
677         diagram file.
678         (diagram_data_load): add guide and grid load support.
680         * lib/diagramdata.c (new_diagram_data): set the new DiagramData
681         members.
683         * lib/diagramdata.h: add members to DiagramData for grid and guide
684         settings.
686         * configure.in (BONOBO_LIBS): update configure scripts
688         * app/dia.oafinfo: oafinfo file for dia embeddables.
690         * app/dia_embedd.c: add OAF support.
692 2000-07-24  James Henstridge  <james@daa.com.au>
694         * plug-ins/wpg/Makefile.am: 
695         * plug-ins/pstricks/Makefile.am: 
696         * plug-ins/hpgl/Makefile.am: 
697         * plug-ins/dxf/Makefile.am: same here.
699         * plug-ins/cgm/Makefile.am: remove LIBADD.  Dia already links with
700         the required libraries, and the link line was causing libtool not
701         to build a shared library on some systems :(
703         * plug-ins/cgm/cgm.c (write_real): the initial if statement should
704         be checking x, not n.
706 2000-07-23  James Henstridge  <james@daa.com.au>
708         * app/preferences.c (prefs_data): set the "reset tools after
709         create" preference to true by default.  That seems to be what most
710         people expect.
712         * app/interface.c (create_sheets): instead of a notebook, use an
713         option menu that updates the sheet tools.  The notebook tabs were
714         getting a bit unwieldly, so the option menu should fix that.  This
715         also reduces the number of widgets in the tools radio button
716         group, which should make the UI a little more responsive.
718 2000-07-19  Fatih Demir <kabalak@gmx.net>
719         
720         * configure.in: Added tr to ALL_LINGUAS.
721                 [ Yeah, we're now having a Turkish translation,
722                    too. ]
723         
724         * dia.desktop: Added the Turkish entries.
726 2000-07-02  Fredrik Hallenberg  <hallon@lysator.liu.se>
728         * doc/diagram.dtd: changed string-element so it conforms to the
729         output from dia.
731 2000-06-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
733         * configure.in: added chinese. 
734         Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL.
736         * app/app_procs.c:
737           app/load_save.c:
738           app/render_svg.c:
739           lib/dia_xml.c:
740           lib/plug-ins.c:
741           lib/sheet.c:
742           objects/custom/shape_info.c: 
743           shapes/Circuit/npn.shape:
744           shapes/Circuit/pnp.shape:
745           sheets/*.sheet: dia now works with libxml2.
746         Libxml2 is a bit more picky when parsing xml and reported errors on all 
747         sheet files because they use non ascii characters (added 
748         encoding="iso-8859-1"). Also "xml:lang=en@layman" is not proper xml so 
749         I commented out these.
751 2000-06-30  Christopher R. Gabriel  <cgabriel@linux.it>
753         * configure.in (ALL_LINGUAS): added Italian
755 2000-06-27  Sung-Hyun Nam  <namsh@lgic.co.kr>
757         * configure.in (ALL_LINGUAS): added Korean
759 2000-06-25  James Henstridge  <james@daa.com.au>
761         * objects/flowchart/parallelogram.c (pgram_create): use default font
762         and add properties interface support.
764         * objects/flowchart/ellipse.c (ellipse_create): use default font and
765         add properties interface support.
767         * objects/flowchart/diamond.c (diamond_create): use default font and
768         add properties interface code.
770         * objects/flowchart/box.c (box_create): use default font.
772         * objects/custom/custom_object.c (custom_create): use default font
773         here too.
775         * objects/standard/textobj.c (textobj_create): update to use default
776         font.
778         * lib/attributes.c: add implementations.
780         * lib/attributes.h (attributes_[gs]et_default_font): add function
781         prototypes for setting/getting a default font.
783 2000-06-24  James Henstridge  <james@daa.com.au>
785         * app/paginate_gnomeprint.h: updated prototype.
787         * app/paginate_gnomeprint.c (paginate_gnomeprint): update to use
788         diagram page settings.
790         * objects/standard/beziergon.c (beziergon_copy): same here.
792         * objects/standard/polygon.c (polygon_copy): copy the fill colour
793         as well.
795         * app/undo.h: 
796         * app/tool.h (tool_options_dialog_show): 
797         * app/scroll_tool.h (free_scroll_tool): 
798         * app/render_svg.h: 
799         * app/render_libart.h (renderer_libart_copy_to_window): 
800         * app/render_gdk.h (renderer_gdk_copy_to_window): 
801         * app/properties.h (properties_hide_if_shown): 
802         * app/preferences.h (prefs_load): 
803         * app/object_ops.h: 
804         * app/modify_tool.h (free_modify_tool): 
805         * app/magnify.h (free_magnify_tool): 
806         * app/linewidth_area.h (linewidth_area_create): 
807         * app/layer_dialog.h: 
808         * app/handle_ops.h (handle_is_clicked): 
809         * app/group.h: 
810         * app/grid.h (grid_destroy_dialog): 
811         * app/defaults.h (defaults_show): 
812         * app/cut_n_paste.h (cnp_exist_stored_objects): 
813         * app/create_object.h (free_create_object_tool): 
814         * app/connectionpoint_ops.h (diagram_unconnect_selected): 
815         * app/commands.h: 
816         * app/color_area.h (color_area_create): 
817         * app/app_procs.h (app_is_embedded): remove extern keyword from
818         function prototypes.
820         * lib/text.h: 
821         * lib/sheet.h (load_all_sheets): 
822         * lib/render_store.h: 
823         * lib/render_object.h (render_object_load): 
824         * lib/polyshape.h (polyshape_closest_segment): 
825         * lib/poly_conn.h (polyconn_closest_segment): 
826         * lib/orth_conn.h: 
827         * lib/object.h: 
828         * lib/objchange.h (new_object_state_change): 
829         * lib/neworth_conn.h (neworthconn_add_segment): 
830         * lib/message.h (message_error): 
831         * lib/lazyprops.h: 
832         * lib/geometry.h: 
833         * lib/font.h (font_descent): 
834         * lib/focus.h (remove_focus): 
835         * lib/element.h: 
836         * lib/diagramdata.h: 
837         * lib/dia_xml.h (data_add_composite): 
838         * lib/dia_image.h: 
839         * lib/connpoint_line.h: 
840         * lib/connection.h (connection_move_handle): 
841         * lib/color.h: 
842         * lib/attributes.h (attributes_set_default_line_style): 
843         * lib/arrows.h (arrow_draw): remove extern keyword from function
844         definitions.  It is not required for functions.
846         * plug-ins/dxf/Makefile.am (INCLUDES): 
847         * plug-ins/pstricks/Makefile.am (INCLUDES): 
848         * plug-ins/cgm/Makefile.am (INCLUDES): 
849         * objects/SADT/Makefile.am (INCLUDES): 
850         * objects/chronogram/Makefile.am (INCLUDES): 
851         * objects/GRAFCET/Makefile.am (INCLUDES): 
852         * objects/flowchart/Makefile.am (INCLUDES): 
853         * objects/sybase/Makefile.am (INCLUDES): 
854         * objects/FS/Makefile.am (INCLUDES): 
855         * objects/standard/Makefile.am (INCLUDES): 
856         * objects/network/Makefile.am (INCLUDES):
857         * objects/UML/Makefile.am (INCLUDES): same here.
859         * objects/ER/Makefile.am: changed inclusion of some macros to
860         variables.
862         * lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to
863         handle the plug in extension, rather than have all the #ifdef's in
864         the code.
866         * plug-ins/Makefile.am: add renderer.inc to dist.
868         * plug-ins/dxf/dxf-import.c: Updates from Steffen Macke.
870 2000-06-11  Asbjorn Pettersen  <asbjornP@dualog.no>
872         * lib/plug-ins.c: Handle OS/2 dll's too.
874 2000-06-07  James Henstridge  <james@daa.com.au>
876         * app/plugin-manager.c (get_plugin_manager): set some table
877         packing options to make it look a little nicer.
879         * plug-ins/hpgl/Makefile.am, plug-ins/wpg/Makefile.am: added
880         makefiles for these plug-ins.
882         * plug-ins/{hpgl,wmf,wpg}/*: removed dos style cariage returns.
884         * configure.in: added hpgl and wpg directories to build.  Added
885         note about whether gnome-print support was enabled, and noted that
886         it is not recommended.
888 2000-06-06  James Henstridge  <james@daa.com.au>
890         * plug-ins/{hpgl,wmf,wpg}/*: Hans Breuer's plug-ins.  They still need
891         a little work, but I am checking them in so I don't lose them.
893 2000-06-01  James Henstridge  <james@daa.com.au>
895         * objects/standard/arc.c: added extra properties.
897         * lib/beziershape.c (beziershape_closest_handle): fix a bug where I
898         was using the wrong index into the handles array.  This gets corner
899         type changing working correctly.
901         * lib/properties.[ch]: add support for BezPoint's and BezPoint arrays
902         to properties code (no editing or loading yet though).  Also added
903         support for point array manipulation through the offsets interfaces.
905         * lib/Makefile.am (INCLUDES): added include of gdk-pixbuf 
907         * app/interface.c (origin_button_press): changes so the origin
908         button doesn't grab the pointer when we pop up the menu.
910         * app/commands.c (help_about_callback): fix small memory leak in
911         about box code.
913         * app/menus.c (menus_init): fixed breakage I introduced in the non
914         gnome menus when I was doing the menu changes.  The tearoffs work
915         really nicely in plain gtk mode as well.
917         * objects/standard/beziergon.c (beziergon_create): changed the
918         returned handles to match the handle numbering changes.  Now
919         segment addition and removal works correctly with undo!
921         * lib/beziershape.c: various changes to the code.  Changed the
922         numbering of handles, and fixed the segment removal code.
924 2000-05-31  James Henstridge  <james@daa.com.au>
926         * objects/standard/beziergon.c: remove connection point handling.
927         There is still a bit of work to be done to get adding and removing
928         of segments working correctly.
930         * lib/beziershape.c: add connection point handling to beziershape.
931         I set it for two connection points per segment.
933 2000-05-30  James Henstridge  <james@daa.com.au>
935         * objects/standard/polygon.c: don't do connectionpoint handling.
937         * lib/polyshape.c: changed to handle connection points internally.
938         Also, don't worry about connections to handles on polyshape, as
939         all handles are non connectable.
941 2000-05-30 Ville Hautamaki <villeh@cs.joensuu.fi>
943         * configure.in: Added finnish
944         
945 2000-05-30  James Henstridge  <james@daa.com.au>
947         * sheets/*.sheet: translation updates to the .sheet files.
949         * po/fr.po: updated po file from Christophe Merlet.
951         * menus.h: removed prototypes for functions which have been removed.
953 2000-05-29  James Henstridge  <james@daa.com.au>
955         * app/layer_dialog.c (layer_dialog_set_diagram): set the selected
956         item in the option menu when changing selected diagram.
958         * app/dia_embedd.c (view_factory): fix up function to work with new
959         menus API.
961         * app/disp_callbacks.c (ddisplay_realize): remove call to
962         display_set_active from here.
963         (ddisplay_canvas_events): move call here.  This gets rid of all the
964         warnings, as the renderer has been fully set up correctly at this
965         point.
967         * app/menus.c (menus_init): add the tearoff item to the start of the
968         right click menu.
970         * app/app_procs.c (create_user_dirs): we don't need to create the
971         menus directory anymore.
973         * app/disp_callbacks.c (ddisplay_popup_menu): it should not be
974         necessary to update the menu state here, as it was done when the
975         active display was set.
977         * app/display.c (display_set_active): update the menu state when
978         changing active displays.
980         * app/interface.c (origin_button_press): set the display as active
981         when a click is made on the menu button.
983         * app/menus.c (menus_init): set up a quit function to save the accels
984         at exit.
985         Add tearoff items for the non GNOME menus, add accelerators for
986         several GNOME menus.
988         * app/disp_callbacks.c (ddisplay_popup_menu): get the menu with
989         menus_get_image_menu().
991         * app/menus.c (menus_get_item_from_path): use display_menus here
992         rather than ddisp->popup.
994         * app/display.h: remove the popup member in the DDisplay structure.
996         * app/interface.c: remove option of not using wrap box.
997         (create_toolbox): change to always use menus_get_toolbox_menubar
998         even when using gnome menus.
999         (create_display_shell): use menus_get_image_menu to load accelerators
1000         only -- not the actual popup menu.
1002         * app/menus.c (menus_init): new function to create the menus.
1003         (menus_get_toolbox_menubar): use this function whether gnome is
1004         in use or not.  Changed to use menus_init.
1005         (menus_get_image_menu): same here.  Also, now this function always
1006         returns the same menu, rather than a new one each time.
1007         (menus_init): read a menurc file to load accelerators here.
1009 2000-05-28  James Henstridge  <james@daa.com.au>
1011         * app/display.c (ddisplay_really_destroy): unset active display if
1012         active display is destroyed.
1013         (ddisplay_active): simplify function to return active_display as set
1014         by display_set_active.  This allows using a pinned menu with any
1015         display -- not just the one it was popped up from.
1016         (display_set_active): notify the layer dialog of change of diagrams
1017         when active diagram changes.
1019         * app/disp_callbacks.c (ddisplay_canvas_events): set active display
1020         on button and key presses.
1021         (ddisplay_realize): set active display on realize.
1023         * app/display.c (display_set_active): simple implementation of this
1024         function.
1026         * app/display.h (display_set_active): add prototype for setting
1027         the active display.
1029         * app/interface.c (create_display_shell): don't give focus to the
1030         menu button.
1032         * app/menus.c: fix up menus for Beziergon.
1034         * app/interface.c (create_display_shell): make the widget in the
1035         top left corner a button that can be used to pop up the right click
1036         menu, like in gimp and sketch.
1038         * app/disp_callbacks.c (ddisplay_popup_menu): new function to popup
1039         the display menu.
1041         * objects/standard/beziergon.c (beziergon_set_corner_type_callback):
1042         add code to set corner types for beziergon.
1044         * lib/beziershape.c (beziershape_set_corner_type): fix up corner type
1045         setting code.
1046         (beziershape_move_handle): use the previous corner type for right
1047         controls.
1049         * app/interface.c (tool_data): add beziergon to toolbox.
1051         * objects/standard/standard.c (dia_plugin_init): initialise the new
1052         Beziergon object type.
1054         * objects/standard/beziergon.c: an object based on BezierShape.
1056         * lib/dummy_dep.h (dummy_dep): added to dummy_dep.
1058         * lib/beziershape.[ch]: new files implementing a bezier shape.
1060 2000-05-26  James Henstridge  <james@daa.com.au>
1062         * lib/text.c (text_key_event): handle multibyte inserts.
1063         (text_key_event): also add home and end keybindings.
1065         * app/interface.c (create_display_shell): connect handlers for
1066         focus_in_event, focus_out_event, realize and unrealize signals.
1068         * app/display.[ch] (new_display): initialise input context members.
1070         * app/disp_callbacks.[ch]: added XIM support here.
1072         * lib/font.c (suck_font): the black and white pixel values should be
1073         taken from a 1 bit colormap rather than the default colormap.
1075         Hans Breuer's Windows patches ...
1077         * lib/font.c: use Courier New for fixed width font on windows
1078         machines.
1080         * lib/dia_image.h: change to "struct _DiaImage".
1082         * lib/dia_image.c: change "struct DiaImage" to "struct _DiaImage"
1084         * app/disp_callbacks.c (ddisplay_canvas_events): allow ctrl+right
1085         mouse button for object menu.  This will make two button mouse owners
1086         happier.
1088 2000-05-25  James Henstridge  <james@daa.com.au>
1090         * app/filedlg.c (file_open_ok_callback): use diagram_load here.
1092         * app/app_procs.c (app_init): add extra NULL argument to call of
1093         diagram_load.
1095         * app/load_save.h: remove prototype.
1097         * app/load_save.c: remove diagram_data function here.
1099         * app/diagram.h: added prototype.
1101         * app/diagram.c (diagram_load): new function here, which uses import
1102         filters.
1104         * plug-ins/dxf/dxf.c: register the import filter as well.
1106         * plug-ins/dxf/dxf-import.c: added (unfinished) DXF import filter from
1107         Steffen Macke <macke@heini.fbbwu.fh-lueneburg.de>
1109         * objects/standard/line.c: add start_point and end_point properties
1110         to standard line object.
1112 2000-05-21  James Henstridge  <james@daa.com.au>
1114         * app/paginate_psprint.c: added missing include of locale.h.
1116         * objects/custom/custom_object.c (custom_draw): use fabs rather than
1117         abs for scaling factors.
1118         (custom_distance_from): same here.
1120         * dia.spec: make sure rpm doesn't bomb out when LINGUAS isn't set.
1122 2000-05-18  James Henstridge  <james@daa.com.au>
1124         * po/POTFILES.in: updated POTFILES.in.
1126         * dia.spec: incremented version number in spec file.
1128         * NEWS: added (lots of) news items for the 0.85 release.
1130         * app/preferences.c (prefs_save): set LC_NUMERIC to C while writing
1131         the config file.
1133         * configure.in: updated version number here.
1135         * app/Makefile.am (run_dia.sh): include plug-ins in the lib path.
1137 2000-05-17  James Henstridge  <james@daa.com.au>
1139         * app/app_procs.c (internal_plugin_init): register the native import
1140         filter.
1142         * app/load_save.c (diagram_data_load, diagram_load): split this
1143         function into two -- one that does all the work on the DiagramData
1144         structure, and the other that provides compatibility with the old
1145         function.
1146         (dia_import_filter): use diagram_data_load to define an import
1147         filter.
1149         * app/diagram.h (new_diagram): added const to prototype.
1151         * app/filedlg.c (file_open_callback): change to use new import filter
1152         code.
1154         * lib/filter.c: added import filter management functions.
1156         * lib/filter.h: added prototypes for import filter interface.
1158         * app/commands.c (help_about_callback): updated about dialog to
1159         contain a few more names.
1161 2000-05-16  James Henstridge  <james@daa.com.au>
1163         * configure.in (Configuration): added a status message to the end of
1164         the configure script to give the user some idea of what was
1165         configured.
1167         * plug-ins/dxf/Makefile.am: Makefile for new plugin.
1169         * plug-ins/dxf/dxf.c (dia_plugin_init): added file to initialise the
1170         plugin.
1172         * plug-ins/dxf/dxf-export.c: new file -- Steffen Macke's DXF export
1173         filter for dia.
1175         * configure.in (AM_PATH_LIBART): use the check function provided
1176         with libart rather than our own code.  It is more reliable, and
1177         it only requires that people who build out of CVS have libart.m4
1178         installed (not necessarily all of libart).
1179         (AM_PATH_GDK_PIXBUF): same here for gdk-pixbuf.
1181 2000-05-12  Andreas Hyden  <a.hyden@cyberpoint.se>
1183         * dia.desktop: Added Swedish translation.
1185 2000-05-09  James Henstridge  <james@daa.com.au>
1187         * lib/dia_xml.c: you can't free a const pointer, so remove const
1188         from variable definitions.
1190         Explicitely set LC_NUMERIC where needed, as sometimes it isn't
1191         initialised correctly.
1193         * app/render_svg.c (export_svg): set locale to C.
1195         * app/paginate_psprint.c (paginate_psprint): set locale to C.
1197         * app/render_eps.c (export_eps): set locale to C for EPS export.
1199         * lib/dia_xml.c (data_add_real): change to C locale for snprintf call.
1200         (data_add_point): same here.
1201         (data_add_rectangle): same here.
1202         (data_real): use g_strtod to convert strings to real numbers, so that
1203         locales are taken into account.
1204         (data_point): same here.
1205         (data_rectangle): same here.
1207         * AUTHORS: added Henk and Jacek to authors file.
1209         Daniel Egger's code cleanups.
1211         * app/select.c (select_invert_callback): remove unused variable.
1213         * app/plugin-manager.c (get_plugin_manager): fix typo.
1215         * app/load_save.c (read_connections, write_objects): 
1216         (write_connections): made some functions static.
1218         * app/interface.c (toolbox_delete, toolbox_destroy): made some
1219         functions static.
1221         * app/filedlg.c (file_export_callback): remove unused variable.
1223         * app/app_procs.c: various warning fixes.
1225         Integrating Jacek Pliszka's pstricks export filter.
1227         * plug-ins/pstricks/pstricks.c: code to initialise the plugin.
1229         * plug-ins/pstricks/render_pstricks.[ch]: Jacek Pliszka's pstricks
1230         renderer (with a few small modifications by me).
1232         * plug-ins/pstricks/Makefile.am: new makefile for pstricks plug-in.
1234         * plug-ins/Makefile.am (SUBDIRS): add pstricks subdirectory.
1236 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
1238         * configure.in:
1239         * sheets/Makefile.am:
1240         * shapes/Makefile.am:
1241         * shapes/Civil/Makefile.am:
1242         * sheets/civil.sheet:
1243         * shapes/Civil/*:
1244         Added civil/hydraulic/structural engineering objects from
1245         sdteffen <macke@heini.fbbwu.fh-lueneburg.de>.
1246         
1247 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
1249         * objects/FS/flow-poly.c:
1250         * objects/FS/flow.c:
1251         Fix division by zero in point_normalize().
1252         Patch by David Thompson <dcthomp@mail.utexas.edu>
1254 2000-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1256         * lib/arrows.c:
1257         * lib/bezier_conn.c:
1258         * lib/connpoint_line.c:
1259         Added checks for zero-length lines before calls to point_normalize.
1261 2000-04-24  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1263         * app/preferences.c (prefs_data): Changed
1264         reversed_dragging_intersects to not make the dialog ridiculously
1265         wide.
1266         
1267 2000-04-22  James Henstridge  <james@daa.com.au>
1269         Hans's win32 patches:
1271         * app/export_png.c: include message.h
1272         * app/interface.c: include dia_dirs.h
1273         * app/linewidth_area.c: check for rint
1274         * app/main.c: include interface.h
1275         * app/paginate_psprint.c: remove unused variable.
1276         * app/preferences.c: include message.h
1277         * app/render_svg.c: include stdlib.h
1278         * app/select.c: include object_ops.h
1279         * lib/dia_dirs.c: miscelaneous fixes for win32.
1280         * lib/dia_image.c: include string.h
1281         * lib/plug-ins.c: look for .dll files rather than .la files on win32.
1282         * lib/properties.c: include stdlib.h
1283         * lib/properties.h: define extra data for standard properties as
1284         static variables on win32 (to get around dynamic linker problems).
1285         * objects/standard/polygon.c: polygon_create_change missing return
1286         statement.
1288 2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>
1290         * configure.in (ALL_LINGUAS): added Catalan
1292 2000-04-18  James Henstridge  <james@daa.com.au>
1294         * objects/standard/bezier.c (bezierline_get_object_menu): add a
1295         separator to the object menu between the add/remove segment items
1296         and the corner type items.
1297         (bezierline_get_object_menu): add code to disable the menu item for
1298         the current corner type.  Really just a cosmetic change.
1300         * app/disp_callbacks.c (create_object_menu): handle DiaMenuItems with
1301         a NULL for the label or with no associated callback.
1303         * objects/standard/bezier.c (bezierline_menu_items): use the
1304         enumeration values rather than numeric values for the corner types.
1306         * lib/bezier_conn.[ch]: added a corner_types member to the BezierConn
1307         structure, and add code to handle it.  Also, don't save the corner
1308         types inline in the bez_points node.  The way it is conditionally
1309         including the element just feels like it will break.
1311         * lib/geometry.h (BezPoint): removed the corner_type stuff from
1312         BezPoint.  The corner type stuff is a user interface level idea rather
1313         than something required by the renderer, so should be taken care of
1314         at the object level.
1316 2000-04-17  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1318         * configure.in: Fixed some problems with the gdk-pixbuf/imlib
1319         checks.  Weren't able to reproduce original bug, tough.
1321 2000-04-16  Cyrille Chepelov  <chepelov@calixo.net>
1323         * sheets/Electric.sheet:
1324         * sheets/Contact.sheet:
1325         * sheets/Pneumatic.sheet:
1326         * sheets/Circuit.sheet: sprayed some <br/>'s around.
1327         (added a few French translations in the last file)
1328         
1329 2000-04-16  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1331         * lib/geometry.h: 
1332         * lib/bezier_conn.h: 
1333         * objects/standard/bezier.c: 
1334         * lib/bezier_conn.c: Support for cuspy, smooth and symmetric
1335         bezier points.  Only one minor problem known:  Menus are active
1336         for endpoints minor handles.
1337         11:28: Save and load now works, too.
1338         (bezierconn_closest_major_handle): 12:03: New function to get the
1339         non-control point handle associated with the nearest control
1340         point.  
1341         Also fixed the menu activation problem, and made remove_segment
1342         not remove the endpoint.
1344 2000-04-15  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1346         * configure.in: Added check for gdk-pixbuf being >= 0.7.0 since
1347         new API is in use.
1349 2000-04-15  Asbjorn Pettersen  <asbjornP@dualog.no>
1351         * lib/plug-ins.c: Added <sys/types.h> and moved <fcntl.h> below
1352         <sys/stat.h>.   OS/2 patch.
1354 2000-04-15  James Henstridge  <james@daa.com.au>
1356         * objects/FS/flow-ortho.c, objects/FS/function.c: Applied David
1357         Thompson's patch that adds undo support to the function structure
1358         diagram objects.
1360 2000-04-14  James Henstridge  <james@daa.com.au>
1362         * objects/custom/custom_object.c (custom_distance_from): new
1363         implementation of distance algorithm that actually takes the
1364         display list into account when calculating the distance.  Much nicer
1365         than a simple bounding box.
1367 2000-04-13  Lars Clausen  <lrclause@cs.uiuc.edu>>
1369         * lib/geometry.c (line_crosses_ray): Fixed division by zero bug
1371 2000-04-12  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1373         * objects/standard/polygon.c: Start of polygons own changes (for
1374         connectionpoints).  Need to do seperate changes in polyshape, too,
1375         rather than reuse the bezier changes.
1377 2000-04-13  James Henstridge  <james@daa.com.au>
1379         * lib/dia_image.c (dia_image_draw): use the new enumeration values
1380         from after the gdk-pixbuf cleanup.
1382         * lib/geometry.c (bez_point_distance_and_ray_crosses): fix up limit
1383         on for loop.  Last set of coefficients were not beeing calculated,
1384         which caused a bit of breakage.
1386         * lib/bezier_conn.c (bezierconn_closest_segment): use the new
1387         functions in geometry.c for calculating the closest segment.
1388         (bezierconn_distance_from): use distance_bez_line_point to calculate
1389         the distance.
1391         * lib/geometry.c (distance_bez_line_point): new function to calculate
1392         the distance from an open bezier line to a point.
1393         (distance_bez_shape_point): new function to calculate the distance
1394         from a closed bezier shape.
1395         (distance_ellipse_point): new function to calculate the distance from
1396         a filled ellipse to a point.
1398         * lib/geometry.h (BezPoint): moved this structure here from render.h
1400 2000-04-12  James Henstridge  <james@daa.com.au>
1402         * lib/geometry.c (distance_bez_seg_point): new function to calculate
1403         the distance from a bezier segment.
1405         * lib/polyshape.c (polyshape_distance_from): use distance_polygon_point
1406         to calculate the distance from the object.
1408         * lib/geometry.c (distance_polygon_point): function for calculating
1409         the distance from a polygon to a point.
1411 2000-04-12  Cyrille Chepelov  <chepelov@calixo.net>
1413         * app/interface.c:
1414         * lib/sheet.[ch]: added a <br/> tag in sheet files, so that line 
1415         breaks can be inserted in the tool box. 
1417         * doc/sheet.dtd: updated the DTD
1418         * sheets/GRAFCET.sheet: tried <br/> on that sheet (more to come).
1419         
1420 2000-04-12  James Henstridge  <james@daa.com.au>
1422         * app/plugin-manager.c (get_plugin_manager): use the GTK_DIALOG
1423         macro if the dialog is a GtkDialog :(
1425 2000-04-11  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1427         * objects/standard/polygon.c: Connectionpoints now properly
1428         managed in a GList.  As far as I can tell, this will not dieturb
1429         the order (but I have the nagging doubt...)
1431         * lib/polyshape.c: No longer knows about connectionpoints.
1433 2000-04-11  James Henstridge  <james@daa.com.au>
1435         * app/Makefile.am: fix makefile for bonobo build.
1437         * configure.in: fix checks for bonobo.
1439         * app/menus.c: added entries for the plugin manager.
1441         * app/Makefile.am (dia_core_files): added plugin manager to files
1442         list.
1444         * app/plugin-manager.[ch]: the plugin manager dialog.
1446         * app/display.c (display_update_menu_state): set the antialiased
1447         menu entry to the correct value.
1449 2000-04-11  Cyrille Chepelov  <chepelov@calixo.net>
1451         * objects/custom/custom_object.c: not all renderers like ellipses with
1452         negative dimensions. This could cause ellipses to disappear when using
1453         the flip_h and flip_v functions.
1455         * samples/grafcet.dia: fixed speling and correctness.
1456         
1457 2000-04-11  James Henstridge  <james@daa.com.au>
1459         * lib/plug-ins.[ch]: added more accessors for use by a plugins dialog.
1460         exposed the dia_plugin_load and dia_plugin_unload functions.
1462         * lib/plug-ins.c (plugin_load): change plugin_load to work on an
1463         already created PluginInfo structure.
1465         * app/app_procs.c (app_exit): call dia_pluginrc_write() to write
1466         the pluginrc file.
1468         * lib/sheet.c: fix up call to dia_config_filename.
1470         * lib/plug-ins.[ch]: started writing code for handling a pluginrc
1471         file.  This would save information such as which plugins not to
1472         load during startup.
1474 2000-04-09  James Henstridge  <james@daa.com.au>
1476         * lib/sheet.c: use dia_config_filename to resolve file in ~/.dia.
1478 2000-04-10  Alexander Larsson  <alla@lysator.liu.se>
1480         * lib/plug-ins.c (dia_register_plugins):
1481         Don't free the value returned from g_getenv.
1483 2000-04-09  Anders Carlsson  <andersca@gnu.org>
1485         * app/preferences.h: Add reverse_rubberbanding_intersects preference variable.
1487         * app/preferences.c (prefs_data): Add reverse_rubberbanding_intersects preference data.
1489         * app/modify_tool.c (modify_button_release): If rubberbanding is done from 
1490         right to left, select objects that intersect the rubberbanding rectangle
1491         instead of selecting objects that are in the rectangle.
1493         * lib/diagramdata.c (layer_find_objects_intersecting_rectangle): Add function.
1495         * lib/diagramdata.h: Likewise.
1498 2000-04-09  James Henstridge  <james@daa.com.au>
1500         * lib/plug-ins.[ch]: add copyright messages to files.
1502         * plug-ins/cgm/cgm.c (dia_plugin_init): convert plugin over to new
1503         plugin interface.
1505         * objects/sybase/sybase.c (dia_plugin_init): 
1506         * objects/network/network.c (dia_plugin_init): 
1507         * objects/flowchart/flowchart.c (dia_plugin_init): 
1508         * objects/custom/custom.c (dia_plugin_init): 
1509         * objects/chronogram/chronogram.c (dia_plugin_init): 
1510         * objects/UML/uml.c (dia_plugin_init): 
1511         * objects/SADT/sadt.c (dia_plugin_init): 
1512         * objects/GRAFCET/grafcet.c (dia_plugin_init): 
1513         * objects/FS/fs.c (dia_plugin_init): 
1514         * objects/ER/er.c (dia_plugin_init): updated plugin load code for
1515         object libraries.
1517         * objects/standard/standard.c (dia_plugin_init): change over to new
1518         plugin interface.
1520         * lib/plug-ins.h (DIA_PLUGIN_CHECK_INIT): added a macro to define
1521         the version checker for plugins.
1523         * app/app_procs.c: remove plugin loading code from here, and use
1524         code from plug-ins.[ch].  Also move registration of internal
1525         objects/filters to a `builtin' plugin.
1527         * lib/Makefile.am (libdia_a_SOURCES): added plug-ins.[ch] to library.
1529         * configure.in: use AC_PROG_LIBTOOL rather than AM_PROG_LIBTOOL.
1531         * app/Makefile.am (EXTRA_DIST): you can't include a conditionally
1532         defined variable in EXTRA_DIST.
1534         * app/preferences.h: removed dia_config_filename from header.
1536         * app/preferences.c: removed dia_config_filename function.
1538         * lib/dia_dirs.c (dia_config_filename): moved function over to this
1539         file.  Also changed implementation slightly so that it should work
1540         on the win32 port correctly (and use NT home directories).
1542         * lib/dia_dirs.h (dia_config_filename): move dia_config_filename where
1543         it should have been.
1545         * lib/plug-ins.[ch]: new plugin loading code.
1547 2000-04-08  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1549         * objects/standard/polygon.c: Fixed startup crash bug (do'h!).
1551         * lib/polyshape.c: Fix closest segment finding, exposes deeper
1552         bugs in adding corners to 'wraparound' segment.
1554         * objects/standard/polygon.c: Added connection points (fixed so
1555         far), set menu sensitivity.
1557         * lib/polyshape.c: Changed to box-style handles, fixed for start
1558         and ends not being special, added initial connections,
1560         * lib/dummy_dep.h: Added polyshape (gotcha!)
1562         * objects/standard/pixmaps/ellipse.xpm: 
1563         * objects/standard/pixmaps/box.xpm: 
1564         Filled element pixmaps with white.
1566         * lib/polyshape.c: 
1567         * objects/standard/polygon.c: 
1568         * lib/polyshape.h: 
1569         * objects/standard/standard.c: 
1570         * objects/standard/Makefile.am (libstandard_objects_la_SOURCES): 
1571         * lib/Makefile.am (libdia_a_SOURCES): 
1572         * app/menus.c: 
1573         * app/interface.c (tool_data): 
1574         Added Standard/Polygon object and PolyShape lib object.  Still
1575         needs inside grab and connection points.
1577         * app/commands.c (help_about_callback): Now uses gdk-pixbuf if
1578         available. 
1580         * configure.in: Made imlib a fallback if gdk-pixbuf is absent or
1581         not wanted.
1583         * app/app_procs.c (app_init): Moved gtk_init outside #ifdef, moved
1584         if (argv) outside ifdefs.
1586 2000-04-04  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1588         * objects/standard/image.c (image_set_props): 
1589         Aspect ratio is back in town.
1591         * app/Makefile.am (dia_LDADD): 
1592         * acconfig.h: 
1593         * configure.in: 
1594         Check for gdk_pixbuf (by default disabled, for now)
1596         * app/render_eps.c (draw_image): 
1597         * app/render_libart.c (draw_image): 
1598         * app/render_gnomeprint.c (draw_image): 
1599         Support for alpha mask in rendering.  Color postscript, too.
1601         * lib/dia_image.c: 
1602         * lib/dia_image.h: 
1603         Support for gdk_pixbuf and proper masking for exports.
1605 2000-04-01  Kjartan Maraas  <kmaraas@online.no>
1607         * sheets/*.sheets: Updated Norwegian translations.
1608         
1609 2000-03-30  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1611         * lib/text.c (text_insert_char): 
1612         * lib/render_store.c (add_data): 
1613         Made realloc double the alloced space rather than add
1614         a fixed amount, to reduce memory stress.
1616         * app/select.c: Added new select method 'Transitive'
1617         that select every reachable (by connections) object.
1619 2000-03-27  Kjartan Maraas  <kmaraas@online.no>
1621         * dia.desktop: Added Norwegian translation.
1622         
1623 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
1625         * app/render_eps.c:
1626         * app/render_svg.c:
1627         Don't dereference NULL pointer if the renderer
1628         couldn't open the file. Fix by Lars Clausen.
1629         Bug reported by Martin Chisholm <b1mt@unb.ca>
1630         
1631 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
1633         * dia.desktop:
1634         * po/pt.po:
1635         Updated pt translation from Pedro Morais <pmmm@rnl.ist.utl.pt>
1637 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
1639         * app/dia.gnorba (location_info):
1640         Changed to correct executable name.
1642 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
1644         * app/app_procs.c:
1645         Don't do any argument parsing or initialization
1646         if argv==NULL.
1648         * app/dia_embedd.c:
1649         Call init_server_factroy before app_init.
1650         Call app_init with argv==NULL
1651         Now we don't get any critical error on startup.
1653         * configure.in:
1654         Add Electric and Pneumatic to makefile list.
1655         
1656 2000-03-24  Cyrille Chepelov <chepelov@calixo.net>
1658         * shapes/Electric/*:
1659         * sheets/Electric.sheet:
1660         Add some Electric circuit shapes.
1662         * shapes/Pneumatic/*:
1663         * sheets/Pneumatic.sheet:
1664         Add some Pneumatic & Hydraulic circuit shapes
1665         (both sheets are still incomplete, though feature enough 
1666         things for basic circuits).
1668         * shapes/Contact/l_*.(xpm|shape):
1669         * sheets/Contact.sheet
1670         * shapes/Contact/Makefile.am
1671         made the older electric circuit shapes in Contact obsolete (disabled
1672         them in the sheet, made that sheet Ladder only). Fixed the makefile
1673         for forgotten items.
1674         
1675 2000-03-24  Alexander Larsson  <alla@lysator.liu.se>
1677         * app/Makefile.am:
1678         Add support for Dia bonobo component.
1679         Currently a bit raw, so it's commented out.
1680         
1681         * app/dia_embedd.c:
1682         * app/dia.gnorba:
1683         New files for embedding dia.
1684         The menu disabling hack is a bit gross. Esp. for GNOME.
1686         * app/app_procs.h:
1687         Add new function app_is_embedded();
1689         * app/diagram.c:
1690         Don't destroy diagram when last display is destroyed if embedded.
1691         
1692         * app/display.c:
1693         Change initialization of display so it works with embedding.
1695         * app/display.h:
1696         Clarify comment about display destruction.
1698         * app/interface.[ch]:
1699         Added top_level_window argument to create_display_shell.
1700         Don't open a top-level window if embedding.
1701         Don't quit app if trying to close toolbox window when embedding.
1702         Add toolbox_show() and toolbox_hide().
1704         * app/main.c:
1705         Added app_is_embedded() function (just returns false).
1706         Added toolbox_show() call in main().
1708         * app/menus.c:
1709         Added code for getting toolbox menus. This is used to
1710         hide some menu items when running embedded.
1711         
1712         * app/app_procs.c:
1713         Include sheet.h to remove warning.
1715         * objects/UML/association.c:
1716         Clarify association direction text.
1717         
1718 2000-03-16  Fredrik Hallenberg  <hallon@lysator.liu.se>
1720         * dia.1
1721         Fixed man page so whatis parsing works.
1723 2000-03-12  Alexander Larsson  <alla@lysator.liu.se>
1725         * app/render_libart.c (new_libart_renderer):
1726         Fix from segg <segg@infonet.ca> to compile without libart.
1727         I forgot to change the stub for new_libart_renderer when doing
1728         the interactive renderer stuff for libart.
1730 2000-03-11  Alastair McKinstry  <mckinstry@computer.org>
1732         * dia.desktop: Added Irish translation.
1733         
1734         * configure.in (ALL_LINGUAS): Added Irish (ga) translation.
1736 2000-03-07  Asbjorn Pettersen  <asbjornP@dualog.no>
1738         * app/load_save.c (fchmod): OS/2 defines only.
1740 2000-03-07  James Henstridge  <james@daa.com.au>
1742         * lib/properties.c (prop_get_widget): set the position in the option
1743         menu correctly.
1745 2000-03-06  Alexander Larsson  <alla@lysator.liu.se>
1747         * app/display.c:
1748         * app/export_png.c:
1749         * app/render_libart.[ch]:
1750         Don't export png:s with an interactive libart renderer.
1752 2000-03-03  Asbjorn Pettersen  <asbjornP@dualog.no>
1754         * lib/arrows.c (finite): define finite(d) isfinite(d)  for OS/2
1756 2000-03-02  James Henstridge  <james@daa.com.au>
1758         * dia.spec (%build): unset LINGUAS before running configure.  This
1759         ensures that all translations get included in the RPM.
1761         * lib/properties.c (object_create_props_dialog): put in a check for
1762         a NULL return from the describe_props() object method.
1763         (prop_desc_lists_union): make sure that the returned array is not
1764         NULL.
1765         (prop_desc_lists_intersection): same here.
1767 2000-02-29  Alexander Larsson  <alla@lysator.liu.se>
1769         * objects/ER/Makefile.am:
1770         * objects/FS/Makefile.am:
1771         * objects/UML/Makefile.am:
1772         Don't link object libs with gtk.
1774 2000-02-29  James Henstridge  <james@daa.com.au>
1776         * app/preferences.c (prefs_save): check to see if the file could
1777         be opened before writing the prefs.
1779         * app/disp_callbacks.c (popup_object_menu): pass the button event
1780         to gtk_menu_popup.  This allows you to click and release to open
1781         the object menu.
1782         (ddisplay_canvas_events): same here.
1783         (create_object_menu): set the object type menu item in the object
1784         menu to be insensitive.
1786         * app/render_svg.c (draw_string): call xmlEncodeEntitiesReentrant,
1787         as we are now requiring a new version of libxml.
1789         * dia.spec: updated version number.  Added requirement for
1790         libxml >= 1.8.5
1792         * configure.in: incremented version number to 0.84.
1793         Added check for libxml >= 1.8.5.  This will prevent some of the
1794         problems people have had with broken libxml versions.
1796         * NEWS: added news items.
1798         * app/interface.c (create_color_area): removed call to realize parent
1799         widget.  Segg <segg@infonet.ca> reported that it caused a warning,
1800         but I haven't seen it on my copy of dia.
1802 2000-02-28  James Henstridge  <james@daa.com.au>
1804         * app/export_png.c: added copyright notice, and made the band height
1805         a constant.
1807 2000-02-27  Alexander Larsson  <alla@lysator.liu.se>
1809         * lib/font.c (suck_font):
1810         Fixed off-by one bug in font pixmap height.
1811         Fixes the problem with garbage at the bottom of some text in aa mode
1812         and in png exported files.
1814 2000-02-27  James Henstridge  <james@daa.com.au>
1816         * app/app_procs.c: add the png export filter if it was compiled in.
1818         * app/export_png.c (export_png): new PNG export filter.  This requires
1819         the libart renderer to work as it needs a renderer that renders to a
1820         pixel buffer.
1822         * configure.in: add check for libpng.
1824         * lib/message.c (message_internal): use a GNOME dialog here as well.
1826         * app/display.c (ddisplay_close): use a GNOME dialog here.
1828         * app/render_eps.c (create_eps_renderer): use diagram scaling factor
1829         when exporting to EPS.  This is because some people said the EPS
1830         output was too large
1832 2000-02-26  James Henstridge  <james@daa.com.au>
1834         * app/defaults.c (create_dialog): use a GNOME dialog for the defaults
1835         window.
1837         * app/app_procs.c (app_exit): use a GNOME dialog here.
1839         * app/preferences.c (prefs_create_dialog): if GNOME support is
1840         enabled, show a GNOME dialog.
1842         * app/grid.c (grid_draw): use preferences when drawing page break
1843         lines.
1845         * app/preferences.c: add page break preferences to dialog.
1847         * app/preferences.h: added page break preferences.
1849 2000-02-25  James Henstridge  <james@daa.com.au>
1851         * sheets/UML.sheet: added new objects.
1853         * objects/UML/uml.c: link in the two new objects.
1855         * objects/UML/node.c: 
1856         * objects/UML/branch.c: new UML objects from Stfan Seefeld
1857         <seefelds@magellan.umontreal.ca>.
1859 2000-02-24  James Henstridge  <james@daa.com.au>
1861         * objects/custom/custom_object.c: converted to use the properties
1862         interface.  In the future, it would be nice to add support for
1863         defining custom properties for custom objects, but that can wait.
1865 2000-02-22  James Henstridge  <james@daa.com.au>
1867         * sheets/Circuit.sheet: added new circuit shapes to sheet.
1869         * plug-ins/cgm/cgm.c: cgm plugin updates from Henk Jan Priester
1870         <hj@justcroft.com>.  Fixes number encoding, colour encoding, fonts
1871         and adds a few new features.
1873 2000-02-21  Daniel Egger  <egger@suse.de>
1875         * sheets/*.sheets: Added German translations and made some
1876         corrections to the others.
1877         
1878 2000-02-21  James Henstridge  <james@daa.com.au>
1880         * shapes/Circuit/Makefile.am (SHAPES): added new shapes to list.
1882         * shapes/Circuit/...: added new shapes from Erik Janssens.
1884 2000-02-20  James Henstridge  <james@daa.com.au>
1886         * app/interface.c (create_color_area): realize the parent window
1887         first.
1889         * objects/standard/image.c: properties patch for standard image
1890         object, from Lars Clausen.
1892         * lib/properties.c: support for PROP_TYPE_FILE from Lars Clausen.
1894         * lib/properties.h (PropType): added file property type.
1896         * shapes/Circuit/speaker_de.xpm: changed size of pixmap to match
1897         other shapes.
1899         * app/interface.c: use wrap box for toolbox.
1901         * app/Makefile.am: added new files.
1903         * app/gtk*wrapbox.[ch]: added wrap box widget.
1905 2000-02-19  James Henstridge  <james@daa.com.au>
1907         * sheets/network.sheet: added extra shapes to networks sheet.
1909         * configure.in (AC_OUTPUT): added shapes/network/Makefile
1911         * shapes/network/*: added shapes that were posted to the list a while
1912         back.
1913         
1914         * shapes/Makefile.am (SUBDIRS): added network subdirectory
1916         * app/menus.c (toolbox_menu_items): don't right justify help menu for
1917         gtk+ version of menus.
1919         * app/properties.c (create_dialog): use a GnomeDialog if we happen
1920         to be using gnome.
1922 2000-02-18  James Henstridge  <james@daa.com.au>
1924         * objects/flowchart/box.c: set extra data for corner radius and text
1925         padding properties.
1927         * objects/standard/box.c: set extra data for corner radius property.
1929         * lib/properties.h: set extra data in some standard properties.
1931         * lib/properties.c (prop_get_widget): look at the extra data for
1932         int, real and enum property types.  They now use GtkSpinButton and
1933         GtkOptionMenu respectively.
1935         * lib/properties.h: extra data members for creating property setting
1936         widgets.
1938 2000-02-17  James Henstridge  <james@daa.com.au>
1940         * objects/flowchart/box.c: reverted load/save functions back to
1941         previous implementations.  Made box use standard property names.
1943         * plug-ins/cgm/cgm.c (set_linestyle): was missing a */
1945         * app/grid.c: add more digits to the grid edit dialog.  This patch
1946         was also from Lars Clausen.
1948         * objects/standard/zigzagline.c: 
1949         * objects/standard/textobj.c:
1950         * objects/standard/polyline.c:
1951         * objects/standard/line.c:
1952         * objects/standard/ellipse.c:
1953         * objects/standard/box.c: 
1954         * objects/standard/bezier.c: 
1955         * objects/standard/arc.c: patches to add properties code to standard
1956         objects.  Based on patches from Lars Clausen.  I have also removed
1957         some dead code from the files.
1959         * lib/properties.h (PROP_STD_*): define a number of standard
1960         properties.  Where appropriate, objects should include these
1961         properties in their PropDescription list.  This way, the intersection
1962         of properties of two different shapes will be greater.
1964 2000-02-14  James Henstridge  <james@daa.com.au>
1966         * objects/flowchart/box.c (box_load, box_save): use property save
1967         routines.  Make sure that any props not handled by object_load_props
1968         are loaded before calling object_load_props, or we get errors because
1969         update_data is called.
1971         * lib/properties.c (object_get_props_from_offsets): fixed an indexing
1972         error that could cause properties to be loaded incorrectly.
1973         (object_set_props_from_offsets): similar here.
1975         * lib/properties.[ch] (prop_{load,save}): functions for loading
1976         or saving a property in Dia's XML file format.
1977         (object_{load,save}_props): load or save some properties of an
1978         object.  These functions should help simplify the load/save methods
1979         of objects that implement the properties interface.
1981 2000-02-13  James Henstridge  <james@daa.com.au>
1983         * objects/flowchart/box.c: use offset code to simplify property
1984         get/set routines.
1986         * lib/element.h (ELEMENT_COMMON_PROPERTIES): standard element
1987         properties.
1988         (ELEMENT_COMMON_PROPERTIES_OFFSETS): offsets.
1990         * lib/object.h (OBJECT_COMMON_PROPERTIES): list of standard object
1991         properties.
1992         (OBJECT_COMMON_PROPERTIES_OFFSETS): the offsets of the properties.
1994         * lib/properties.[ch] (object_{get,set}_props_from_offsets): new
1995         functions 
1997 2000-02-12  Alexander Larsson  <alla@lysator.liu.se>
1999         * app/Makefile.am:
2000         Add the custom object to DIA_LIB_PATH in run_dia.sh
2002 2000-02-10  Cyrille Chepelov  <chepelov@calixo.net>
2004         * sheets/Circuit.sheet:
2005         * shapes/l_sout* (NEW):
2006         * shapes/l_outj.* (NEW): added new outputs : jump, and the power-saved
2007         variants of simple, inverted, set and reset outputs.
2008         Still to do: all Schneider/Telemecanique TSX *7 function blocks ; 
2009         probably a split of Contact and Ladder sheets. And then a major 
2010         revamping of the Contact sheet.
2012 2000-02-10  James Henstridge  <james@daa.com.au>
2014         * app/Makefile.am (dia_LDADD): don't link with libcustom_objects.
2016         * app/app_procs.c (register_all_objects): don't explicitely
2017         register the custom objects library -- let it be loaded by the
2018         normal plugin loading methods.
2020         * lib/Makefile.am (libdia_a_SOURCES): don't include custom.h here.
2022         * objects/custom/Makefile.am: build libcustom_objects as a shared
2023         library again.
2025         * objects/custom/shape_info.[ch]: don't read the description field
2026         of custom shapes.  It makes more sense to have these in the sheet
2027         file to localise the parts of dia that translators have to deal
2028         with.
2030         * objects/custom/custom_object.c (custom_object_new): do not
2031         create the sheet object for the new custom shape -- this is
2032         handled by the custom sheet code.
2034         * objects/custom/custom.c: change over to being a normal plug-in
2035         rather than being linked with the main dia executable.
2037 2000-02-09  James Henstridge  <james@daa.com.au>
2039         * sheets/Circuit.sheet: 
2040         * sheets/Flowchart.sheet: 
2041         * sheets/Contact.sheet: fixed up sheets.
2043         * objects/custom/custom_object.c (custom_object_new): set the
2044         extra ObjectType fields.
2046         * lib/sheet.c: use extra ObjectType fields when creating sheet
2047         objects.  Give a warning if <shape> tags are found in a sheet
2048         file.  Now the custom sheet code does not know about custom
2049         shapes -- they look like any other object type.
2051         * lib/object.h (ObjectType): added extra members
2053 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
2055         * app/linewidth_area.c:
2056         Added code to set arbitrary line width.
2057         Patch by Lars Clausen <lrclause@cs.uiuc.edu>
2059 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
2061         * app/linewidth_area.c: 
2062         * lib/font.[ch]:
2063         Add support for font-sucking.
2064         Implementation borrowed from gnome-canvas.
2065         
2066         * app/render_libart.[ch]:
2067         Implement text rendering.
2069 2000-02-07  Alexander Larsson  <alla@lysator.liu.se>
2071         * app/properties.c (create_dialog):
2072         ref and sink no_properties_dialog.
2074 2000-02-07  James Henstridge  <james@daa.com.au>
2076         * app/group.c (group_describe_props): new function.  Return the
2077         intersection of the properties of the contained objects that
2078         implement the describe_props interface.
2079         (group_get_props): implement by iterating through contained objects
2080         and calling their get_props method until all properties have been
2081         set.  Maybe this should go through all objects all the time??
2082         (group_set_props): implement by calling set_props method on all
2083         contained objects.
2084         (group_ops): use standard props dialog creation routines.
2086         * lib/properties.c (prop_desc_lists_intersection): fix implementation
2087         of intersection -- I was using i++ instead of i-- in a for loop :(
2089         * objects/custom/custom.c (custom_register_objects): fix usage
2090         of dia_get_data_directory again.
2092         * lib/sheet.c: fix up use of dia_get_data_directory, so that we
2093         actually read the sheets.
2095 2000-02-06  Alexander Larsson  <alla@lysator.liu.se>
2097         Win32 port by Hans Breuer <Hans@Breuer.org>
2099         * app/Makefile.am:
2100         Remove DATADIR and LIBDIR defines.
2102         * lib/Makefile.am:
2103         Add dia_dirs.c and dia_dirs.h
2104         Added DATADIR and LIBDIR defines.
2106         * lib/dia_dirs.[ch]:
2107         New files for handling special directories.
2109         * app/app_procs.c:
2110         * app/commands.c:
2111         * lib/sheet.c:
2112         * objects/custom/custom.c:
2113         Fix warnings.  Use directory functions.
2115         * app/diagram.h:
2116         Add prototype for diagram_redraw_all.
2118         * app/diaunitspinner.c:
2119         * app/filedlg.c:
2120         * app/interface.c:
2121         * app/preferences.c:
2122         Fix warning.
2124         * app/load_save.c:
2125         Win32 doesn't have mkstemp and fchmod.
2127         * app/paginate_psprint.c:
2128         Win32 calls popen _popen and pclose _pclose.
2129         
2130         * app/arrow.c:
2131         Win32 calls finite _finite.
2133         * lib/color.h:
2134         Win32 needs to dllexport the color vars.
2136         * objects/GRAFCET/step.c:
2137         * objects/chronogram/chronoref.c:
2138         snprintf -> g_snprintf
2140 2000-02-05  James Henstridge  <james@daa.com.au>
2142         * lib/properties.c: more fixes so that it doesn't crash when using
2143         properties.  The undo/redo stuff also works!!
2145         * objects/flowchart/box.c (box_{describe, get, set}_props): test
2146         object where I have implemented the new properties interface
2147         complete with automatic properties dialog generation.
2149         * lib/properties.c (object_apply_props): fixed stupid error when
2150         creating the old_props array.  Also, it no longer frees the props
2151         array -- you will have to do that yourself.
2153 2000-02-04  James Henstridge  <james@daa.com.au>
2155         * app/properties.c (properties_apply): pass object_part to
2156         apply_properties.
2158         * lib/object.h (ApplyPropertiesFunc): added widget argument.
2160         * lib/lazyprops.h (PROPDLG_CREATE): ref and sink properties dialogs
2161         created this way as well.
2163         * objects/*/*.c: ref and sink the properties dialog window for each
2164         widget.  It can't rely on ref count being incremented by
2165         properties_show anymore.
2167         * app/properties.c (properties_show): don't ref the widget before
2168         removing it, or its ref count will increase each time you open the
2169         properties dialog.  Don't unparent the widget, as container_remove
2170         does that for us.
2172         * lib/object.h: fixed up prototypes for new object methods.
2174         * lib/properties.[ch]: added functions for automatically creating
2175         a properties dialog from the output of describe_props, get_props and
2176         set_props.
2177         (object_apply_props): apply properties and return an ObjectChange
2178         structure that can be used for undo.
2180 2000-02-03  Cyrille Chepelov  <chepelov@calixo.net>
2182         * objects/GRAFCET/transition.c: minor leak plugged.
2184         * sheets/GRAFCET.sheet:
2185         * objects/GRAFCET/pixmaps/condition.xpm: (NEW)
2186         * objects/GRAFCET/condition.c: (NEW) added a new object type, action 
2187         conditions.
2188         * objects/GRAFCET/Makefile.am: fixed incorrect dependencies, added
2189         new ones (for condition.c).
2190         * objects/GRAFCET/action.c: added connection points for the conditions.
2191         * samples/grafcet.dia: updated the sample to improve conformance to
2192         IEC 848 and take advantage of dia's new features.
2193         
2194         * lib/geometry.h: (point_get_normed) fixed a typo.
2196 2000-02-02  James Henstridge  <james@daa.com.au>
2198         * lib/object.h: added object functions describe_props, get_props and
2199         set_props.  Do type definitions so that object.h doesn't need to
2200         include properties.h, since properties.h includes object.h.
2202         * lib/properties.[ch]: more hacking.
2204         * po/de.po: updated po file.
2206 2000-01-30  James Henstridge  <james@daa.com.au>
2208         * configure.in: don't add flags to CFLAGS unconditionally.  Instead,
2209         check to see if the C compiler accepts the flag beforehand.
2211         * lib/properties.[ch]: start of properties code.
2213         * shapes/Contact/Makefile.am (SHAPES): fix up makefile.
2215 2000-01-30  Cyrille Chepelov  <chepelov@calixo.net>
2216         
2217         * sheets/GRAFCET.sheet:
2218         * sheets/GRAFCET/etapemc.xpm: (NEW)
2219         * sheets/GRAFCET/etapesp.xpm: (NEW)
2220         * objects/GRAFCET/step.c: Added the macro and
2221         sub-program call step types.
2223         * objects/GRAFCET/receptivity.[ch]: renamed to 
2224         objects/GRAFCET/boolequation.[ch]. 
2225         * objects/GRAFCET/transition.c: changed (Receptivity *) to 
2226         (BoolEquation *)
2228         * lib/connpoint_line.[ch]: 
2229         * objects/chronogram/chronoline.c:
2230         * objects/chronogram/chronoref.c:
2231         * objects/GRAFCET/vergent.c:
2232         * objects/standard/line.c:
2233         * objects/SADT/box.c: Minor CPL interface changes, factored out the
2234         point count adjustment code into the CPL object.
2235         
2236 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
2238         * app/render_libart.c:
2239         Added support for images and bezier curves.
2240         Only text/fonts missing now.
2242         * app/render_gdk.c:
2243         Removed old erronous comment.
2245 2000-01-29  Cyrille Chepelov <chepelov@calixo.net>
2247         * objects/chronogram/chronoline_event.c: removed references to
2248         lround(). Please don't insist, I'm already red of shame.
2249         
2250 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
2252         * app/render_libart.[ch]:
2253         * app/Makefile.am:
2254         Non-finished libart renderer.
2256         * acconfig.h:
2257         Added HAVE_LIBART flag
2259         * configure.in:
2260         Added libart probe
2262         * app/app_procs.c:
2263         Call gdk_rbg_init().
2265         * app/connectionpoint_ops.c:
2266         * app/disp_callbacks.c:
2267         * app/grid.c:
2268         * app/handle_ops.c:
2269         * app/magnify.c:
2270         * app/modify_tool.c:
2271         Change ddisp->renderer type from RendererGdk * to Renderer *
2272         Draw zoom and select rects in ddisp->canvas->window instead
2273         of ddisp->renderer->renderer->pixmap.
2275         * app/display.[ch]:
2276         Add aa_renderer to DDisplay, and  support for it.
2277         New function ddisplay_set_renderer() for changing renderer.
2278         Add ddisplay_transform_coords_double() function, used by aa renderer.
2279         Change ddisp->renderer type from RendererGdk * to Renderer *
2281         * app/menus.c:
2282         Add antialias to menu.
2283         
2284         * app/commands.[ch]:
2285         add view_aa_callback function
2286         Change ddisp->renderer type from RendererGdk * to Renderer *
2288         * lib/geometry.[ch]:
2289         Added IntRectangle and int_rectangle_union.
2291 2000-01-28  James Henstridge  <james@daa.com.au>
2293         * app/commands.h: removed prototypes.
2295         * app/commands.c: removed the functions that have been moved to
2296         filedlg.c.
2298         * app/filedlg.h: added new prototypes.
2300         * app/filedlg.c (file_open_callback): move open dialog to this
2301         file.  This implementation should remember the current directory
2302         between file loads.
2303         (file_save_as_callback): moved this dialog as well.
2304         (file_save_callback): moved this function here.
2306         * app/paginate_psprint.c (paginate_psprint): if not in fit to mode,
2307         align page boundaries to the origin.
2309         * app/diagram.c (diagram_update_extents): redraw the diagram if the
2310         scaling factor changes while updating the extents.  This is so the
2311         page breaks get redrawn correctly.
2313         * app/pagesetup.c (pagesetup_apply): added diagram_flush call when
2314         applying changes.
2316         * app/grid.c (grid_draw): draw page breaks as well as grid lines.
2317         For normal mode, use (0,0) as the origin.  For `fit to' mode, use
2318         the corner of the bounding box.
2320         * app/pagesetup.c (create_page_setup_dlg): load new paper attributes
2321         into page setup dialog.
2322         (pagesetup_apply): apply new `fit to' attributes to the diagram.
2324         * app/load_save.c (diagram_load): load new paper `fit to' attributes.
2325         (diagram_data_save): save `fit to' data.
2327         * lib/diagramdata.c (new_diagram_data): initialise `fit to' members.
2328         (data_update_extents): when in `fit to' mode, update scale factor
2329         when we update the extents.
2331         * lib/diagramdata.h (PaperInfo): added `fit to' members to PaperInfo
2332         structure.
2334         * .../.cvsignore: added some cvsignore files to quieten cvs.
2335         
2336         * app/pagesetup.c (pagesetup_changed): added code to change the
2337         scaling/fit to values as you change the options in the page setup
2338         dialog.  I haven't added code so that the fit to options are saved
2339         though.
2341         * app/diapagelayout.[ch]: changed the scaling portion of the widget
2342         to make it easier to set a `fit to' style scaling factor.
2344 2000-01-27 Cyrille Chepelov <chepelov@calixo.net>
2345         * lib/neworth_conn.[ch]: (NEW) Temporary (hopefully) fork of orth_conn,
2346         but connpoint_line-based, so that there's a connection point at the 
2347         middle of each segment. Currently only the SADT arrow uses this.
2349         * objects/SADT/* (NEW): SADT (both idf0 and idf1) support.
2350         
2351 2000-01-26 Cyrille Chepelov <chepelov@calixo.net>
2352         * lib/lazyprops.[ch]:(NEW) Added a bunch of macros for loading, 
2353         saving and editing of properties (and default properties). 
2354         See the new objects (GRAFCET, SADT, chonograms) for examples.
2355         For already too hairy stuff, see objects/chronogram/chronoline.c.
2357         * lib/connpoint_line.[ch] (NEW): This subobject manages a line of 
2358         evenly spaced connection points, which the user can add or remove at
2359         will. An object can own several connection point lines. See the SADT
2360         Box, or the GRAFCET vergents for examples.
2362         * lib/dummy_dep.h: added dependencies to new files. Told gcc to keep 
2363         quiet about unused stuff.
2365         * objects/GRAFCET (NEW):
2366         * samples/grafcet.dia (NEW):
2367         Added support for GRAFCET charts. 
2369         * objects/chronogram (NEW):
2370         * samples/chronograms.dia (NEW):
2371         Added support for chronograms (feature requested by Ronald L. Chichest;
2372         I found I'd use it often, too).
2374         * objects/standard/line.c: Replace the middle connectionpoint by 
2375         a whole connection point line, which defaults to one point (hint, 
2376         hint). New Line object menu to take advantage of this. 
2377         "Bothwards" compatibility is preserved (although you may loose 
2378         connections if you load a newer file in a older dia).
2380         * app/lineprops_area.c:
2381         * lib/arrows.[ch]:
2382         * lib/widgets.c: Added hollow and filled ellipse arrow head type. 
2383         (feature requested by Benjamin Kahn).
2384         Merged in Steffen Macke's slashed arrow head type.
2386         * app/Makefile.am (app/run_dia.sh actually):
2387         Added $DEBUGGER in front of dia's invocation, so that
2388         you can call "DEBUGGER=ddd app/run_dia.sh" (maybe naive, but useful).
2389         Added $(EFENCE) to app/dia's LDFLAGS, so that you can do 
2390         "EFENCE=-lefence" to link with Electric Fence.
2392         * configure.in: Made gcc do more aggressive optimisations on i386, and
2393         enabled warnings.
2394         
2395 2000-01-24  James Henstridge  <james@daa.com.au>
2397         * lib/geometry.[ch]: added inline versions of functions.  Used
2398         glib's G_INLINE_FUNC stuff, so it should still work on systems
2399         without inline funcs.
2401         * plug-ins/cgm/cgm.c (draw_ellipse, fill_ellipse): fixed up so that
2402         it outputs the correct element id for the ellipse objects.
2404 2000-01-24 Cyrille Chepelov <chepelov@calixo.net>
2406         * lib/object.[ch]: added object_add_connectionpoint_at, similar to
2407         object_add_handle_at. Message typo fixed.
2408         
2409         * lib/sheet.c (load_register_sheet):
2410         potential bug fixed (warning hunt).
2412         * objects/custom/custom.c (custom_object_load): disabled an assertion
2413         which made dia abort upon failure to load a shape file. Fixed a
2414         subsequent crash. 
2416         * objects/custom/shape_info.c (load_shape_info): Made the custom 
2417         shape load code ignore XML comments between <?xml ...?> and the 
2418         root object (mostly useful to put the emacs magic comments).
2419         
2420         * app/load_save.c: Made dia do backup copies of files when saving,
2421         and complain in case of failure.
2423 2000-01-24  Cyrille Chepelov  <chepelov@calixo.net>
2425         * AUTHORS: fixed my address (ISP thought it was a great idea to change
2426         the domain name)
2427         
2428         * configure.in:
2429         * shapes/Contact:
2430         * shapes/Contact/*:
2431         * sheets/Contact.sheet:
2432         * sheets/Makefile.am:
2433         Added support for Contact and LADDER charts.
2435         * dia.desktop: Added a French translation.
2436         
2437 2000-01-23  James Henstridge  <james@daa.com.au>
2439         * app/commands.c (help_about_callback): don't die if can't load
2440         logo image.
2442         * app/render_gdk.c (bezier_add_lines): sanity check to try to weed
2443         out NaN's when performing bezier curve subdivision.
2445         * objects/custom/custom_object.c: initialise memory of Custom structs
2446         to zero.
2448         * app/render_svg.c (draw_image): added image support to the XML
2449         output filter.  The image is just referenced, rather than being
2450         included inline, so if you copy the SVG file somewhere else, you
2451         may need to move the images or fix up the links.
2453         * plug-ins/cgm/cgm.c (draw_string): output a text colour element,
2454         so the text is not just displayed in black all the time.
2456 2000-01-15  Fredrik Hallenberg  <hallon@lysator.liu.se>
2458         * configure.in: fixed libpopt test so we wont try to build with
2459         too old libpopt.
2461 1999-12-18  Yuri Syrota  <rasta@renome.rovno.ua>
2463         * configure.in: Added "uk" to ALL_LINGUAS.
2465 1999-12-24  James Henstridge  <james@daa.com.au>
2467         * po/ru.po: updated russian translation from Valek Filippov.
2468         
2469         * app/render_svg.c (new_svg_renderer): make output use 19991203
2470         version of SVG DTD.  Use viewBox to set the extents of the view.
2472         * INSTALL (FONTS): updated locations of gnome-xml and imlib.  List
2473         ftp.gnome.org as the download.
2475         * TODO (TODO): weeded out completed todo items and added a few extra.
2477         * Makefile.am (EXTRA_DIST): added documentation to EXTRA_DIST.
2479         * doc/sheet.dtd: first stab at a DTD for the sheet files.  It would
2480         be good to get rid of the object/shape distinction and separate
2481         the custom shape code out from the main application.
2483         * objects/custom/README, diagram.dtd: moved to new doc directory.
2484         Renamed the custom shapes README to custom-shapes.  Also updated
2485         custom shape docs a bit and removed the section on sheet files, as
2486         that has changed a bit.
2488         * plug-ins/cgm/cgm.c (draw_image): give an error if the row length
2489         of the image data is larger than the maximum cell array.  I should
2490         add code to break scan lines down further in this case, but for now
2491         an error message is better than an infinite loop.
2493         * app/filedlg.c (file_export_ok_callback): show a dialog if we
2494         couldn't determine the export filter to use.
2496         * app/commands.c (help_about_callback): fixed up about box logo
2497         expose bug.  Now just use a GtkPixmap widget rather than a
2498         GtkDrawingArea and calling gdk_imlib_paste_image.
2500         * app/Makefile.am (EXTRA_DIST): added print stuff to extra dist,
2501         because automake does not always get things right.
2503         * configure.in: updated version number to 0.83.
2505         * app/preferences.c (prefs_save): 
2506         * app/render_svg.c (new_svg_renderer): "wt" is not a valid flag string
2507         for fopen.  Text is the default file mode anyway.
2509         * app/commands.c (file_save_as_dialog_ok_callback, file_new_callback): 
2510         * app/grid.c (grid_x_update, grid_y_update, grid_show_dialog): 
2511         * app/load_save.c (write_objects, write_connections): 
2512         * app/filedlg.c (file_export_ok_callback): 
2513         * lib/dia_xml.c (data_add_int, data_add_enum, data_add_real): 
2514         * lib/dia_xml.c (data_add_point, data_add_rectangle): 
2515         * lib/font.c (init_x11_font, font_get_gdkfont): changed calls to
2516         snprintf to calls to g_snprintf.
2518         * plug-ins/cgm/cgm.c (export_cgm): write the original dia file name
2519         as the picture name.
2521 1999-12-23  James Henstridge  <james@daa.com.au>
2523         * plug-ins/cgm/cgm.c (write_int32, write_int16): fixed up output of
2524         negative numbers.  This fixes the upside down text problem I was
2525         having previously.
2526         (draw_image): implemented the image code.  It will try to split the
2527         image data up into bands if it is too big to fit into a single
2528         cgm cell array element.  It will have problems if you try to insert
2529         an image wider than about 10,000 pixels though.
2531         * Makefile.am: use gnomedatadir for the files that need to be
2532         installed in gnome's datadir.  This is mainly to help people doing
2533         packages for weird setups.
2535 1999-12-22  James Henstridge  <james@daa.com.au>
2537         * plug-ins/cgm/cgm.c: added support for text.  Now only images and
2538         beziers are left to do.  The text seems to be the wrong way up
2539         still.  This is probably a problem with character orientation
2540         element, but I have used what the settings given in the standard.
2541         Other than this, the CGMs dia produces are readable (and displayable)
2542         by ralcgm and corel draw.
2543         (draw_string): subtract from the X coord rather than the Y coord for
2544         center and right aligned text.
2546         * plug-ins/cgm/cgm.c: a few fixups for the output.  Use REALSIZE as
2547         the size of a real number, and changed name of write_double to
2548         write_real.  Consider changing to fixed real encoding.  Also, now
2549         all element headers are correct.  Once the real number encoding is
2550         fixed, only text, beziers and images are left to do.
2552 1999-12-21  James Henstridge  <james@daa.com.au>
2554         * Makefile.am (SUBDIRS): recurse into plug-ins.
2556         * configure.in: add plug-ins directory makefiles to list.
2558         * plug-ins/cgm/cgm.c: start of cgm export filter.  Beziers and text
2559         not done yet.  Also, the output files are not quite correct.
2561         * app/render_eps.c (print_reencode_font): don't reencode the Symbol
2562         font.  It doesn't work if you do.
2564 1999-12-20  James Henstridge  <james@daa.com.au>
2566         * app/app_procs.c (app_init): don't use diagram_export_to_eps to
2567         export the files.  Instead, use filter_guess_export_filter to
2568         guess the correct format to save in and use the appropriate filter.
2569         It defaults to postscript for compatibility.
2571         * app/diagram.[ch] (diagram_export_to_eps): removed export to eps
2572         function.
2574         * app/commands.[ch]: removed export to eps functions.
2576         * app/menus.c: removed export to eps menu items.
2578         * app/app_procs.c: register new export filters.
2580         * app/load_save.[ch]: define dia native export filter.
2582         * app/render_eps.[ch]: define eps export filter.
2584         * lib/filter.h: added diafilename argument to the DiaExportFunc
2585         prototype.  This is useful for putting the source of the diagram
2586         into the output file for instance.
2588         * app/app_procs.c (app_init): register the SVG export filter.  Have
2589         to get EPS code converted to this API, and maybe also allow saving in
2590         DIA's native format from the export dialog.  In fact, it is now
2591         possible to load an export filter from a shared library and it will
2592         integrate into the interface correctly.
2594         * app/menus.c: removed references to the SVG renderer.
2596         * app/commands.[ch]: removed svg stuff.
2598         * app/diagram.[ch]: removed diagram_export_to_svg function.
2600         * app/render_svg.[ch]: added a DiaExportFilter structure for this
2601         renderer.
2603         * app/filedlg.[ch]: code for the new export diagram dialog.  Will
2604         probably move the open/save dialogs to this file as well.
2606 1999-12-19  James Henstridge  <james@daa.com.au>
2608         * lib/filter.[ch]: start of interface for generalised handling of
2609         filters.  I have only done code for export filters so far.  I still
2610         need to do the gui for this, and convert the current SVG and EPS
2611         filters to the new API.
2613         * lib/bezier_conn.c (bezierconn_copy): fix up copy operation.  We
2614         weren't setting the last handle correctly.  It was actually assigning
2615         to the wrong position in the handles array, so the last handle was
2616         left as NULL, which caused the segfault.
2618         * objects/standard/image.c (image_copy): modified routine so that
2619         it just adds a reference to the DiaImage structure in the new image
2620         object.  This seems to have cleared up the problems with copying
2621         image objects.
2623         * dia.spec: spec file additions from John Gotts.
2625 1999-12-12  James Henstridge  <james@daa.com.au>
2627         * configure.in (GNOME_LIBS): updated version number to 0.82.  0.82
2628         has not been released yet though.
2630         * Makefile.am (EXTRA_DIST): distribute diagram.dtd.
2632         
2633         The following based on a patch from Lars Clausen:
2634         
2635         * objects/standard/bezier.c (bezierline_move_handle): when performing
2636         the initial drag of the bezierline, move the control points to keep
2637         the line straight.
2639         * lib/bezier_conn.c (bezierconn_add_segment): when adding a segment,
2640         make the new control points a bit closer to the major point.
2642         * app/create_object.c (create_object_motion): use HANDLE_MOVE_CREATE
2643         as the reason for the move.
2644         (create_object_button_release): use HANDLE_MOVE_CREATE_FINAL as the
2645         move reason.
2647         * lib/handle.h: new handle move reasons.
2649 1999-12-09  James Henstridge  <james@daa.com.au>
2651         * dia.spec: include the new files in RPMs.
2653         * Makefile.am: install these new files.
2655         * dia.keys.in: file describing actions and icon for dia diagrams for
2656         use in the gnome file manager.
2657         
2658         * dia.mime: a file defining the application/x-dia-diagram mime type.
2659         
2660         * dia-diagram.png: an icon for dia diagrams.
2662 1999-12-08  James Henstridge  <james@daa.com.au>
2664         * plug-ins/python/pydia-diagram.c: added heaps of new methods.
2666         * plug-ins/python/pydia-display.[ch]: wrapper for display.
2668         * objects/standard/ellipse.c: applied Lars's patch to optionally not
2669         draw the background of the ellipse.
2671         * app/load_save.c (read_connections): do some sanity checking on the
2672         handle and connection point numbers before performing the object
2673         connection.
2675         * lib/bezier_conn.c (bezierconn_load): give the correct number of
2676         handles when loading a BezierConn.
2678 1999-12-07  Kjartan Maraas  <kmaraas@online.no>
2680         * sheets/*.sheet: Finished Norwegian translations.
2681         
2682 1999-12-07  James Henstridge  <james@daa.com.au>
2684         * plug-ins/python/diamodule.c (PyDia_Load): load diagram function.
2685         (PyDia_GetObjectType): find object type function.
2687         * plug-ins/python/pydia-diagram.c (PyDiaDiagram_Save): added a save
2688         method for diagrams.
2690         * plug-ins/python/pydia-object.c: added methods for DiaObject and
2691         DiaObjectType.
2693         * AUTHORS: added Lars and Cyrille to the authors file.
2695         * objects/standard/bezier.c (bezierline_add_segment_callback): place
2696         new point correctly.
2698         * lib/bezier_conn.h (bezierconn_closest_segment): fixed prototype.
2700         * lib/bezier_conn.c: applied Lars's patch for placement of the new
2701         point when adding a segment to a BezierConn.
2703 1999-12-06  James Henstridge  <james@daa.com.au>
2705         * plug-ins/python/test.py: test script for the python plug-in.
2707         * plug-ins/python/python.c: this file contains the plug-in startup
2708         code for the python plugin.  Right now, it just initialises the
2709         dia module and executes a script.
2711         * objects/standard/polyline.c (polyline_draw): fix start arrow size.
2713         * objects/standard/bezier.c (bezierline_draw): draw control lines for
2714         bezier curve if we are using an interactive renderer (ie. only if
2715         displaying to the screen).
2717         * lib/bezier_conn.[ch] (bezierconn_draw_control_lines): function
2718         to draw control lines on to a bezier curve.  Based on implementation
2719         from Lars.
2721         * objects/standard/bezier.c (bezierline_delete_segment_callback):
2722         calculate segment number using closest_segment rather than
2723         closest_handle.  Sometimes the closest handle is part of a different
2724         segment.
2725         (bezierline_draw): use correct size for start arrow.
2727         The next few entries are from Peter Moulder <reiter@netspace.net.au>:
2728         * lib/geometry.c (distance_line_point): added notes to documentation
2729         in comment.
2730         * app/object_ops.c (object_list_align_v): 
2731         (object_list_align_h): fix of by one error when calculating free space
2732         for equal distance alignment.
2733         * app/menus.c (objects_align_h, objects_align_v): include align
2734         adjacent menu items in the gnome version of the menus.
2735         * app/diagram.c (diagram_update_menu_sensitivity): set sensitivity on
2736         align adjacent menu items correctly.
2739         * lib/dummy_dep.h (dummy_dep): added bezierconn to dummy dependency
2740         table.
2742         * objects/standard/bezier.c: converted bezierline to use BezierConn.
2743         Still a few bugs.  It crashes on deleting line segments.
2745         * lib/Makefile.am (libdia_a_SOURCES): added BezierConn to libdia.
2747 1999-12-05  James Henstridge  <james@daa.com.au>
2749         * lib/bezier_conn.[ch]: start of BezierConn object
2751         * app/interface.c: add bezierline to toolbox.
2753         * objects/standard/standard.c: initialise bezierline.
2755         * objects/standard/bezier.c: new object from Lars R. Clausen.  I have
2756         made a few modifications to get it working nicely.  It still needs
2757         a bit of work though.  Maybe create a BezierConn object in lib.
2759 1999-12-02  James Henstridge  <james@daa.com.au>
2761         * plug-ins/python/pydia-*.c: fixed compile errors in these files.
2762         
2763         * plug-ins/python/Makefile.am: tried building everything.  It is
2764         building as a library at the moment.  I will have to convert it
2765         to a libtool library and add some initialisation code.
2766         
2767         * plug-ins/python/diamodule.c: start of the dia module, using the
2768         other object wrappers.  Not complete.
2770 1999-12-01  James Henstridge  <james@daa.com.au>
2772         * plug-ins/python/pydia-object.c (PyDiaObject_GetAttr): implement
2773         the handles and connections attributes.
2775         * plug-ins/python/pydia-layer.c: added functions that use
2776         ConnectionPoint's.
2778         * plug-ins/python/pydia-handle.[ch]: wrapper for Handle's.
2780         * plug-ins/python/pydia-cpoint.[ch]: wrapper for ConnectionPoint's.
2782         * plug-ins/python/pydia-*.[ch]: starts of python scripting plug-in.
2783         I am currently wrapping the basic elements in the diagram in python
2784         objects -- nothing to see or play with yet.
2786 1999-11-30  Alexander Larsson  <alla@lysator.liu.se>
2788         * AUTHORS:
2789         * HACKING:
2790         James Henstridge <james@daa.com.au> is now the maintainer of Dia.
2792 1999-11-29  Alexander Larsson  <alla@lysator.liu.se>
2794         * configure.in:
2795         * po/ru.po:
2796         Added russian translation from Valek Filippov <frob@df.ru>
2798 1999-11-24  James Henstridge  <james@daa.com.au>
2800         * sheets/UML/*: 
2801         * sheet/ER/*: moved extra sheet pixmaps back to separate dirs as
2802         discussed with Alex.  Also added extra makefiles so that make install
2803         works correctly.
2805 1999-11-23  Alexander Larsson  <alla@lysator.liu.se>
2807         * app/preferences.[ch]:
2808         * app/display.c:
2809         Added snap to grid preference.
2810         Patch from Michael Leslie <mles@springboardwireless.com>
2812 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2814         * app/load_save.c:
2815         * lib/dia_xml.c:
2816         * lib/sheet.c:
2817         * lib/text.c:
2818         * objects/custom/shape_info.c:
2819         All strings returned by libxml must be freed with free, not
2820         g_free, or there will be problems if you use memory debugging
2821         in glib.
2822         
2823 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2825         * app/create_object.[ch]:
2826         * app/menus.c:
2827         * app/tool.[ch]:
2828         * app/commands.[ch]:
2829         * app/pixmaps.h:
2830         * app/interface.[ch]:
2831         Reverted the tool menu patch. It has some 'issues'.
2832         I liked it though, so it'll probably return.
2834 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2836         Fixed a lot of memory leaks. Thanks to Bruce Mitchener
2837         <bruce@cybersight.com> for some purify runs and analysis.
2838         Also a great thank you to Owen Taylor for creating MemProf, a
2839         free memory leak detector that was used to find and verify a
2840         lot of these fixes.
2841         
2842         * app/diagram.c:
2843         * app/paginate_psprint.c:
2844         * app/render_eps.[ch]:
2845         * app/render_svg.[ch]:
2846         Free renderers.
2848         * app/interface.c:
2849         Don't add a reference to ddisp->shell. Why was this done in
2850         the first place?
2852         * app/load_save.c:
2853         * lib/dia_xml.c:
2854         * lib/sheet.c:
2855         * lib/text.c:
2856         Free all strings returned from xmlGetProp
2858         * app/modify_tool.c:
2859         Plug leak.
2861         * objects/custom/custom.c:
2862         Use closedir() after opendir().
2864         * objects/custom/shape_info.c:
2865         User g_free() instead of "if (tmp) free(tmp)".
2867         * sheets/ER.sheet:
2868         Add newline at end of file.
2869         
2871 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
2873         Based on patch from Patrick Reynolds <reynolds@cs.duke.edu>
2874         Adds tool menu and keyboard shortcuts.
2876         * app/create_object.[ch]:
2877         Use tool_set() instead of tool_reset().
2878         create_create_object_tool() takes extra type argument
2880         * menus.c:
2881         Add tools menu.
2882         
2883         * tool.[ch]:
2884         Moved tool_data here, export it.
2885         Add separate tool type for all create objects tools.
2886         new functions tool_set().
2888         * commands.[ch]:
2889         New callback tool_set_callback.
2891         * pixmaps.h:
2892         Moved some pixmaps to interface.c.
2893         
2894         * interface.[ch]:
2895         Remove tool_data array (moved to tool.c).
2896         Use the tool_data from tool.c.
2897         Remove modify_tool_button global var.
2898         
2899 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
2901         Patch from Patrick Reynolds <reynolds@cs.duke.edu>
2902         
2903         * app/app_procs.c:
2904         Interprets command-line arguments as files to open even when
2905         HAVE_POPT is not defined.
2907         * app/magnify.c:        
2908         Shift-clicking when zooming zooms out, like the Gimp.
2910         * app/menus.c:
2911         Has hotkeys for zoom-100% and snap-to-grid.
2913 1999-11-17  James Henstridge  <james@daa.com.au>
2915         * app/scroll_tool.c (scroll_motion): fixed shift style scrolling so
2916         that it is not jumpy.
2918         * app/Makefile.am (EXTRA_DIST): added extra files to extra dist list.
2920         * app/scroll_tool.c (scroll_motion): added `grabbing hand' type
2921         scrolling by pressing the shift key when using the scroll tool.
2923         * sheets/Makefile.am: fixed makefile so that install actually works
2924         if the directories $(pkgdatadir)/sheets/UML and $(pkgdatadir)/sheets/ER
2925         don't exist.
2926         (SHEETS): install Circuit.sheet
2928 1999-11-15  Alexander Larsson  <alla@lysator.liu.se>
2929         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
2931         * sheets/Circuit.sheet:
2932         * sheets/ER.sheet:
2933         * sheets/FS.sheet:
2934         * sheets/Flowchart.sheet:
2935         * sheets/UML.sheet:
2936         * sheets/network.sheet:
2937         * sheets/sybase.sheet:
2938         Changed name space
2940         * sheets/Circuit.sheet:
2941         added some missing French translations
2943         * lib/sheet.c:
2944         killed the temporary sheet namespace
2946         * objects/custom/custom.c:
2947         obsolete comment cleaned up
2949 1999-11-12  Alexander Larsson  <alla@lysator.liu.se>
2951         * configure.in:
2952         * po/pt.po:
2953         Added portugese translation from Pedro Morais
2954         <pmmm@rnl.ist.utl.pt>
2956 1999-11-11  Alexander Larsson  <alla@lysator.liu.se>
2958         Changed all sheets to be specified in xml.
2959         All sheet objects removed from the C code.
2960         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
2961         
2962         * Makefile.am:
2963         * configure.in:
2964         Adding shapes dir.
2965         Updated version to 0.81cvs.
2966         
2967         * app/Makefile.am:
2968         Update run_dia.sh with sheet-dir.
2969         
2970         * app/app_procs.c:
2971         Load all sheets on startup.
2972         Create sheet directory first time.
2973         Don't call custom_register_sheets().
2975         * lib/Makefile.am:
2976         Add sheetdir define
2978         * lib/custom.h:
2979         Remove custom_register_sheets().
2981         * lib/sheet.[ch]:
2982         Add sheet loading code.
2984         * sheet/Circuit.sheet:
2985         * sheet/ER.sheet:
2986         * sheet/FS.sheet:
2987         * sheet/Flowchart.sheet:
2988         * sheet/UML.sheet:
2989         * sheet/network.sheet:
2990         * sheet/sybase.sheet:
2991         Added sheet files.
2993         * sheet/ER/weakentity.xpm:
2994         * sheet/UML/aggregation.xpm
2995         * sheet/UML/umlclass_template.xpm
2996         Added sheet pixmaps.
2997         These are moved from their old places.
2999         * sheet/.cvsignore:
3000         Shut up cvs.
3002         * objects/*/*.c:
3003         Removed sheet objects and sheet registration.
3004         
3005         * objects/ER/Makefile.am:
3006         * objects/ER/pixmaps/weakentity.xpm:
3007         * objects/UML/Makefile.am:
3008         * objects/UML/pixmaps/aggregation.xpm:
3009         * objects/UML/pixmaps/umlclass_template.xpm:
3010         Removed alternative pixmaps. (Moved to sheet).
3012         * objects/custom/Makefile.am:
3013         * objects/custom/load_sheet.[ch]:
3014         Removed old sheet loading code.
3015         
3016         * objects/custom/custom.c:
3017         Load all shapes instead of sheets.
3018         Removed custom_register_sheets().
3020         * objects/custom/custom_object.c:
3021         Added debug code.
3023         * objects/custom/shape_info.[ch]:
3024         Added shape_info_getbyname().
3026         * objects/flowchart/Makefile.am:
3027         * objects/flowchart/collate.shape            
3028         * objects/flowchart/delay.shape              
3029         * objects/flowchart/display.shape            
3030         * objects/flowchart/document.shape           
3031         * objects/flowchart/extract.shape            
3032         * objects/flowchart/flowchart.c              
3033         * objects/flowchart/intstorage.shape         
3034         * objects/flowchart/magdisk.shape            
3035         * objects/flowchart/magdrum.shape            
3036         * objects/flowchart/magtape.shape            
3037         * objects/flowchart/manualinput.shape        
3038         * objects/flowchart/manualop.shape           
3039         * objects/flowchart/merge.shape              
3040         * objects/flowchart/offlinestore.shape       
3041         * objects/flowchart/offpageconn.shape        
3042         * objects/flowchart/or.shape                 
3043         * objects/flowchart/predefdproc.shape        
3044         * objects/flowchart/preparation.shape        
3045         * objects/flowchart/punchedcard.shape        
3046         * objects/flowchart/punchedtape.shape        
3047         * objects/flowchart/sort.shape               
3048         * objects/flowchart/sumjunction.shape        
3049         * objects/flowchart/terminal.shape           
3050         * objects/flowchart/transaction.shape        
3051         * objects/flowchart/transmittape.shape       
3052         * objects/flowchart/pixmaps/collate.xpm      
3053         * objects/flowchart/pixmaps/delay.xpm        
3054         * objects/flowchart/pixmaps/display.xpm      
3055         * objects/flowchart/pixmaps/document.xpm     
3056         * objects/flowchart/pixmaps/extract.xpm      
3057         * objects/flowchart/pixmaps/intstorage.xpm   
3058         * objects/flowchart/pixmaps/magdisk.xpm      
3059         * objects/flowchart/pixmaps/magdrum.xpm      
3060         * objects/flowchart/pixmaps/magtape.xpm      
3061         * objects/flowchart/pixmaps/manualinput.xpm  
3062         * objects/flowchart/pixmaps/manualop.xpm     
3063         * objects/flowchart/pixmaps/merge.xpm        
3064         * objects/flowchart/pixmaps/offlinestore.xpm 
3065         * objects/flowchart/pixmaps/offpageconn.xpm  
3066         * objects/flowchart/pixmaps/or.xpm           
3067         * objects/flowchart/pixmaps/predefdproc.xpm  
3068         * objects/flowchart/pixmaps/preparation.xpm  
3069         * objects/flowchart/pixmaps/punchedcard.xpm  
3070         * objects/flowchart/pixmaps/punchedtape.xpm  
3071         * objects/flowchart/pixmaps/sort.xpm         
3072         * objects/flowchart/pixmaps/sumjunction.xpm  
3073         * objects/flowchart/pixmaps/terminal.xpm     
3074         * objects/flowchart/pixmaps/transaction.xpm  
3075         * objects/flowchart/pixmaps/transmittape.xpm 
3076         Moved shapes and their pixmaps to shapes/flowchart
3078         * shapes/Circuit/Makefile.am:
3079         * shapes/Circuit/index.sheet:
3080         Removed index.sheet.
3081         
3082         * shapes/Makefile.am:
3083         * shapes/flowchart/Makefile.am:
3084         * shapes/flowchart/*.shape:
3085         * shapes/flowchart/*.xpm:
3086         Added flowchart shapes. (Moved from objects/flowchart)
3087         
3089 1999-11-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
3091         * app/app_procs.c: Fixed popt stuff.
3093 1999-11-01  James Henstridge  <james@daa.com.au>
3095         * shapes/Circuit/[hv]led_de.{shape,xpm}: new circuit shapes from
3096         Andreas Scherf.
3098 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
3100         * dia.spec:
3101         * configure.in:
3102         Update version to 0.81.
3103         
3104         * NEWS:
3105         Update with news for 0.81.
3106         
3107         * shapes/Circuit/*:
3108         * shapes/Circuit_eu/*:
3109         Moved european circuit objects to Circuit sheet.
3111 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
3112         
3113         * lib/diagramdata.[ch]:
3114         Added layer_set_object_list() function.
3116         * app/undo.[ch]:
3117         Added support for undo of reordered objects.
3118         Fix the undo of delete to keep the right order on undo.
3119         
3120         * app/diagram.c:
3121         changed loop to object_add_updates_list() calls.
3122         Added undo support to bring to front/back.
3124         * app/disp_callbacks.c:
3125         * app/paginate_psprint.c:
3126         Remove warnings.
3128 1999-10-30  Alexander Larsson  <alla@lysator.liu.se>
3130         This plugs some leaks. Thanks to
3131         Bruce Mitchener <bruce@cybersight.com> for running
3132         Dia through purify for me.
3133         
3134         * app/app_procs.c:
3135         Free displays and diagrams on exit.
3137         * app/modify_tool.c:
3138         Free gc when freeing tool.
3140         * lib/diagramdata.c:
3141         Free layer name.
3142         
3143         * app/display.c:
3144         Free update and display lists when destroying display.
3145         
3146         * lib/diagramdata.c:
3147         Don't leak layer name.
3149         * objects/custom/load_sheet.c: 
3150         * objects/custom/shape_info.c:
3151         Free loaded xml documents.
3153 1999-10-28  Alexander Larsson  <alla@lysator.liu.se>
3155         * app/commands.c:
3156         * app/object_ops.[ch]:
3157         Add undo handling to alignment ops.
3158         Based partially on patch by Dan Cohn <dan@internap.com>.
3160         * objects/standard/image.c (image_move_handle):
3161         Don't divide by zero for small images.
3162         Patch by Dan Cohn <dan@internap.com>.
3164         * objects/UML/class.c (umlclass_destroy): 
3165         * objects/custom/custom_object.c (custom_destroy):
3166         Don't free connectionpoints before calling element_destroy
3167         which unconnects them.
3169 1999-10-26  Alexander Larsson  <alla@lysator.liu.se>
3171         * objects/custom/custom_object.c: 
3172         Load and save padding too. Fixes strange load crashes.
3174         * app/group.c (group_destroy):
3175         Don't unconnect already freed connectionpoints when
3176         destroying group. Probably fixes bug reported by
3177         Elliot Lee <sopwith@redhat.com>.
3179         * app/render_gdk.c:
3180         Don't crash on zero-size (broken) bezier curves.
3181         Different sort of fix. This should work on closed bezier curves
3182         too.
3184         * objects/standard/textobj.c:
3185         Activate default properties dialog for Text objects.
3187         * app/render_eps.c: 
3188         * app/load_save.c:
3189         * app/preferences.c:
3190         * app/render_svg.c:
3191         fopen files in binary or text mode.
3193 1999-10-26  Alexander Larsson  <alex@cendio.se>
3195         * app/render_gdk.c (bezier_add_lines):
3196         Don't crash on zero-size (broken) bezier curves.
3197         Fixes a crashing bug.
3199 1999-10-25  James Henstridge  <james@daa.com.au>
3201         * app/Makefile.am (run_dia.sh): allow dia to find internal shape files
3202         before it is installed.
3204         * objects/flowchart/flowchart.c: use relative paths to find shapes.
3206         * objects/custom/custom.c (custom_object_load): take file names
3207         relative to $(pkgdatadir)/shape-internal, and check an environment
3208         variable for an alternative directory.
3210         * app/...: added copyright messages to the top of my new code.
3212         * app/paginate_psprint.c: some general clean ups.  Also, give an error
3213         dialog if we can't open the command or output file for writing.
3215         * app/diapagelayout.c (dia_page_layout_set_orientation): fixed
3216         function so it would set orientation to landscape correctly.
3218         * app/paginate_psprint.c: use the paper settings that come with
3219         the diagram.  Also implemented landscape printing.
3221         * app/render_eps.c (new_psprint_renderer): use diagram paper metrics
3222         in PS header.
3224         * app/commands.[ch] (file_pagesetup_callback): added callback for
3225         the page setup dialog.
3227         * app/menus.c: added page setup menu item.
3229         * app/pagesetup.[ch]: implementation of the page setup dialog.
3231         * app/diapagelayout.[ch]: added accessors for the scaling factor.
3232         
3233         * app/load_save.c (diagram_load): load paper information from save
3234         file.
3235         (diagram_save): save the paper info.
3237         * lib/diagramdata.c (new_diagram_data): initialise paper info section
3238         of DiagramData structure.
3239         (diagram_data_destroy): free the paper name.
3241         * lib/diagramdata.h: added a paper member to the DiagramData structure
3242         that holds the page layout info for a diagram.
3244 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
3246         * objects/flowchart/box.c:
3247         * objects/flowchart/ellipse.c:
3248         * objects/flowchart/diamond.c:
3249         * objects/flowchart/parallelogram.c:
3250         Load and save padding too. Fixes strange load crashes.
3252 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
3254         * app/app_procs.c (name_is_lib):
3255         .dll, .sl and .so.0.0.0 are also libraries.
3257 1999-10-20  James Henstridge  <james@daa.com.au>
3259         * configure.in: added extra makefile.
3260         
3261         * shapes/Circuit_eu/*: a new set of european circuit shapes from
3262         Andreas Scherf <scherfa@fh-trier.de>.  Made a few small modifications
3263         (added fuses to makefile, fill the area of some of the components).
3265 1999-10-19  Alexander Larsson  <alla@lysator.liu.se>
3267         * lib/Makefile.am:
3268         * app/Makefile.am: 
3269         Add GDK_IMLIB_CFLAGS to includes.
3270         Changed --export-dynamic to -export-dynamic
3272         * lib/widgets.c:
3273         * objects/UML/message.c:
3274         Removed c++ comment.
3276         * lib/render_store.[ch]:
3277         Don't use empty structure. That is not Ansi C.
3279 1999-10-19  James Henstridge  <james@daa.com.au>
3281         * app/diapagelayout.c (dia_page_layout_init): use DiaUnitSpinner's for
3282         the margin entries, as they allow interpretation of units.
3283         (paper_size_change): display the current page dimensions.
3285         * app/diaunitspinner.[ch]: a widget derived from the standard
3286         GtkSpinButton that tries to take units into account.  So if you enter
3287         "1in" into the entry, it will convert it to 2.54cm.
3289 1999-10-18  Alexander Larsson  <alla@lysator.liu.se>
3291         * app/app_procs.c:
3292         Removed include of dlfcn.h
3294 1999-10-18  James Henstridge  <james@daa.com.au>
3296         * app/diapagelayout.c (paper_size_change, orient_changed): set upper
3297         bound on margin widths.  It is set to the paper width/height.
3299         * objects/flowchart/diamond.c (diamond_distance_from): fixed distance
3300         routine for the diamond.  This bug was found and fixed by Daniel Wang
3301         <danwang@CS.Princeton.EDU>
3303 Sun Oct 17 19:46:36 1999  ape@gandalf.spacetec.no  (Asbjorn Pettersen)
3305         * app/commands.c: Add <sys/types.h> before <sys/stat.h> to
3306         remove warning (OS/2 version).
3308 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
3310         * README:
3311         Put a pointer to objects/custom/README.
3312         
3313 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
3315         * dia.spec:
3316         Updated version to 0.80
3318         * configure.in:
3319         Updated version to 0.80cvs
3321 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
3323         * Released Dia 0.80
3324         Tag called DIA_0_80
3325         
3326 1999-10-17  Fredrik Hallenberg  <hallon@lysator.liu.se>
3328         * app/Makefile.am
3329         * lib/Makefile.am
3330         * objects/UML/Makefile.am
3331         * objects/ER/Makefile.am
3332         * objects/network/Makefile.am
3333         * objects/standard/Makefile.am
3334         * objects/FS/Makefile.am
3335         * objects/sybase/Makefile.am
3336         * objects/flowchart/Makefile.am
3337         * objects/custom/Makefile.am
3338         Added -I$(top_srcdir)/intl which is needed for
3339         --with-included-gettext.
3341         * POTFILES.in
3342         Updated.
3343         
3344         * po/sv.po
3345         Updated swedish translation.
3347 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
3349         * configure.in:
3350         Updated version number to 0.80.
3352         * KNOWN_BUGS:
3353         New file.
3355         * TODO:
3356         Updated. Moved bugs to KNOWN_BUGS.
3358         * NEWS:
3359         Updated with 0.80 release notes.
3360         
3361 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
3362         
3363         * lib/orth_conn.c:
3364         For backwards compatibility, make sure handle 0 and 1 are the
3365         first and last handle. Fixes compatibility with 0.41, breaks
3366         compatibility with cvs version.
3367         Fixed bug in undo/redo of adding deleting endpoint segments
3368         when the endpoint was connected.
3369         Start OrthConn objects with three segments.
3371 1999-10-16  James Henstridge  <james@daa.com.au>
3373         * objects/custom/custom_object.c (custom_update_data): changed
3374         resizing behaviour a bit so that shapes don't grow huge when you try
3375         to resize them to smaller than the size required by the text box.
3376         Also, now shapes will not grow with fixed aspect ratio when you enter
3377         text into them unless the shape has the fixed aspect ratio flag set.
3379 1999-10-15  James Henstridge  <james@daa.com.au>
3381         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3383         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3385         * objects/flowchart/magdrum.shape: 
3386         * objects/flowchart/offlinestore.shape: 
3387         * objects/flowchart/punchedtape.shape: 
3388         * objects/flowchart/transmittape.shape: 
3389         * objects/flowchart/punchedcard.shape: new shapes.
3391         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3393         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3395         * objects/flowchart/collate.shape:
3396         * objects/flowchart/delay.shape:
3397         * objects/flowchart/extract.shape:
3398         * objects/flowchart/intstorage.shape:
3399         * objects/flowchart/magdisk.shape:
3400         * objects/flowchart/magtape.shape:
3401         * objects/flowchart/merge.shape:
3402         * objects/flowchart/or.shape:
3403         * objects/flowchart/sort.shape:
3404         * objects/flowchart/sumjunction.shape: new shapes.
3406 1999-10-15  Alexander Larsson  <alla@lysator.liu.se>
3408         * TODO (BUGS):
3409         Added bug:
3410         Entering an erronous command as print command
3411         crashes dia.
3413         * app/paginate_psprint.c:
3414         Save all print dialog values for next time.
3415         
3416         * app/Makefile.am:
3417         Remove custom lib from DIA_LIB_PATH.
3419 1999-10-14  James Henstridge  <james@daa.com.au>
3421         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3423         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3424         
3425         * objects/flowchart/offpageconn.shape: 
3426         * objects/flowchart/manualop.shape: 
3427         * objects/flowchart/preparation.shape: 
3428         * objects/flowchart/manualinput.shape: 
3429         * objects/flowchart/predefdproc.shape: 
3430         * objects/flowchart/terminal.shape: new shapes in the flowchart sheet.
3432 1999-10-13  James Henstridge  <james@daa.com.au>
3434         * app/diapagelayout.[ch]: added accessors to paper information.  The
3435         widget should be just about complete now.
3437         * app/diapagelayout.[ch]: fleshed out the page setup widget a bit more.
3438         It actually does something now.
3440 1999-10-12  James Henstridge  <james@daa.com.au>
3442         * app/pixmaps/portrait.xpm, app/pixmaps/landscape.xpm: support pixmaps
3443         for the page layout widget.
3445         * app/diapagelayout.[ch]: start of page layout widget.  Not actually
3446         built yet as it is not complete.
3448         * objects/flowchart/flowchart.c: added new shapes to sheet.
3450         * objects/flowchart/display.shape:
3451         * objects/flowchart/transaction.shape: new shapes.
3453         * AUTHORS: added my name to the spec file.
3455         * dia.spec: include the dia desktop entry to the spec file.
3457         * Makefile.am: install the dia.desktop file.
3459         * dia.desktop: added a gnome desktop entry so you can start dia
3460         from the gnome panel menu.
3462 1999-10-11  James Henstridge  <james@daa.com.au>
3464         * objects/custom/custom_object.c:
3465         * objects/custom/shape_info.c: warning fixes.
3467         * objects/flowchart/document.shape: a shape file for the `document'
3468         flowchart shape.
3470         * lib/custom.h: new header with the custom shape prototypes.
3472         * app/app_procs.c: register custom objects as well.
3473         (register_objects_in): close shared libraries if they don't load
3474         correctly, and call g_module_make_resident on libraries that load
3475         correctly.
3477         * app/Makefile.am (dia_LDADD): added libcustom_objects.a to link list.
3479         * objects/custom/custom.c: removed get_version, added custom_ prefix
3480         to register_objects and register_sheets.
3482         * objects/custom/Makefile.am: converted to a normal library.
3484 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
3486         * app/lineprops_area.c:
3487         * app/render_svg.c:
3488         * lib/objchange.c:
3489         * objects/custom/shape_info.c:
3490         * objects/flowchart/box.c:
3491         * objects/flowchart/diamond.c:
3492         * objects/flowchart/ellipse.c:
3493         * objects/flowchart/parallelogram.c:
3494         * objects/network/flash.c:
3495         * objects/network/scead-plug.c:
3496         * objects/sybase/client.c:
3497         Removed -Wall warnings.
3498         
3499         * objects/network/bus.c:
3500         Removed unused functions.
3502         * objects/FS/flow-ortho.c:
3503         * objects/FS/flow-poly.c:
3504         * objects/FS/flow.c:
3505         * objects/FS/function.c:
3506         
3507         Implemented "non-implemented" undo for FS objects.
3508         Now at least it won't crash.
3509         
3510 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
3512         * objects/network/bus.c:
3513         Implemented undo.
3514         Handles are now added and removed using the object menu.
3515         Default to 6 handles instead of 10.
3516         Changed name from "Standard - Bus" to "Network - Bus". Kept old
3517         name for backwards compatibility.
3519         * objects/network/network.c:
3520         Changed name from "Standard - Bus" to "Network - Bus". Kept old
3521         name for backwards compatibility.
3523         * app/properties.[ch]:
3524         * app/undo.c:
3525         Update properties in properties dialog if the shown object
3526         is part of and ObjectChange (undo or redo).
3528         * lib/poly_conn.c:
3529         Remove old known bugs list.
3531         * objects/UML/class_dialog.c:
3532         Removed debug printf's.
3534 1999-10-10  James Henstridge  <james@daa.com.au>
3536         * objects/custom/custom.c (custom_object_load): new function that
3537         provides a nice entry point to the custom shape code for when it
3538         gets used by other libraries.
3540         * configure.in: removed 11 makefiles from AC_OUTPUT list.  This
3541         speeds builds up a bit.
3543         * */Makefile.am (EXTRA_DIST): include pixmaps in distribution.
3544         (SUBDIRS): do not descend into pixmaps subdirs.
3546         * */pixmaps/Makefile.am: removed -- incorporate into parent makefiles.
3547         This speeds up build process.
3549         * objects/custom/custom.c (sheets): made variable static.
3551         * objects/custom/custom_util.[ch] (custom_get_relative_filename):
3552         renamed function.
3554         * objects/custom/load_sheet.[ch] (custom_sheet_load): renamed function.
3556         * objects/custom/custom.c: look in ~/.shapes instead of
3557         ~/.dia_shapes as the per-user shapes directory.
3559         * app/preferences.c (prefs_save): save config to ~/.diarc.
3560         (prefs_load): load configuration from ~/.diarc.  If the file
3561         does not exist, fallback on the old ~/.diarc location.
3563         * app/app_procs.c (create_user_dirs): create the ~/.dia directory
3564         on startup.
3565         (register_all_objects): look for user specific objects in
3566         ~/.objects rather than ~/.dia_libs.
3568 1999-10-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
3570         * configure.in:
3571         * app_procs.c:
3572         * objects/flowchart/box.c
3573         * objects/flowchart/ellipse.c
3574         * objects/flowchart/flowchart.c 
3575         Use gmodule for dynamic linking. As gmodule is using
3576         RTLD_GLOBAL i had to change flowchart box and ellipse
3577         so the typenames doesn't conflict with the standard
3578         box and ellipse.
3580         * message.c
3581         * commands.c
3582         Use button box to make dialogs look better.
3584 1999-10-09  Alexander Larsson  <alla@lysator.liu.se>
3586         * objects/UML/class_dialog.c:
3587         * objects/UML/class.h:
3588         Implemented undo for "UML - Class" objects.
3589         Not 100% tested yet.
3591         * objects/UML/classicon.c:
3592         * objects/UML/constraint.c:
3593         * objects/UML/dependency.c:
3594         * objects/UML/generalization.c:
3595         * objects/UML/implements.c:
3596         * objects/UML/large_package.c:
3597         * objects/UML/lifeline.c:
3598         * objects/UML/message.c:
3599         * objects/UML/object.c:
3600         * objects/UML/realizes.c:
3601         * objects/UML/state.c:
3602         * objects/UML/usecase.c:
3603         Removed warnings.
3604         
3605         * lib/connectionpoint.h:
3606         Fixed typo.
3607         
3608 1999-10-09  James Henstridge  <james@daa.com.au>
3610         * objects/custom/*.[ch]: added copyright notices to custom object
3611         files.
3613         * shapes/Circuit/hdiode.shape:
3614         * shapes/Circuit/hzener.shape: 
3615         * shapes/Circuit/opamp.shape:
3616         * shapes/Circuit/vdiode.shape:
3617         * shapes/Circuit/vzener.shape: made adjustments to make the circuit
3618         shapes look nice after the custom shape code changes.
3620         * objects/custom/README: updated docs to cover changes to drawing
3621         code.
3623         * objects/custom/custom_object.c (custom_draw): honour the line
3624         properties when drawing the shape.
3626         * objects/custom/shape_info.[ch]: added support for setting line
3627         properties for individual drawing elements in a custom shape.  You
3628         can set the dash style, dash length, cap style and join style.
3630 1999-10-07  James Henstridge  <james@daa.com.au>
3632         * objects/custom/shape_info.c (parse_style): added a few extra synonyms
3633         for foreground and background.
3635         * objects/custom/custom_object.c (custom_draw): use the new style
3636         information when drawing the object.
3638         * objects/custom/shape_info.[ch]: store all shape style info in the
3639         GraphicStyle structure.  This makes adding support for extra CSS
3640         attributes easier -- we don't have to keep adding extra arguments to
3641         a lot of functions.
3643 1999-10-05  James Henstridge  <james@daa.com.au>
3645         * lib/intl.c (unalias_lang): merged in changes from the i18n code
3646         swiped from gnome-libs.
3648 1999-10-03  Alexander Larsson  <alla@lysator.liu.se>
3650         * objects/standard/image.c (get_directory):
3651         Fix memleak. Found by Kjartan Maraas <kmaraas@online.no>
3653 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
3655         * lib/poly_conn.c (polyconn_destroy):
3656         Fix bug. Access of freed memory.
3657         Rememeber, you can't free the handles of an object
3658         before calling object_destroy(), as it unconnects the handles
3659         therefore referencing them.
3661 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
3663         * app/undo.c:
3664         undo_clear() didn't set stack->depth to zero.
3665         This made other undo functions crash after this had been called
3666         on a "full" stack.
3667         
3668         * dia.xpm:
3669         Slightly modified by Chris Love <clove@exactis.com>
3671 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
3673         * objects/UML/class.h: 
3674         * objects/UML/class_dialog.c:
3675         Retrun NULL ObjectChange on class property change.
3676         This means no crashes, but "UML - Class" doesn't support undo yet.
3677         
3678 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
3679         
3680         * lib/text.c:
3681         Indentation fix.
3683         * objects/UML/classicon.c:
3684         * objects/UML/dependency.c:
3685         * objects/UML/generalization.c:
3686         * objects/UML/implements.c:
3687         * objects/UML/large_package.c:
3688         * objects/UML/lifeline.c:
3689         * objects/UML/message.c:
3690         * objects/UML/object.c:
3691         * objects/UML/realizes.c:
3692         * objects/UML/state.c:
3693         * objects/UML/usecase.c:
3694         Update to new undo (w. get/set_state).
3695         Add object menu to add/delete segments.
3697 1999-09-17  Alexander Larsson  <alla@lysator.liu.se>
3699         * app/menus.c:
3700         Add equal distance alignment.
3702         * app/object_ops.c:
3703         Add equal distance alignment.
3704         Fix bug in adjacent alignment.
3706 1999-09-16  Alexander Larsson  <alla@lysator.liu.se>
3708         * objects/UML/constraint.c: 
3709         Update to new undo (w. get/set_state).
3711 1999-09-15  Alexander Larsson  <alla@lysator.liu.se>
3713         * app/paginate_psprint.c:
3714         Save (parts, more todo) of the info in the print dialog to the
3715         next time it's opened.
3716         Patch from Yo Ric Dude <ricdude@toad.net>
3718 1999-09-14  Alexander Larsson  <alla@lysator.liu.se>
3720         * configure.in:
3721         Updated version string to 0.41cvs.
3723         * objects/UML/assocition.c:
3724         Update to new undo (w. get/set_state).
3725         Add object menu to add/delete segments.
3727         * app/app_procs.c:
3728         Added function debug_break() and called it after all
3729         objects and sheets are loaded. Place a breakpoint here if you
3730         want to debug objects. All symbols should be loaded.
3732 1999-09-12  James Henstridge  <james@daa.com.au>
3734         * app/menus.c (display_menu_items): added print menu item.
3735         (filemenu): always add print menu item -- even if gnome-print is
3736         not installed.
3738         * app/commands.h, app/commands.c (file_print_callback): the print
3739         menu item is now available for both gnome-print and non gnome-print
3740         setups.
3742         * app/paginate_psprint.c (diagram_print_ps): show a dialog to let you
3743         print with the non gnome-print driver.
3745 1999-09-11  James Henstridge  <james@daa.com.au>
3747         * app/paginate_gnomeprint.c (diagram_print_gnome): moved the gnome
3748         printer dialog code out of commands.c.
3750         * app/paginate_psprint.c: new file containing the pagination code for
3751         psprint.
3753         * app/render_eps.c: made a few modifications so as well as producing
3754         EPS files, this renderer can be set up to do postscript printing.
3755         This basically entailed adding an extra function to create a RenderEPS
3756         renderer which did not bother setting the viewport for the document.
3757         That was left for the pagination code.
3759 1999-09-10  James Henstridge  <james@daa.com.au>
3761         * app/render_gnomeprint.c (draw_ellipse, fill_ellipse): since
3762         gnome-print does not support elliptic arcs at the moment, approximate
3763         the ellipse with eight bezier curves.  This gives a pretty good
3764         match to a true ellipse.
3766 1999-09-09  James Henstridge  <james@daa.com.au>
3768         * app/commands.c (file_gnome_print_callback): added support for
3769         scaling the diagram.  Also fixed a few other bugs.
3771         * app/paginate_gnomeprint.c (print_page): added ability to scale
3772         document.  Fixed up test to see if the page has no objects on it.
3773         This should prevent some blank pages being printed.  Non square
3774         objects such as lines could still cause problems.
3776 1999-09-08  James Henstridge  <james@daa.com.au>
3778         * app/commands.c (file_gnome_print_callback): changed from using the
3779         standard printer selection dialog to one that also has a paper size
3780         selector as well.
3782         * commands.[ch]: added callbacks for the print menu item.  Currently
3783         it only does A4 output.  I will make it configurable soon.
3784         
3785         * app/menus.c: add a print diagram menu item if gnome-print support
3786         is enabled.
3787         
3788         * app/paginate_gnomeprint.c, app/paginate_gnomeprint.h: this is a
3789         bit higher level than the gnome-print renderer.  It splits the
3790         diagram into page size chunks and then renders them.  For each
3791         page, it only renders the objects whose bounding box intersects
3792         the page, and it sets the clip mask so that the diagram does not
3793         overlap the margins.
3794         
3795         * app/render_gnomeprint.c, app/render_gnomeprint.h: added a renderer
3796         that uses gnome-print as its back end.
3797         
3798         * configure.in: added a check for gnome-print.  It is disabled by
3799         default because the code is not really working correctly yet.
3801         * app/menus.c: the delete object menu item was missing from the
3802         GnomeUIInfo style menus.
3804 1999-09-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
3806         * configure.in
3807         Added japanese to ALL_LINGUAS.
3808         Fix for Linux on Alpha.
3810 1999-09-07  Alexander Larsson  <alla@lysator.liu.se>
3812         * app/create_object.c (create_object_button_press):
3813         Always initialize tool->obj. Otherwise we store a null
3814         in the undo Change.
3816         * lib/text.c:
3817         Set linestyle before drawing cursor.
3818         Fix undo of backwards delete.
3820 1999-09-05  James Henstridge  <james@daa.com.au>
3822         * dia.spec: updated spec file to distribute $(prefix)/share/dia.
3824         * app/render_svg.c (draw_image): some fixes so that the appropriate
3825         style attributes are set.  Before it was setting line styles on
3826         fill_* functions.  Now it only does this for the draw_* variants.
3828         * app/Makefile.am (run_dia.sh): set the DIA_SHAPE_PATH environment
3829         variable so that custom shapes can be loaded.
3831         * shapes/: new directory for custom shapes.  The Circuit sheet has
3832         been moved here.
3834 1999-09-02  James Henstridge  <james@daa.com.au>
3836         * TODO: removed a few todo items that have been implemented.
3838         * app/interface.c (create_sheets): enabled the popup page menu to the
3839         notebook.  This can make it easier to select different sheets.
3841         * object/custom/Circuit/: added diode, zener diode, ground point and
3842         operational amplifier shapes.
3843         
3844         * objects/custom/Makefile.am: added a note about adding DEBUG_CUSTOM
3845         if you want the output.
3847         * objects/custom/shape_info.c (parse_path): same here.
3849         * objects/custom/load_sheet.c (load_with_readdir): don't print so
3850         much debugging output.  To get the previous level of output, define
3851         DEBUG_CUSTOM.
3853         * objects/custom/shape_info.c (parse_svg_node): polygons were being
3854         recorded as polylines in the ShapeInfo structure.
3856         * objects/custom/README: some notes on writing new custom shapes.
3857         
3858 1999-09-01  James Henstridge  <james@daa.com.au>
3860         * objects/custom/Circuit/hinductor.*:
3861         * objects/custom/Circuit/vinductor.*: added inductor shapes that
3862         also test out the bezier curve and SVG path support.
3863         
3864         * objects/custom/custom_object.c (custom_draw): added support for
3865         drawing bezier paths and filled shapes.
3867         * objects/custom/shape_info.c (parse_path): new function to parse
3868         SVG path elements.  It does not do quadratic beziers or elliptic
3869         arcs though.  Only moves, lines and cubic beziers.
3870         (*): added support for paths.
3872 1999-08-31  James Henstridge  <james@daa.com.au>
3874         * objects/sybase/ltm.c (render_to_store): use the newer bezier API.
3876         * app/render_svg.c (draw_bezier, fill_bezier): updated renderer
3877         interface
3879         * app/render_eps.c (draw_bezier, fill_bezier): updated renderer
3880         interface
3882         * app/render_gdk.c (draw_bezier, fill_bezier): updated renderer
3883         interface.
3885         * lib/render_store.[ch]: use newer bezier functions.
3887         * lib/render.h: changed the bezier drawing functions to use an array
3888         of BezPoint structures instead of normal Point structures to allow
3889         lineto's mixed in with the curveto's.
3890         
3891         * objects/custom/Circuit/pnp.*: added pnp transistor shape.
3892         
3893         * objects/custom/Circuit/Makefile.am (SHAPES): added index.sheet and
3894         xpm images for different shapes to Makefile.
3896         * objects/custom/custom_object.c (custom_object_new): set the icon
3897         for the sheet button if there is one.  Otherwise fall back on the
3898         default custom object icon.
3900         * objects/custom/shape_info.c (load_shape_info): read the sheet
3901         icon name from the shape file.
3903         * app/interface.c (create_sheet_page): if sheet_obj->pixmap == NULL,
3904         check the pixmap_file field for the name of a pixmap file to load
3905         for the tool.
3907         * lib/sheet.h (SheetObj): added pixmap_file field to structure.  It is
3908         at the end of the structure, and it isn't used if the pixmap field
3909         is non NULL, so it should not break binary compatibility.
3911         * objects/custom/load_sheet.[ch]: moved sheet loading code here.  Also
3912         added support for the use of an index.sheet file so you can specify
3913         the ordering of the shapes in the sheet, and also internationalise
3914         the sheet name and actually be able to give a description.  The old
3915         readdir based sheet loading code acts as a fallback if an index.sheet
3916         file can not be found.
3918         * objects/custom/custom_util.[ch]: new file containing useful routines
3919         needed by the custom object code.  Currently only contains a simple
3920         routine for resolving relative paths.
3922         * objects/custom/custom_object.c (custom_draw): fixed problem with
3923         drawing rectangles if the shape has been flipped.
3925 1999-08-30  James Henstridge  <james@daa.com.au>
3927         * objects/custom/custom_object.c (custom_get_object_menu): allow
3928         flipping of custom shapes.  This uses the miggle click object
3929         menu.
3931         * objects/custom/Circuit/npn.shape: fix aspect ratio.
3933         * objects/custom/custom_object.c (custom_update_data): honour the
3934         aspect ratio constraints.
3936         * objects/custom/shape_info.c (load_shape_info): updated aspect ratio
3937         tag parsing, so you can specify a free, fixed or a range for aspect
3938         ratios for the shape.
3940 1999-08-29  James Henstridge  <james@daa.com.au>
3942         * objects/custom/test.xml, objects/custom/Circuit/*.shape: fixed
3943         up shape namespace tag.
3945         * objects/custom/shape_info.c (load_shape_info): check xml:lang
3946         attribute on <description> elements to support i18n for custom
3947         shape descriptions.
3948         Also changed the shape namespace for custom shapes to something
3949         a little more sensible.
3951         * lib/dummy_dep.h (dummy_dep): added extra dummy dependency.
3953         * lib/intl.c: new file containing some functions for i18n stuff.
3955         * app/layer_dialog.c (create_button_box): fixed a warning.
3957         * objects/custom/custom_object.c: use current line style.  Save dash
3958         length.
3960         * objects/flowchart/diamond.c: use current line style.  Save dash
3961         length.
3963         * objects/flowchart/parallelogram.c: use current line style.  Save
3964         dash length.
3966         * objects/flowchart/ellipse.c: use current line style.  Save dash
3967         length.
3969         * objects/flowchart/box.c: use current line style.  Save dash length.
3971         * objects/standard/ellipse.c: make ellipse use current line style.
3973         * objects/standard/box.c: use the line style set in the toolbox for
3974         new boxes, and remember the dash length.
3976         * app/commands.c (view_toggle_rulers_callback): fix reshowing of
3977         rulers.
3979 1999-08-24  James Henstridge  <james@daa.com.au>
3981         * objects/flowchart/ellipse.c (ellipse_update_data): made some changes
3982         to try to stop ellipse to get infinite width/height when we resize,
3983         while trying to keep the text inside the ellipse.
3985         * objects/flowchart/box.c, objects/flowchart/parallelogram.c,
3986         * objects/flowchart/diamond.c, objects/flowchart/ellipse.c: fixed
3987         resizing behaviour, so that you can't push objects round the screen
3988         with the resize handles.
3990         * app/lineprops_area.c (dia_arrow_chooser_init, dia_line_chooser_init):
3991         get the OK buttons in the dialogs to take default clicks.
3993         * objects/custom/custom_object.c: added code so that resizing the
3994         shape does not end up pushing it round the screen.
3996 1999-08-23  Alexander Larsson  <alla@lysator.liu.se>
3998         * app/display.[ch]:
3999         Generate rectangle with the union of the damaged regions.
4000         This is used to optimize the grid paint and the object rendering.
4001         display_render_pixmap passes this info to grid_draw() and data_render().
4003         * app/grid.[ch]:
4004         grid_draw doesn't draw grid lines outside of damaged rectangle.
4005         Sets dashlength when drawing non-solid grid.
4006         
4007         * lib/diagramdata.[ch]:
4008         data_render() and layer_render() takes an optional damaged rectangle
4009         argument. No objects not intersecting this are drawn.
4011         * app/diagram.c:
4012         Fix warning.
4013         Call data_render with NULL update rectangle.
4014         
4015 1999-08-23  James Henstridge  <james@daa.com.au>
4017         * objects/custom/custom_object.c (custom_update_data): if the aspect
4018         ratio is fixed, make sure the shape is not distorted.
4020         * object/custom/shape_info.h, objects/custom/shape_info.c: notice if
4021         a <fixaspectratio/> tag is given in the shape file.
4023         * objects/custom/shape_info.[ch], objects/custom/custom_object.c:
4024         added support for stroke-width, stroke and fill CSS attributes
4025         specified in style attributes of the SVG elements.  The line width
4026         is relative to the user specified line width.  The stroke and fill
4027         attributes can only be used to swap the foreground/background
4028         colours.
4030         * lib/widgets.c (dia_line_style_selector_set_linestyle): set the
4031         sensitivity on the dash length selector when this function is called.
4033         * objects/standard/arc.c: same.  Also handle dash length.
4034         * objects/standard/zigzagline.c: same.
4035         * objects/standard/polyline.c: same.  Also handle dash length.
4036         * objects/standard/line.c: use default arrow/line styles.
4038         * app/interface.c: added callbacks to set the default attributes.
4040         * lib/attributes.c: added implementations of these functions.
4042         * lib/attributes.h: added extra prototypes for the new line properties
4043         area in the toolbox.
4045         * app/interface.c (create_lineprops_area): added line properties
4046         area to bottom of toolbox.
4048         * app/lineprops_area.h: a header exporting a few routines of the
4049         line properties area widgets.
4051         * app/lineprops_area.c: new file containing a selector for arrows
4052         and line styles to go in the main toolbox.
4054 1999-08-22  Alexander Larsson  <alla@lysator.liu.se>
4056         * HACKING:
4057         Update Gtk+ 1.0.5 comment to 1.2.0.
4059         * INSTALL:
4060         Demand libtool 1.3
4062         * acconfig.h:
4063         Add HAVE_LIBPOPT
4065         * configure.in:
4066         Make sure we don't propagate -ldl and -lpopt to all LIBS
4067         by adding new var APP_LIBS that only app/dia links with.
4068                 
4069         * app/Makefile.am:
4070         Update run_dia.sh to load custom and flowchart objects.
4072         * objects/ER/Makefile.am:
4073         * objects/FS/Makefile.am:
4074         * objects/UML/Makefile.am:
4075         * objects/network/Makefile.am:
4076         * objects/standard/Makefile.am:
4077         * objects/sybase/Makefile.am:
4078         Don't build versioned libs.     
4079         
4080 1999-08-22  James Henstridge  <james@daa.com.au>
4082         * configure.in: added objects/custom/Circuit/Makefile to AC_OUTPUT
4083         list.
4085         * objects/Makefile.am (SUBDIRS): added custom to subdir list -- it
4086         should actually work a bit now.
4088         * objects/custom/Circuit/*: a test sheet for the custom shape code.
4089         It is a small collection of circuit elements.
4091         * objects/custom/shape_info.c: fixed up loading of polylines and
4092         polygons.  Before it was removing negative signs :(
4094         * objects/custom/pixmaps/custom.xpm: drew the custom shape icon.  A
4095         placeholder was here before.  I still need to work out how to set
4096         icons for individual custom shapes.
4097         
4098         * objects/custom/custom.c: added code to load the shapes into sheets
4099         properly.  The shape files should be arranged into directories, and
4100         each directory represents a different sheet in the toolbox.  This
4101         will make it very easy to distribute a collection of dia shapes as
4102         a tarball.  I still need to work out internationalisation, and maybe
4103         also shape ordering in the sheet.
4105         * objects/custom/custom_object.c: fixed up dialogs for these objects.
4106         (custom_create): fix for objects without text areas.
4108         * objects/custom/shape_info.h, objects/custom/custom_object.c: loading
4109         and saving of custom object works correctly now.
4111 1999-08-21  James Henstridge  <james@daa.com.au>
4113         * objects/flowchart/ellipse.c: 
4114         * objects/flowchart/diamond.c: 
4115         * objects/flowchart/parallelogram.c: 
4116         * objects/flowchart/box.c: Fixed up a few bugs in these objects when
4117         copying or loading these object types.  Not all the connection
4118         points would be initialised correctly.
4120         * objects/flowchart/Makefile.am (libflowchart_objects_la_LDFLAGS):
4121         similar here.
4123         * objects/custom/Makefile.am (libcustom_objects_la_LDFLAGS): do not
4124         build a versioned library.  It will only ever be dlopen'd, so this
4125         is not a problem.
4127         * objects/custom/custom_object.c (custom_distance_from): allow
4128         selecting the object by clicking on the text.  This fixes problems
4129         where the text box is outside the graphic.
4131         * objects/custom/shape_info.c (load_shape_info): fixed up reading
4132         of connections points.  It should be possible to add connections
4133         to custom objects now.
4135         * objects/custom/custom_object.c (custom_update_data): fixed resizing
4136         due to changes to text.
4138         * configure.in: added extra makefiles.
4139         
4140         * objects/custom/shape_info.[ch]:
4141         * objects/custom/custom_object.c:
4142         * objects/custom/custom.c: the starts of custom shape support in dia.
4143         This is not built by default at the moment, since it is not quite
4144         complete.  When it is, it will let you create more shapes for dia
4145         without writing a line of C.  Its implementation includes buzzwords
4146         such as XML and SVG, so it must be good :)
4148 1999-08-19  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
4150         * app/app_procs.c (app_exit): Use button labels "Quit" and
4151         "Cancel" instead of "Yes" and "No".
4152         Set default action to "Cancel" instead of "Quit".
4154 1999-08-19  James Henstridge  <james@daa.com.au>
4156         * objects/flowchart/flowchart.c: added ellipse object.
4157         
4158         * objects/flowchart/ellipse.c: a new shape for the flowchart toolbox.
4160 1999-08-18  James Henstridge  <james@daa.com.au>d
4162         * app/color_area.c (color_area_edit): small fix to prevent dia from
4163         segfaulting when you try to change the default foreground/background.
4165 1999-08-17  Alexander Larsson  <alla@lysator.liu.se>
4167         * app/diagram.[ch] (diagram_redraw_all):
4168         Added function that redraws all diagrams.
4170         * app/preferences.c (prefs_apply):
4171         Call diagram_redraw_all when prefs are changed.
4173         * app/render_svg.c:
4174         Don't use xmlEncodeEntitiesReentrant(). It doesn't exist on
4175         older libxml's, and the old version works good enought here.
4176         
4177 1999-08-17  James Henstridge  <james@daa.com.au>
4179         * lib/widgets.c: changed handlers that were connected to the GtkButton
4180         "pressed" signal to connect to the "clicked" signal.  This removes the
4181         problem where dialogs are inactive until you click a mouse button
4182         after using a colour selector.
4184         * configure.in: added extra makefiles to AC_OUTPUT list.
4185         
4186         * objects/Makefile.am (SUBDIRS): added flowchart module
4188         * objects/flowchart/*: a collection of shapes for use in flowcharts.
4190         * app/color_area.c (color_area_events): similar here.
4192         * app/linewidth_area.c (linewidth_area_events): sometimes a configure
4193         event is recieved with event->width == 0, which causes a warning if we
4194         try to create a pixmap of that width.
4196         * app/preferences.c, app/preferences.h, app/grid.c: added code to
4197         allow you to configure the colour of the grid, and also lets you
4198         set the grid to use dotted lines instead of solid ones.
4199         
4200         * app/commands.c, app/commands.h, app/diagram.c, app/diagram.h,
4201         app/menus.c, app/Makefile.am: added menu entry for exporting SVG files.
4202         
4203         * app/render_svg.h, app/render_svg.c: an SVG (Scalable Vector Graphics)
4204         export filter.  It is not quite complete, but for most shapes it
4205         works as expected.  Fonts still need a bit of work.
4207 1999-08-11  Robert Brady  <rwb197@ecs.soton.ac.uk>
4209         * configure.in: Added "en_GB" to ALL_LINGUAS.
4211 1999-08-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
4213         * menus.c
4214         Added Undo and Redo to GNOME menus.
4215         
4216         * objects/ER/attribute.c:
4217         * objects/ER/entity.c:
4218         * objects/ER/participation.c:
4219         * objects/ER/relationship.c:
4220         Added get/set_state functions.
4222         * objects/ER/participation.c:
4223         Added add/delete segment.
4225         * po/sv.po
4226         Updated Swedish translation.
4228 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4230         * app/preferences.[hc]:
4231         Added undo_depth pref.
4232         
4233         * app/undo.[ch]:
4234         Never grow stack larger than pref.undo_depth.
4235         undo_depth == 0 means unlimited.
4236         Converted printfs to conditionally compiled DEBUG_PRINTFs.
4237         
4238 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4240         * app/diagram.c:
4241         * app/group.c:
4242         * lib/object.h:
4243         * lib/render_object.c:
4244         * objects/ER/attribute.c:
4245         * objects/ER/entity.c:
4246         * objects/ER/participation.c:
4247         * objects/ER/relationship.c:
4248         * objects/FS/flow-ortho.c:
4249         * objects/FS/flow-poly.c:
4250         * objects/FS/flow.c:
4251         * objects/FS/function.c:
4252         * objects/UML/actor.c:
4253         * objects/UML/association.c:
4254         * objects/UML/class.c:
4255         * objects/UML/classicon.c:
4256         * objects/UML/component.c:
4257         * objects/UML/constraint.c:
4258         * objects/UML/dependency.c:
4259         * objects/UML/generalization.c:
4260         * objects/UML/implements.c:
4261         * objects/UML/large_package.c:
4262         * objects/UML/lifeline.c:
4263         * objects/UML/message.c:
4264         * objects/UML/note.c:
4265         * objects/UML/object.c:
4266         * objects/UML/realizes.c:
4267         * objects/UML/small_package.c:
4268         * objects/UML/state.c:
4269         * objects/UML/usecase.c:
4270         * objects/network/bus.c:
4271         * objects/standard/arc.c:
4272         * objects/standard/box.c:
4273         * objects/standard/ellipse.c:
4274         * objects/standard/image.c:
4275         * objects/standard/line.c:
4276         * objects/standard/polyline.c:
4277         * objects/standard/textobj.c:
4278         * objects/standard/zigzagline.c:
4279         Removed all traces of is_empty(). It doesn't work in an
4280         Undo/Redo world.
4282 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4284         * app/diagram.c:
4285         * app/group.[ch]:
4286         * app/undo.[ch]:
4287         Undoable grouping and ungrouping.
4289         * app/layer_dialog.c:
4290         * lib/diagramdata.[ch]:
4291         Undoable layer ops.
4293         * app/modify_tool.c:
4294         Undoable unconnect on handle move.
4296         * lib/orth_conn.[ch]:
4297         Working undoable add/remove segment.
4298         Removed endpoint_handles from OrthConn, renamed
4299         midpoint_handles to handles and put the endpoint
4300         handles there.
4302         * objects/standard/zigzagline.c:
4303         * objects/ER/participation.c:
4304         * objects/UML/association.c:
4305         * objects/UML/dependency.c:
4306         * objects/UML/generalization.c:
4307         * objects/UML/realizes.c:
4308         Update for the changes in OrthConn
4309         
4310 1999-07-23  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
4312         * configure.in: Added "de" to ALL_LINGUAS.
4314 1999-07-17  Alexander Larsson  <alla@lysator.liu.se>
4316         * dia.1:
4317         Fixed typo.
4319         * app/display.c:
4320         * po/da.po:
4321         * po/fr.po:
4322         * po/hu.po:
4323         * po/no.po:
4324         * po/pl.po:
4325         * po/sv.po:
4326         Don't have the <Display> etc part of the menu strings
4327         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
4329         * app/diagram.c:
4330         Don't have the <Display> etc part of the menu strings
4331         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
4332         Don't remove is_empty() objects, that don't work with undo.
4334         * lib/objchange.[ch]:
4335         New files.
4336         Definition of ObjectChange. This is essentially an Change
4337         exported to the object libs. It encapsulates a change made
4338         to an objects internals. It can be applied, reverted and freed.
4339         There are also utility functions for doing ObjectChanges that
4340         only get/set the whole state of an object to store the change.
4341         This cannot be used when the object change deletes or adds a
4342         object which has references from other objects, eg. Handles which
4343         might be connected.
4345         * lib/Makefile.am:
4346         Added objchange.c and objchange.h.
4348         * lib/dia_image.c:
4349         Return NULL when loading fails.
4351         * lib/diamenu.h:
4352         Menu callbacks return an ObjectChange.
4354         * lib/dummy_dep.h:
4355         Reference objchange.o
4357         * lib/focus.h:
4358         Key events return ObjectChange if they modify the object.
4360         
4361         * lib/object.h:
4362         Added object_add_handle_at() function.
4363         Apply properties returns an ObjectChange.
4364         Remove ObjectState and the get/set state functions, these
4365         don't always work. Use the new ObjectChange instead.
4366         
4367         * lib/object.c:
4368         Added object_add_handle_at() function implementation.
4369         
4370         * lib/orth_conn.[ch]:
4371         Use ObjectChange. Not finished yet.
4372         Removed get/set/free state functions
4374         * lib/poly_conn.[ch]:
4375         Use ObjectChange.
4376         Don't remove segments that are small.
4377         Removed get/set/free state functions
4379         * lib/text.[ch]:
4380         Use ObjectChange.
4381         Added functions to get/set all text attributes.
4383         * objects/standard/arc.c:
4384         * objects/standard/box.c:
4385         * objects/standard/ellipse.c:
4386         * objects/standard/image.c:
4387         * objects/standard/line.c:
4388         * objects/standard/polyline.c:
4389         * objects/standard/textobj.c:
4390         * objects/standard/zigzagline.c:
4391         Use ObjectChange.
4392         fixed bug in image_set_state.
4393         zigzagline.c not finished yet.
4395         * app/disp_callbacks.c:
4396         Use ObjectChange that are returned from menu callbacks and
4397         key_events for undo.
4399         * app/properties.c:
4400         Use ObjectChange that are returned from properties apply
4401         for undo.
4403         * app/undo.c:
4404         * app/undo.h:
4405         New undo type: ObjectChangeChange. This wraps a change to the
4406         internals of an object (and ObjectChange) in code that does
4407         app specific stuff (object_add_updates etc.)
4409 1999-07-11  Alexander Larsson  <alla@lysator.liu.se>
4411         * lib/orth_conn.[ch]:
4412         Added code for add/delete segment.
4414         * objects/standard/zigzagline.c:
4415         Use the new orth_conn code.
4416         
4418 1999-07-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
4420         * objects/FS/Makefile.am
4421         Removed fs.h from sources.
4423         * Makefile.am
4424         * dia.1
4425         Added man page.
4427 1999-07-07  Alexander Larsson  <alla@lysator.liu.se>
4429         * app/disp_callbacks.c (ddisplay_canvas_events):
4430         Fix for bug. Every other arrow-key press got lost.
4431         patch from Mr. Data Esq. <data@r47h102.res.gatech.edu>
4433         * INSTALL:
4434         change automake.sh to autogen.sh
4435         
4436 1999-06-24  Alexander Larsson  <alla@lysator.liu.se>
4438         * app/diagram.c:
4439         Don't remove 'empty' objects.
4440         This violent destruction of objects won't work
4441         with the new undo framework.
4443         * app/disp_callbacks.c:
4444         Save undo info for object menu calls and key_events.
4446         * app/properties.c:
4447         Save undo info on properties apply.
4449         * lib/dia_image.[ch]:
4450         Add refcounting for images.
4452         * app/render_eps.c:
4453         * app/render_gdk.c:
4454         * lib/render.h:
4455         DiaImage * -> DiaImage
4457         * app/undo.[ch]:
4458         Add undo functions for object state changes.
4460         * lib/focus.h:
4461         * lib/text.c:
4462         change of semntics for focus->key_event.
4463         Now returns TRUE if the object recieving the event
4464         was changed.
4466         * lib/object.h:
4467         Comment changes.
4469         * lib/orth_conn.[ch]:
4470         Don't automatically create and delete segments when
4471         handles are moved. This is incompatible with undo.
4472         Added state get, set and free functions.
4474         * lib/orth_conn.[ch]:
4475         Added state get, set and free functions.
4477         * objects/UML/object.c:
4478         * objects/UML/uml.c:
4479         Fixed typo "UML - Objet" -> "UML - Object".
4480         Saved old for backwards compatibility.
4482         * objects/standard/arc.c:
4483         * objects/standard/box.c:
4484         * objects/standard/ellipse.c:
4485         * objects/standard/image.c:
4486         * objects/standard/line.c:
4487         * objects/standard/polyline.c:
4488         * objects/standard/textobj.c:
4489         * objects/standard/zigzagline.c:
4490         Added get/set state functions.
4491         Textobj has a redo crash-bug.
4492         Zigzagline needs object menus to add segments.
4493         
4495 1999-06-20  Alexander Larsson  <alla@lysator.liu.se>
4497         * app/render_eps.c (set_dashlength):
4498         Don't generate eps files with zero dash-length.
4500 1999-06-16  Alexander Larsson  <alla@lysator.liu.se>
4502         * app/commands.c:
4503         * app/create_object.c:
4504         * app/undo.[ch]:
4505         Finished undo for create and paste.
4506         
4507         * lib/object.h:
4508         Started properties undo.
4510 1999-06-14  Alexander Larsson  <alla@lysator.liu.se>
4512         * TODO:
4513         Added resizeable groups.
4515         * app/app_procs.c:
4516         Removed unused variable.
4518         * app/commands.c:
4519         * app/undo.[ch]:
4520         Undo/redo for cut/delete done.
4522         * app/create_object.c:
4523         * app/modify_tool.c:
4524         * lib/diagramdata.[ch]:
4525         * app/diagram.[ch]:
4526         renamed diagram_add_selected -> diagram_select
4527         renamed diagram_remove_selected -> diagram_unselect
4528         
4529         * app/properties.[ch]:
4530         Added properties_hide_if_shown() function.
4532 1999-06-13  Alexander Larsson  <alla@lysator.liu.se>
4534         * app/undo.[ch]:
4535         * app/Makefile.am:
4536         Undo functions.
4537         
4538         * app/commands.[ch]
4539         * app/modify_tool.[ch]
4540         * app/object_ops.[ch]
4541         * app/connectionpoint_ops.c
4542         * app/menus.c
4543         Use undo functions.
4544         WARNING: Not finished. Will break.
4545         Finished: move object, move handle.
4547         * app/diagram.[ch]
4548         Added diagram_selected_break_external() function.
4549         It removes all connections between selected objects
4550         and non-selected.
4551         Add undo stack to Diagram.
4552         
4553         * lib/diagramdata.[ch]
4554         Added layer_remove_objects() function
4555         
4556 1999-06-11  Fredrik Hallenberg  <hallon@lysator.liu.se>
4558         * objects/FS/Makefile.am
4559         * objects/sybase/Makefile.am
4560         Now uses GNOME_CFLAGS.
4562         * app/app_procs.c
4563         Now compiles with GNOME even if popt.h isn't available.
4565 1999-06-10  Alexander Larsson  <alla@lysator.liu.se>
4567         * configure.in
4568         * objects/Makefile.am
4569         * objects/sybase/*
4570         First version of sybase objects from
4571         Brian Bruns <camber@umcc.ais.org>
4573 1999-06-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
4575         * configure.in
4576         Added fr to ALL_LINGUAS
4578 1999-06-09  Fredrik Hallenberg  <hallon@lysator.liu.se>
4580         * configure.in
4581         * app/app_procs.c
4582         Popt-code is activated if popt is available.
4584 1999-06-08  Alexander Larsson  <alla@lysator.liu.se>
4586         This is a patch from David Thompson <dcthomp@mail.utexas.edu>
4587         
4588         * lib/orth_conn.[ch]:
4589         Added orthconn_get_middle_handle()
4591         * lib/text.[ch]:
4592         Added text_set_cursor_at_end()
4593         
4594         * objects/FS/*
4595         Added first version of functions structure diagrams.
4596         
4597 1999-05-24  Alexander Larsson  <alla@lysator.liu.se>
4599         * app/modify_tool.c:
4600         Include math.h to remove warning.
4602         * app/commands.c (dialogs_properties_callback):
4603         Bring up correct properties dialog when selected
4604         from menu.
4605         From Dan Cohn <dan@internap.com>
4607 1999-05-20  Alexander Larsson  <alla@lysator.liu.se>
4609         Patch from Lars R. Clausen 
4610         
4611         * app/modify_tool.c:
4612         Changed abs to fabs.
4614 1999-05-19  Alexander Larsson  <alla@lysator.liu.se>
4616         * INSTALL: 
4617         * configure.in:
4618         Require Gtk+ 1.2.0
4620 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
4622         Patches from Dan Cohn <dan@internap.com>
4623         
4624         * app/commands.[ch]: 
4625         * app/display.[ch]: 
4626         * app/menus.c:
4627         * app/preferences.[ch]:
4628         Implements ability to turn on/off connection points in
4629         current drawing and in global prefs.
4631 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
4633         * lib/widgets.c (dia_line_style_selector_init): 
4634         Fixed warnings.
4635         
4636         * lib/diagramdata.c (layer_update_extents):
4637         Fixed uninitialized variable error.
4639 1999-05-17  Alexander Larsson  <alla@lysator.liu.se>
4641         * lib/dia_image.c:
4642         Made some changes to the gdk_imlib visual+colormap setup.
4644 1999-05-17  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4646         * objects/UML/usecase.c: 
4647        * objects/UML/lifeline.c
4648         Fine tunning.
4650         * objects/UML/object.c: 
4651         * objects/UML/message.c: 
4652         Changed font from Courier to Helvetica.
4654         * lib/widgets.c: 
4655         * lib/widgets.h:
4656         Added dash lenth to the LineStyle widget.
4657         
4658         * objects/standard/ellipse.c :
4659         * objects/standard/zigzagline.c: 
4660         * objects/standard/line.c: 
4661         Added dash lenght property.
4663 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
4665         * app/render_eps.c:
4666         First shot at latin1 encoded eps files.
4667         Works, but the eps files get a bit large.
4668         
4669 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
4671         * objects/UML/class.[ch]: 
4672         * objects/UML/uml.[ch]:
4673         Reverted the line wrap changes.
4674         Some day this might return, but it has to be selectable and
4675         default to off for loaded objects, otherwise it breaks file
4676         format compatibility.
4677         There was also some complains about how it looked, so a making it
4678         selectable is good for this too.
4680 1999-05-15  Alexander Larsson  <alla@lysator.liu.se>
4682         * objects/UML/class.[ch]:
4683         Some indentation cleanup.
4684         Added wrap_lines variable to class.
4685         I'll fix the line break stuff tomorrow.
4687 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
4689         * lib/dummy_dep.h:
4690         Added ref to poly_conn.o.
4692         * objects/standard/polyline.c (polyline_draw): 
4693         * objects/standard/zigzagline.c (zigzagline_draw): 
4694         * objects/standard/arc.c (arc_draw): 
4695         * objects/standard/line.c (line_draw):
4696         Draw lines before arrows. This makes hollow arrows not
4697         show the line.
4699 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
4701         Changes from Kim Peasley <kpeasley@ior.com> 
4702                 
4703         * objects/UML/class.c:
4704         Break lines with long operations so classes won't be
4705         so wide.
4707         * objects/UML/uml.[ch]:
4708         Helperfunctions for the above.
4709         
4710         * objects/UML/objects.c:
4711         Fix bug that duplicated the text in the attributes
4712         textwidget each time the object was selected.
4713         
4714 1999-05-12  Alexander Larsson  <alla@lysator.liu.se>
4716         Changes from Lars R. Clausen <lrclause@cs.uiuc.edu>
4717         
4718         * app/modify_tool.c:
4719         * app/modify_tool.h:
4720         Control-drag is restricted to vertical/horizontal movement
4721         
4722         * lib/object.h:
4723         ModifierKeys argument added to object_move_handle
4725         * app/connectionpoint_ops.c:
4726         * app/create_object.c:
4727         * app/object_ops.c:
4728         * objects/ER/attribute.c:
4729         * objects/ER/entity.c:
4730         * objects/ER/participation.c:
4731         * objects/ER/relationship.c:
4732         * objects/UML/actor.c:
4733         * objects/UML/association.c:
4734         * objects/UML/class.c:
4735         * objects/UML/classicon.c:
4736         * objects/UML/component.c:
4737         * objects/UML/constraint.c:
4738         * objects/UML/dependency.c:
4739         * objects/UML/generalization.c:
4740         * objects/UML/implements.c:
4741         * objects/UML/large_package.c:
4742         * objects/UML/lifeline.c:
4743         * objects/UML/message.c:
4744         * objects/UML/note.c:
4745         * objects/UML/object.c:
4746         * objects/UML/realizes.c:
4747         * objects/UML/small_package.c:
4748         * objects/UML/state.c:
4749         * objects/UML/usecase.c:
4750         * objects/network/bus.c:
4751         * objects/standard/arc.c:
4752         * objects/standard/box.c:
4753         * objects/standard/ellipse.c:
4754         * objects/standard/image.c:
4755         * objects/standard/line.c:
4756         * objects/standard/polyline.c:
4757         * objects/standard/textobj.c:
4758         * objects/standard/zigzagline.c:
4759         Changed calls to move_handle to pass the new argument.
4760         
4761         * lib/widgets.c:
4762         * lib/widgets.h:
4763         Default line width, color etc #define'd
4764         
4765         * po/da.po:
4766         Updates of danish menus
4768 1999-05-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
4770         * dia.xpm
4771         * dia_gnome_icon.png
4772         * dia_gnome_menu_icon.png
4773         * dia_logo.png
4774         Graphics by Toussaint Frédéric <ftoussin@club-internet.fr>.
4776         * app/commands.c
4777         About dialog shows dia_logo.png. Removed the GNOME about dialog.
4779         * Makefile.am
4780         Distribute the icons and install logo in pkgdatadir.
4781         
4782         * app/Makefile.am
4783         Added DATADIR-define.
4784         
4785 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
4786         Patches from Enrico Scholz <enrico.scholz@wirtschaft.tu-chemnitz.de>
4788         * dia.spec:
4789         Updated version number, made setup quiet, can build from cvs,
4790         --enable-gnome, now using automake 1.4 DESTDIR feature, install-strip
4792         * lib/Makefile.am
4793         * objects/ER/Makefile.am
4794         * objects/UML/Makefile.am
4795         * objects/network/Makefile.am
4796         * objects/standard/Makefile.am
4797         now builds better with gnome
4799         * objects/UML/class_dialog.c
4800         Fixed typo -> po files must be updated too!!
4801         
4802 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
4804         * lib/dummy_dep.h:
4805         Added reference so that widgets.o gets linked to the app.
4807 1999-04-23  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4809         * objects/UML/classicon.c: 
4810         Added object mode.
4812         * objects/UML/actor.c: 
4813         Changed position of 'snap-to-grid' so connection points are
4814         in the grid.
4816 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
4818         * objects/UML/classicon.c:
4819         Changed position of 'snap-to-grid'.
4820         By Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
4821         
4822 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
4824         * objects/network/antenna.c
4825         * objects/network/flash.c
4826         * objects/network/hub.c
4827         * objects/network/modem.c
4828         * objects/network/modularswitch.c
4829         * objects/network/rj45plug.c
4830         * objects/network/scead-plug.c
4831         * objects/network/network.c
4832         * objects/network/Makefile.am
4833         * objects/network/pixmaps/antenna.xpm
4834         * objects/network/pixmaps/flash.xpm
4835         * objects/network/pixmaps/hub.xpm
4836         * objects/network/pixmaps/modem.xpm
4837         * objects/network/pixmaps/modularswitch.xpm
4838         * objects/network/pixmaps/rj45plug.xpm
4839         * objects/network/pixmaps/sceadplug.xpm
4840         * objects/network/pixmaps/Makefile.am
4841         Lots of new network objects from
4842         Roland Steinbach <roland@support-system.com>.
4844 1999-04-15  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4846         * objects/UML/classicon.c: 
4847         Fixed connection positions, saved type as int (it has 3 states),
4848         and other small fixes.
4849         
4850 1999-04-14  Alexander Larsson  <alla@lysator.liu.se>
4852         * app/preferences.c:
4853         * app/load_save.c:
4854         Added preference compress_save. It lets dia save uncompressed
4855         xml files.
4857         * objects/UML/class.c:
4858         Fixed bug with size calculation on methods that had class scope.
4859         
4860 1999-04-13  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4862         * objects/UML/usecase.c: 
4863         Added collaboration mode
4864         Fixed connection points with text > ellipse bug and other 
4865         small things
4867         * objects/UML/state.c:
4868         Fixed bug of bad position of text after being either end
4869         or begin, moved and returned to text
4871 1999-04-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
4873         * app/preferences.c: Add prototype declaration for prefs_apply.
4875 1999-04-11  Alexander Larsson  <alla@lysator.liu.se>
4877         * app/preferences.c:
4878         Added 'ok' button.
4879         Apply don't hide window.
4881         * app/properties.c:
4882         Add 'ok' button.
4884         * objects/UML/object.c:
4885         * objdcts/UML/state.c:
4886         Some data was not copied on copy.
4888         This patch is from
4889         Ben Hochstedler <benh@eeyore.moneng.mei.com>
4891 1999-04-09  Alexander Larsson  <alla@lysator.liu.se>
4893         * app/Makefile.am:
4894         Changed link order between X and libxml.
4895         Some people had problems with an old libz in their
4896         x11 directory.  
4898 1999-04-09  Kjartan Maraas  <kmaraas@online.no>
4900         * po/no.po: updated translation.
4901         
4902 1999-04-08  Lars R. Clausen <lrclause@cs.uiuc.edu>
4904         * lib/message.c (message_error):
4905         Fixed small error.
4907         * app/commands.[ch]:
4908         * app/diagram.[ch]:
4909         Added begining of xfig importing
4911 1999-04-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4913         * objects/UML/pixmaps/state.xpm: 
4914         * objects/UML/state.c: 
4915         New UML object state machine.
4917         * objects/UML/uml.c:
4918         * objects/UML/Makefile.am:
4919         * objects/UML/pixmaps/Makefile.am:
4920         Added the state object.
4921         
4922 1999-04-08  Alejandro Aguilar Sierra  <ale@bucefalo>
4924         * objects/UML/usecase.c: 
4925         Added dialog to allow move text outside the ellipse.
4927 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
4929         * Released Dia 0.41
4930         Tag called DIA_0_41
4932         * NEWS:
4933         Updates for 0.41.
4934         
4935 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
4937         * configure.in:
4938         Updated version number to 0.41
4940         * po/*.po:
4941         Update po-files
4943 1999-04-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
4945         * app/app_procs.c
4946         Changed errormessage for --export-to-ps. Removed call to 
4947         g_log_set_always_fatal().
4949         * app/diagram.c
4950         * app/disp_callbacks.c
4951         * app/load_save.c
4952         (i18n) Removed gettext from some debugmessages.
4954         * app/menus.c
4955         Small fix in GNOME-menus. Added warning that will help track
4956         problems with translations.
4958         * po/sv.po
4959         (i18n) Updated swedish translation.
4961 1999-04-02  Alexander Larsson  <alla@lysator.liu.se>
4963         * po/da.po:
4964         New updates
4966 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
4968         * po/da.po:
4969         * po/no.po:
4970         Some fixes.
4971         
4972 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
4974         * po/da.po:
4975         (i18n) Updated the danish translation.
4976         From Lars R. Clausen.
4978 1999-04-01  Fredrik Hallenberg  <hallon@lysator.liu.se>
4980         * app/menus.c
4981         (i18n) The popup menu is translated now.
4983         * po/sv.po
4984         (i18n) Updated swedish translation.
4986 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
4988         * Released Dia 0.40
4989         Tag called DIA_0_40
4991         * NEWS:
4992         Updated for new release
4993         
4994 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
4996         * objects/network/bus.c:
4997         Added initialization of properties dialog to NULL.
4999         * app/commands.c (edit_cut_callback):
5000         Update menu sensitivity when cut object.
5002         * app/modify_tool.c (click_select_object):
5003         * app/modify_tool.c (modify_button_release): 
5004         Call diagram_update_menu_sensitivity() when
5005         selecting objects to update stuff that depends
5006         on selected/not selected.
5008 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
5010         * Makefile.am:
5011         Change order of subdir so that libintl.a builds.
5012         Now passed make distcheck.
5014 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5016         * lib/font.c (init_x11_font):
5017         Stupid bug fixed.
5019 1999-03-28  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5021         * objects/UML/pixmaps/classicon.xpm: 
5022         * objects/UML/classicon.c:
5023         * objects/UML/uml.c:
5024         Added the class stereotype icon objects.
5026         * app/commands.c:
5027         Changed default ps extension from .ps to .eps.
5028         
5029 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5031         * lib/Makefile.am:
5032         Added diamenu.h and intl.h
5034         * lib/font.c:
5035         Stupid typo fix.
5036         
5037         * objects/UML/pixmaps/Makefile.am:
5038         Added message.xpm
5040         * objects/standard/pixmaps/Makefile.am:
5041         Added image.xpm
5043 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5045         * lib/font.c:
5046         Use a scalable font before fixed when real font not found.
5048         * app/commands.c:
5049         Removed warning.
5051         * objects/standard/image.c:
5052         Better handling of loading/saving of images.
5054         * INSTALL:
5055         Added some text about cvs, fonts and rewrote some parts.
5057         * TODO:
5058         Updated with new stuff.
5059         
5060         * configure.in:
5061         Bump up version number to 0.40.
5062         
5063 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5065         * app/display.c:
5066         Moved diagram_add_ddisplay() call into new_display().
5067         Fixed new_display to not use uninitialized variables
5068         causing loaded files to show up as black (or garbage).
5069         
5070         * app/commands.c:
5071         * app/app_procs.c:
5072         Removed unneeded calls to diagram_add_ddisplay().
5073         
5074 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5076         * objects/UML/lifeline.c:
5077         Fixed bug in copy.
5078         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
5080         * objects/UML/message.c:
5081         Fixed bug loading messages with null-text.
5082         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
5084 1999-03-27  Fredrik Hallenberg  <hallon@lysator.liu.se>
5086         * po/sv.po
5087         Updated swedish translation.
5089         * app/menus.c
5090         (GNOME) Removed help-browser from help menu. Fixed typo.
5092         * app/interface.c
5093         (GNOME) Accelerators in diagrams should work now. 
5095 1999-03-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
5097         * app/app_procs.c
5098         * app/commands.c
5099         * app/defaults.c
5100         * app/disp_callbacks.c
5101         * app/display.c
5102         * app/interface.c
5103         * app/menus.c
5104         * app/preferences.c
5105         * app/render_eps.c
5106         * lib/diagramdata.c
5107         * lib/font.c
5108         * lib/message.c
5109         * lib/widgets.c
5110         * objects/ER/*.c
5111         * objects/UML/*.c
5112         * objects/network/*.c
5113         * objects/standard/*.c
5114         * po/update_pofiles_in.sh
5115         * po/POFILES.in
5116         More i18n. All strings (expect rare debug messages) can be
5117         translated now. Moved intl.h from app to lib. Updated
5118         update_pofiles_in.sh to check all .c-files.
5120 1999-03-23  Alexander Larsson  <alla@lysator.liu.se>
5122         * app/disp_callbacks.c (ddisplay_canvas_events):
5123         Don't drop keys while num-lock, scroll-lock etc is on.
5125 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5127         * app/render_eps.c (draw_image):
5128         Fixed exporting of images.
5129         Still not perfect, but not outright buggy.
5130         
5131 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5133         * configure.in:
5134         * po/hu.po:
5135         Added hungarian translation. By Shooby Ban <bansz@szif.hu>.
5137         * app/Makefile.am:
5138         Added $* to the dia call in run_dia.sh
5140 1999-03-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5141         
5142         * lib/color.[ch]:
5143         Added color_equals() call.
5145         * objects/standard/arc.c:
5146         * objects/standard/line.c:
5147         Don't save unneccesary data.
5148         
5149         * objects/standard/box.c:
5150         * objects/standard/ellipse.c:
5151         * objects/standard/image.c:
5152         * objects/standard/polyline.c:
5153         * objects/standard/zigzagline.c:
5154         Share properties dialog.
5155         Don't save unneccesary data.
5156         
5157 1999-03-22  Seth Alves  <alves@hungry.com>
5159         * app/menus.c:
5160         * app/diagram.c:
5161         * app/display.c:
5162         small changes so that gnome menus aren't broken
5163         
5164 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5166         * po/da.po:
5167         Added danish translation from lrclause@cs.uiuc.edu.
5169         * po/POFILES.in:
5170         Updated file.
5172         * po/update_pofiles_in.sh:
5173         Added script that updates POFILES.in.
5174         This should probably be run automatically from somewhere.
5176 1999-03-19  Alexander Larsson  <alla@lysator.liu.se>
5178         * app/diagram.[ch]:
5179         Added function diagram_update_menu_sensitivity() which
5180         sets the sensitivity of some menu items. This function
5181         is called at each diagram state change (from diagram_modified()).
5182         This is needed  because otherwise the keyboard accelerators
5183         don't work correctly.
5185         * app/display.[ch]:
5186         Changed display_set_menu_sensitivity() to display_update_menu_state().
5187         Moved lots of code to diagram_update_menu_sensitivity() in
5188         diagram.c. Optimized to only look up menu-items from path:s once.
5189         
5190         * app/disp_callbacks.c:
5191         * app/interface.c:
5192         When we get a GDK_FOCUS_CHANGE, update menu sensitivity.
5193         Need to set GDK_FOCUS_CHANGE_MASK.
5194         
5195         * app/create_object.c:
5196         Call diagram_modified when an object has been created and
5197         selected so that the menu sensitivity is updated. 
5199         * app/menus.[ch]:
5200         removed menus_set_sensitive() and menus_set_state(). Exported
5201         renamed function menus_get_item_from_path().
5203 1999-03-15  Alexander Larsson  <alla@lysator.liu.se>
5205         * app/disp_callbacks.c:
5206         Show (empty) object menus on object that has none.
5207         Show title on object menus.
5209         * app/display.c:
5210         Set zoom factor correctly when opening new displays.
5211         Better setting of scrollbars.
5213         * app/grid.c:
5214         * app/menus.h:
5215         Some reformating cleanup.
5217         * lib/diamenu.h:
5218         Added title to object menus.
5220         * objects/*/*.c:
5221         Added object menu method (NULL-valued) to all objects.
5223         * objects/standard/polyline.c:
5224         Added title to object menu.
5226 1999-03-14  Alexander Larsson  <alla@lysator.liu.se>
5228         * app/preferences.[ch]:
5229         New files. Implements the preferences dialog and
5230         loading/saving of ~/.diarc.
5232         * app/Makefile.am:
5233         Added preferences.[ch].
5235         * app/app_procs.c:
5236         Load preferences on startup.
5238         * app/commands.[ch]:
5239         Added file_preferences_callback to show the preferences dialog.
5241         * app/create_object.c:
5242         Update extents when creating object.
5243         Use the reset_tools_after_create preferences setting.
5245         * app/display.c:
5246         Use preferences when creating new display.
5248         * app/menus.c:
5249         Add preferences to menu.
5251         * app/defaults.c:
5252         * app/layer_dialog.c:
5253         * app/properties.c:
5254         Don't allow shrinking of dialog.
5255         Add i18n of some strings.
5257 1999-03-11  Kjartan Maraas  <kmaraas@fib.hl.no>
5258         * po/no.po:
5259         Norwegian translation added.
5260         
5261 1999-03-11  Alexander Larsson  <alla@lysator.liu.se>
5263         * objects/standard/line.c: 
5264         * objects/standard/arc.c: 
5265         * objects/standard/polyline.c: 
5266         * objects/standard/zigzagline.c:
5267         Loading of arrow data fixed.
5269 1999-03-09  Alexander Larsson  <alla@lysator.liu.se>
5271         * app/commands.c:
5272         Update extents when saving and exporting to postscript.
5273         Fixes a bug with postscript bounding-box being wrong.
5275         * app/defaults.c:
5276         Changed border width from 5 to 2.
5278         * app/group.c:
5279         Move grouped objects by the move-point of the first object.
5280         Fixes bug that made all objects in the group be off-grid
5281         when moving the group, even though all objects was on-grid.
5283         * app/layer_dialog.c:
5284         Update extents when changing layer.
5286 1999-03-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5288        * objects/UML/uml.c: 
5289        * objects/UML/component.c: 
5290        * objects/UML/pixmaps/component.xpm: 
5291        Added the UML component object
5292         
5293 1999-03-04  Seth Alves  <alves@hungry.com>
5295         * objects/UML/generalization.c (generalization_create): avoid
5296         math on uninitialized genlz->text_width (NaN causes sigfpe)
5297         
5298         * objects/UML/realizes.c (realizes_create): same
5300         * objects/UML/dependency.c (dependency_create): same
5302 1999-03-01  Seth Alves  <alves@hungry.com>
5304         * app/display.c (ddisplay_active): don't fly a warning panel
5305         if ddisplay_active is called when no views are open.
5307         * app/commands.c (set_default_file_selection_directory): set
5308         file selector's default directory if there is already
5309         a document open.
5311 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5313         * INSTALL:
5314         New info about imlib requirements.
5316         * Configure.in:
5317         Added lib/pixmaps/Makefile to created makefiles.
5319         * app/app_procs.c:
5320         * app/commands.c:
5321         Change from obsoleted to newer gtk calls.
5322         
5323         * load_save.c:
5324         Pass filename of the diagram when loading and saving.
5325         This creates better oportunities to handle filename saving.
5327         * lib/object.h:
5328         Pass filenames to load and save methods.
5329         
5330         * lib/dia_image.[ch]:
5331         Added dia_image_get_broken() call that returns a image which
5332         is used for 'broken' images.
5333         
5334         * lib/pixmaps/.cvsignore:
5335         * lib/pixmaps/Makefile.am:
5336         * lib/pixmaps/broken.xpm:
5337         New files for the broken image bitmap.
5339         * lib/widgets.c:
5340         Fixed bug with double destroyed filedialog.
5342         * objects/*/*.c:
5343         Updated load and save prototypes to use the new filename argument.
5345         * objects/image.c:
5346         Render broken image instead of line when got no image.
5347         Use the new filename in load and save to save (if possible)
5348         relative pathnames and to better try to find loaded images.
5350 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5352         * TODO:
5353         Some updates to the todo file.
5354         
5355         * app/menus.c:
5356         * app/display.c:
5357         Place over/place over => sent to back/bring to front.
5358         Added some keyboard shortcuts to menus.
5359         
5360 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5362         * lib/dia_xml.c:
5363         Changed string saving/loading to a new method. This should
5364         be much better att handling &,<,> and whitespaces.
5365         Loading strings of the old kind is still supported for backwards
5366         compatibility.
5368         * samples/ER-demo.dia:
5369         * samples/UML-demo.dia:
5370         Updated to use the new strings.
5371         
5372         * app/load_save.c:
5373         statusbar modified update fix.
5375 1999-02-27  Seth Alves  <alves@hungry.com>
5377         * app/app_procs.c (app_init): added a --export-to-ps option
5378         which will cause dia to load a dia file and save it as ps
5379         and then exit.  this is a little bogus, because it still
5380         pops up a window.  this option only shows up if --enable-gnome
5381         is used
5383         * app/display.c (display_set_menu_sensitivity): no Edit/Delete
5384         menu when built with --enable-gnome
5386         * app/interface.c (create_display_shell): build status bar
5387         even if --enable-gnome is used
5389         * app/menus.c: menu fixes for --enable-gnome
5391         * app/commands.c (file_open_dialog_ok_callback): fixed up
5392         menus when --enable-gnome is used
5393         (file_export_to_eps_callback): set a default file name
5394         when dialog is created
5396 1999-02-27  Alexander Larsson  <alex@c125.ryd.student.liu.se>
5398         * objects/UML/association.c (association_create):
5399         Fixed usage of not initialized variable.
5400         Pointed out by Seth Alves <alves@hungry.com>.
5402 1999-02-24  Alexander Larsson  <alex@c125.ryd.student.liu.se>
5404         * configure.in:
5405         Fixed detection of gnome-xml.
5406         From Valtteri Vuorikoski <vuori@k.notcom.org>.
5407         
5408         * app/app_procs.c:
5409         Fixed error detection on dlsym calls. 
5410         From Valtteri Vuorikoski <vuori@k.notcom.org>.
5412 1999-02-23  Alexander Larsson  <alla@lysator.liu.se>
5414         * objects/UML/message.c (fill_in_dialog):
5415         Fixed warnings.
5417 1999-02-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5419         * objects/standard/zigzagline.c:
5420         * objects/standard/polyline.c:
5421         * objects/standard/line.c:
5422         * objects/standard/arc.c:
5423         * lib/widgets.h:
5424         * lib/arrows.h:
5425         * lib/widgets.c:
5426         Support for sizeable arrows. 
5428         * objects/standard/box.c:
5429         * objects/standard/ellipse.c:
5430         * objects/standard/image.c:
5431         Changed creation handle to lower-right.
5432         Transparent box/ellipse.
5433         
5434         * objects/standard/image.c:
5435         Better layout of properties boxes.
5437 1999-02-20  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5439         * objects/UML/message.c (fill_in_dialog): 
5440         Fixed dialog fill in. Common dialog for all messages.
5442         * objects/UML/object.c: 
5443         Added multiple instance. Dialog related bugs fixed.
5444         Common dialog for all instances. Completed copy and destroy.
5446         * objects/UML/lifeline.c (lifeline_load): 
5447         Conn initialization bug fixed and few bad loading prevention flags.
5448         Common dialog for all lifeline objects.
5449         
5450 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5452         * lib/dia_image.[ch]:
5453         More work on the DiaImage abstraction.
5454         
5455         * app/app_procs.c:
5456         * app/render_eps.c:
5457         * app/render_gdk.c:
5458         * objects/standard/image.c:
5459         Use the new DiaImage calls.
5461 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5463         * app/menus.c:
5464         * app/display.c:
5465         Reversed the meaning of align horizontal/vertical.
5467 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5469         * app/load_save.c (diagram_load):
5470         Statusbar update fix.
5472 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5474         * app/interface.c (create_display_shell):
5475         Fixed status bar size.
5476         
5477 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5479         * lib/dia_image.[ch]:
5480         Added extern declaration for dia_image_release.
5481         Removed dia_image_draw, as it's not neseccary.
5483 1999-02-14  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5484         
5485         * app/object_ops.c: 
5486         * app/menus.c: 
5487         Added equal distance alignment both vertical and horizontal.
5488         
5489         * objects/UML/object.c: 
5490         Added a couple of attributes to load/read that were missing.
5492         * objects/UML/lifeline.c: 
5493         Better handling of handles. Fixed another bug I forgot to add
5494         to my last patch.
5495         
5496 1999-02-13  Alexander Larsson  <alla@lysator.liu.se>
5498         Patch from Lars Clausen <lrclause@shasta.cs.uiuc.edu>
5499         
5500         * lib/dia_image.[ch]:
5501         * lib/Makefile.am:
5502         New files. DiaImage wraps the GdkImlibImage.
5504         * lib/render.h:
5505         * app/render_eps.c:
5506         * app/render_gdk.c:
5507         * lib/render_store.[ch]:
5508         * objects/standard/image.c:
5509         Use the new DiaImagetype.
5511         * lib/widgets.c:
5512         Removed unused variable to eliminate  warning.
5514 1999-02-11  Alexander Larsson  <alla@lysator.liu.se>
5516         * objects/standard/box.c:
5517         Added rounded corners on the box object.
5519         * lib/widgets.[ch]:
5520         Updated the DiaFileSelector widget.
5521         
5522 1999-02-09  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5524         * objects/UML/object.c (objet_draw): 
5525         Completed underlining of all object name lines. 
5527         * objects/UML/message.c (fill_in_dialog): 
5528         Fixed a bug that filled incorrectly the message's dialog.
5530         * objects/UML/lifeline.c (lifeline_load): 
5531         Some cleanning and fixed a couple of bugs that caused
5532         crashes after reading diagrams with lifelines.
5534         * lib/text.c: 
5535         Added flags to prevent crash with void strings
5537 1999-02-07  Matthias Köster <Matthias.Koester@Informatik.Uni-Oldenburg.DE>
5538         * app/display.[ch]:
5539         Added statusbar to the display widget. Currently shows the zoom
5540         factor and modified flag of the viewed diagram. The statusbar is
5541         updated upon calls to ddisplay_zoom and ddisplay_update_statusbar.
5542         This caused the following additions:
5543         
5544         * app/diagram.[ch]:
5545         Added function diagram_set_modified. Calls
5546         ddisplay_update_statusbar for all displays showing the modified diagram.
5547         Changed diagram_modified to call diagram_set_modified.
5548         
5549         * app/interface.c:
5550         Added the creation of the statusbar.
5551         
5552         * app/load_save.c:
5553         diagram_save now calls diagram_set_modified instead of setting
5554         dia->modified. Needed to force call to display_update_statusbar
5555         
5556         * app/commands.c:
5557         Changed the way view_show_all works. Now calls ddisplay_zoom
5558         instead of directly setting the zoom_factor, so the zoom factor is
5559         correctly shown in the statusbar.
5561         * app/magnify.c:
5562         Fixed rubberband zoom to use ddisplay_zoom().
5563         
5564 1999-02-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
5566         * app/app_procs.c
5567         Rudimentary GNOME session management.
5568         
5569         * app/disp_callbacks.c
5570         * app/interface.c
5571         * app/menus.c
5572         * app/menus.h
5573         GNOME menus. Problems: 
5574         Callbacks doesn't get user_data.
5575         Weird warnings when creating popup menus.
5576         menus_set_sensitive(), menus_set_state() doesn't work.
5578 1999-02-05  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5580         * configure.in:
5581         Add AM_PATH_GDK_IMLIB() call.
5583         * app/Makefile.am:
5584         Add gdk_imlib to linking flags.
5586         * app/app_procs.c:
5587         Init gdk_imlib.
5588         Print library-loading error messages on stdout too.
5590         * app/interface.c:
5591         Add standard image to toolbox.
5592         
5593         * app/render_eps.c: 
5594         Set a more reasonable dot length.  Fixed
5595         missing initialization of dot length.
5596         Added draw_image methods.
5598         * app/render_gdk.c (new_gdk_renderer): 
5599         Dot a bit wider.  Looks good in normal mode now.
5601         * objects/standard/image.c:
5602         * objects/standard/pixmaps/image.xpm:
5603         New files. Standard object for images.
5604         
5605         * app/render_eps.c (set_linestyle):
5606         * app/render_gdk.c (set_linestyle):
5607         * lib/widgets.c (dia_line_style_selector_init): 
5608         * lib/render.h: 
5609         New line style DOTTED.
5611         * lib/render.h:
5612         * lib/render_store.c:
5613         Change DrawImage call to use gdk_imlib.
5615         * lib/widgets.[ch]:
5616         Added widgets for selecting files.
5617         Added dotted to the linestyle selector.
5619 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
5621         * objects/network/printer.c:
5622         * objects/network/network.c:
5623         * objects/network/pixmaps/printer.xpm:
5624         * objects/network/.cvsignore:
5625         * objects/network/Makefile.am:
5626         * objects/network/pixmaps/Makefile.am:
5627         New printer object in network.
5628         From Martin Hawlisch <hawlisch@roxi.rz.fh-mannheim.de>
5630         * TODO:
5631         Added known XML bug.
5632         
5633 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
5635         * app/load_save.c:
5636         * lib/dia_xml.c:
5637         Reverted back from #include <gnome-xml/tree.h> to
5638         #include <tree.h> as this is fixed by the xml-config program.
5639         The former way broke for some people.
5640         Reported by blizzard@redhat.com.
5642         * objects/UML/lifeline.c:
5643         * objects/UML/message.c:
5644         * objects/UML/object.c:
5645         Removed some warnings.
5646         
5647 1999-02-04  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5649         * objects/UML/lifeline.c: 
5650         Fixed connection points over the life line when the focus of
5651         control is not drawn.
5653         * objects/UML/message.c: 
5654         Now a recursive message can be freely resized using the handles.
5656 1999-02-02  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5658         * objects/UML/lifeline.c:
5659         Added connection points.
5660         Added properties dialog with the option to draw/hide focus of control
5661         box and destruction mark.
5663         * objects/UML/object.c: 
5664         Added properties dialog and stereotype, explicit state and attributes. 
5665         It's also possible to mark the object as active.
5667         * objects/UML/pixmaps/object.xpm: 
5668         Cosmetic change.
5670         * objects/UML/message.c:
5671         Added "recursive" message type (was not necessary to use OrthConn).
5673 1999-02-02  Alexander Larsson  <alla@lysator.liu.se>
5675         * objects/standard/arc.c:
5676         Removed old debug code. Fixes a visual bug. From lrclause@cs.uiuc.edu.
5678 1999-02-01  Alexander Larsson  <alla@lysator.liu.se>
5680         Patch from Lars R. Clausen <lrclause@cs.uiuc.edu>
5681         
5682         * app/load_save.c:
5683         * lib/dia_xml.c:
5684         Update xml includes to gnome-xml/*.h.
5686         * objects/standard/arc.c:
5687         Only one property dialog per type.
5688         Fix arrows directions.
5690         * objects/standard/box.c:
5691         * objects/standard/ellipse.c:
5692         * objects/standard/textobj.c
5693         Added default properties dialog.
5694         
5696 1999-01-31  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5698         * objects/UML/Makefile.am: 
5699         * objects/UML/uml.c:
5700         * objects/UML/lifeline.c: 
5701         * objects/UML/object.c: 
5702         * objects/UML/message.c:
5703         * objects/UML/pixmaps/lifeline.xpm: 
5704         * objects/UML/pixmaps/object.xpm: 
5705         * objects/UML/pixmaps/message.xpm:
5706         Added 3 new UML objects for dynamic modeling. To avoid internal 
5707         conflicts, the name "objet" is used for object "object".        
5709         * lib/arrows.[ch]: 
5710         Added ARROW_HALF_HEAD arrow type to allow drawing asynchronous
5711         UML messages.
5712         
5713 1999-01-30  Alexander Larsson  <alla@lysator.liu.se>
5715         * app/display.[ch]:
5716         * app/modify_tool.c:
5717         Added autoscrolling while doing rubber-band select.
5718         This patch from Matthias Köster
5719         (Matthias.Koester@Informatik.Uni-Oldenburg.DE)
5720         
5722 1999-01-28  Alexander Larsson  <alla@lysator.liu.se>
5724         * app/defaults.[ch]:
5725         New files, deals with default properties dialog.
5727         * lib/diamenu.h:
5728         New file. Contains definitions for the new object menu.
5730         * lib/poly_conn.[ch]:
5731         New file. Base class for poly-line like objects.
5733         * objects/standard/polyline.c:
5734         * objects/standard/pixmaps/polyline.xpm:
5735         New files. Polyline object.
5737         * app/app_procs.c:
5738         Fixed bug with infinite loop when registering sheets.
5739         
5740         * app/commands.c:
5741         Removed unneccesary stuff.
5743         * app/disp_callbacks.c:
5744         Support for object menus.
5746         * app/interface.c:
5747         Added polyline to toolbox.
5748         Added call to tool_options_dialog_show() when double clicking on
5749         tool.
5751         * app/tool.[ch]:
5752         New function tool_options_dialog_show() for tool properties.
5754         * lib/arrows.[ch]:
5755         Added ARROW_NONE.
5757         * lib/object.h:
5758         Added ObjectType methods for handling object default dialogs.
5759         Added Object method for handling object_menu.
5760         Added unused methods to ObjectTypeOps for future binary
5761         compatibility.
5763         * lib/widgets.[ch]:
5764         Added DiaArrowTypeSelector widget.
5766         * objects/standard/arc.c:
5767         * objects/standard/zigzagline.c:
5768         Added support for default properties.
5770         * objects/standard/line.c:
5771         Added support for default properties.
5772         Just use one properties dialog for all line objects. NOTE: This
5773         seems to have a bug. We're working on it.
5775         * standard/standard.c:
5776         Add the polyline object.
5778 1999-01-27  Alexander Larsson  <alla@lysator.liu.se>
5780         * app/modify_tool.c:
5781         Commented out buggy transitive select function. It wasn't really
5782         meant to go into cvs.
5783         
5785 1999-01-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
5787         * autogen.sh:
5788         * acconfig.h:
5789         * configure.in:
5790         * Makefile.am:
5791         * app/Makefile.am:
5792         * po/POTFILES.in:
5793         * app/intl.h
5794         i18n-support.
5796         * po/sv.po:
5797         Swedish translation. Not completed.
5798         
5799         * configure.in:
5800         * acconfig.h:
5801         Added possibility to enable GNOME specific code with configure.
5803         * configure.in:
5804         Added possibility to set debug level with configure.
5806         * commands.[hc]:
5807         Added about dialog.
5809         * app_procs.c
5810         * commands.c
5811         * interface.c
5812         * menus.c
5813         Added some GNOME specific code. Not ready for use.
5815 1999-01-24  Alexander Larsson  <alla@lysator.liu.se>
5817         * INSTALL:
5818         Added text about needing gtk 1.1.13 and gnome-xml.
5819         
5820         * NEWS:
5821         Described changes since last version (0.20).
5823         Released version 0.30, tagged DIA_0_30.
5825 1999-01-22  Alexander Larsson  <alla@lysator.liu.se>
5827         * app/magnify.c (magnify_button_release):
5828         Fixed a problem when zooming in on a very small box would
5829         not release the grabbed pointer-focus.
5831 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
5833         * app/load_save.c (diagram_load):
5834         Be somewhat more robust when loading files that
5835         are not diagrams.
5836         
5837 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
5839         * app/app_procs.c:
5840         * objects/ER/er.c:
5841         * objects/UML/uml.c:
5842         * objects/network/network.c:
5843         * objects/standard/standard.c:
5844         Added versioning of object libraries.
5846         * app/create_object.c:
5847         Don't change tool when an object is created.
5848         
5849         * objects/network/network.c:
5851         * TODO:
5852         Update
5854 1999-01-19  Alexander Larsson  <alla@lysator.liu.se>
5856         * configure.in:
5857         Updated gtk requirement to Gtk+ 1.1.13.
5859         * app/display.c:
5860         Always add one screenful of scrolling space on
5861         each side of a diagram window.
5863 1999-01-19  Jeff Garzik  <jgarzik@pobox.com>
5865         * autogen.sh:
5866         Tell automake to auto-install missing files.
5868         * app/menus.c:
5869         Renamed deprecated Gtk+ function.
5871 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
5873         * Makefile.am:
5874         * configure.in:
5875         * samples/Makefile.am:
5876         * samples/ER-demo.dia:
5877         * samples/UML-demo.dia:
5878         Added samples directory.
5879         Added samples for ER and UML.
5880         
5881         * app/commands.c:
5882         * app/disp_callbacks.c:
5883         * app/menus.c:
5884         Zoom is done by sqrt(2) instead of 2.
5885         Lots of more zoom options in the menu.
5887         * objects/ER/relationship.c:
5888         Relationships have 8 connectionpoints instead of 4.
5890         * objects/UML/class.c:
5891         UML class name font a bit smaller.
5892         Fixed stupid bug in the copy operation.
5893         
5894         * app/display.c:
5895         Displays are opened at 500x400 instead of 256x256.
5897         * app/load_save.c:
5898         Fixup of internal error message.
5900         * app/color_area.c:
5901         * app/diagram.c:
5902         * app/modify_tool.c:
5903         * lib/object.c:
5904         Removed debug printf's.
5905         
5906         * TODO (BUGS):
5907         Added new known bug.
5909 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
5911         * app/interface.c:
5912         * app/menus.c:
5913         Fixed so accelerator groups work in all windows.
5914         Updated to new gtk function names.
5916         * TODO (BUGS):
5917         Removed fixed bug.
5919         * app/display.c:
5920         Updated to new gtk function names.
5921         Set sensitivity of the align menu items.        
5923         * objects/ER/pixmaps/Makefile.am:
5924         * objects/UML/pixmaps/Makefile.am:
5925         * objects/network/pixmaps/Makefile.am:
5926         Fix so that make dist works.
5928         * app/app_procs.c:
5929         * app/color_area.c:
5930         * app/commands.c:
5931         * app/diagram.c:
5932         * app/grid.c:
5933         * app/layer_dialog.c:
5934         * app/load_save.c:
5935         * app/object_ops.c:
5936         * app/properties.c:
5937         * lib/diagramdata.[ch]: 
5938         * lib/message.c:
5939         * lib/objects/ER/attribute.c:
5940         * lib/objects/ER/entity.c:
5941         * lib/objects/ER/participation.c:
5942         * lib/objects/ER/relationship.c:
5943         * lib/objects/ER/.c:
5944         * objects/UML/actor.c:
5945         * objects/UML/association.c:
5946         * objects/UML/class_dialog.c:
5947         * objects/UML/dependency.c:
5948         * objects/UML/generalization.c:
5949         * objects/UML/large_package.c:
5950         * objects/UML/realizes.c:
5951         * objects/UML/.c:
5952         * objects/UML/.c:
5953         Updated to new gtk function names.
5954         Removed warnings.
5956 1999-01-15  Alexander Larsson  <alla@lysator.liu.se>
5958         * TODO:
5959         Update TODO.
5961         * app/app_procs.c:
5962         Fixed loading of diagrams specified as arguments.
5964         * objects/ER/attribute.c:
5965         * objects/ER/entity.c:
5966         * objects/ER/er.c:
5967         * objects/ER/participation.c:
5968         * objects/ER/relationship.c:
5969         Updated the ER objects.
5970         
5972 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
5974         * configure.in:
5975         * app/Makefile.am:
5976         * objects/Makefile.am:
5977         * objects/ER/attribute.c:
5978         * objects/ER/entity.c:
5979         * objects/ER/er.c:
5980         * objects/ER/participation.c:
5981         * objects/ER/relationship.c:
5982         * objects/ER/pixmaps/Makefile.am:
5983         * objects/ER/pixmaps/attribute.xpm:
5984         * objects/ER/pixmaps/entity.xpm:
5985         * objects/ER/pixmaps/participation.xpm:
5986         * objects/ER/pixmaps/relationship.xpm:
5987         * objects/ER/pixmaps/weakentity.xpm:
5988         First commit of entity relationship objects.
5989         These were done by hallon@lysator.liu.se.
5990         There are still stuff to do on these.
5991         
5992 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
5994         * TODO:
5995         Updates.
5997         * app/diagram.[ch]:
5998         Change diagram_remove_all_selected to take new argument
5999         delete_empty. Empty objects are deleted only if it is TRUE.
6000         Removed call to close_eps_renderer. This is now done in end_render
6001         in the eps renderer.
6003         * app/create_object.c:
6004         * app/layer_dialog.c:
6005         Update calls to diagram_remove_all_selected.
6007         * app/commands.c:
6008         Update calls to diagram_remove_all_selected.
6009         Some code reformating.
6010         Changed order of adding updates i align_h and align_v.
6012         * app/modify_tool.c:
6013         Update calls to diagram_remove_all_selected.
6014         Added pointer grab when doing rubber-band selection, this fixes
6015         the bug when draging the box over to another window.
6017         * app/connectionpoint_ops.[ch]:
6018         diagram_update_connections_object changed to take an argument
6019         update_nonmoved. This lets connections that has not moved, but
6020         the stuff they're connected to has been moved work.
6021         Update calls to the new diagram_update_connections_object.
6023         * app/properties.c:
6024         Update calls to the new diagram_update_connections_object.
6025         Update extents when properties are applied.
6026         
6027         * app/disp_callbacks.c:
6028         Added support for zooming with the '+' and '-' keys.
6030         * app/menus.c:
6031         Removed old keyboard shortcuts for zoom.
6033         * lib/render.h:
6034         Added calls begin_render and end_render to renderer.
6035         These can be used for setup and cleanup.
6037         * lib/diagramdata.c:
6038         Added calls to begin_render and end_render in data_render.
6040         * app/render_gdk.c:
6041         Added begin_render and end_render.
6043         * app/render_eps.[ch]:
6044         Added begin_render and end_render.
6045         Moved close_eps_renderer code to end_render.
6046         Various fixes to the generated eps code. This fixes importing
6047         generated eps into LYX.
6048         
6049 1999-01-12  Alexander Larsson  <alla@lysator.liu.se>
6051         * TODO:
6052         Update of todo.
6053         
6054         * app/menus.c:
6055         Menus for alignment updated.
6057         * app/object_ops.[ch]:
6058         Functions for object alignment updated.
6060         * app/commands.[ch]:
6061         Object alignment callbacks updated.
6062         New diagrams are called Untitled-<nr>.
6064         * app/layer_dialog.c:
6065         Active layer selected when showing layers from new
6066         diagram.
6068         * app/load_save.c:
6069         Compress xml files when saving.
6070         Use xml namespace 'dia'.
6072         * lib/object.h:
6073         Minor comment update.
6075         * objects/UML/class_dialog.c:
6076         Cleanup of the gkt_list_item moving code.
6077         Fixed bug with update of operation when moving parameters.
6079 1999-01-10  Alexander Larsson  <alla@lysator.liu.se>
6081         * app/layer_dialog.[ch]:
6082         Fixed the rest of the layers dialog.
6084         * app/dialog.c:
6085         Added call to redo layer dialogs diagram list when changing
6086         diagram name.
6088         * lib/diagramdata.[ch]:
6089         Added data_raise_layer and data_lower_layer functions for
6090         raising/lowering layers. Added data_add_layer_at for adding a
6091         layer at a specified index.
6093 1999-01-05  Alexander Larsson  <alla@lysator.liu.se>
6095         This is the asierra-990105 patch done by asierra@servidor.unam.mx.
6096                 
6097         * app/app_procs.c:
6098         Added support for reading diagrams from the command line.
6100 1998-12-21  Alexander Larsson  <alla@lysator.liu.se>
6102         This is the asierra-981220 patch done by asierra@servidor.unam.mx.
6103                 
6104         * app/commands.[ch]:
6105         Added objects_align_callback().
6107         * app/menus.c:
6108         Added align objects to menu.
6110         * app/object_ops.[ch]:
6111         Add object_list_align().
6112         
6113 1998-12-17  Alexander Larsson  <alla@lysator.liu.se>
6114         * app/layer_dialog.[ch]:
6115         New files. Handles the layers dialog. Needs a bugfix for glib to
6116         work. Sent patch to gtk-list.
6117         
6118         * app/pixmaps/new.xpm:
6119         * app/pixmaps/eye.xbm:
6120         * app/pixmaps/lower.xpm:
6121         * app/pixmaps/raise.xpm:
6122         * app/pixmaps/delete.xpm:
6123         New files. Images for the layer dialog buttons.
6124         
6125         * lib/diagramdata.h
6126         * lib/diagramdata.c
6127         New files for the DiagramData and Layer structures and functions.
6128         
6129         * app/app_procs.c:
6130         Added call to create_layer_dialog() on startup.
6131         
6132         * app/commands.[ch]:
6133         New callbacks for showing the properties and layout dialog.
6134         Changes for the new DiagramData structure.
6136         * app/connectionpoint_ops.c:
6137         * app/cut_n_paste.c:
6138         * app/diagram.[ch]:
6139         * app/display.[ch]:
6140         * app/group.c:
6141         * app/modify_tool.c:
6142         * app/object_ops.[ch]:
6143         * app/render_eps.c:
6144         * lib/object.[ch]:
6145         Changes for the new DiagramData structure.
6147         * app/interface.c:
6148         * app/properties.c:
6149         Set correct wmclasses.
6151         * app/load_save.c:
6152         Fix load and save of layers.
6154         * diagram.dtd:
6155         Update DTD for layers.
6156         
6157         * app/menus.c:
6158         New menus for dialogs.
6160         
6161         * TODO:
6162         Some updates.
6163         
6164 1998-12-06  Alexander Larsson  <alla@lysator.liu.se>
6166         * TODO:
6167         Removed the gtk 1.1.5 stuff.
6169         * configure.in:
6170         Updated gtk check to version 1.1.5.
6171         Updated version from 0.20 to 0.30
6173         * app/commands.[ch]:
6174         Updated some callbacks to be of type GtkItemFactoryCallback1.
6175         Not all are done yet, but it works anyway.
6177         * app/display.h:
6178         Removed Gtk 1.0.0 GtkAcceleratorTable references.
6179         
6180         * app/interface.c:
6181         * app/menus.[ch]:
6182         Update to Gtk 1.1.x functions.
6183         Use ItemFactory instead of MenuFactory.
6184         
6185         * app/render_gdk.c:
6186         Removed Gtk 1.0.0 references.
6188         * objects/UML/class_dialog.c:
6189         Scrolled window updates for Gtk 1.1.5.
6190         
6191         * lib/dia_xml.c:
6192         Removed ugly fix for gnome-xml bug. Make sure you get the
6193         newest version of gnome-xml from CVS.
6194         
6195 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
6197         * TODO:
6198         Removed the xml load/save line.
6200         * lib/files.[ch]:
6201         Removed files.
6202         
6203         * lib/Makefile.am:
6204         Removed building of files.c
6206         * app/load_save.c:
6207         * lib/connection.c:
6208         * lib/element.c:
6209         * lib/object.c:
6210         * lib/orth_conn.c:
6211         * lib/render_object.c:
6212         * objects/UML/actor.c:
6213         * objects/UML/association.c:
6214         * objects/UML/class.c:
6215         * objects/UML/constraint.c:
6216         * objects/UML/dependency.c:
6217         * objects/UML/generalization.c:
6218         * objects/UML/implements.c:
6219         * objects/UML/large_package.c:
6220         * objects/UML/note.c:
6221         * objects/UML/realizes.c:
6222         * objects/UML/small_package.c:
6223         * objects/UML/uml.c:
6224         * objects/UML/usecase.c:
6225         * objects/network/bus.c:
6226         * objects/standard/arc.c:
6227         * objects/standard/box.c:
6228         * objects/standard/ellipse.c:
6229         * objects/standard/line.c:
6230         * objects/standard/textobj.c:
6231         * objects/standard/zigzagline.c:
6232         Removed all includes of files.h
6234         
6235 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
6237         * dialog.dtd:
6238         Made the val property of string be implied.
6239         This makes it possible to save strings that
6240         are NULL. Just leave out val.
6242         * objects/lib/dia_xml.c:
6243         Fixed string so that it is possible to save strings
6244         that are NULL. Also made an ugly workaround of a
6245         bug in gnome-xml which removes empty properties.
6246         
6247         * objects/lib/orth_conn.c:
6248         Fixed a bug in saving. Forgot to step through the
6249         directions.
6250         
6251         * objects/UML/association.c: 
6252         * objects/UML/class.c: 
6253         * objects/UML/constraint.c: 
6254         * objects/UML/dependency.c: 
6255         * objects/UML/generalization.c: 
6256         * objects/UML/implements.c: 
6257         * objects/UML/large_package.c: 
6258         * objects/UML/note.c: 
6259         * objects/UML/small_package.c:
6260         * objects/UML/realizes.c:
6261         * objects/UML/usecase.c: 
6262         * objects/UML/actor.c: 
6263         Fixed UML objects to save as xml.
6264         The last two were done by asierra@servidor.unam.mx (asierra-981204)
6265         
6266         * objects/UML/uml.[ch]:
6267         Updated *_write() and *_read() functions to use xml.
6269         * objects/network/bus.c: 
6270         * objects/network/computer.c: 
6271         * objects/network/disc.c: 
6272         * objects/network/monitor.c:
6273         Updated network diagrams to use xml.
6275 1998-12-02  Alexander Larsson  <alla@lysator.liu.se>
6277         * dialog.dtd:
6278         New file. DTD that describes the xml file format
6279         dia uses.
6281         * lib/dia_xml.[ch]:
6282         New files. Support for saving object to xml files.
6284         * configure.in:
6285         * app/Makefile.am:
6286         * lib/Makefile.am:
6287         Added check for and usage of gnome-xml library.
6289         * app/load_save.c:
6290         Major chages. Now saves/loads diagrams as xml.
6292         * lib/object.[ch]:
6293         * lib/element.[ch]:
6294         * lib/connection.[ch]:
6295         * lib/orth_conn.[ch]:
6296         * lib/render_object.[ch]:
6297         * lib/text.[ch]:
6298         Updated object support load/save functions for xml:
6300         * object/standard/arc.c:
6301         * object/standard/box.c:
6302         * object/standard/ellipse.c:
6303         * object/standard/line.c:
6304         * object/standard/textobj.c:
6305         * object/standard/zigzagline.c:
6306         Updated all standard objects to use xml.
6307         
6308         NOTE NOTE NOTE
6309         Only the standard objects are converted right now, don't
6310         save or load uml or network diagrams yet. Also, since this
6311         is new code it is deemed a bit unstable.
6312         
6313         * TODO
6314         Added a know bug.
6316 1998-12-01  Alexander Larsson  <alla@lysator.liu.se>
6318         * objects/UML/class.c:
6319         Changed classname font to Helvetica.
6320         Added more space above the classname
6322         * objects/UML/usecase.c:
6323         Correct placements of connectionpoints on ellipse.
6324         Better algorithm for deciding aspect ration on
6325         ellipse.
6327         These changes were made by Alejandro Aguilar Sierra
6328         <asierra@servidor.unam.mx>. (asierra-981201)
6330 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
6332         * objects/UML/actor.c:
6333         Changed the extents and alignment of the element
6334         and the text.
6336         * objects/UML/.cvsignore:
6337         Added usecase.lo and actor.lo.
6339 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
6341         * objects/UML/actor.c:
6342         * objects/UML/usecase.c:
6343         * objects/UML/pixmaps/actor.xpm:
6344         * objects/UML/pixmaps/case.xpm:
6345         New files. Implements usecase and actor UML objects.
6346         These objects are done by Alejandro Aguilar Sierra
6347         <asierra@servidor.unam.mx>.
6348         
6349         * objects/UML/Makefile.am:
6350         * objects/UML/pixmaps/Makefile.am:
6351         Added usecase and actor to makefile.
6352         
6353         * AUTHORS:
6354         Added Alejandro and Jerome to autors list.
6355         
6356 1998-11-25  Alexander Larsson  <alla@lysator.liu.se>
6358         * objects/UML/class.c (umlclass_load):
6359         Fixed typo. Reported by Jerome.Abela@solsoft.fr
6361 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
6363         * app/properties.c:
6364         Update connections when doing apply in the properties window.
6366         * objects/UML/uml.[ch]:
6367         * objects/UML/class.[ch]:
6368         * objects/UML/class_dialog.c:
6369         Added connection points on both sides of attributes and
6370         operations in UML classes.
6371         Based on idea from Jerome.Abela@solsoft.fr
6372         
6373 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
6375         * README:
6376         Some new documentation about handles and connectionpoints.
6377         
6378         * lib/object.[ch]:
6379         Added functions object_add_connectionpoint and
6380         object_remove_connectionpoint for handling a dynamic
6381         number of connectionpoints.
6383         * objects/UML/class.c:
6384         Only reserve space for stereotype when it is shown.
6386         These changes are from Jerome Abela <Jerome.Abela@solsoft.fr>
6388 1998-11-08  Alexander Larsson  <alla@lysator.liu.se>
6390         * app/connectionpoint_ops.c:
6391         * app/commands.c:
6392         * app/disp_callbacks.c:
6393         * app/display.[ch]:
6394         * app/grid.c:
6395         * app/handle_ops.c:
6396         * app/magnify.c:
6397         * app/modify_tool.c:
6398         * app/render_gdk.[ch]:
6399         * lib/render.h:
6400         Huge cleanup of internal rendering system.
6401         Moved a lot of data (pixmap, width, height & gc) into the GdkRenderer.
6402         This gives a few new methods for Interactive Renderers for setting
6403         clipping regions and drawing pixel based lines and rects.
6404         Updated the rest of the code to use the new stuff.
6405         
6406         * app/render_eps.c:
6407         Fixed warning.
6409         * lib/widgets.c:
6410         * objects/standard/zigzagline.c
6411         Fixed unused variable warnings.
6413         * lib/font.c:
6414         Fixedbug with stringwidth where width==0.
6416         * TODO:
6417         Added known bug.
6419 1998-11-02  Alexander Larsson  <alla@lysator.liu.se>
6421         * lib/widgets.[ch]:
6422         Added suppot for setting the font of a
6423         DiaFontSelector widget.
6424         Also fixed some typos in the header.
6426         * lib/object.h: 
6427         Added a comment about the GetPRoperties method call.
6428         You have to make sure to update widget state when
6429         this method is called. (Not all objects do this yet,
6430         to be fixed.)
6432         * TODO:
6433         Some small updates
6435 1998-11-01  Alexander Larsson  <alla@lysator.liu.se>
6437         * lib/font.c
6438         Fixed problem with height of ascent and descent for fonts.
6439         It didn't use the whole height (==ascent+descent) when calculatine
6440         ascent_ratio and descent_ratio.
6442         * objects/standard/textobj.c:
6443         * objects/standard/box.c:
6444         * objects/standard/ellipse.c:
6445         * objects/standard/line.c:
6446         * objects/standard/arc.c:
6447         Updated and added property dialogs for these objects.
6448         Also added line width/color/style to those objects
6449         that didn't have it.
6450         This change breaks fileformat compatibility for these objects.
6451         
6452         * objects/standard/zigzagline.c:
6453         Changed zigzagline to be based on OrthConn, much nicer.
6454         Also added line style and color to properties.
6455         This change breaks fileformat compatibility for zigzagline.
6457         * lib/message.c:
6458         Fixed bug in message(). Forgot a pair of '&'.
6460 1998-10-29  Alexander Larsson  <alla@lysator.liu.se>
6462         * lib/widgets.[ch]:
6463         Added DiaColorSelector widget.
6464         This is a colored button that pops up a color selection
6465         dialog when pressed.
6467 1998-10-28  Alexander Larsson  <alla@lysator.liu.se>
6469         * lib/widgets.[ch]:
6470         * lib/Makefile.am:
6471         New files, added widgets for selecting fonts, alignment
6472         and line-style. Will be used later.
6474 1998-10-12  Alexander Larsson  <alla@lysator.liu.se>
6476         * app/Makefile.am:
6477         * lib/Makefile.am:
6478         * objects/UML/Makefile.am:
6479         * objects/network/Makefile.am:
6480         * objects/standard/Makefile.am:
6481         Changed "CFLAGS = -Wall -g" to "CFLAGS = @CFLAGS@"
6482         in all Makefile.am.
6484 1998-10-03  Alexander Larsson  <alla@lysator.liu.se>
6486         * app/handle_ops.c (handle_draw):
6487         connected HANDLE_MINOR_CONTROL also becomes red.
6489 1998-10-02  Alexander Larsson  <alla@lysator.liu.se>
6491         * Makefile.am:
6492         removed -ldl from linking. This is added if needed by configure.
6494         * app/app_procs.c:
6495         Open dlls with RTLD_LAZY if it is defined.
6496         Some cleanups: char *error -> const char *error
6497         Added fprintf()'s to where we exited because of errors.
6499         * lib/files.c:
6500         Include <sys/types.h>
6502 1998-10-01  Alexander Larsson  <alla@lysator.liu.se>
6504         * acconfig.h:
6505         * configure.in:
6506         * app/app_procs.c:
6507         Detect dlopen better.
6508         Detect wether dlopen needs an underscore in the identifier.
6509         This code was mostly borrowed from guile.
6511         * lib/sheet.[ch]:
6512         * app/app_procs.c:
6513         * objects/standard/standard.c:
6514         * objects/network/network.c:
6515         * objects/UML/uml.c:
6516         * most objects:
6517         Changed the way sheets reference objects to use just the
6518         name. Changed module loading to a two stage model:
6519         First register_objects() is called for all modules.
6520         Then register_sheets() is called. This means that
6521         sheets can safely include objects from other modules.
6522         
6524 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
6526         * objects/network/bus.c:
6527         * objects/network/network.c:
6528         * objects/network/Makefile.am:
6529         New file bus.c. Added new object: Ethernet bus.
6531         * objects/standard/box.c:
6532         Added call to gtk_spin_button_set_numeric for linewidth spinner
6533         in property dialog.
6535 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
6537         * app/connectionpoint_ops.c:
6538         * app/create_object.c:
6539         * app/group.c:
6540         * app/handle_ops.c:
6541         * app/modify_tool.c:
6542         * lib/connection.c:
6543         * lib/element.c:
6544         * lib/handle.h:
6545         * lib/object.c:
6546         * lib/orth_conn.c:
6547         * loads of objects:
6548         Changed handle->connectable to handle->connect_type.
6549         Now handles can be HANDLE_CONNECTABLE_NOBREAK, which means
6550         that their connections don't break when moving objects.
6552         * app/diagram.c:
6553         Always select the last handle in an object that has
6554         the closest distance.
6555         
6556         * lib/geometry.[ch]:
6557         Added rectangle_add_point function.
6558         
6560 1998-09-27  Alexander Larsson  <alla@lysator.liu.se>
6562         * app/properties.[ch]: New files. Handles the new properties
6563         dialog.
6565         * app/modify_tool.c: Changed to use new properties dialog.
6567         * app/object_ops.[ch]: Removed object_changed_callback, as it's
6568         not needed anymore. This is now handled differently in
6569         properties.c
6571         * lib/object.[ch]:
6572         Changed the properties ops for objects. Removed typedefs
6573         ChangedObjectTime and ObjectChangedFunc needed for the old way.
6574         Added object_return_null function.
6575         
6576         * app/group.c:
6577         * lib/render_object.c:
6578         * objects/*/*.c:
6579         Changed objects to use the new properties dialog.
6580         
6582 1998-09-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
6584         * */Makefile.am (INCLUDES): Changes to work with srcdir !=
6585         builddir.
6587         * autogen.sh: New file. Copied from gtk and added a call to
6588         libtoolize. Anyone knows why this isn't done in gtk?
6590         * Removed autogenerated files.
6592 1998-09-12  Alexander Larsson  <alla@lysator.liu.se>
6594         * Added call setlocale(LC_NUMERIC, "C") so that formating of
6595           floating-point numbers in postscript output will be correct.
6596         * Did some cleanup of generated postscript files.