added es_ES and pt_BR to ALL_LINGUAS
[dia.git] / ChangeLog
blobe0eb5d8fd35664f22ddc813e7e616961144f05d7
1 2001-01-06  Hans Breuer <Hans@Breuer.Org>
3         * objects/uml/actor.c
4         * objects/uml/branch.c
5         * objects/uml/class.c
6         * objects/uml/classicon.c
7         * objects/uml/component.c
8         * objects/uml/large_package.c
9         * objects/uml/node.c
10         * objects/uml/note.c
11         * objects/uml/object.c
12         * objects/uml/small_package.c
13         * objects/uml/state.c
14         * objects/uml/usecase.c : started to implement the generic property
15         interface for the uml objects. Would appreciate some help on how
16         to implement properties which are list of properties themselves,
17         e.g. member functions and their parameters of UMLClass.
19 2001-01-06  Hans Breuer <Hans@Breuer.Org>
21         * plug-ins/python/diamodule.c : finally ported to win32.
22         Added new objects and implemented register_export function.
24         * plug-ins/python/pydia-object.h
25         * plug-ins/python/pydia-display.c
26         * plug-ins/python/pydia-handle.c
27         PyObject_HEAD_INIT needs some tweakink on win32. Done in
28         pydia-object.h; others files simply using it.
30         * plug-ins/python/pydia-layer.c : reflect 
31         layer_find_closest_connection(_)point renaming
33         * plug-ins/python/pydia-object.c : add property properties.
34         Also change bounding_box to DiaRectangle.
36         * plug-ins/python/python.c : extended error reporting; use
37         all *.py files from Dia's plug-in dir instead of hardcoded
38         test.py. This sollution should be fine with Win32, but on
39         Unix it may need some tweaking (dunno) ...
41         * plug-ins/python/export-object.py
42         * plug-ins/python/export-render.py : test and documentation 
43         implementations for export filter implementations in Python
45         * plug-ins/python/pydia-color.[hc]
46         * plug-ins/python/pydia-diagramdata.[hc]
47         * plug-ins/python/pydia-error.[hc]
48         * plug-ins/python/pydia-export.[hc]
49         * plug-ins/python/pydia-font.[hc]
50         * plug-ins/python/pydia-geometry.[hc]
51         * plug-ins/python/pydia-image.[hc]
52         * plug-ins/python/pydia-properties.[hc]
53         * plug-ins/python/pydia-property.c
54         * plug-ins/python/pydia-render.c : new objects in new files 
56         * plug-ins/python/makefile.am : added new files but can't test it
58         * plug-ins/python/pydia.def
59         * plug-ins/python/makefile.msc : for win32 build
61         * plug-ins/cgm/cgm.c
62         * plug-ins/dxf/dxf-import.c
63         * plug-ins/dxf/dxf-export.c
64         * plug-ins/hpgl/hpgl.c : reflect export API change
66         * plug-ins/shape/shape-export.c : reflect export API change
67         and check for libart (better the availibility of a png exporter) 
68         at run-time instead of compile-time. 
70 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
72         * app/recent_files.h was missing from Hans's commit
74         * plug-ins/shape/shape_export.c: shape export was broken
75         due to interface changes
76         
77 2001-01-05  Hans Breuer <Hans@Breuer.Org>
79         Applied Steffen's recent file list patch :
80         * app/Makefile.am : added recent_files.[hc]
81         * app/diagram.c : add files to recent file list
82         * app/menus.c : add recent file menu
83         * app/app_procs.c : changed initialization order to
84         make recent file list work with command line processing.
86         The Filter export()/import() functions have got an additional 
87         parameter to allow multiple filters via one C callback (required
88         for Python bindings)
90         * app/commands.[hc] : corrected the signature for gtk menu callback
91         functions, which actually use the second or third parameter. This
92         is the absolute minimum change to make these functions/menu entries
93         work again. Using the other possible gtk menu callback signature
94         would have required one more function to change. (see mailing list
95         thread "Objects/Align/Equal Distance" for more information.
97         * app/disp_callbacks.c : applied Gustavo J.A.M. Carneiro's
98         zoom-combo focus patch
100         * app/display.c
101         * app/interface.c : wrapped the Zoom Combo code into 
102         #ifndef WITHOUT_ZOOM_COMBO because IHMO it isn't an useabilty
103         improvement but cluttering the user interface. Also it wasn't
104         compiling on Win32 anyway. The win32 version does define 
105         WITHOUT_ZOOM_COMBO to keep the old look. 
106         There are plans to use the statusbar to display size and placement
107         of selected objects, whereas the Zoom Combo would need to get out
108         of the way as well.
110         Added "Save Changes?" to diagram close dialog. Hopefuly the
111         Yes/No/Cancel option isn't too much windoze like. IHMO this is
112         an useability improvement.
114         * app/export_png.c
115         * app/filedlg.c
116         * app/load_save.c
117         * app/layer_dialog.c
118         * app/paginate_psprint.c
119         * app/render_eps.c
120         - reflect signature changing of filter->export function
121         - replaced '/' with G_DIR_SEPARARTOR where appropriate
123         * app/diaunitspinner.c
124         * app/render_libart.c
125         added misssing headers like <string.h>
127         * app/object_ops.c : fixed copy&paste bug in dialog string
129         * app/splash.c : gdk_widget_show_now () does not ensure actual
130         drawing of the splash screen, at least not on win32. Reuse the
131         previous implementation with gtk_main_iteration() again.
133         * */makefile.msc : make use of the build module (available in
134         gnome-cvs/build. Updated for other source changes
136         * lib/filter.h : added an user_data pointer to <ex/im>port()
137         function signature and Dia<Im/Ex>portFilter to allow different
138         filters to reuse the same callback function
140         * lib/font.c : #include <string.h>
142         * lib/orth_conn.c 
143         * lib/poly_conn.c 
144         * lib/poly_shape.c 
145         * lib/neworth_conn.c
146         * lib/text.c : don't mix allocator functions (g_)realloc, free, ...
148         * */*.def : export function definition files required by win32 build
150         * objects/custom/custom.c : #include <string.h>
152         * plug-ins/pstricks/render_pstricks.c
153         * plug-ins/shape/shape_export.c
154         * plug-ins/svg/render_svg.c
155         reflect changes to filter export function signature
157         * plug-ins/wmf/wmf.cpp : fixed indent and scaling. It now should
158         mostly work as expected
159         * plug-ins/wmf/wmf_gdi.[hc] : Updated comment. Still not used
160         to build the wmf plug-in because on the one hand the GDI emulation 
161         isn't finished and on the other hand it isn't required when building
162         for win32. Is there anybody out there, who wants to save WMF on non
163         windoze platforms ?
165         * plug-ins/wpg/wpg.cpp : fixed scaling to take axis dependent
166         offset into account.
168 2001-01-02  Steffen Macke <sdteffen@yahoo.com>
170         * app/Makefile.am: added missing plug-ins to run_dia.sh
172         * lib/paper.c: added paper sizes A0, A1, A2
174         * objects/UML/class.c
175         objects/UML/class.h
176         objects/UML/class_dialog.c: added support for colored UML
177         classes
178         
179 2000-12-30  Kevin Breit <battery841@mediaone.net>
181         * doc/en/usage-customization.sgml: added more content
183 2000-12-24  Kevin Breit <battery841@mediaone.net>
185         * doc/en/usage-layers.sgml: added file, contributed by Remypsb
186         <remy.viard@laposte.net>
188 2000-12-24  Steffen Macke <sdteffen@yahoo.com>
190         * added limiting lines to Civil Engineering sheet,
191         fixed vertical pump icon
192         
193 2000-12-20  Steffen Macke <sdteffen@yahoo.com>
195         * updated/additional Civil Engineering shapes: better icons,
196         shapes use foreground/background colors now and are filled
197         
198 2000-12-03  Kevin Breit  <battery841@mediaone.net>
200         * doc/en/dia-manual.sgml Integrated a few diffs.  New section should be
201         the selection <sect1>
203 2000-11-29  Fredrik Hallenberg  <hallon@lysator.liu.se>
205         * app/load_save.c (diagram_data_save): avoid using obsoleted
206         libxml calls (only matters when compiling with libxml2)
208 2000-11-25  James Henstridge  <james@daa.com.au>
210         * app/disp_callbacks.c (ddisplay_drop_object): add a function to
211         handle the tool drops on the canvas.
213         * app/interface.c (display_data_received_callback): do the check
214         to make sure that the drag is from a local toolbox here as well.
216         * app/interface.c (create_tools): unref the pixmap/mask after
217         creating the GtkPixmap.
218         (tool_setup_drag_source): function to set up a drag source for
219         create object tool buttons.
220         (create_tools): setup drag source for CREATE_OBJECT_TOOL's.
221         (fill_sheet_wbox): same here.
222         (create_display_shell): set up the display canvas as a drag
223         destination.
224         (display_drop_callback, display_data_received_callback): functions
225         to handle drops of tool buttons.
227         * app/menus.c (menus_init): don't use gnome_popup_menu_new().  It
228         does weird shit to the user_data pointer for a menu item.  Object
229         alignment should work again now.
231         * app/splash.c (get_logo_pixmap): don't unref the bitmap if it is
232         NULL, and mark this function static.
233         (app_splash_init): use gtk_widget_show_now() instead of the
234         gtk_main_iteration loop.
235         (app_splash_init): connecting gtk_widget_destroy to the destroy
236         signal of a widget seems pretty useless.
238 2000-11-23  Kevin Breit <battery841@users.sourceforge.net>
240         * doc/en/dia-manual.sgml:
241                 Added sect1 for advanced object types.  Starting development
242                 on that part.
244 2000-11-18  Kevin Breit <battery841@mediaone.net>
246         * doc/en/dia-manual.sgml:
247                 Stupid spelling fixes.
249 2000-11-18  Kevin Breit <battery841@mediaone.net>
251         * doc/en/dia-manual.sgml:
252                 Just some small changes I made.  Props to Greg LeBlanc on the
253                 recommendations.
255 2000-11-17  Alexander Larsson  <alla@lysator.liu.se>
257         * app/display.c:
258         (ddisplay_add_display_area): Clip input rectangle to
259         the visible part of the display.
260         (ddisplay_scroll): Optimization, don't scroll and
261         redraw if moving to the same position as before.
263         * app/render_libart.c (renderer_libart_copy_to_window):
264         Removed sanity check. Now moved to ddisplay_add_display_area().
266         * lib/diavar.h:
267         Added return at end of file.
268         
269 2000-11-13 Kevin Breit <battery841@mypad.com>
270         * doc/en/dia-manual.sgml
271                 Commited manual changes from Henry House <hajhouse@houseag.com>
273 2000-10-21 Hans Breuer <Hans@Breuer.Org>
274         * lib/beziershape.c :
275                 The previous code was accessing unowned memory due to IHMO
276                 wrong index calculation. Now it appears to be fixed.
277                 *Please Review!*
279         * lib/makefile.msc
280         * plug-ins/makefile.msc
281         * objects/makefile.msc
282         * app/makefile.msc: (new files)
283                 Makefiles for Dia on Win32, Micro$oft VC only.
285         * plug-ins/pstricks/render_pstricks.c
286         * plug-ins/dxf/dxf-import.c
287         * plug-ins/shape/shape-export.c
288         * plug-ins/svg/render_svg.c
289         * app/commands.c
290         * app/filedlg.c
291         * app/preferences.c
292         * app/render_eps.c
293         * lib/sheet.c
294         * lib/plug-ins.c
295         * objects/custom/custom.c
296         * objects/standard/image.c
297                 portability (not only win32): use HAVE_UNISTD_H, HAVE_DIRENT_H 
298                 where   appropriate, add missing prototypes like <string.h>
300         * plug-ins/wmf/wmf_gdi.cpp
301         * plug-ins/wmf/wmf_gdi.h:
302                 start of wmf write functions for non Win32 platform. Not 
303                 finished yet. The other way to get it working maybe to
304                 link the plug-in against wine libs.
305                 
306         * plug-ins/wpg/wpg.c : add missing brace
308         * app/load_save.c :
309                 Handling for unknown objects at load time. Previously Dia
310                 was crashing, if you try to load a file referencing objects
311                 whiches plug-ins aren't installed/available. Now it spits out 
312                 a warning and ignores the unknown objects.
314         * app/interface.c
315                 toolbox DND support for files like The Gimp does it.
317         * app/main.c
318         * app/app_procs.h
319                 Simple splash screen support and usage.
321         * app/app_procs.c
322                 Splash screen, portability fixes, dont' g_error if there is
323                 g_get_homedir return NULL. This may remove the one and only
324                 FAQ for Win32.
326         * app/menus.c :
327                 Make it compile without ENABLE_NLS
329         * app/render_libart.c :
330                 Sanity check to avoid calling libart with wrong window coordinates.
331                 They come from the update handler. Direct Gdk is dealing nicely
332                 with coordinates out of range, libart does access un-owned memory
333                 in this case, mostly causing crashes.
335         * app/winmain.c: (new file) Export the Win32 Gui version of the
336                 main function. This file is only required for Windoze.
338         * app/splash.c: (new file) splash screen implementation
340         * lib/color.h
341         * lib/font.h
342         * lib/diavar.h: (new file)
343                 moved special variable export code to diavar.h, because it is
344                 needed in color.h and font.h
346         * lib/paper.c :
347                 M$VC cann't export inlined functions. Quick hack to let it
348                 link again. Probably the glib mechanics should be used here?
350         * objects/UML/lifeline.c : initialize var before usage
352         * objects/GRAFCET/step.c : removed unused var
354 2000-10-14  James Henstridge  <james@daa.com.au>
356         * app/render_gnomeprint.c (draw_image): change code so images
357         don't get flipped when printing.
359         * app/paginate_gnomeprint.c (diagram_print_gnome): check to make
360         sure that the return value of
361         gnome_print_context_new_with_paper_size is not NULL.
363         * app/render_gnomeprint.c (draw_arc): add code to convert arcs
364         into a series of bezier segments.
365         (fill_arc): similar code to handle filled arc segments.
367 2000-10-12  Fredrik Hallenberg  <hallon@lysator.liu.se>
369         * app/app_procs.c
370         * app/commands.c
371         * app/dia-props.c
372         * app/diagram.c
373         * app/diagram.h
374         * app/disp_callbacks.c
375         * app/display.c
376         * app/linewidth_area.c
377         * app/paginate_psprint.c
378         * app/preferences.c
379         * app/undo.c
380         * app/font.c
381         * app/message.c
382         * app/neworth_conn.c
383         * app/orth_conn.c
384         * objects/standard/box.c: various small changes to get rid of 
385         annoying warnings (eg faulty prototypes and unused variables)
387         * app/disp_callbacks.c
388         * app/cursor.h
389         * app/magnify.c
390         * app/magnify.h: update magnify tool icon when pressing/releasing
391         shift. I will try to make something more general so that similar
392         things can be used by other tools.
394         * shapes/SDL/inout.shape
395         * shapes/SDL/return.shape: fixed some typos
397 2000-10-09  James Henstridge  <james@daa.com.au>
399         * objects/custom/shape_info.c (parse_path): apply patch from
400         Robert Young <robertdotyoung@dsto.defence.gov.au> to fix bug
401         #25221
403 2000-10-08  James Henstridge  <james@daa.com.au>
405         * objects/standard/image.c (image_set_props): if the file could not
406         be loaded, show the broken image icon.
408         * plug-ins/Makefile.am (SUBDIRS): add shape to the subdirs list.
410         * plug-ins/shape/*: the shape export plugin by Steffen Macke.
412         * app/interface.c (fill_sheet_wbox): use gdk-pixbuf to load the
413         object icon when loading from a file.  This allows you to have PNG
414         icon files for shapes.
416 2000-10-07  James Henstridge  <james@daa.com.au>
418         * app/Makefile.am (dia_LDADD): remove GDK_IMLIB_LIBS reference.
420         * lib/Makefile.am, app/Makefile.am (INCLUDES): remove
421         GDK_IMLIB_CFLAGS reference.
423         * app/commands.c (help_about_callback): remove imlib code.
425         * lib/dia_image.c: only include the pixbuf version of the image
426         routines.
428         * acconfig.h: remove the HAVE_GDK_PIXBUF flag from here.
430         * configure.in (CPPFLAGS): remove the check for imlib, as we now
431         require gdk-pixbuf.
433         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer):
434         conditionally define \setfont as well.
436 2000-10-05  James Henstridge  <james@daa.com.au>
438         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): fix
439         preamble so that we define \setlinejoinmode and \setlinecaps
440         commands conditionally on them being undefined.  This way, the
441         pstricks output files should work without modification, and will
442         support the commands when they are implemented in pstricks.
444 2000-10-05  Szabolcs Ban  <shooby@gnome.hu>
446         * dia.desktop: added hungarian translations to dia.desktop
448 2000-10-04  James Henstridge  <james@daa.com.au>
450         * sheets/UML.sheet: fix typo.
452         * objects/custom/shape_info.c: use strtod instead of g_strtod.
453         (parse_path): actually call setlocale around strtod calls.
455         * lib/dia_xml.c: use strtod rather than g_strtod.  We wrap each
456         call in setlocale(LC_NUMERIC, "C"), so there is no reason to call
457         the g_strtod wrapper.
459         * shapes/SDL/: add SDL shapes from Rubens Ramos
460         <rubens_ramos@yahoo.com>
462         * acinclude.m4 (DIA_CHECK_CFLAG): fix up macro.
464         * sheets/Makefile.am (SHEETS): add SDL.sheet to list.
466         * shapes/MSE/: add Mobile Subscriber Equipment shapes from
467         W. Michael Petullo <mike@flyn.org>.
469         * sheets/Makefile.am (SHEETS): add civil.sheet (which got missed
470         from the 0.86 tarball) and jigsaw.sheet.
472         * configure.in: add shapes/jigsaw/Makefile to list of generated files.
474         * shapes/jigsaw/: jigsaw shapes from Martin Hawlisch.
476         * shapes/network/: add network-additional shapes here.
478         * sheets/network.sheet: add the network-additional shapes from
479         Martin Hawlisch <Martin.Hawlisch@bflow.com> to the main network
480         sheet.
482 2000-09-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
484         * configure.in: Updated ALL_LINGUAS
486         * po/nl.po: Removed newline from translation
488 2000-09-17  Asbjorn Pettersen  <asbjornP@dualog.no>
490         * app/commands.c (help_about_callback): Use G_DIR_SEPARATOR_S in 
491         logo filename generation. 
493         * lib/dia_dirs.c (dia_get_data_directory): Handle empty subdir better.
494         Avoiding "//dia_logo.png".
496 2000-09-16  Asbjorn Pettersen  <asbjornP@dualog.no>
498         * app/filedlg.c: add include <sys/types.h> to
499         remove warning. (OS/2)
501 2000-09-13  Cyrille Chepelov <chepelov@calixo.net>
503         * objects/chronogram/chronoline_event.c (reparse_clevent):
504         the __checksum routine was simply bogus. Redone it in a slightly
505         saner way (reported by Michael Farr <mfarr@cs.latrobe.edu.au>).
507 2000-09-10  Asbjorn Pettersen  <asbjornP@dualog.no>
509         * app/create_object.c (create_object_button_press): 
510         * app/modify_tool.c (click_select_object): 
511         * lib/object.h: select renamed to selectf to prevent
512         compiler problems with function select().  OS/2 version.
514 2000-09-08  Karsten Weiss  <knweiss@gmx.de>
516         * po/de.po: Updated.
518 2000-09-07  Karsten Weiss  <knweiss@gmx.de>
520         * dia.desktop: Added German translation
521         * app/menus.c: "Diagram Propeties..." -> "Diagram Properties..."
523 2000-08-29  Manuel de Vega Barreiro <barreiro@arrakis.es>
525         * configure.in (ALL_LINGUAS): added "es"
527 2000-08-28  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
529         * app/magnify.c:
530         * app/cursor.h:
531         * app/cursor.c:
532         * app/scroll_tool.c:
533         Standardized cursor function get_cursor().  Magnify now has
534         looking-glass cursor with + and -.
536         * app/create_object.c (create_object_button_press): 
537         Newly created connections now snap to connection points even when
538         off the grid. 
540 2000-08-17  Daniel Egger  <egger@suse.de>
542         * app/menus.c: #ifdef'ed some code for the none GNOME
543         case.
544         * app/dia_embedd.c: Changed obvious hackery. Can anyone
545         please have a look at the GNOME UI menu creation? The
546         gnome-app-helper code is ages old and plainly broken!
548 2000-08-15  Daniel Egger  <egger@suse.de>
550         * app/commands.c:
551         * app/commands.h:
552         * app/diagram.c:
553         * app/display.c:
554         * app/menus.c:
555         * app/select.c: First big patch to get the menus
556         working again in the international version. Copied
557         some code written by Sven and me from GIMP and
558         thus implemented automatic tearoffmenu creation and
559         proper translation. I also removed that pseudo
560         radiomenu hack and cleaned up several translation
561         hacks which have never really worked. All in all
562         this is part I of the big menu patch. Enjoy and tell
563         me if you detect any problems.
565 2000-08-14  Daniel Egger  <egger@suse.de>
567         * sheets/UML.sheet: Changed one German translation as
568         suggested by Heribert Schuetz <hs@heribert-schuetz.de>.
570 2000-08-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
572         * app/diapagelayout.c:
573         * lib/diagramdata.c:
574         * lib/diagramdata.h:
575         * lib/Makefile.am:
576         * lib/paper.c:
577         * lib/paper.h: honour PAPERCONF env variable and /etc/papersize when
578         selecting paper size for a new diagram. TODO: Use libpaper if 
579         available and use gnome_paper-stuff if using GNOME.
581         * sheets/Electric.sheet: fixed typo.
582         
583 2000-08-08  James Henstridge  <james@daa.com.au>
585         * po/README: added a readme file to tell translators to translate
586         the .sheet files as well.
588         * app/commands.c (help_about_callback): fix small bug where we tried
589         to gdk_bitmap_unref() the mask for the about box image, even though
590         it was NULL.  Now check for a NULL mask.
592 2000-08-07  Daniel Egger  <egger@suse.de>
594         * sheets/*.sheet: Added translations for the name
595         in the toolbar tab. Brushed up some descriptions 
596         and some translations a bit.
598 2000-08-06  James Henstridge  <james@daa.com.au>
600         * plug-ins/svg/render_svg.c (new_svg_renderer): update public
601         identifier and dtd url for SVG output.
602         (new_svg_renderer): fix the output of the viewBox output.  The
603         second two numbers are the width and height -- not the right
604         and bottom sides of the box.
606         * shapes/*/*.shape: update svg namespace URI.
608         * objects/custom/shape_info.c (load_shape_info): change the
609         namespace URI for custom shapes yet again to match the Candidate
610         Recommedation.  It looks like this one will probably be the final
611         one.
613         * app/display.c (new_display): remove the code that sets ic and
614         ic_attr members to NULL, as one of the previous function calls
615         causes the display to be realised.  This means that the ic gets
616         lost.  Thanks to Yukihiro Nakai <ynakai@redhat.com> for finding
617         this one.
619 2000-08-06  James Henstridge  <james@daa.com.au>
621         * shapes/Makefile.am (SUBDIRS): add Civil back to list.
623         * NEWS: fixed date in NEWS file, as I will release today.
625         * README: updated the README a little.  Added note that Dia is now
626         a GNU program.
628         * dia.spec: fix up spec file.
630         * plug-ins/wpg/wpg.c: changed DIAG_NOTE stuff here as well.
632         * plug-ins/hpgl/hpgl.c: change Hans's DIAG_NOTE stuff so that we don't
633         get heaps of warnings when you turn off debugging.
634         Also made a few other warning fixes.
636 2000-08-02  James Henstridge  <james@daa.com.au>
638         * plug-ins/svg/Makefile.am (INCLUDES): add XML_CFLAGS to INCLUDES.
640         * configure.in: update version number.
642 2000-08-01  James Henstridge  <james@daa.com.au>
644         * app/commands.c (help_about_callback): add Hans to about dialog.
646         * doc/shape.dtd: dtd for shape file format.
648         * doc/custom-shapes: update doc file about creating custom shapes.
650         * shapes/*/*.shape: change namespace URI for the SVG portion to the
651         one for the latest draft.
653         * shapes/*/*.shape: fix up rect definitions.
655         * objects/custom/shape_info.c (load_shape_info): recognise newer
656         namespace tag for SVG.
657         (parse_svg_node): the rect element should take attributes x, y, width
658         and height -- not x1,y1,x2,y2.
660         * plug-ins/svg/render_svg.c (new_svg_renderer): updated doctype
661         output to use the newest draft DTD.
663         * plug-ins/svg/svg.c: initialisation code for plugin.
665         * plug-ins/svg/render_svg.c: move svg export code to a plugin.
667         * plug-ins/svg/Makefile.am: makefile for svg plugin.
669         * app/app_procs.c (internal_plugin_init): don't register the svg
670         export filter here.
672         * app/Makefile.am (dia_core_files): don't compile in render_svg.[ch]
674 2000-07-31  James Henstridge  <james@daa.com.au>
676         * objects/standard/textobj.c (textobj_get_defaults): 
677         * objects/standard/polygon.c (polygon_get_defaults): 
678         * objects/standard/image.c (image_get_defaults): 
679         * objects/standard/ellipse.c (ellipse_get_defaults): 
680         * objects/standard/box.c (box_get_defaults): 
681         * objects/standard/beziergon.c (beziergon_get_defaults): 
682         * objects/flowchart/parallelogram.c (pgram_get_defaults): 
683         * objects/flowchart/ellipse.c (ellipse_get_defaults): 
684         * objects/flowchart/diamond.c (diamond_get_defaults): 
685         * objects/flowchart/box.c (box_get_defaults): 
686         * objects/custom/custom_object.c (custom_get_defaults): 
687         * objects/FS/flow.c (flow_get_defaults): 
688         * objects/FS/flow-poly.c (flow_get_defaults): 
689         * objects/FS/flow-ortho.c (orthflow_get_defaults): ref and sink the
690         defaults widget.
692         * app/defaults.c (defaults_show): don't keep on ref'ing the defaults
693         widgets for various object types.
694         (create_dialog): ref and sink the no_defaults_dialog.
696         * app/preferences.c (prefs_create_dialog): change
697         gtk_container_border_width call to gtk_container_set_border_width.
699 2000-07-29  James Henstridge  <james@daa.com.au>
701         * app/commands.c (view_aa_callback): show a warning dialog if
702         you start AA mode.
704         * app/interface.c (fill_sheet_menu): don't add a menu item for
705         empty sheets.
707 2000-07-26  James Henstridge  <james@daa.com.au>
709         * plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677
711         * app/menus.c: remove edit grid menu item.
713         * app/commands.[ch] (view_edit_grid_callback): removed.
715         * app/display.c (new_display): don't initialise removed Grid members.
717         * app/grid.c: remove unused functions.
719         * app/grid.h: remove dialog related stuff from Grid structure.
720         Remove prototypes for dialog functions.
722         * app/menus.c: add to menus
723         
724         * app/commands.[ch] (view_diagram_properties_callback): new command
725         for showing the diagram properties dialog.
727         * app/dia-props.[ch]: a new diagram properties dialog.  To replace
728         the edit grid dialog.
730 2000-07-25  James Henstridge  <james@daa.com.au>
732         * app/grid.c (grid_x_update): 
733         (grid_y_update): as the grid setting is stored with the diagram,
734         update all displays when a change is made.
736         * app/modify_tool.c (modify_motion): use new snap_to_grid sig.
738         * app/create_object.c (create_object_button_press): 
739         (create_object_motion): use new snap_to_grid signature.
741         * app/grid.c (grid_draw): use the grid settings in the DiagramData,
742         and handle invisible grid lines.
743         (snap_to_grid): use new grid settings.  Also changed signature to
744         take a DDisplay rather than Grid pointer.
745         (grid_show_dialog): get the defaults from the correct place.
747         * app/display.c (new_display): do not set ddisp->grid.width_[xy].
749         * app/diagram.c (new_diagram): set the grid size defaults from the
750         user preferences.
752         * app/load_save.c (diagram_data_save): save grid and guide info to
753         diagram file.
754         (diagram_data_load): add guide and grid load support.
756         * lib/diagramdata.c (new_diagram_data): set the new DiagramData
757         members.
759         * lib/diagramdata.h: add members to DiagramData for grid and guide
760         settings.
762         * configure.in (BONOBO_LIBS): update configure scripts
764         * app/dia.oafinfo: oafinfo file for dia embeddables.
766         * app/dia_embedd.c: add OAF support.
768 2000-07-24  James Henstridge  <james@daa.com.au>
770         * plug-ins/wpg/Makefile.am: 
771         * plug-ins/pstricks/Makefile.am: 
772         * plug-ins/hpgl/Makefile.am: 
773         * plug-ins/dxf/Makefile.am: same here.
775         * plug-ins/cgm/Makefile.am: remove LIBADD.  Dia already links with
776         the required libraries, and the link line was causing libtool not
777         to build a shared library on some systems :(
779         * plug-ins/cgm/cgm.c (write_real): the initial if statement should
780         be checking x, not n.
782 2000-07-23  James Henstridge  <james@daa.com.au>
784         * app/preferences.c (prefs_data): set the "reset tools after
785         create" preference to true by default.  That seems to be what most
786         people expect.
788         * app/interface.c (create_sheets): instead of a notebook, use an
789         option menu that updates the sheet tools.  The notebook tabs were
790         getting a bit unwieldly, so the option menu should fix that.  This
791         also reduces the number of widgets in the tools radio button
792         group, which should make the UI a little more responsive.
794 2000-07-19  Fatih Demir <kabalak@gmx.net>
795         
796         * configure.in: Added tr to ALL_LINGUAS.
797                 [ Yeah, we're now having a Turkish translation,
798                    too. ]
799         
800         * dia.desktop: Added the Turkish entries.
802 2000-07-02  Fredrik Hallenberg  <hallon@lysator.liu.se>
804         * doc/diagram.dtd: changed string-element so it conforms to the
805         output from dia.
807 2000-06-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
809         * configure.in: added chinese. 
810         Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL.
812         * app/app_procs.c:
813           app/load_save.c:
814           app/render_svg.c:
815           lib/dia_xml.c:
816           lib/plug-ins.c:
817           lib/sheet.c:
818           objects/custom/shape_info.c: 
819           shapes/Circuit/npn.shape:
820           shapes/Circuit/pnp.shape:
821           sheets/*.sheet: dia now works with libxml2.
822         Libxml2 is a bit more picky when parsing xml and reported errors on all 
823         sheet files because they use non ascii characters (added 
824         encoding="iso-8859-1"). Also "xml:lang=en@layman" is not proper xml so 
825         I commented out these.
827 2000-06-30  Christopher R. Gabriel  <cgabriel@linux.it>
829         * configure.in (ALL_LINGUAS): added Italian
831 2000-06-27  Sung-Hyun Nam  <namsh@lgic.co.kr>
833         * configure.in (ALL_LINGUAS): added Korean
835 2000-06-25  James Henstridge  <james@daa.com.au>
837         * objects/flowchart/parallelogram.c (pgram_create): use default font
838         and add properties interface support.
840         * objects/flowchart/ellipse.c (ellipse_create): use default font and
841         add properties interface support.
843         * objects/flowchart/diamond.c (diamond_create): use default font and
844         add properties interface code.
846         * objects/flowchart/box.c (box_create): use default font.
848         * objects/custom/custom_object.c (custom_create): use default font
849         here too.
851         * objects/standard/textobj.c (textobj_create): update to use default
852         font.
854         * lib/attributes.c: add implementations.
856         * lib/attributes.h (attributes_[gs]et_default_font): add function
857         prototypes for setting/getting a default font.
859 2000-06-24  James Henstridge  <james@daa.com.au>
861         * app/paginate_gnomeprint.h: updated prototype.
863         * app/paginate_gnomeprint.c (paginate_gnomeprint): update to use
864         diagram page settings.
866         * objects/standard/beziergon.c (beziergon_copy): same here.
868         * objects/standard/polygon.c (polygon_copy): copy the fill colour
869         as well.
871         * app/undo.h: 
872         * app/tool.h (tool_options_dialog_show): 
873         * app/scroll_tool.h (free_scroll_tool): 
874         * app/render_svg.h: 
875         * app/render_libart.h (renderer_libart_copy_to_window): 
876         * app/render_gdk.h (renderer_gdk_copy_to_window): 
877         * app/properties.h (properties_hide_if_shown): 
878         * app/preferences.h (prefs_load): 
879         * app/object_ops.h: 
880         * app/modify_tool.h (free_modify_tool): 
881         * app/magnify.h (free_magnify_tool): 
882         * app/linewidth_area.h (linewidth_area_create): 
883         * app/layer_dialog.h: 
884         * app/handle_ops.h (handle_is_clicked): 
885         * app/group.h: 
886         * app/grid.h (grid_destroy_dialog): 
887         * app/defaults.h (defaults_show): 
888         * app/cut_n_paste.h (cnp_exist_stored_objects): 
889         * app/create_object.h (free_create_object_tool): 
890         * app/connectionpoint_ops.h (diagram_unconnect_selected): 
891         * app/commands.h: 
892         * app/color_area.h (color_area_create): 
893         * app/app_procs.h (app_is_embedded): remove extern keyword from
894         function prototypes.
896         * lib/text.h: 
897         * lib/sheet.h (load_all_sheets): 
898         * lib/render_store.h: 
899         * lib/render_object.h (render_object_load): 
900         * lib/polyshape.h (polyshape_closest_segment): 
901         * lib/poly_conn.h (polyconn_closest_segment): 
902         * lib/orth_conn.h: 
903         * lib/object.h: 
904         * lib/objchange.h (new_object_state_change): 
905         * lib/neworth_conn.h (neworthconn_add_segment): 
906         * lib/message.h (message_error): 
907         * lib/lazyprops.h: 
908         * lib/geometry.h: 
909         * lib/font.h (font_descent): 
910         * lib/focus.h (remove_focus): 
911         * lib/element.h: 
912         * lib/diagramdata.h: 
913         * lib/dia_xml.h (data_add_composite): 
914         * lib/dia_image.h: 
915         * lib/connpoint_line.h: 
916         * lib/connection.h (connection_move_handle): 
917         * lib/color.h: 
918         * lib/attributes.h (attributes_set_default_line_style): 
919         * lib/arrows.h (arrow_draw): remove extern keyword from function
920         definitions.  It is not required for functions.
922         * plug-ins/dxf/Makefile.am (INCLUDES): 
923         * plug-ins/pstricks/Makefile.am (INCLUDES): 
924         * plug-ins/cgm/Makefile.am (INCLUDES): 
925         * objects/SADT/Makefile.am (INCLUDES): 
926         * objects/chronogram/Makefile.am (INCLUDES): 
927         * objects/GRAFCET/Makefile.am (INCLUDES): 
928         * objects/flowchart/Makefile.am (INCLUDES): 
929         * objects/sybase/Makefile.am (INCLUDES): 
930         * objects/FS/Makefile.am (INCLUDES): 
931         * objects/standard/Makefile.am (INCLUDES): 
932         * objects/network/Makefile.am (INCLUDES):
933         * objects/UML/Makefile.am (INCLUDES): same here.
935         * objects/ER/Makefile.am: changed inclusion of some macros to
936         variables.
938         * lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to
939         handle the plug in extension, rather than have all the #ifdef's in
940         the code.
942         * plug-ins/Makefile.am: add renderer.inc to dist.
944         * plug-ins/dxf/dxf-import.c: Updates from Steffen Macke.
946 2000-06-11  Asbjorn Pettersen  <asbjornP@dualog.no>
948         * lib/plug-ins.c: Handle OS/2 dll's too.
950 2000-06-07  James Henstridge  <james@daa.com.au>
952         * app/plugin-manager.c (get_plugin_manager): set some table
953         packing options to make it look a little nicer.
955         * plug-ins/hpgl/Makefile.am, plug-ins/wpg/Makefile.am: added
956         makefiles for these plug-ins.
958         * plug-ins/{hpgl,wmf,wpg}/*: removed dos style cariage returns.
960         * configure.in: added hpgl and wpg directories to build.  Added
961         note about whether gnome-print support was enabled, and noted that
962         it is not recommended.
964 2000-06-06  James Henstridge  <james@daa.com.au>
966         * plug-ins/{hpgl,wmf,wpg}/*: Hans Breuer's plug-ins.  They still need
967         a little work, but I am checking them in so I don't lose them.
969 2000-06-01  James Henstridge  <james@daa.com.au>
971         * objects/standard/arc.c: added extra properties.
973         * lib/beziershape.c (beziershape_closest_handle): fix a bug where I
974         was using the wrong index into the handles array.  This gets corner
975         type changing working correctly.
977         * lib/properties.[ch]: add support for BezPoint's and BezPoint arrays
978         to properties code (no editing or loading yet though).  Also added
979         support for point array manipulation through the offsets interfaces.
981         * lib/Makefile.am (INCLUDES): added include of gdk-pixbuf 
983         * app/interface.c (origin_button_press): changes so the origin
984         button doesn't grab the pointer when we pop up the menu.
986         * app/commands.c (help_about_callback): fix small memory leak in
987         about box code.
989         * app/menus.c (menus_init): fixed breakage I introduced in the non
990         gnome menus when I was doing the menu changes.  The tearoffs work
991         really nicely in plain gtk mode as well.
993         * objects/standard/beziergon.c (beziergon_create): changed the
994         returned handles to match the handle numbering changes.  Now
995         segment addition and removal works correctly with undo!
997         * lib/beziershape.c: various changes to the code.  Changed the
998         numbering of handles, and fixed the segment removal code.
1000 2000-05-31  James Henstridge  <james@daa.com.au>
1002         * objects/standard/beziergon.c: remove connection point handling.
1003         There is still a bit of work to be done to get adding and removing
1004         of segments working correctly.
1006         * lib/beziershape.c: add connection point handling to beziershape.
1007         I set it for two connection points per segment.
1009 2000-05-30  James Henstridge  <james@daa.com.au>
1011         * objects/standard/polygon.c: don't do connectionpoint handling.
1013         * lib/polyshape.c: changed to handle connection points internally.
1014         Also, don't worry about connections to handles on polyshape, as
1015         all handles are non connectable.
1017 2000-05-30 Ville Hautamaki <villeh@cs.joensuu.fi>
1019         * configure.in: Added finnish
1020         
1021 2000-05-30  James Henstridge  <james@daa.com.au>
1023         * sheets/*.sheet: translation updates to the .sheet files.
1025         * po/fr.po: updated po file from Christophe Merlet.
1027         * menus.h: removed prototypes for functions which have been removed.
1029 2000-05-29  James Henstridge  <james@daa.com.au>
1031         * app/layer_dialog.c (layer_dialog_set_diagram): set the selected
1032         item in the option menu when changing selected diagram.
1034         * app/dia_embedd.c (view_factory): fix up function to work with new
1035         menus API.
1037         * app/disp_callbacks.c (ddisplay_realize): remove call to
1038         display_set_active from here.
1039         (ddisplay_canvas_events): move call here.  This gets rid of all the
1040         warnings, as the renderer has been fully set up correctly at this
1041         point.
1043         * app/menus.c (menus_init): add the tearoff item to the start of the
1044         right click menu.
1046         * app/app_procs.c (create_user_dirs): we don't need to create the
1047         menus directory anymore.
1049         * app/disp_callbacks.c (ddisplay_popup_menu): it should not be
1050         necessary to update the menu state here, as it was done when the
1051         active display was set.
1053         * app/display.c (display_set_active): update the menu state when
1054         changing active displays.
1056         * app/interface.c (origin_button_press): set the display as active
1057         when a click is made on the menu button.
1059         * app/menus.c (menus_init): set up a quit function to save the accels
1060         at exit.
1061         Add tearoff items for the non GNOME menus, add accelerators for
1062         several GNOME menus.
1064         * app/disp_callbacks.c (ddisplay_popup_menu): get the menu with
1065         menus_get_image_menu().
1067         * app/menus.c (menus_get_item_from_path): use display_menus here
1068         rather than ddisp->popup.
1070         * app/display.h: remove the popup member in the DDisplay structure.
1072         * app/interface.c: remove option of not using wrap box.
1073         (create_toolbox): change to always use menus_get_toolbox_menubar
1074         even when using gnome menus.
1075         (create_display_shell): use menus_get_image_menu to load accelerators
1076         only -- not the actual popup menu.
1078         * app/menus.c (menus_init): new function to create the menus.
1079         (menus_get_toolbox_menubar): use this function whether gnome is
1080         in use or not.  Changed to use menus_init.
1081         (menus_get_image_menu): same here.  Also, now this function always
1082         returns the same menu, rather than a new one each time.
1083         (menus_init): read a menurc file to load accelerators here.
1085 2000-05-28  James Henstridge  <james@daa.com.au>
1087         * app/display.c (ddisplay_really_destroy): unset active display if
1088         active display is destroyed.
1089         (ddisplay_active): simplify function to return active_display as set
1090         by display_set_active.  This allows using a pinned menu with any
1091         display -- not just the one it was popped up from.
1092         (display_set_active): notify the layer dialog of change of diagrams
1093         when active diagram changes.
1095         * app/disp_callbacks.c (ddisplay_canvas_events): set active display
1096         on button and key presses.
1097         (ddisplay_realize): set active display on realize.
1099         * app/display.c (display_set_active): simple implementation of this
1100         function.
1102         * app/display.h (display_set_active): add prototype for setting
1103         the active display.
1105         * app/interface.c (create_display_shell): don't give focus to the
1106         menu button.
1108         * app/menus.c: fix up menus for Beziergon.
1110         * app/interface.c (create_display_shell): make the widget in the
1111         top left corner a button that can be used to pop up the right click
1112         menu, like in gimp and sketch.
1114         * app/disp_callbacks.c (ddisplay_popup_menu): new function to popup
1115         the display menu.
1117         * objects/standard/beziergon.c (beziergon_set_corner_type_callback):
1118         add code to set corner types for beziergon.
1120         * lib/beziershape.c (beziershape_set_corner_type): fix up corner type
1121         setting code.
1122         (beziershape_move_handle): use the previous corner type for right
1123         controls.
1125         * app/interface.c (tool_data): add beziergon to toolbox.
1127         * objects/standard/standard.c (dia_plugin_init): initialise the new
1128         Beziergon object type.
1130         * objects/standard/beziergon.c: an object based on BezierShape.
1132         * lib/dummy_dep.h (dummy_dep): added to dummy_dep.
1134         * lib/beziershape.[ch]: new files implementing a bezier shape.
1136 2000-05-26  James Henstridge  <james@daa.com.au>
1138         * lib/text.c (text_key_event): handle multibyte inserts.
1139         (text_key_event): also add home and end keybindings.
1141         * app/interface.c (create_display_shell): connect handlers for
1142         focus_in_event, focus_out_event, realize and unrealize signals.
1144         * app/display.[ch] (new_display): initialise input context members.
1146         * app/disp_callbacks.[ch]: added XIM support here.
1148         * lib/font.c (suck_font): the black and white pixel values should be
1149         taken from a 1 bit colormap rather than the default colormap.
1151         Hans Breuer's Windows patches ...
1153         * lib/font.c: use Courier New for fixed width font on windows
1154         machines.
1156         * lib/dia_image.h: change to "struct _DiaImage".
1158         * lib/dia_image.c: change "struct DiaImage" to "struct _DiaImage"
1160         * app/disp_callbacks.c (ddisplay_canvas_events): allow ctrl+right
1161         mouse button for object menu.  This will make two button mouse owners
1162         happier.
1164 2000-05-25  James Henstridge  <james@daa.com.au>
1166         * app/filedlg.c (file_open_ok_callback): use diagram_load here.
1168         * app/app_procs.c (app_init): add extra NULL argument to call of
1169         diagram_load.
1171         * app/load_save.h: remove prototype.
1173         * app/load_save.c: remove diagram_data function here.
1175         * app/diagram.h: added prototype.
1177         * app/diagram.c (diagram_load): new function here, which uses import
1178         filters.
1180         * plug-ins/dxf/dxf.c: register the import filter as well.
1182         * plug-ins/dxf/dxf-import.c: added (unfinished) DXF import filter from
1183         Steffen Macke <macke@heini.fbbwu.fh-lueneburg.de>
1185         * objects/standard/line.c: add start_point and end_point properties
1186         to standard line object.
1188 2000-05-21  James Henstridge  <james@daa.com.au>
1190         * app/paginate_psprint.c: added missing include of locale.h.
1192         * objects/custom/custom_object.c (custom_draw): use fabs rather than
1193         abs for scaling factors.
1194         (custom_distance_from): same here.
1196         * dia.spec: make sure rpm doesn't bomb out when LINGUAS isn't set.
1198 2000-05-18  James Henstridge  <james@daa.com.au>
1200         * po/POTFILES.in: updated POTFILES.in.
1202         * dia.spec: incremented version number in spec file.
1204         * NEWS: added (lots of) news items for the 0.85 release.
1206         * app/preferences.c (prefs_save): set LC_NUMERIC to C while writing
1207         the config file.
1209         * configure.in: updated version number here.
1211         * app/Makefile.am (run_dia.sh): include plug-ins in the lib path.
1213 2000-05-17  James Henstridge  <james@daa.com.au>
1215         * app/app_procs.c (internal_plugin_init): register the native import
1216         filter.
1218         * app/load_save.c (diagram_data_load, diagram_load): split this
1219         function into two -- one that does all the work on the DiagramData
1220         structure, and the other that provides compatibility with the old
1221         function.
1222         (dia_import_filter): use diagram_data_load to define an import
1223         filter.
1225         * app/diagram.h (new_diagram): added const to prototype.
1227         * app/filedlg.c (file_open_callback): change to use new import filter
1228         code.
1230         * lib/filter.c: added import filter management functions.
1232         * lib/filter.h: added prototypes for import filter interface.
1234         * app/commands.c (help_about_callback): updated about dialog to
1235         contain a few more names.
1237 2000-05-16  James Henstridge  <james@daa.com.au>
1239         * configure.in (Configuration): added a status message to the end of
1240         the configure script to give the user some idea of what was
1241         configured.
1243         * plug-ins/dxf/Makefile.am: Makefile for new plugin.
1245         * plug-ins/dxf/dxf.c (dia_plugin_init): added file to initialise the
1246         plugin.
1248         * plug-ins/dxf/dxf-export.c: new file -- Steffen Macke's DXF export
1249         filter for dia.
1251         * configure.in (AM_PATH_LIBART): use the check function provided
1252         with libart rather than our own code.  It is more reliable, and
1253         it only requires that people who build out of CVS have libart.m4
1254         installed (not necessarily all of libart).
1255         (AM_PATH_GDK_PIXBUF): same here for gdk-pixbuf.
1257 2000-05-12  Andreas Hyden  <a.hyden@cyberpoint.se>
1259         * dia.desktop: Added Swedish translation.
1261 2000-05-09  James Henstridge  <james@daa.com.au>
1263         * lib/dia_xml.c: you can't free a const pointer, so remove const
1264         from variable definitions.
1266         Explicitely set LC_NUMERIC where needed, as sometimes it isn't
1267         initialised correctly.
1269         * app/render_svg.c (export_svg): set locale to C.
1271         * app/paginate_psprint.c (paginate_psprint): set locale to C.
1273         * app/render_eps.c (export_eps): set locale to C for EPS export.
1275         * lib/dia_xml.c (data_add_real): change to C locale for snprintf call.
1276         (data_add_point): same here.
1277         (data_add_rectangle): same here.
1278         (data_real): use g_strtod to convert strings to real numbers, so that
1279         locales are taken into account.
1280         (data_point): same here.
1281         (data_rectangle): same here.
1283         * AUTHORS: added Henk and Jacek to authors file.
1285         Daniel Egger's code cleanups.
1287         * app/select.c (select_invert_callback): remove unused variable.
1289         * app/plugin-manager.c (get_plugin_manager): fix typo.
1291         * app/load_save.c (read_connections, write_objects): 
1292         (write_connections): made some functions static.
1294         * app/interface.c (toolbox_delete, toolbox_destroy): made some
1295         functions static.
1297         * app/filedlg.c (file_export_callback): remove unused variable.
1299         * app/app_procs.c: various warning fixes.
1301         Integrating Jacek Pliszka's pstricks export filter.
1303         * plug-ins/pstricks/pstricks.c: code to initialise the plugin.
1305         * plug-ins/pstricks/render_pstricks.[ch]: Jacek Pliszka's pstricks
1306         renderer (with a few small modifications by me).
1308         * plug-ins/pstricks/Makefile.am: new makefile for pstricks plug-in.
1310         * plug-ins/Makefile.am (SUBDIRS): add pstricks subdirectory.
1312 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
1314         * configure.in:
1315         * sheets/Makefile.am:
1316         * shapes/Makefile.am:
1317         * shapes/Civil/Makefile.am:
1318         * sheets/civil.sheet:
1319         * shapes/Civil/*:
1320         Added civil/hydraulic/structural engineering objects from
1321         sdteffen <macke@heini.fbbwu.fh-lueneburg.de>.
1322         
1323 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
1325         * objects/FS/flow-poly.c:
1326         * objects/FS/flow.c:
1327         Fix division by zero in point_normalize().
1328         Patch by David Thompson <dcthomp@mail.utexas.edu>
1330 2000-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1332         * lib/arrows.c:
1333         * lib/bezier_conn.c:
1334         * lib/connpoint_line.c:
1335         Added checks for zero-length lines before calls to point_normalize.
1337 2000-04-24  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1339         * app/preferences.c (prefs_data): Changed
1340         reversed_dragging_intersects to not make the dialog ridiculously
1341         wide.
1342         
1343 2000-04-22  James Henstridge  <james@daa.com.au>
1345         Hans's win32 patches:
1347         * app/export_png.c: include message.h
1348         * app/interface.c: include dia_dirs.h
1349         * app/linewidth_area.c: check for rint
1350         * app/main.c: include interface.h
1351         * app/paginate_psprint.c: remove unused variable.
1352         * app/preferences.c: include message.h
1353         * app/render_svg.c: include stdlib.h
1354         * app/select.c: include object_ops.h
1355         * lib/dia_dirs.c: miscelaneous fixes for win32.
1356         * lib/dia_image.c: include string.h
1357         * lib/plug-ins.c: look for .dll files rather than .la files on win32.
1358         * lib/properties.c: include stdlib.h
1359         * lib/properties.h: define extra data for standard properties as
1360         static variables on win32 (to get around dynamic linker problems).
1361         * objects/standard/polygon.c: polygon_create_change missing return
1362         statement.
1364 2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>
1366         * configure.in (ALL_LINGUAS): added Catalan
1368 2000-04-18  James Henstridge  <james@daa.com.au>
1370         * objects/standard/bezier.c (bezierline_get_object_menu): add a
1371         separator to the object menu between the add/remove segment items
1372         and the corner type items.
1373         (bezierline_get_object_menu): add code to disable the menu item for
1374         the current corner type.  Really just a cosmetic change.
1376         * app/disp_callbacks.c (create_object_menu): handle DiaMenuItems with
1377         a NULL for the label or with no associated callback.
1379         * objects/standard/bezier.c (bezierline_menu_items): use the
1380         enumeration values rather than numeric values for the corner types.
1382         * lib/bezier_conn.[ch]: added a corner_types member to the BezierConn
1383         structure, and add code to handle it.  Also, don't save the corner
1384         types inline in the bez_points node.  The way it is conditionally
1385         including the element just feels like it will break.
1387         * lib/geometry.h (BezPoint): removed the corner_type stuff from
1388         BezPoint.  The corner type stuff is a user interface level idea rather
1389         than something required by the renderer, so should be taken care of
1390         at the object level.
1392 2000-04-17  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1394         * configure.in: Fixed some problems with the gdk-pixbuf/imlib
1395         checks.  Weren't able to reproduce original bug, tough.
1397 2000-04-16  Cyrille Chepelov  <chepelov@calixo.net>
1399         * sheets/Electric.sheet:
1400         * sheets/Contact.sheet:
1401         * sheets/Pneumatic.sheet:
1402         * sheets/Circuit.sheet: sprayed some <br/>'s around.
1403         (added a few French translations in the last file)
1404         
1405 2000-04-16  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1407         * lib/geometry.h: 
1408         * lib/bezier_conn.h: 
1409         * objects/standard/bezier.c: 
1410         * lib/bezier_conn.c: Support for cuspy, smooth and symmetric
1411         bezier points.  Only one minor problem known:  Menus are active
1412         for endpoints minor handles.
1413         11:28: Save and load now works, too.
1414         (bezierconn_closest_major_handle): 12:03: New function to get the
1415         non-control point handle associated with the nearest control
1416         point.  
1417         Also fixed the menu activation problem, and made remove_segment
1418         not remove the endpoint.
1420 2000-04-15  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1422         * configure.in: Added check for gdk-pixbuf being >= 0.7.0 since
1423         new API is in use.
1425 2000-04-15  Asbjorn Pettersen  <asbjornP@dualog.no>
1427         * lib/plug-ins.c: Added <sys/types.h> and moved <fcntl.h> below
1428         <sys/stat.h>.   OS/2 patch.
1430 2000-04-15  James Henstridge  <james@daa.com.au>
1432         * objects/FS/flow-ortho.c, objects/FS/function.c: Applied David
1433         Thompson's patch that adds undo support to the function structure
1434         diagram objects.
1436 2000-04-14  James Henstridge  <james@daa.com.au>
1438         * objects/custom/custom_object.c (custom_distance_from): new
1439         implementation of distance algorithm that actually takes the
1440         display list into account when calculating the distance.  Much nicer
1441         than a simple bounding box.
1443 2000-04-13  Lars Clausen  <lrclause@cs.uiuc.edu>>
1445         * lib/geometry.c (line_crosses_ray): Fixed division by zero bug
1447 2000-04-12  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1449         * objects/standard/polygon.c: Start of polygons own changes (for
1450         connectionpoints).  Need to do seperate changes in polyshape, too,
1451         rather than reuse the bezier changes.
1453 2000-04-13  James Henstridge  <james@daa.com.au>
1455         * lib/dia_image.c (dia_image_draw): use the new enumeration values
1456         from after the gdk-pixbuf cleanup.
1458         * lib/geometry.c (bez_point_distance_and_ray_crosses): fix up limit
1459         on for loop.  Last set of coefficients were not beeing calculated,
1460         which caused a bit of breakage.
1462         * lib/bezier_conn.c (bezierconn_closest_segment): use the new
1463         functions in geometry.c for calculating the closest segment.
1464         (bezierconn_distance_from): use distance_bez_line_point to calculate
1465         the distance.
1467         * lib/geometry.c (distance_bez_line_point): new function to calculate
1468         the distance from an open bezier line to a point.
1469         (distance_bez_shape_point): new function to calculate the distance
1470         from a closed bezier shape.
1471         (distance_ellipse_point): new function to calculate the distance from
1472         a filled ellipse to a point.
1474         * lib/geometry.h (BezPoint): moved this structure here from render.h
1476 2000-04-12  James Henstridge  <james@daa.com.au>
1478         * lib/geometry.c (distance_bez_seg_point): new function to calculate
1479         the distance from a bezier segment.
1481         * lib/polyshape.c (polyshape_distance_from): use distance_polygon_point
1482         to calculate the distance from the object.
1484         * lib/geometry.c (distance_polygon_point): function for calculating
1485         the distance from a polygon to a point.
1487 2000-04-12  Cyrille Chepelov  <chepelov@calixo.net>
1489         * app/interface.c:
1490         * lib/sheet.[ch]: added a <br/> tag in sheet files, so that line 
1491         breaks can be inserted in the tool box. 
1493         * doc/sheet.dtd: updated the DTD
1494         * sheets/GRAFCET.sheet: tried <br/> on that sheet (more to come).
1495         
1496 2000-04-12  James Henstridge  <james@daa.com.au>
1498         * app/plugin-manager.c (get_plugin_manager): use the GTK_DIALOG
1499         macro if the dialog is a GtkDialog :(
1501 2000-04-11  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1503         * objects/standard/polygon.c: Connectionpoints now properly
1504         managed in a GList.  As far as I can tell, this will not dieturb
1505         the order (but I have the nagging doubt...)
1507         * lib/polyshape.c: No longer knows about connectionpoints.
1509 2000-04-11  James Henstridge  <james@daa.com.au>
1511         * app/Makefile.am: fix makefile for bonobo build.
1513         * configure.in: fix checks for bonobo.
1515         * app/menus.c: added entries for the plugin manager.
1517         * app/Makefile.am (dia_core_files): added plugin manager to files
1518         list.
1520         * app/plugin-manager.[ch]: the plugin manager dialog.
1522         * app/display.c (display_update_menu_state): set the antialiased
1523         menu entry to the correct value.
1525 2000-04-11  Cyrille Chepelov  <chepelov@calixo.net>
1527         * objects/custom/custom_object.c: not all renderers like ellipses with
1528         negative dimensions. This could cause ellipses to disappear when using
1529         the flip_h and flip_v functions.
1531         * samples/grafcet.dia: fixed speling and correctness.
1532         
1533 2000-04-11  James Henstridge  <james@daa.com.au>
1535         * lib/plug-ins.[ch]: added more accessors for use by a plugins dialog.
1536         exposed the dia_plugin_load and dia_plugin_unload functions.
1538         * lib/plug-ins.c (plugin_load): change plugin_load to work on an
1539         already created PluginInfo structure.
1541         * app/app_procs.c (app_exit): call dia_pluginrc_write() to write
1542         the pluginrc file.
1544         * lib/sheet.c: fix up call to dia_config_filename.
1546         * lib/plug-ins.[ch]: started writing code for handling a pluginrc
1547         file.  This would save information such as which plugins not to
1548         load during startup.
1550 2000-04-09  James Henstridge  <james@daa.com.au>
1552         * lib/sheet.c: use dia_config_filename to resolve file in ~/.dia.
1554 2000-04-10  Alexander Larsson  <alla@lysator.liu.se>
1556         * lib/plug-ins.c (dia_register_plugins):
1557         Don't free the value returned from g_getenv.
1559 2000-04-09  Anders Carlsson  <andersca@gnu.org>
1561         * app/preferences.h: Add reverse_rubberbanding_intersects preference variable.
1563         * app/preferences.c (prefs_data): Add reverse_rubberbanding_intersects preference data.
1565         * app/modify_tool.c (modify_button_release): If rubberbanding is done from 
1566         right to left, select objects that intersect the rubberbanding rectangle
1567         instead of selecting objects that are in the rectangle.
1569         * lib/diagramdata.c (layer_find_objects_intersecting_rectangle): Add function.
1571         * lib/diagramdata.h: Likewise.
1574 2000-04-09  James Henstridge  <james@daa.com.au>
1576         * lib/plug-ins.[ch]: add copyright messages to files.
1578         * plug-ins/cgm/cgm.c (dia_plugin_init): convert plugin over to new
1579         plugin interface.
1581         * objects/sybase/sybase.c (dia_plugin_init): 
1582         * objects/network/network.c (dia_plugin_init): 
1583         * objects/flowchart/flowchart.c (dia_plugin_init): 
1584         * objects/custom/custom.c (dia_plugin_init): 
1585         * objects/chronogram/chronogram.c (dia_plugin_init): 
1586         * objects/UML/uml.c (dia_plugin_init): 
1587         * objects/SADT/sadt.c (dia_plugin_init): 
1588         * objects/GRAFCET/grafcet.c (dia_plugin_init): 
1589         * objects/FS/fs.c (dia_plugin_init): 
1590         * objects/ER/er.c (dia_plugin_init): updated plugin load code for
1591         object libraries.
1593         * objects/standard/standard.c (dia_plugin_init): change over to new
1594         plugin interface.
1596         * lib/plug-ins.h (DIA_PLUGIN_CHECK_INIT): added a macro to define
1597         the version checker for plugins.
1599         * app/app_procs.c: remove plugin loading code from here, and use
1600         code from plug-ins.[ch].  Also move registration of internal
1601         objects/filters to a `builtin' plugin.
1603         * lib/Makefile.am (libdia_a_SOURCES): added plug-ins.[ch] to library.
1605         * configure.in: use AC_PROG_LIBTOOL rather than AM_PROG_LIBTOOL.
1607         * app/Makefile.am (EXTRA_DIST): you can't include a conditionally
1608         defined variable in EXTRA_DIST.
1610         * app/preferences.h: removed dia_config_filename from header.
1612         * app/preferences.c: removed dia_config_filename function.
1614         * lib/dia_dirs.c (dia_config_filename): moved function over to this
1615         file.  Also changed implementation slightly so that it should work
1616         on the win32 port correctly (and use NT home directories).
1618         * lib/dia_dirs.h (dia_config_filename): move dia_config_filename where
1619         it should have been.
1621         * lib/plug-ins.[ch]: new plugin loading code.
1623 2000-04-08  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1625         * objects/standard/polygon.c: Fixed startup crash bug (do'h!).
1627         * lib/polyshape.c: Fix closest segment finding, exposes deeper
1628         bugs in adding corners to 'wraparound' segment.
1630         * objects/standard/polygon.c: Added connection points (fixed so
1631         far), set menu sensitivity.
1633         * lib/polyshape.c: Changed to box-style handles, fixed for start
1634         and ends not being special, added initial connections,
1636         * lib/dummy_dep.h: Added polyshape (gotcha!)
1638         * objects/standard/pixmaps/ellipse.xpm: 
1639         * objects/standard/pixmaps/box.xpm: 
1640         Filled element pixmaps with white.
1642         * lib/polyshape.c: 
1643         * objects/standard/polygon.c: 
1644         * lib/polyshape.h: 
1645         * objects/standard/standard.c: 
1646         * objects/standard/Makefile.am (libstandard_objects_la_SOURCES): 
1647         * lib/Makefile.am (libdia_a_SOURCES): 
1648         * app/menus.c: 
1649         * app/interface.c (tool_data): 
1650         Added Standard/Polygon object and PolyShape lib object.  Still
1651         needs inside grab and connection points.
1653         * app/commands.c (help_about_callback): Now uses gdk-pixbuf if
1654         available. 
1656         * configure.in: Made imlib a fallback if gdk-pixbuf is absent or
1657         not wanted.
1659         * app/app_procs.c (app_init): Moved gtk_init outside #ifdef, moved
1660         if (argv) outside ifdefs.
1662 2000-04-04  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1664         * objects/standard/image.c (image_set_props): 
1665         Aspect ratio is back in town.
1667         * app/Makefile.am (dia_LDADD): 
1668         * acconfig.h: 
1669         * configure.in: 
1670         Check for gdk_pixbuf (by default disabled, for now)
1672         * app/render_eps.c (draw_image): 
1673         * app/render_libart.c (draw_image): 
1674         * app/render_gnomeprint.c (draw_image): 
1675         Support for alpha mask in rendering.  Color postscript, too.
1677         * lib/dia_image.c: 
1678         * lib/dia_image.h: 
1679         Support for gdk_pixbuf and proper masking for exports.
1681 2000-04-01  Kjartan Maraas  <kmaraas@online.no>
1683         * sheets/*.sheets: Updated Norwegian translations.
1684         
1685 2000-03-30  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
1687         * lib/text.c (text_insert_char): 
1688         * lib/render_store.c (add_data): 
1689         Made realloc double the alloced space rather than add
1690         a fixed amount, to reduce memory stress.
1692         * app/select.c: Added new select method 'Transitive'
1693         that select every reachable (by connections) object.
1695 2000-03-27  Kjartan Maraas  <kmaraas@online.no>
1697         * dia.desktop: Added Norwegian translation.
1698         
1699 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
1701         * app/render_eps.c:
1702         * app/render_svg.c:
1703         Don't dereference NULL pointer if the renderer
1704         couldn't open the file. Fix by Lars Clausen.
1705         Bug reported by Martin Chisholm <b1mt@unb.ca>
1706         
1707 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
1709         * dia.desktop:
1710         * po/pt.po:
1711         Updated pt translation from Pedro Morais <pmmm@rnl.ist.utl.pt>
1713 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
1715         * app/dia.gnorba (location_info):
1716         Changed to correct executable name.
1718 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
1720         * app/app_procs.c:
1721         Don't do any argument parsing or initialization
1722         if argv==NULL.
1724         * app/dia_embedd.c:
1725         Call init_server_factroy before app_init.
1726         Call app_init with argv==NULL
1727         Now we don't get any critical error on startup.
1729         * configure.in:
1730         Add Electric and Pneumatic to makefile list.
1731         
1732 2000-03-24  Cyrille Chepelov <chepelov@calixo.net>
1734         * shapes/Electric/*:
1735         * sheets/Electric.sheet:
1736         Add some Electric circuit shapes.
1738         * shapes/Pneumatic/*:
1739         * sheets/Pneumatic.sheet:
1740         Add some Pneumatic & Hydraulic circuit shapes
1741         (both sheets are still incomplete, though feature enough 
1742         things for basic circuits).
1744         * shapes/Contact/l_*.(xpm|shape):
1745         * sheets/Contact.sheet
1746         * shapes/Contact/Makefile.am
1747         made the older electric circuit shapes in Contact obsolete (disabled
1748         them in the sheet, made that sheet Ladder only). Fixed the makefile
1749         for forgotten items.
1750         
1751 2000-03-24  Alexander Larsson  <alla@lysator.liu.se>
1753         * app/Makefile.am:
1754         Add support for Dia bonobo component.
1755         Currently a bit raw, so it's commented out.
1756         
1757         * app/dia_embedd.c:
1758         * app/dia.gnorba:
1759         New files for embedding dia.
1760         The menu disabling hack is a bit gross. Esp. for GNOME.
1762         * app/app_procs.h:
1763         Add new function app_is_embedded();
1765         * app/diagram.c:
1766         Don't destroy diagram when last display is destroyed if embedded.
1767         
1768         * app/display.c:
1769         Change initialization of display so it works with embedding.
1771         * app/display.h:
1772         Clarify comment about display destruction.
1774         * app/interface.[ch]:
1775         Added top_level_window argument to create_display_shell.
1776         Don't open a top-level window if embedding.
1777         Don't quit app if trying to close toolbox window when embedding.
1778         Add toolbox_show() and toolbox_hide().
1780         * app/main.c:
1781         Added app_is_embedded() function (just returns false).
1782         Added toolbox_show() call in main().
1784         * app/menus.c:
1785         Added code for getting toolbox menus. This is used to
1786         hide some menu items when running embedded.
1787         
1788         * app/app_procs.c:
1789         Include sheet.h to remove warning.
1791         * objects/UML/association.c:
1792         Clarify association direction text.
1793         
1794 2000-03-16  Fredrik Hallenberg  <hallon@lysator.liu.se>
1796         * dia.1
1797         Fixed man page so whatis parsing works.
1799 2000-03-12  Alexander Larsson  <alla@lysator.liu.se>
1801         * app/render_libart.c (new_libart_renderer):
1802         Fix from segg <segg@infonet.ca> to compile without libart.
1803         I forgot to change the stub for new_libart_renderer when doing
1804         the interactive renderer stuff for libart.
1806 2000-03-11  Alastair McKinstry  <mckinstry@computer.org>
1808         * dia.desktop: Added Irish translation.
1809         
1810         * configure.in (ALL_LINGUAS): Added Irish (ga) translation.
1812 2000-03-07  Asbjorn Pettersen  <asbjornP@dualog.no>
1814         * app/load_save.c (fchmod): OS/2 defines only.
1816 2000-03-07  James Henstridge  <james@daa.com.au>
1818         * lib/properties.c (prop_get_widget): set the position in the option
1819         menu correctly.
1821 2000-03-06  Alexander Larsson  <alla@lysator.liu.se>
1823         * app/display.c:
1824         * app/export_png.c:
1825         * app/render_libart.[ch]:
1826         Don't export png:s with an interactive libart renderer.
1828 2000-03-03  Asbjorn Pettersen  <asbjornP@dualog.no>
1830         * lib/arrows.c (finite): define finite(d) isfinite(d)  for OS/2
1832 2000-03-02  James Henstridge  <james@daa.com.au>
1834         * dia.spec (%build): unset LINGUAS before running configure.  This
1835         ensures that all translations get included in the RPM.
1837         * lib/properties.c (object_create_props_dialog): put in a check for
1838         a NULL return from the describe_props() object method.
1839         (prop_desc_lists_union): make sure that the returned array is not
1840         NULL.
1841         (prop_desc_lists_intersection): same here.
1843 2000-02-29  Alexander Larsson  <alla@lysator.liu.se>
1845         * objects/ER/Makefile.am:
1846         * objects/FS/Makefile.am:
1847         * objects/UML/Makefile.am:
1848         Don't link object libs with gtk.
1850 2000-02-29  James Henstridge  <james@daa.com.au>
1852         * app/preferences.c (prefs_save): check to see if the file could
1853         be opened before writing the prefs.
1855         * app/disp_callbacks.c (popup_object_menu): pass the button event
1856         to gtk_menu_popup.  This allows you to click and release to open
1857         the object menu.
1858         (ddisplay_canvas_events): same here.
1859         (create_object_menu): set the object type menu item in the object
1860         menu to be insensitive.
1862         * app/render_svg.c (draw_string): call xmlEncodeEntitiesReentrant,
1863         as we are now requiring a new version of libxml.
1865         * dia.spec: updated version number.  Added requirement for
1866         libxml >= 1.8.5
1868         * configure.in: incremented version number to 0.84.
1869         Added check for libxml >= 1.8.5.  This will prevent some of the
1870         problems people have had with broken libxml versions.
1872         * NEWS: added news items.
1874         * app/interface.c (create_color_area): removed call to realize parent
1875         widget.  Segg <segg@infonet.ca> reported that it caused a warning,
1876         but I haven't seen it on my copy of dia.
1878 2000-02-28  James Henstridge  <james@daa.com.au>
1880         * app/export_png.c: added copyright notice, and made the band height
1881         a constant.
1883 2000-02-27  Alexander Larsson  <alla@lysator.liu.se>
1885         * lib/font.c (suck_font):
1886         Fixed off-by one bug in font pixmap height.
1887         Fixes the problem with garbage at the bottom of some text in aa mode
1888         and in png exported files.
1890 2000-02-27  James Henstridge  <james@daa.com.au>
1892         * app/app_procs.c: add the png export filter if it was compiled in.
1894         * app/export_png.c (export_png): new PNG export filter.  This requires
1895         the libart renderer to work as it needs a renderer that renders to a
1896         pixel buffer.
1898         * configure.in: add check for libpng.
1900         * lib/message.c (message_internal): use a GNOME dialog here as well.
1902         * app/display.c (ddisplay_close): use a GNOME dialog here.
1904         * app/render_eps.c (create_eps_renderer): use diagram scaling factor
1905         when exporting to EPS.  This is because some people said the EPS
1906         output was too large
1908 2000-02-26  James Henstridge  <james@daa.com.au>
1910         * app/defaults.c (create_dialog): use a GNOME dialog for the defaults
1911         window.
1913         * app/app_procs.c (app_exit): use a GNOME dialog here.
1915         * app/preferences.c (prefs_create_dialog): if GNOME support is
1916         enabled, show a GNOME dialog.
1918         * app/grid.c (grid_draw): use preferences when drawing page break
1919         lines.
1921         * app/preferences.c: add page break preferences to dialog.
1923         * app/preferences.h: added page break preferences.
1925 2000-02-25  James Henstridge  <james@daa.com.au>
1927         * sheets/UML.sheet: added new objects.
1929         * objects/UML/uml.c: link in the two new objects.
1931         * objects/UML/node.c: 
1932         * objects/UML/branch.c: new UML objects from Stfan Seefeld
1933         <seefelds@magellan.umontreal.ca>.
1935 2000-02-24  James Henstridge  <james@daa.com.au>
1937         * objects/custom/custom_object.c: converted to use the properties
1938         interface.  In the future, it would be nice to add support for
1939         defining custom properties for custom objects, but that can wait.
1941 2000-02-22  James Henstridge  <james@daa.com.au>
1943         * sheets/Circuit.sheet: added new circuit shapes to sheet.
1945         * plug-ins/cgm/cgm.c: cgm plugin updates from Henk Jan Priester
1946         <hj@justcroft.com>.  Fixes number encoding, colour encoding, fonts
1947         and adds a few new features.
1949 2000-02-21  Daniel Egger  <egger@suse.de>
1951         * sheets/*.sheets: Added German translations and made some
1952         corrections to the others.
1953         
1954 2000-02-21  James Henstridge  <james@daa.com.au>
1956         * shapes/Circuit/Makefile.am (SHAPES): added new shapes to list.
1958         * shapes/Circuit/...: added new shapes from Erik Janssens.
1960 2000-02-20  James Henstridge  <james@daa.com.au>
1962         * app/interface.c (create_color_area): realize the parent window
1963         first.
1965         * objects/standard/image.c: properties patch for standard image
1966         object, from Lars Clausen.
1968         * lib/properties.c: support for PROP_TYPE_FILE from Lars Clausen.
1970         * lib/properties.h (PropType): added file property type.
1972         * shapes/Circuit/speaker_de.xpm: changed size of pixmap to match
1973         other shapes.
1975         * app/interface.c: use wrap box for toolbox.
1977         * app/Makefile.am: added new files.
1979         * app/gtk*wrapbox.[ch]: added wrap box widget.
1981 2000-02-19  James Henstridge  <james@daa.com.au>
1983         * sheets/network.sheet: added extra shapes to networks sheet.
1985         * configure.in (AC_OUTPUT): added shapes/network/Makefile
1987         * shapes/network/*: added shapes that were posted to the list a while
1988         back.
1989         
1990         * shapes/Makefile.am (SUBDIRS): added network subdirectory
1992         * app/menus.c (toolbox_menu_items): don't right justify help menu for
1993         gtk+ version of menus.
1995         * app/properties.c (create_dialog): use a GnomeDialog if we happen
1996         to be using gnome.
1998 2000-02-18  James Henstridge  <james@daa.com.au>
2000         * objects/flowchart/box.c: set extra data for corner radius and text
2001         padding properties.
2003         * objects/standard/box.c: set extra data for corner radius property.
2005         * lib/properties.h: set extra data in some standard properties.
2007         * lib/properties.c (prop_get_widget): look at the extra data for
2008         int, real and enum property types.  They now use GtkSpinButton and
2009         GtkOptionMenu respectively.
2011         * lib/properties.h: extra data members for creating property setting
2012         widgets.
2014 2000-02-17  James Henstridge  <james@daa.com.au>
2016         * objects/flowchart/box.c: reverted load/save functions back to
2017         previous implementations.  Made box use standard property names.
2019         * plug-ins/cgm/cgm.c (set_linestyle): was missing a */
2021         * app/grid.c: add more digits to the grid edit dialog.  This patch
2022         was also from Lars Clausen.
2024         * objects/standard/zigzagline.c: 
2025         * objects/standard/textobj.c:
2026         * objects/standard/polyline.c:
2027         * objects/standard/line.c:
2028         * objects/standard/ellipse.c:
2029         * objects/standard/box.c: 
2030         * objects/standard/bezier.c: 
2031         * objects/standard/arc.c: patches to add properties code to standard
2032         objects.  Based on patches from Lars Clausen.  I have also removed
2033         some dead code from the files.
2035         * lib/properties.h (PROP_STD_*): define a number of standard
2036         properties.  Where appropriate, objects should include these
2037         properties in their PropDescription list.  This way, the intersection
2038         of properties of two different shapes will be greater.
2040 2000-02-14  James Henstridge  <james@daa.com.au>
2042         * objects/flowchart/box.c (box_load, box_save): use property save
2043         routines.  Make sure that any props not handled by object_load_props
2044         are loaded before calling object_load_props, or we get errors because
2045         update_data is called.
2047         * lib/properties.c (object_get_props_from_offsets): fixed an indexing
2048         error that could cause properties to be loaded incorrectly.
2049         (object_set_props_from_offsets): similar here.
2051         * lib/properties.[ch] (prop_{load,save}): functions for loading
2052         or saving a property in Dia's XML file format.
2053         (object_{load,save}_props): load or save some properties of an
2054         object.  These functions should help simplify the load/save methods
2055         of objects that implement the properties interface.
2057 2000-02-13  James Henstridge  <james@daa.com.au>
2059         * objects/flowchart/box.c: use offset code to simplify property
2060         get/set routines.
2062         * lib/element.h (ELEMENT_COMMON_PROPERTIES): standard element
2063         properties.
2064         (ELEMENT_COMMON_PROPERTIES_OFFSETS): offsets.
2066         * lib/object.h (OBJECT_COMMON_PROPERTIES): list of standard object
2067         properties.
2068         (OBJECT_COMMON_PROPERTIES_OFFSETS): the offsets of the properties.
2070         * lib/properties.[ch] (object_{get,set}_props_from_offsets): new
2071         functions 
2073 2000-02-12  Alexander Larsson  <alla@lysator.liu.se>
2075         * app/Makefile.am:
2076         Add the custom object to DIA_LIB_PATH in run_dia.sh
2078 2000-02-10  Cyrille Chepelov  <chepelov@calixo.net>
2080         * sheets/Circuit.sheet:
2081         * shapes/l_sout* (NEW):
2082         * shapes/l_outj.* (NEW): added new outputs : jump, and the power-saved
2083         variants of simple, inverted, set and reset outputs.
2084         Still to do: all Schneider/Telemecanique TSX *7 function blocks ; 
2085         probably a split of Contact and Ladder sheets. And then a major 
2086         revamping of the Contact sheet.
2088 2000-02-10  James Henstridge  <james@daa.com.au>
2090         * app/Makefile.am (dia_LDADD): don't link with libcustom_objects.
2092         * app/app_procs.c (register_all_objects): don't explicitely
2093         register the custom objects library -- let it be loaded by the
2094         normal plugin loading methods.
2096         * lib/Makefile.am (libdia_a_SOURCES): don't include custom.h here.
2098         * objects/custom/Makefile.am: build libcustom_objects as a shared
2099         library again.
2101         * objects/custom/shape_info.[ch]: don't read the description field
2102         of custom shapes.  It makes more sense to have these in the sheet
2103         file to localise the parts of dia that translators have to deal
2104         with.
2106         * objects/custom/custom_object.c (custom_object_new): do not
2107         create the sheet object for the new custom shape -- this is
2108         handled by the custom sheet code.
2110         * objects/custom/custom.c: change over to being a normal plug-in
2111         rather than being linked with the main dia executable.
2113 2000-02-09  James Henstridge  <james@daa.com.au>
2115         * sheets/Circuit.sheet: 
2116         * sheets/Flowchart.sheet: 
2117         * sheets/Contact.sheet: fixed up sheets.
2119         * objects/custom/custom_object.c (custom_object_new): set the
2120         extra ObjectType fields.
2122         * lib/sheet.c: use extra ObjectType fields when creating sheet
2123         objects.  Give a warning if <shape> tags are found in a sheet
2124         file.  Now the custom sheet code does not know about custom
2125         shapes -- they look like any other object type.
2127         * lib/object.h (ObjectType): added extra members
2129 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
2131         * app/linewidth_area.c:
2132         Added code to set arbitrary line width.
2133         Patch by Lars Clausen <lrclause@cs.uiuc.edu>
2135 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
2137         * app/linewidth_area.c: 
2138         * lib/font.[ch]:
2139         Add support for font-sucking.
2140         Implementation borrowed from gnome-canvas.
2141         
2142         * app/render_libart.[ch]:
2143         Implement text rendering.
2145 2000-02-07  Alexander Larsson  <alla@lysator.liu.se>
2147         * app/properties.c (create_dialog):
2148         ref and sink no_properties_dialog.
2150 2000-02-07  James Henstridge  <james@daa.com.au>
2152         * app/group.c (group_describe_props): new function.  Return the
2153         intersection of the properties of the contained objects that
2154         implement the describe_props interface.
2155         (group_get_props): implement by iterating through contained objects
2156         and calling their get_props method until all properties have been
2157         set.  Maybe this should go through all objects all the time??
2158         (group_set_props): implement by calling set_props method on all
2159         contained objects.
2160         (group_ops): use standard props dialog creation routines.
2162         * lib/properties.c (prop_desc_lists_intersection): fix implementation
2163         of intersection -- I was using i++ instead of i-- in a for loop :(
2165         * objects/custom/custom.c (custom_register_objects): fix usage
2166         of dia_get_data_directory again.
2168         * lib/sheet.c: fix up use of dia_get_data_directory, so that we
2169         actually read the sheets.
2171 2000-02-06  Alexander Larsson  <alla@lysator.liu.se>
2173         Win32 port by Hans Breuer <Hans@Breuer.org>
2175         * app/Makefile.am:
2176         Remove DATADIR and LIBDIR defines.
2178         * lib/Makefile.am:
2179         Add dia_dirs.c and dia_dirs.h
2180         Added DATADIR and LIBDIR defines.
2182         * lib/dia_dirs.[ch]:
2183         New files for handling special directories.
2185         * app/app_procs.c:
2186         * app/commands.c:
2187         * lib/sheet.c:
2188         * objects/custom/custom.c:
2189         Fix warnings.  Use directory functions.
2191         * app/diagram.h:
2192         Add prototype for diagram_redraw_all.
2194         * app/diaunitspinner.c:
2195         * app/filedlg.c:
2196         * app/interface.c:
2197         * app/preferences.c:
2198         Fix warning.
2200         * app/load_save.c:
2201         Win32 doesn't have mkstemp and fchmod.
2203         * app/paginate_psprint.c:
2204         Win32 calls popen _popen and pclose _pclose.
2205         
2206         * app/arrow.c:
2207         Win32 calls finite _finite.
2209         * lib/color.h:
2210         Win32 needs to dllexport the color vars.
2212         * objects/GRAFCET/step.c:
2213         * objects/chronogram/chronoref.c:
2214         snprintf -> g_snprintf
2216 2000-02-05  James Henstridge  <james@daa.com.au>
2218         * lib/properties.c: more fixes so that it doesn't crash when using
2219         properties.  The undo/redo stuff also works!!
2221         * objects/flowchart/box.c (box_{describe, get, set}_props): test
2222         object where I have implemented the new properties interface
2223         complete with automatic properties dialog generation.
2225         * lib/properties.c (object_apply_props): fixed stupid error when
2226         creating the old_props array.  Also, it no longer frees the props
2227         array -- you will have to do that yourself.
2229 2000-02-04  James Henstridge  <james@daa.com.au>
2231         * app/properties.c (properties_apply): pass object_part to
2232         apply_properties.
2234         * lib/object.h (ApplyPropertiesFunc): added widget argument.
2236         * lib/lazyprops.h (PROPDLG_CREATE): ref and sink properties dialogs
2237         created this way as well.
2239         * objects/*/*.c: ref and sink the properties dialog window for each
2240         widget.  It can't rely on ref count being incremented by
2241         properties_show anymore.
2243         * app/properties.c (properties_show): don't ref the widget before
2244         removing it, or its ref count will increase each time you open the
2245         properties dialog.  Don't unparent the widget, as container_remove
2246         does that for us.
2248         * lib/object.h: fixed up prototypes for new object methods.
2250         * lib/properties.[ch]: added functions for automatically creating
2251         a properties dialog from the output of describe_props, get_props and
2252         set_props.
2253         (object_apply_props): apply properties and return an ObjectChange
2254         structure that can be used for undo.
2256 2000-02-03  Cyrille Chepelov  <chepelov@calixo.net>
2258         * objects/GRAFCET/transition.c: minor leak plugged.
2260         * sheets/GRAFCET.sheet:
2261         * objects/GRAFCET/pixmaps/condition.xpm: (NEW)
2262         * objects/GRAFCET/condition.c: (NEW) added a new object type, action 
2263         conditions.
2264         * objects/GRAFCET/Makefile.am: fixed incorrect dependencies, added
2265         new ones (for condition.c).
2266         * objects/GRAFCET/action.c: added connection points for the conditions.
2267         * samples/grafcet.dia: updated the sample to improve conformance to
2268         IEC 848 and take advantage of dia's new features.
2269         
2270         * lib/geometry.h: (point_get_normed) fixed a typo.
2272 2000-02-02  James Henstridge  <james@daa.com.au>
2274         * lib/object.h: added object functions describe_props, get_props and
2275         set_props.  Do type definitions so that object.h doesn't need to
2276         include properties.h, since properties.h includes object.h.
2278         * lib/properties.[ch]: more hacking.
2280         * po/de.po: updated po file.
2282 2000-01-30  James Henstridge  <james@daa.com.au>
2284         * configure.in: don't add flags to CFLAGS unconditionally.  Instead,
2285         check to see if the C compiler accepts the flag beforehand.
2287         * lib/properties.[ch]: start of properties code.
2289         * shapes/Contact/Makefile.am (SHAPES): fix up makefile.
2291 2000-01-30  Cyrille Chepelov  <chepelov@calixo.net>
2292         
2293         * sheets/GRAFCET.sheet:
2294         * sheets/GRAFCET/etapemc.xpm: (NEW)
2295         * sheets/GRAFCET/etapesp.xpm: (NEW)
2296         * objects/GRAFCET/step.c: Added the macro and
2297         sub-program call step types.
2299         * objects/GRAFCET/receptivity.[ch]: renamed to 
2300         objects/GRAFCET/boolequation.[ch]. 
2301         * objects/GRAFCET/transition.c: changed (Receptivity *) to 
2302         (BoolEquation *)
2304         * lib/connpoint_line.[ch]: 
2305         * objects/chronogram/chronoline.c:
2306         * objects/chronogram/chronoref.c:
2307         * objects/GRAFCET/vergent.c:
2308         * objects/standard/line.c:
2309         * objects/SADT/box.c: Minor CPL interface changes, factored out the
2310         point count adjustment code into the CPL object.
2311         
2312 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
2314         * app/render_libart.c:
2315         Added support for images and bezier curves.
2316         Only text/fonts missing now.
2318         * app/render_gdk.c:
2319         Removed old erronous comment.
2321 2000-01-29  Cyrille Chepelov <chepelov@calixo.net>
2323         * objects/chronogram/chronoline_event.c: removed references to
2324         lround(). Please don't insist, I'm already red of shame.
2325         
2326 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
2328         * app/render_libart.[ch]:
2329         * app/Makefile.am:
2330         Non-finished libart renderer.
2332         * acconfig.h:
2333         Added HAVE_LIBART flag
2335         * configure.in:
2336         Added libart probe
2338         * app/app_procs.c:
2339         Call gdk_rbg_init().
2341         * app/connectionpoint_ops.c:
2342         * app/disp_callbacks.c:
2343         * app/grid.c:
2344         * app/handle_ops.c:
2345         * app/magnify.c:
2346         * app/modify_tool.c:
2347         Change ddisp->renderer type from RendererGdk * to Renderer *
2348         Draw zoom and select rects in ddisp->canvas->window instead
2349         of ddisp->renderer->renderer->pixmap.
2351         * app/display.[ch]:
2352         Add aa_renderer to DDisplay, and  support for it.
2353         New function ddisplay_set_renderer() for changing renderer.
2354         Add ddisplay_transform_coords_double() function, used by aa renderer.
2355         Change ddisp->renderer type from RendererGdk * to Renderer *
2357         * app/menus.c:
2358         Add antialias to menu.
2359         
2360         * app/commands.[ch]:
2361         add view_aa_callback function
2362         Change ddisp->renderer type from RendererGdk * to Renderer *
2364         * lib/geometry.[ch]:
2365         Added IntRectangle and int_rectangle_union.
2367 2000-01-28  James Henstridge  <james@daa.com.au>
2369         * app/commands.h: removed prototypes.
2371         * app/commands.c: removed the functions that have been moved to
2372         filedlg.c.
2374         * app/filedlg.h: added new prototypes.
2376         * app/filedlg.c (file_open_callback): move open dialog to this
2377         file.  This implementation should remember the current directory
2378         between file loads.
2379         (file_save_as_callback): moved this dialog as well.
2380         (file_save_callback): moved this function here.
2382         * app/paginate_psprint.c (paginate_psprint): if not in fit to mode,
2383         align page boundaries to the origin.
2385         * app/diagram.c (diagram_update_extents): redraw the diagram if the
2386         scaling factor changes while updating the extents.  This is so the
2387         page breaks get redrawn correctly.
2389         * app/pagesetup.c (pagesetup_apply): added diagram_flush call when
2390         applying changes.
2392         * app/grid.c (grid_draw): draw page breaks as well as grid lines.
2393         For normal mode, use (0,0) as the origin.  For `fit to' mode, use
2394         the corner of the bounding box.
2396         * app/pagesetup.c (create_page_setup_dlg): load new paper attributes
2397         into page setup dialog.
2398         (pagesetup_apply): apply new `fit to' attributes to the diagram.
2400         * app/load_save.c (diagram_load): load new paper `fit to' attributes.
2401         (diagram_data_save): save `fit to' data.
2403         * lib/diagramdata.c (new_diagram_data): initialise `fit to' members.
2404         (data_update_extents): when in `fit to' mode, update scale factor
2405         when we update the extents.
2407         * lib/diagramdata.h (PaperInfo): added `fit to' members to PaperInfo
2408         structure.
2410         * .../.cvsignore: added some cvsignore files to quieten cvs.
2411         
2412         * app/pagesetup.c (pagesetup_changed): added code to change the
2413         scaling/fit to values as you change the options in the page setup
2414         dialog.  I haven't added code so that the fit to options are saved
2415         though.
2417         * app/diapagelayout.[ch]: changed the scaling portion of the widget
2418         to make it easier to set a `fit to' style scaling factor.
2420 2000-01-27 Cyrille Chepelov <chepelov@calixo.net>
2421         * lib/neworth_conn.[ch]: (NEW) Temporary (hopefully) fork of orth_conn,
2422         but connpoint_line-based, so that there's a connection point at the 
2423         middle of each segment. Currently only the SADT arrow uses this.
2425         * objects/SADT/* (NEW): SADT (both idf0 and idf1) support.
2426         
2427 2000-01-26 Cyrille Chepelov <chepelov@calixo.net>
2428         * lib/lazyprops.[ch]:(NEW) Added a bunch of macros for loading, 
2429         saving and editing of properties (and default properties). 
2430         See the new objects (GRAFCET, SADT, chonograms) for examples.
2431         For already too hairy stuff, see objects/chronogram/chronoline.c.
2433         * lib/connpoint_line.[ch] (NEW): This subobject manages a line of 
2434         evenly spaced connection points, which the user can add or remove at
2435         will. An object can own several connection point lines. See the SADT
2436         Box, or the GRAFCET vergents for examples.
2438         * lib/dummy_dep.h: added dependencies to new files. Told gcc to keep 
2439         quiet about unused stuff.
2441         * objects/GRAFCET (NEW):
2442         * samples/grafcet.dia (NEW):
2443         Added support for GRAFCET charts. 
2445         * objects/chronogram (NEW):
2446         * samples/chronograms.dia (NEW):
2447         Added support for chronograms (feature requested by Ronald L. Chichest;
2448         I found I'd use it often, too).
2450         * objects/standard/line.c: Replace the middle connectionpoint by 
2451         a whole connection point line, which defaults to one point (hint, 
2452         hint). New Line object menu to take advantage of this. 
2453         "Bothwards" compatibility is preserved (although you may loose 
2454         connections if you load a newer file in a older dia).
2456         * app/lineprops_area.c:
2457         * lib/arrows.[ch]:
2458         * lib/widgets.c: Added hollow and filled ellipse arrow head type. 
2459         (feature requested by Benjamin Kahn).
2460         Merged in Steffen Macke's slashed arrow head type.
2462         * app/Makefile.am (app/run_dia.sh actually):
2463         Added $DEBUGGER in front of dia's invocation, so that
2464         you can call "DEBUGGER=ddd app/run_dia.sh" (maybe naive, but useful).
2465         Added $(EFENCE) to app/dia's LDFLAGS, so that you can do 
2466         "EFENCE=-lefence" to link with Electric Fence.
2468         * configure.in: Made gcc do more aggressive optimisations on i386, and
2469         enabled warnings.
2470         
2471 2000-01-24  James Henstridge  <james@daa.com.au>
2473         * lib/geometry.[ch]: added inline versions of functions.  Used
2474         glib's G_INLINE_FUNC stuff, so it should still work on systems
2475         without inline funcs.
2477         * plug-ins/cgm/cgm.c (draw_ellipse, fill_ellipse): fixed up so that
2478         it outputs the correct element id for the ellipse objects.
2480 2000-01-24 Cyrille Chepelov <chepelov@calixo.net>
2482         * lib/object.[ch]: added object_add_connectionpoint_at, similar to
2483         object_add_handle_at. Message typo fixed.
2484         
2485         * lib/sheet.c (load_register_sheet):
2486         potential bug fixed (warning hunt).
2488         * objects/custom/custom.c (custom_object_load): disabled an assertion
2489         which made dia abort upon failure to load a shape file. Fixed a
2490         subsequent crash. 
2492         * objects/custom/shape_info.c (load_shape_info): Made the custom 
2493         shape load code ignore XML comments between <?xml ...?> and the 
2494         root object (mostly useful to put the emacs magic comments).
2495         
2496         * app/load_save.c: Made dia do backup copies of files when saving,
2497         and complain in case of failure.
2499 2000-01-24  Cyrille Chepelov  <chepelov@calixo.net>
2501         * AUTHORS: fixed my address (ISP thought it was a great idea to change
2502         the domain name)
2503         
2504         * configure.in:
2505         * shapes/Contact:
2506         * shapes/Contact/*:
2507         * sheets/Contact.sheet:
2508         * sheets/Makefile.am:
2509         Added support for Contact and LADDER charts.
2511         * dia.desktop: Added a French translation.
2512         
2513 2000-01-23  James Henstridge  <james@daa.com.au>
2515         * app/commands.c (help_about_callback): don't die if can't load
2516         logo image.
2518         * app/render_gdk.c (bezier_add_lines): sanity check to try to weed
2519         out NaN's when performing bezier curve subdivision.
2521         * objects/custom/custom_object.c: initialise memory of Custom structs
2522         to zero.
2524         * app/render_svg.c (draw_image): added image support to the XML
2525         output filter.  The image is just referenced, rather than being
2526         included inline, so if you copy the SVG file somewhere else, you
2527         may need to move the images or fix up the links.
2529         * plug-ins/cgm/cgm.c (draw_string): output a text colour element,
2530         so the text is not just displayed in black all the time.
2532 2000-01-15  Fredrik Hallenberg  <hallon@lysator.liu.se>
2534         * configure.in: fixed libpopt test so we wont try to build with
2535         too old libpopt.
2537 1999-12-18  Yuri Syrota  <rasta@renome.rovno.ua>
2539         * configure.in: Added "uk" to ALL_LINGUAS.
2541 1999-12-24  James Henstridge  <james@daa.com.au>
2543         * po/ru.po: updated russian translation from Valek Filippov.
2544         
2545         * app/render_svg.c (new_svg_renderer): make output use 19991203
2546         version of SVG DTD.  Use viewBox to set the extents of the view.
2548         * INSTALL (FONTS): updated locations of gnome-xml and imlib.  List
2549         ftp.gnome.org as the download.
2551         * TODO (TODO): weeded out completed todo items and added a few extra.
2553         * Makefile.am (EXTRA_DIST): added documentation to EXTRA_DIST.
2555         * doc/sheet.dtd: first stab at a DTD for the sheet files.  It would
2556         be good to get rid of the object/shape distinction and separate
2557         the custom shape code out from the main application.
2559         * objects/custom/README, diagram.dtd: moved to new doc directory.
2560         Renamed the custom shapes README to custom-shapes.  Also updated
2561         custom shape docs a bit and removed the section on sheet files, as
2562         that has changed a bit.
2564         * plug-ins/cgm/cgm.c (draw_image): give an error if the row length
2565         of the image data is larger than the maximum cell array.  I should
2566         add code to break scan lines down further in this case, but for now
2567         an error message is better than an infinite loop.
2569         * app/filedlg.c (file_export_ok_callback): show a dialog if we
2570         couldn't determine the export filter to use.
2572         * app/commands.c (help_about_callback): fixed up about box logo
2573         expose bug.  Now just use a GtkPixmap widget rather than a
2574         GtkDrawingArea and calling gdk_imlib_paste_image.
2576         * app/Makefile.am (EXTRA_DIST): added print stuff to extra dist,
2577         because automake does not always get things right.
2579         * configure.in: updated version number to 0.83.
2581         * app/preferences.c (prefs_save): 
2582         * app/render_svg.c (new_svg_renderer): "wt" is not a valid flag string
2583         for fopen.  Text is the default file mode anyway.
2585         * app/commands.c (file_save_as_dialog_ok_callback, file_new_callback): 
2586         * app/grid.c (grid_x_update, grid_y_update, grid_show_dialog): 
2587         * app/load_save.c (write_objects, write_connections): 
2588         * app/filedlg.c (file_export_ok_callback): 
2589         * lib/dia_xml.c (data_add_int, data_add_enum, data_add_real): 
2590         * lib/dia_xml.c (data_add_point, data_add_rectangle): 
2591         * lib/font.c (init_x11_font, font_get_gdkfont): changed calls to
2592         snprintf to calls to g_snprintf.
2594         * plug-ins/cgm/cgm.c (export_cgm): write the original dia file name
2595         as the picture name.
2597 1999-12-23  James Henstridge  <james@daa.com.au>
2599         * plug-ins/cgm/cgm.c (write_int32, write_int16): fixed up output of
2600         negative numbers.  This fixes the upside down text problem I was
2601         having previously.
2602         (draw_image): implemented the image code.  It will try to split the
2603         image data up into bands if it is too big to fit into a single
2604         cgm cell array element.  It will have problems if you try to insert
2605         an image wider than about 10,000 pixels though.
2607         * Makefile.am: use gnomedatadir for the files that need to be
2608         installed in gnome's datadir.  This is mainly to help people doing
2609         packages for weird setups.
2611 1999-12-22  James Henstridge  <james@daa.com.au>
2613         * plug-ins/cgm/cgm.c: added support for text.  Now only images and
2614         beziers are left to do.  The text seems to be the wrong way up
2615         still.  This is probably a problem with character orientation
2616         element, but I have used what the settings given in the standard.
2617         Other than this, the CGMs dia produces are readable (and displayable)
2618         by ralcgm and corel draw.
2619         (draw_string): subtract from the X coord rather than the Y coord for
2620         center and right aligned text.
2622         * plug-ins/cgm/cgm.c: a few fixups for the output.  Use REALSIZE as
2623         the size of a real number, and changed name of write_double to
2624         write_real.  Consider changing to fixed real encoding.  Also, now
2625         all element headers are correct.  Once the real number encoding is
2626         fixed, only text, beziers and images are left to do.
2628 1999-12-21  James Henstridge  <james@daa.com.au>
2630         * Makefile.am (SUBDIRS): recurse into plug-ins.
2632         * configure.in: add plug-ins directory makefiles to list.
2634         * plug-ins/cgm/cgm.c: start of cgm export filter.  Beziers and text
2635         not done yet.  Also, the output files are not quite correct.
2637         * app/render_eps.c (print_reencode_font): don't reencode the Symbol
2638         font.  It doesn't work if you do.
2640 1999-12-20  James Henstridge  <james@daa.com.au>
2642         * app/app_procs.c (app_init): don't use diagram_export_to_eps to
2643         export the files.  Instead, use filter_guess_export_filter to
2644         guess the correct format to save in and use the appropriate filter.
2645         It defaults to postscript for compatibility.
2647         * app/diagram.[ch] (diagram_export_to_eps): removed export to eps
2648         function.
2650         * app/commands.[ch]: removed export to eps functions.
2652         * app/menus.c: removed export to eps menu items.
2654         * app/app_procs.c: register new export filters.
2656         * app/load_save.[ch]: define dia native export filter.
2658         * app/render_eps.[ch]: define eps export filter.
2660         * lib/filter.h: added diafilename argument to the DiaExportFunc
2661         prototype.  This is useful for putting the source of the diagram
2662         into the output file for instance.
2664         * app/app_procs.c (app_init): register the SVG export filter.  Have
2665         to get EPS code converted to this API, and maybe also allow saving in
2666         DIA's native format from the export dialog.  In fact, it is now
2667         possible to load an export filter from a shared library and it will
2668         integrate into the interface correctly.
2670         * app/menus.c: removed references to the SVG renderer.
2672         * app/commands.[ch]: removed svg stuff.
2674         * app/diagram.[ch]: removed diagram_export_to_svg function.
2676         * app/render_svg.[ch]: added a DiaExportFilter structure for this
2677         renderer.
2679         * app/filedlg.[ch]: code for the new export diagram dialog.  Will
2680         probably move the open/save dialogs to this file as well.
2682 1999-12-19  James Henstridge  <james@daa.com.au>
2684         * lib/filter.[ch]: start of interface for generalised handling of
2685         filters.  I have only done code for export filters so far.  I still
2686         need to do the gui for this, and convert the current SVG and EPS
2687         filters to the new API.
2689         * lib/bezier_conn.c (bezierconn_copy): fix up copy operation.  We
2690         weren't setting the last handle correctly.  It was actually assigning
2691         to the wrong position in the handles array, so the last handle was
2692         left as NULL, which caused the segfault.
2694         * objects/standard/image.c (image_copy): modified routine so that
2695         it just adds a reference to the DiaImage structure in the new image
2696         object.  This seems to have cleared up the problems with copying
2697         image objects.
2699         * dia.spec: spec file additions from John Gotts.
2701 1999-12-12  James Henstridge  <james@daa.com.au>
2703         * configure.in (GNOME_LIBS): updated version number to 0.82.  0.82
2704         has not been released yet though.
2706         * Makefile.am (EXTRA_DIST): distribute diagram.dtd.
2708         
2709         The following based on a patch from Lars Clausen:
2710         
2711         * objects/standard/bezier.c (bezierline_move_handle): when performing
2712         the initial drag of the bezierline, move the control points to keep
2713         the line straight.
2715         * lib/bezier_conn.c (bezierconn_add_segment): when adding a segment,
2716         make the new control points a bit closer to the major point.
2718         * app/create_object.c (create_object_motion): use HANDLE_MOVE_CREATE
2719         as the reason for the move.
2720         (create_object_button_release): use HANDLE_MOVE_CREATE_FINAL as the
2721         move reason.
2723         * lib/handle.h: new handle move reasons.
2725 1999-12-09  James Henstridge  <james@daa.com.au>
2727         * dia.spec: include the new files in RPMs.
2729         * Makefile.am: install these new files.
2731         * dia.keys.in: file describing actions and icon for dia diagrams for
2732         use in the gnome file manager.
2733         
2734         * dia.mime: a file defining the application/x-dia-diagram mime type.
2735         
2736         * dia-diagram.png: an icon for dia diagrams.
2738 1999-12-08  James Henstridge  <james@daa.com.au>
2740         * plug-ins/python/pydia-diagram.c: added heaps of new methods.
2742         * plug-ins/python/pydia-display.[ch]: wrapper for display.
2744         * objects/standard/ellipse.c: applied Lars's patch to optionally not
2745         draw the background of the ellipse.
2747         * app/load_save.c (read_connections): do some sanity checking on the
2748         handle and connection point numbers before performing the object
2749         connection.
2751         * lib/bezier_conn.c (bezierconn_load): give the correct number of
2752         handles when loading a BezierConn.
2754 1999-12-07  Kjartan Maraas  <kmaraas@online.no>
2756         * sheets/*.sheet: Finished Norwegian translations.
2757         
2758 1999-12-07  James Henstridge  <james@daa.com.au>
2760         * plug-ins/python/diamodule.c (PyDia_Load): load diagram function.
2761         (PyDia_GetObjectType): find object type function.
2763         * plug-ins/python/pydia-diagram.c (PyDiaDiagram_Save): added a save
2764         method for diagrams.
2766         * plug-ins/python/pydia-object.c: added methods for DiaObject and
2767         DiaObjectType.
2769         * AUTHORS: added Lars and Cyrille to the authors file.
2771         * objects/standard/bezier.c (bezierline_add_segment_callback): place
2772         new point correctly.
2774         * lib/bezier_conn.h (bezierconn_closest_segment): fixed prototype.
2776         * lib/bezier_conn.c: applied Lars's patch for placement of the new
2777         point when adding a segment to a BezierConn.
2779 1999-12-06  James Henstridge  <james@daa.com.au>
2781         * plug-ins/python/test.py: test script for the python plug-in.
2783         * plug-ins/python/python.c: this file contains the plug-in startup
2784         code for the python plugin.  Right now, it just initialises the
2785         dia module and executes a script.
2787         * objects/standard/polyline.c (polyline_draw): fix start arrow size.
2789         * objects/standard/bezier.c (bezierline_draw): draw control lines for
2790         bezier curve if we are using an interactive renderer (ie. only if
2791         displaying to the screen).
2793         * lib/bezier_conn.[ch] (bezierconn_draw_control_lines): function
2794         to draw control lines on to a bezier curve.  Based on implementation
2795         from Lars.
2797         * objects/standard/bezier.c (bezierline_delete_segment_callback):
2798         calculate segment number using closest_segment rather than
2799         closest_handle.  Sometimes the closest handle is part of a different
2800         segment.
2801         (bezierline_draw): use correct size for start arrow.
2803         The next few entries are from Peter Moulder <reiter@netspace.net.au>:
2804         * lib/geometry.c (distance_line_point): added notes to documentation
2805         in comment.
2806         * app/object_ops.c (object_list_align_v): 
2807         (object_list_align_h): fix of by one error when calculating free space
2808         for equal distance alignment.
2809         * app/menus.c (objects_align_h, objects_align_v): include align
2810         adjacent menu items in the gnome version of the menus.
2811         * app/diagram.c (diagram_update_menu_sensitivity): set sensitivity on
2812         align adjacent menu items correctly.
2815         * lib/dummy_dep.h (dummy_dep): added bezierconn to dummy dependency
2816         table.
2818         * objects/standard/bezier.c: converted bezierline to use BezierConn.
2819         Still a few bugs.  It crashes on deleting line segments.
2821         * lib/Makefile.am (libdia_a_SOURCES): added BezierConn to libdia.
2823 1999-12-05  James Henstridge  <james@daa.com.au>
2825         * lib/bezier_conn.[ch]: start of BezierConn object
2827         * app/interface.c: add bezierline to toolbox.
2829         * objects/standard/standard.c: initialise bezierline.
2831         * objects/standard/bezier.c: new object from Lars R. Clausen.  I have
2832         made a few modifications to get it working nicely.  It still needs
2833         a bit of work though.  Maybe create a BezierConn object in lib.
2835 1999-12-02  James Henstridge  <james@daa.com.au>
2837         * plug-ins/python/pydia-*.c: fixed compile errors in these files.
2838         
2839         * plug-ins/python/Makefile.am: tried building everything.  It is
2840         building as a library at the moment.  I will have to convert it
2841         to a libtool library and add some initialisation code.
2842         
2843         * plug-ins/python/diamodule.c: start of the dia module, using the
2844         other object wrappers.  Not complete.
2846 1999-12-01  James Henstridge  <james@daa.com.au>
2848         * plug-ins/python/pydia-object.c (PyDiaObject_GetAttr): implement
2849         the handles and connections attributes.
2851         * plug-ins/python/pydia-layer.c: added functions that use
2852         ConnectionPoint's.
2854         * plug-ins/python/pydia-handle.[ch]: wrapper for Handle's.
2856         * plug-ins/python/pydia-cpoint.[ch]: wrapper for ConnectionPoint's.
2858         * plug-ins/python/pydia-*.[ch]: starts of python scripting plug-in.
2859         I am currently wrapping the basic elements in the diagram in python
2860         objects -- nothing to see or play with yet.
2862 1999-11-30  Alexander Larsson  <alla@lysator.liu.se>
2864         * AUTHORS:
2865         * HACKING:
2866         James Henstridge <james@daa.com.au> is now the maintainer of Dia.
2868 1999-11-29  Alexander Larsson  <alla@lysator.liu.se>
2870         * configure.in:
2871         * po/ru.po:
2872         Added russian translation from Valek Filippov <frob@df.ru>
2874 1999-11-24  James Henstridge  <james@daa.com.au>
2876         * sheets/UML/*: 
2877         * sheet/ER/*: moved extra sheet pixmaps back to separate dirs as
2878         discussed with Alex.  Also added extra makefiles so that make install
2879         works correctly.
2881 1999-11-23  Alexander Larsson  <alla@lysator.liu.se>
2883         * app/preferences.[ch]:
2884         * app/display.c:
2885         Added snap to grid preference.
2886         Patch from Michael Leslie <mles@springboardwireless.com>
2888 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2890         * app/load_save.c:
2891         * lib/dia_xml.c:
2892         * lib/sheet.c:
2893         * lib/text.c:
2894         * objects/custom/shape_info.c:
2895         All strings returned by libxml must be freed with free, not
2896         g_free, or there will be problems if you use memory debugging
2897         in glib.
2898         
2899 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2901         * app/create_object.[ch]:
2902         * app/menus.c:
2903         * app/tool.[ch]:
2904         * app/commands.[ch]:
2905         * app/pixmaps.h:
2906         * app/interface.[ch]:
2907         Reverted the tool menu patch. It has some 'issues'.
2908         I liked it though, so it'll probably return.
2910 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
2912         Fixed a lot of memory leaks. Thanks to Bruce Mitchener
2913         <bruce@cybersight.com> for some purify runs and analysis.
2914         Also a great thank you to Owen Taylor for creating MemProf, a
2915         free memory leak detector that was used to find and verify a
2916         lot of these fixes.
2917         
2918         * app/diagram.c:
2919         * app/paginate_psprint.c:
2920         * app/render_eps.[ch]:
2921         * app/render_svg.[ch]:
2922         Free renderers.
2924         * app/interface.c:
2925         Don't add a reference to ddisp->shell. Why was this done in
2926         the first place?
2928         * app/load_save.c:
2929         * lib/dia_xml.c:
2930         * lib/sheet.c:
2931         * lib/text.c:
2932         Free all strings returned from xmlGetProp
2934         * app/modify_tool.c:
2935         Plug leak.
2937         * objects/custom/custom.c:
2938         Use closedir() after opendir().
2940         * objects/custom/shape_info.c:
2941         User g_free() instead of "if (tmp) free(tmp)".
2943         * sheets/ER.sheet:
2944         Add newline at end of file.
2945         
2947 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
2949         Based on patch from Patrick Reynolds <reynolds@cs.duke.edu>
2950         Adds tool menu and keyboard shortcuts.
2952         * app/create_object.[ch]:
2953         Use tool_set() instead of tool_reset().
2954         create_create_object_tool() takes extra type argument
2956         * menus.c:
2957         Add tools menu.
2958         
2959         * tool.[ch]:
2960         Moved tool_data here, export it.
2961         Add separate tool type for all create objects tools.
2962         new functions tool_set().
2964         * commands.[ch]:
2965         New callback tool_set_callback.
2967         * pixmaps.h:
2968         Moved some pixmaps to interface.c.
2969         
2970         * interface.[ch]:
2971         Remove tool_data array (moved to tool.c).
2972         Use the tool_data from tool.c.
2973         Remove modify_tool_button global var.
2974         
2975 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
2977         Patch from Patrick Reynolds <reynolds@cs.duke.edu>
2978         
2979         * app/app_procs.c:
2980         Interprets command-line arguments as files to open even when
2981         HAVE_POPT is not defined.
2983         * app/magnify.c:        
2984         Shift-clicking when zooming zooms out, like the Gimp.
2986         * app/menus.c:
2987         Has hotkeys for zoom-100% and snap-to-grid.
2989 1999-11-17  James Henstridge  <james@daa.com.au>
2991         * app/scroll_tool.c (scroll_motion): fixed shift style scrolling so
2992         that it is not jumpy.
2994         * app/Makefile.am (EXTRA_DIST): added extra files to extra dist list.
2996         * app/scroll_tool.c (scroll_motion): added `grabbing hand' type
2997         scrolling by pressing the shift key when using the scroll tool.
2999         * sheets/Makefile.am: fixed makefile so that install actually works
3000         if the directories $(pkgdatadir)/sheets/UML and $(pkgdatadir)/sheets/ER
3001         don't exist.
3002         (SHEETS): install Circuit.sheet
3004 1999-11-15  Alexander Larsson  <alla@lysator.liu.se>
3005         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
3007         * sheets/Circuit.sheet:
3008         * sheets/ER.sheet:
3009         * sheets/FS.sheet:
3010         * sheets/Flowchart.sheet:
3011         * sheets/UML.sheet:
3012         * sheets/network.sheet:
3013         * sheets/sybase.sheet:
3014         Changed name space
3016         * sheets/Circuit.sheet:
3017         added some missing French translations
3019         * lib/sheet.c:
3020         killed the temporary sheet namespace
3022         * objects/custom/custom.c:
3023         obsolete comment cleaned up
3025 1999-11-12  Alexander Larsson  <alla@lysator.liu.se>
3027         * configure.in:
3028         * po/pt.po:
3029         Added portugese translation from Pedro Morais
3030         <pmmm@rnl.ist.utl.pt>
3032 1999-11-11  Alexander Larsson  <alla@lysator.liu.se>
3034         Changed all sheets to be specified in xml.
3035         All sheet objects removed from the C code.
3036         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
3037         
3038         * Makefile.am:
3039         * configure.in:
3040         Adding shapes dir.
3041         Updated version to 0.81cvs.
3042         
3043         * app/Makefile.am:
3044         Update run_dia.sh with sheet-dir.
3045         
3046         * app/app_procs.c:
3047         Load all sheets on startup.
3048         Create sheet directory first time.
3049         Don't call custom_register_sheets().
3051         * lib/Makefile.am:
3052         Add sheetdir define
3054         * lib/custom.h:
3055         Remove custom_register_sheets().
3057         * lib/sheet.[ch]:
3058         Add sheet loading code.
3060         * sheet/Circuit.sheet:
3061         * sheet/ER.sheet:
3062         * sheet/FS.sheet:
3063         * sheet/Flowchart.sheet:
3064         * sheet/UML.sheet:
3065         * sheet/network.sheet:
3066         * sheet/sybase.sheet:
3067         Added sheet files.
3069         * sheet/ER/weakentity.xpm:
3070         * sheet/UML/aggregation.xpm
3071         * sheet/UML/umlclass_template.xpm
3072         Added sheet pixmaps.
3073         These are moved from their old places.
3075         * sheet/.cvsignore:
3076         Shut up cvs.
3078         * objects/*/*.c:
3079         Removed sheet objects and sheet registration.
3080         
3081         * objects/ER/Makefile.am:
3082         * objects/ER/pixmaps/weakentity.xpm:
3083         * objects/UML/Makefile.am:
3084         * objects/UML/pixmaps/aggregation.xpm:
3085         * objects/UML/pixmaps/umlclass_template.xpm:
3086         Removed alternative pixmaps. (Moved to sheet).
3088         * objects/custom/Makefile.am:
3089         * objects/custom/load_sheet.[ch]:
3090         Removed old sheet loading code.
3091         
3092         * objects/custom/custom.c:
3093         Load all shapes instead of sheets.
3094         Removed custom_register_sheets().
3096         * objects/custom/custom_object.c:
3097         Added debug code.
3099         * objects/custom/shape_info.[ch]:
3100         Added shape_info_getbyname().
3102         * objects/flowchart/Makefile.am:
3103         * objects/flowchart/collate.shape            
3104         * objects/flowchart/delay.shape              
3105         * objects/flowchart/display.shape            
3106         * objects/flowchart/document.shape           
3107         * objects/flowchart/extract.shape            
3108         * objects/flowchart/flowchart.c              
3109         * objects/flowchart/intstorage.shape         
3110         * objects/flowchart/magdisk.shape            
3111         * objects/flowchart/magdrum.shape            
3112         * objects/flowchart/magtape.shape            
3113         * objects/flowchart/manualinput.shape        
3114         * objects/flowchart/manualop.shape           
3115         * objects/flowchart/merge.shape              
3116         * objects/flowchart/offlinestore.shape       
3117         * objects/flowchart/offpageconn.shape        
3118         * objects/flowchart/or.shape                 
3119         * objects/flowchart/predefdproc.shape        
3120         * objects/flowchart/preparation.shape        
3121         * objects/flowchart/punchedcard.shape        
3122         * objects/flowchart/punchedtape.shape        
3123         * objects/flowchart/sort.shape               
3124         * objects/flowchart/sumjunction.shape        
3125         * objects/flowchart/terminal.shape           
3126         * objects/flowchart/transaction.shape        
3127         * objects/flowchart/transmittape.shape       
3128         * objects/flowchart/pixmaps/collate.xpm      
3129         * objects/flowchart/pixmaps/delay.xpm        
3130         * objects/flowchart/pixmaps/display.xpm      
3131         * objects/flowchart/pixmaps/document.xpm     
3132         * objects/flowchart/pixmaps/extract.xpm      
3133         * objects/flowchart/pixmaps/intstorage.xpm   
3134         * objects/flowchart/pixmaps/magdisk.xpm      
3135         * objects/flowchart/pixmaps/magdrum.xpm      
3136         * objects/flowchart/pixmaps/magtape.xpm      
3137         * objects/flowchart/pixmaps/manualinput.xpm  
3138         * objects/flowchart/pixmaps/manualop.xpm     
3139         * objects/flowchart/pixmaps/merge.xpm        
3140         * objects/flowchart/pixmaps/offlinestore.xpm 
3141         * objects/flowchart/pixmaps/offpageconn.xpm  
3142         * objects/flowchart/pixmaps/or.xpm           
3143         * objects/flowchart/pixmaps/predefdproc.xpm  
3144         * objects/flowchart/pixmaps/preparation.xpm  
3145         * objects/flowchart/pixmaps/punchedcard.xpm  
3146         * objects/flowchart/pixmaps/punchedtape.xpm  
3147         * objects/flowchart/pixmaps/sort.xpm         
3148         * objects/flowchart/pixmaps/sumjunction.xpm  
3149         * objects/flowchart/pixmaps/terminal.xpm     
3150         * objects/flowchart/pixmaps/transaction.xpm  
3151         * objects/flowchart/pixmaps/transmittape.xpm 
3152         Moved shapes and their pixmaps to shapes/flowchart
3154         * shapes/Circuit/Makefile.am:
3155         * shapes/Circuit/index.sheet:
3156         Removed index.sheet.
3157         
3158         * shapes/Makefile.am:
3159         * shapes/flowchart/Makefile.am:
3160         * shapes/flowchart/*.shape:
3161         * shapes/flowchart/*.xpm:
3162         Added flowchart shapes. (Moved from objects/flowchart)
3163         
3165 1999-11-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
3167         * app/app_procs.c: Fixed popt stuff.
3169 1999-11-01  James Henstridge  <james@daa.com.au>
3171         * shapes/Circuit/[hv]led_de.{shape,xpm}: new circuit shapes from
3172         Andreas Scherf.
3174 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
3176         * dia.spec:
3177         * configure.in:
3178         Update version to 0.81.
3179         
3180         * NEWS:
3181         Update with news for 0.81.
3182         
3183         * shapes/Circuit/*:
3184         * shapes/Circuit_eu/*:
3185         Moved european circuit objects to Circuit sheet.
3187 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
3188         
3189         * lib/diagramdata.[ch]:
3190         Added layer_set_object_list() function.
3192         * app/undo.[ch]:
3193         Added support for undo of reordered objects.
3194         Fix the undo of delete to keep the right order on undo.
3195         
3196         * app/diagram.c:
3197         changed loop to object_add_updates_list() calls.
3198         Added undo support to bring to front/back.
3200         * app/disp_callbacks.c:
3201         * app/paginate_psprint.c:
3202         Remove warnings.
3204 1999-10-30  Alexander Larsson  <alla@lysator.liu.se>
3206         This plugs some leaks. Thanks to
3207         Bruce Mitchener <bruce@cybersight.com> for running
3208         Dia through purify for me.
3209         
3210         * app/app_procs.c:
3211         Free displays and diagrams on exit.
3213         * app/modify_tool.c:
3214         Free gc when freeing tool.
3216         * lib/diagramdata.c:
3217         Free layer name.
3218         
3219         * app/display.c:
3220         Free update and display lists when destroying display.
3221         
3222         * lib/diagramdata.c:
3223         Don't leak layer name.
3225         * objects/custom/load_sheet.c: 
3226         * objects/custom/shape_info.c:
3227         Free loaded xml documents.
3229 1999-10-28  Alexander Larsson  <alla@lysator.liu.se>
3231         * app/commands.c:
3232         * app/object_ops.[ch]:
3233         Add undo handling to alignment ops.
3234         Based partially on patch by Dan Cohn <dan@internap.com>.
3236         * objects/standard/image.c (image_move_handle):
3237         Don't divide by zero for small images.
3238         Patch by Dan Cohn <dan@internap.com>.
3240         * objects/UML/class.c (umlclass_destroy): 
3241         * objects/custom/custom_object.c (custom_destroy):
3242         Don't free connectionpoints before calling element_destroy
3243         which unconnects them.
3245 1999-10-26  Alexander Larsson  <alla@lysator.liu.se>
3247         * objects/custom/custom_object.c: 
3248         Load and save padding too. Fixes strange load crashes.
3250         * app/group.c (group_destroy):
3251         Don't unconnect already freed connectionpoints when
3252         destroying group. Probably fixes bug reported by
3253         Elliot Lee <sopwith@redhat.com>.
3255         * app/render_gdk.c:
3256         Don't crash on zero-size (broken) bezier curves.
3257         Different sort of fix. This should work on closed bezier curves
3258         too.
3260         * objects/standard/textobj.c:
3261         Activate default properties dialog for Text objects.
3263         * app/render_eps.c: 
3264         * app/load_save.c:
3265         * app/preferences.c:
3266         * app/render_svg.c:
3267         fopen files in binary or text mode.
3269 1999-10-26  Alexander Larsson  <alex@cendio.se>
3271         * app/render_gdk.c (bezier_add_lines):
3272         Don't crash on zero-size (broken) bezier curves.
3273         Fixes a crashing bug.
3275 1999-10-25  James Henstridge  <james@daa.com.au>
3277         * app/Makefile.am (run_dia.sh): allow dia to find internal shape files
3278         before it is installed.
3280         * objects/flowchart/flowchart.c: use relative paths to find shapes.
3282         * objects/custom/custom.c (custom_object_load): take file names
3283         relative to $(pkgdatadir)/shape-internal, and check an environment
3284         variable for an alternative directory.
3286         * app/...: added copyright messages to the top of my new code.
3288         * app/paginate_psprint.c: some general clean ups.  Also, give an error
3289         dialog if we can't open the command or output file for writing.
3291         * app/diapagelayout.c (dia_page_layout_set_orientation): fixed
3292         function so it would set orientation to landscape correctly.
3294         * app/paginate_psprint.c: use the paper settings that come with
3295         the diagram.  Also implemented landscape printing.
3297         * app/render_eps.c (new_psprint_renderer): use diagram paper metrics
3298         in PS header.
3300         * app/commands.[ch] (file_pagesetup_callback): added callback for
3301         the page setup dialog.
3303         * app/menus.c: added page setup menu item.
3305         * app/pagesetup.[ch]: implementation of the page setup dialog.
3307         * app/diapagelayout.[ch]: added accessors for the scaling factor.
3308         
3309         * app/load_save.c (diagram_load): load paper information from save
3310         file.
3311         (diagram_save): save the paper info.
3313         * lib/diagramdata.c (new_diagram_data): initialise paper info section
3314         of DiagramData structure.
3315         (diagram_data_destroy): free the paper name.
3317         * lib/diagramdata.h: added a paper member to the DiagramData structure
3318         that holds the page layout info for a diagram.
3320 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
3322         * objects/flowchart/box.c:
3323         * objects/flowchart/ellipse.c:
3324         * objects/flowchart/diamond.c:
3325         * objects/flowchart/parallelogram.c:
3326         Load and save padding too. Fixes strange load crashes.
3328 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
3330         * app/app_procs.c (name_is_lib):
3331         .dll, .sl and .so.0.0.0 are also libraries.
3333 1999-10-20  James Henstridge  <james@daa.com.au>
3335         * configure.in: added extra makefile.
3336         
3337         * shapes/Circuit_eu/*: a new set of european circuit shapes from
3338         Andreas Scherf <scherfa@fh-trier.de>.  Made a few small modifications
3339         (added fuses to makefile, fill the area of some of the components).
3341 1999-10-19  Alexander Larsson  <alla@lysator.liu.se>
3343         * lib/Makefile.am:
3344         * app/Makefile.am: 
3345         Add GDK_IMLIB_CFLAGS to includes.
3346         Changed --export-dynamic to -export-dynamic
3348         * lib/widgets.c:
3349         * objects/UML/message.c:
3350         Removed c++ comment.
3352         * lib/render_store.[ch]:
3353         Don't use empty structure. That is not Ansi C.
3355 1999-10-19  James Henstridge  <james@daa.com.au>
3357         * app/diapagelayout.c (dia_page_layout_init): use DiaUnitSpinner's for
3358         the margin entries, as they allow interpretation of units.
3359         (paper_size_change): display the current page dimensions.
3361         * app/diaunitspinner.[ch]: a widget derived from the standard
3362         GtkSpinButton that tries to take units into account.  So if you enter
3363         "1in" into the entry, it will convert it to 2.54cm.
3365 1999-10-18  Alexander Larsson  <alla@lysator.liu.se>
3367         * app/app_procs.c:
3368         Removed include of dlfcn.h
3370 1999-10-18  James Henstridge  <james@daa.com.au>
3372         * app/diapagelayout.c (paper_size_change, orient_changed): set upper
3373         bound on margin widths.  It is set to the paper width/height.
3375         * objects/flowchart/diamond.c (diamond_distance_from): fixed distance
3376         routine for the diamond.  This bug was found and fixed by Daniel Wang
3377         <danwang@CS.Princeton.EDU>
3379 Sun Oct 17 19:46:36 1999  ape@gandalf.spacetec.no  (Asbjorn Pettersen)
3381         * app/commands.c: Add <sys/types.h> before <sys/stat.h> to
3382         remove warning (OS/2 version).
3384 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
3386         * README:
3387         Put a pointer to objects/custom/README.
3388         
3389 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
3391         * dia.spec:
3392         Updated version to 0.80
3394         * configure.in:
3395         Updated version to 0.80cvs
3397 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
3399         * Released Dia 0.80
3400         Tag called DIA_0_80
3401         
3402 1999-10-17  Fredrik Hallenberg  <hallon@lysator.liu.se>
3404         * app/Makefile.am
3405         * lib/Makefile.am
3406         * objects/UML/Makefile.am
3407         * objects/ER/Makefile.am
3408         * objects/network/Makefile.am
3409         * objects/standard/Makefile.am
3410         * objects/FS/Makefile.am
3411         * objects/sybase/Makefile.am
3412         * objects/flowchart/Makefile.am
3413         * objects/custom/Makefile.am
3414         Added -I$(top_srcdir)/intl which is needed for
3415         --with-included-gettext.
3417         * POTFILES.in
3418         Updated.
3419         
3420         * po/sv.po
3421         Updated swedish translation.
3423 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
3425         * configure.in:
3426         Updated version number to 0.80.
3428         * KNOWN_BUGS:
3429         New file.
3431         * TODO:
3432         Updated. Moved bugs to KNOWN_BUGS.
3434         * NEWS:
3435         Updated with 0.80 release notes.
3436         
3437 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
3438         
3439         * lib/orth_conn.c:
3440         For backwards compatibility, make sure handle 0 and 1 are the
3441         first and last handle. Fixes compatibility with 0.41, breaks
3442         compatibility with cvs version.
3443         Fixed bug in undo/redo of adding deleting endpoint segments
3444         when the endpoint was connected.
3445         Start OrthConn objects with three segments.
3447 1999-10-16  James Henstridge  <james@daa.com.au>
3449         * objects/custom/custom_object.c (custom_update_data): changed
3450         resizing behaviour a bit so that shapes don't grow huge when you try
3451         to resize them to smaller than the size required by the text box.
3452         Also, now shapes will not grow with fixed aspect ratio when you enter
3453         text into them unless the shape has the fixed aspect ratio flag set.
3455 1999-10-15  James Henstridge  <james@daa.com.au>
3457         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3459         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3461         * objects/flowchart/magdrum.shape: 
3462         * objects/flowchart/offlinestore.shape: 
3463         * objects/flowchart/punchedtape.shape: 
3464         * objects/flowchart/transmittape.shape: 
3465         * objects/flowchart/punchedcard.shape: new shapes.
3467         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3469         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3471         * objects/flowchart/collate.shape:
3472         * objects/flowchart/delay.shape:
3473         * objects/flowchart/extract.shape:
3474         * objects/flowchart/intstorage.shape:
3475         * objects/flowchart/magdisk.shape:
3476         * objects/flowchart/magtape.shape:
3477         * objects/flowchart/merge.shape:
3478         * objects/flowchart/or.shape:
3479         * objects/flowchart/sort.shape:
3480         * objects/flowchart/sumjunction.shape: new shapes.
3482 1999-10-15  Alexander Larsson  <alla@lysator.liu.se>
3484         * TODO (BUGS):
3485         Added bug:
3486         Entering an erronous command as print command
3487         crashes dia.
3489         * app/paginate_psprint.c:
3490         Save all print dialog values for next time.
3491         
3492         * app/Makefile.am:
3493         Remove custom lib from DIA_LIB_PATH.
3495 1999-10-14  James Henstridge  <james@daa.com.au>
3497         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
3499         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
3500         
3501         * objects/flowchart/offpageconn.shape: 
3502         * objects/flowchart/manualop.shape: 
3503         * objects/flowchart/preparation.shape: 
3504         * objects/flowchart/manualinput.shape: 
3505         * objects/flowchart/predefdproc.shape: 
3506         * objects/flowchart/terminal.shape: new shapes in the flowchart sheet.
3508 1999-10-13  James Henstridge  <james@daa.com.au>
3510         * app/diapagelayout.[ch]: added accessors to paper information.  The
3511         widget should be just about complete now.
3513         * app/diapagelayout.[ch]: fleshed out the page setup widget a bit more.
3514         It actually does something now.
3516 1999-10-12  James Henstridge  <james@daa.com.au>
3518         * app/pixmaps/portrait.xpm, app/pixmaps/landscape.xpm: support pixmaps
3519         for the page layout widget.
3521         * app/diapagelayout.[ch]: start of page layout widget.  Not actually
3522         built yet as it is not complete.
3524         * objects/flowchart/flowchart.c: added new shapes to sheet.
3526         * objects/flowchart/display.shape:
3527         * objects/flowchart/transaction.shape: new shapes.
3529         * AUTHORS: added my name to the spec file.
3531         * dia.spec: include the dia desktop entry to the spec file.
3533         * Makefile.am: install the dia.desktop file.
3535         * dia.desktop: added a gnome desktop entry so you can start dia
3536         from the gnome panel menu.
3538 1999-10-11  James Henstridge  <james@daa.com.au>
3540         * objects/custom/custom_object.c:
3541         * objects/custom/shape_info.c: warning fixes.
3543         * objects/flowchart/document.shape: a shape file for the `document'
3544         flowchart shape.
3546         * lib/custom.h: new header with the custom shape prototypes.
3548         * app/app_procs.c: register custom objects as well.
3549         (register_objects_in): close shared libraries if they don't load
3550         correctly, and call g_module_make_resident on libraries that load
3551         correctly.
3553         * app/Makefile.am (dia_LDADD): added libcustom_objects.a to link list.
3555         * objects/custom/custom.c: removed get_version, added custom_ prefix
3556         to register_objects and register_sheets.
3558         * objects/custom/Makefile.am: converted to a normal library.
3560 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
3562         * app/lineprops_area.c:
3563         * app/render_svg.c:
3564         * lib/objchange.c:
3565         * objects/custom/shape_info.c:
3566         * objects/flowchart/box.c:
3567         * objects/flowchart/diamond.c:
3568         * objects/flowchart/ellipse.c:
3569         * objects/flowchart/parallelogram.c:
3570         * objects/network/flash.c:
3571         * objects/network/scead-plug.c:
3572         * objects/sybase/client.c:
3573         Removed -Wall warnings.
3574         
3575         * objects/network/bus.c:
3576         Removed unused functions.
3578         * objects/FS/flow-ortho.c:
3579         * objects/FS/flow-poly.c:
3580         * objects/FS/flow.c:
3581         * objects/FS/function.c:
3582         
3583         Implemented "non-implemented" undo for FS objects.
3584         Now at least it won't crash.
3585         
3586 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
3588         * objects/network/bus.c:
3589         Implemented undo.
3590         Handles are now added and removed using the object menu.
3591         Default to 6 handles instead of 10.
3592         Changed name from "Standard - Bus" to "Network - Bus". Kept old
3593         name for backwards compatibility.
3595         * objects/network/network.c:
3596         Changed name from "Standard - Bus" to "Network - Bus". Kept old
3597         name for backwards compatibility.
3599         * app/properties.[ch]:
3600         * app/undo.c:
3601         Update properties in properties dialog if the shown object
3602         is part of and ObjectChange (undo or redo).
3604         * lib/poly_conn.c:
3605         Remove old known bugs list.
3607         * objects/UML/class_dialog.c:
3608         Removed debug printf's.
3610 1999-10-10  James Henstridge  <james@daa.com.au>
3612         * objects/custom/custom.c (custom_object_load): new function that
3613         provides a nice entry point to the custom shape code for when it
3614         gets used by other libraries.
3616         * configure.in: removed 11 makefiles from AC_OUTPUT list.  This
3617         speeds builds up a bit.
3619         * */Makefile.am (EXTRA_DIST): include pixmaps in distribution.
3620         (SUBDIRS): do not descend into pixmaps subdirs.
3622         * */pixmaps/Makefile.am: removed -- incorporate into parent makefiles.
3623         This speeds up build process.
3625         * objects/custom/custom.c (sheets): made variable static.
3627         * objects/custom/custom_util.[ch] (custom_get_relative_filename):
3628         renamed function.
3630         * objects/custom/load_sheet.[ch] (custom_sheet_load): renamed function.
3632         * objects/custom/custom.c: look in ~/.shapes instead of
3633         ~/.dia_shapes as the per-user shapes directory.
3635         * app/preferences.c (prefs_save): save config to ~/.diarc.
3636         (prefs_load): load configuration from ~/.diarc.  If the file
3637         does not exist, fallback on the old ~/.diarc location.
3639         * app/app_procs.c (create_user_dirs): create the ~/.dia directory
3640         on startup.
3641         (register_all_objects): look for user specific objects in
3642         ~/.objects rather than ~/.dia_libs.
3644 1999-10-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
3646         * configure.in:
3647         * app_procs.c:
3648         * objects/flowchart/box.c
3649         * objects/flowchart/ellipse.c
3650         * objects/flowchart/flowchart.c 
3651         Use gmodule for dynamic linking. As gmodule is using
3652         RTLD_GLOBAL i had to change flowchart box and ellipse
3653         so the typenames doesn't conflict with the standard
3654         box and ellipse.
3656         * message.c
3657         * commands.c
3658         Use button box to make dialogs look better.
3660 1999-10-09  Alexander Larsson  <alla@lysator.liu.se>
3662         * objects/UML/class_dialog.c:
3663         * objects/UML/class.h:
3664         Implemented undo for "UML - Class" objects.
3665         Not 100% tested yet.
3667         * objects/UML/classicon.c:
3668         * objects/UML/constraint.c:
3669         * objects/UML/dependency.c:
3670         * objects/UML/generalization.c:
3671         * objects/UML/implements.c:
3672         * objects/UML/large_package.c:
3673         * objects/UML/lifeline.c:
3674         * objects/UML/message.c:
3675         * objects/UML/object.c:
3676         * objects/UML/realizes.c:
3677         * objects/UML/state.c:
3678         * objects/UML/usecase.c:
3679         Removed warnings.
3680         
3681         * lib/connectionpoint.h:
3682         Fixed typo.
3683         
3684 1999-10-09  James Henstridge  <james@daa.com.au>
3686         * objects/custom/*.[ch]: added copyright notices to custom object
3687         files.
3689         * shapes/Circuit/hdiode.shape:
3690         * shapes/Circuit/hzener.shape: 
3691         * shapes/Circuit/opamp.shape:
3692         * shapes/Circuit/vdiode.shape:
3693         * shapes/Circuit/vzener.shape: made adjustments to make the circuit
3694         shapes look nice after the custom shape code changes.
3696         * objects/custom/README: updated docs to cover changes to drawing
3697         code.
3699         * objects/custom/custom_object.c (custom_draw): honour the line
3700         properties when drawing the shape.
3702         * objects/custom/shape_info.[ch]: added support for setting line
3703         properties for individual drawing elements in a custom shape.  You
3704         can set the dash style, dash length, cap style and join style.
3706 1999-10-07  James Henstridge  <james@daa.com.au>
3708         * objects/custom/shape_info.c (parse_style): added a few extra synonyms
3709         for foreground and background.
3711         * objects/custom/custom_object.c (custom_draw): use the new style
3712         information when drawing the object.
3714         * objects/custom/shape_info.[ch]: store all shape style info in the
3715         GraphicStyle structure.  This makes adding support for extra CSS
3716         attributes easier -- we don't have to keep adding extra arguments to
3717         a lot of functions.
3719 1999-10-05  James Henstridge  <james@daa.com.au>
3721         * lib/intl.c (unalias_lang): merged in changes from the i18n code
3722         swiped from gnome-libs.
3724 1999-10-03  Alexander Larsson  <alla@lysator.liu.se>
3726         * objects/standard/image.c (get_directory):
3727         Fix memleak. Found by Kjartan Maraas <kmaraas@online.no>
3729 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
3731         * lib/poly_conn.c (polyconn_destroy):
3732         Fix bug. Access of freed memory.
3733         Rememeber, you can't free the handles of an object
3734         before calling object_destroy(), as it unconnects the handles
3735         therefore referencing them.
3737 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
3739         * app/undo.c:
3740         undo_clear() didn't set stack->depth to zero.
3741         This made other undo functions crash after this had been called
3742         on a "full" stack.
3743         
3744         * dia.xpm:
3745         Slightly modified by Chris Love <clove@exactis.com>
3747 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
3749         * objects/UML/class.h: 
3750         * objects/UML/class_dialog.c:
3751         Retrun NULL ObjectChange on class property change.
3752         This means no crashes, but "UML - Class" doesn't support undo yet.
3753         
3754 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
3755         
3756         * lib/text.c:
3757         Indentation fix.
3759         * objects/UML/classicon.c:
3760         * objects/UML/dependency.c:
3761         * objects/UML/generalization.c:
3762         * objects/UML/implements.c:
3763         * objects/UML/large_package.c:
3764         * objects/UML/lifeline.c:
3765         * objects/UML/message.c:
3766         * objects/UML/object.c:
3767         * objects/UML/realizes.c:
3768         * objects/UML/state.c:
3769         * objects/UML/usecase.c:
3770         Update to new undo (w. get/set_state).
3771         Add object menu to add/delete segments.
3773 1999-09-17  Alexander Larsson  <alla@lysator.liu.se>
3775         * app/menus.c:
3776         Add equal distance alignment.
3778         * app/object_ops.c:
3779         Add equal distance alignment.
3780         Fix bug in adjacent alignment.
3782 1999-09-16  Alexander Larsson  <alla@lysator.liu.se>
3784         * objects/UML/constraint.c: 
3785         Update to new undo (w. get/set_state).
3787 1999-09-15  Alexander Larsson  <alla@lysator.liu.se>
3789         * app/paginate_psprint.c:
3790         Save (parts, more todo) of the info in the print dialog to the
3791         next time it's opened.
3792         Patch from Yo Ric Dude <ricdude@toad.net>
3794 1999-09-14  Alexander Larsson  <alla@lysator.liu.se>
3796         * configure.in:
3797         Updated version string to 0.41cvs.
3799         * objects/UML/assocition.c:
3800         Update to new undo (w. get/set_state).
3801         Add object menu to add/delete segments.
3803         * app/app_procs.c:
3804         Added function debug_break() and called it after all
3805         objects and sheets are loaded. Place a breakpoint here if you
3806         want to debug objects. All symbols should be loaded.
3808 1999-09-12  James Henstridge  <james@daa.com.au>
3810         * app/menus.c (display_menu_items): added print menu item.
3811         (filemenu): always add print menu item -- even if gnome-print is
3812         not installed.
3814         * app/commands.h, app/commands.c (file_print_callback): the print
3815         menu item is now available for both gnome-print and non gnome-print
3816         setups.
3818         * app/paginate_psprint.c (diagram_print_ps): show a dialog to let you
3819         print with the non gnome-print driver.
3821 1999-09-11  James Henstridge  <james@daa.com.au>
3823         * app/paginate_gnomeprint.c (diagram_print_gnome): moved the gnome
3824         printer dialog code out of commands.c.
3826         * app/paginate_psprint.c: new file containing the pagination code for
3827         psprint.
3829         * app/render_eps.c: made a few modifications so as well as producing
3830         EPS files, this renderer can be set up to do postscript printing.
3831         This basically entailed adding an extra function to create a RenderEPS
3832         renderer which did not bother setting the viewport for the document.
3833         That was left for the pagination code.
3835 1999-09-10  James Henstridge  <james@daa.com.au>
3837         * app/render_gnomeprint.c (draw_ellipse, fill_ellipse): since
3838         gnome-print does not support elliptic arcs at the moment, approximate
3839         the ellipse with eight bezier curves.  This gives a pretty good
3840         match to a true ellipse.
3842 1999-09-09  James Henstridge  <james@daa.com.au>
3844         * app/commands.c (file_gnome_print_callback): added support for
3845         scaling the diagram.  Also fixed a few other bugs.
3847         * app/paginate_gnomeprint.c (print_page): added ability to scale
3848         document.  Fixed up test to see if the page has no objects on it.
3849         This should prevent some blank pages being printed.  Non square
3850         objects such as lines could still cause problems.
3852 1999-09-08  James Henstridge  <james@daa.com.au>
3854         * app/commands.c (file_gnome_print_callback): changed from using the
3855         standard printer selection dialog to one that also has a paper size
3856         selector as well.
3858         * commands.[ch]: added callbacks for the print menu item.  Currently
3859         it only does A4 output.  I will make it configurable soon.
3860         
3861         * app/menus.c: add a print diagram menu item if gnome-print support
3862         is enabled.
3863         
3864         * app/paginate_gnomeprint.c, app/paginate_gnomeprint.h: this is a
3865         bit higher level than the gnome-print renderer.  It splits the
3866         diagram into page size chunks and then renders them.  For each
3867         page, it only renders the objects whose bounding box intersects
3868         the page, and it sets the clip mask so that the diagram does not
3869         overlap the margins.
3870         
3871         * app/render_gnomeprint.c, app/render_gnomeprint.h: added a renderer
3872         that uses gnome-print as its back end.
3873         
3874         * configure.in: added a check for gnome-print.  It is disabled by
3875         default because the code is not really working correctly yet.
3877         * app/menus.c: the delete object menu item was missing from the
3878         GnomeUIInfo style menus.
3880 1999-09-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
3882         * configure.in
3883         Added japanese to ALL_LINGUAS.
3884         Fix for Linux on Alpha.
3886 1999-09-07  Alexander Larsson  <alla@lysator.liu.se>
3888         * app/create_object.c (create_object_button_press):
3889         Always initialize tool->obj. Otherwise we store a null
3890         in the undo Change.
3892         * lib/text.c:
3893         Set linestyle before drawing cursor.
3894         Fix undo of backwards delete.
3896 1999-09-05  James Henstridge  <james@daa.com.au>
3898         * dia.spec: updated spec file to distribute $(prefix)/share/dia.
3900         * app/render_svg.c (draw_image): some fixes so that the appropriate
3901         style attributes are set.  Before it was setting line styles on
3902         fill_* functions.  Now it only does this for the draw_* variants.
3904         * app/Makefile.am (run_dia.sh): set the DIA_SHAPE_PATH environment
3905         variable so that custom shapes can be loaded.
3907         * shapes/: new directory for custom shapes.  The Circuit sheet has
3908         been moved here.
3910 1999-09-02  James Henstridge  <james@daa.com.au>
3912         * TODO: removed a few todo items that have been implemented.
3914         * app/interface.c (create_sheets): enabled the popup page menu to the
3915         notebook.  This can make it easier to select different sheets.
3917         * object/custom/Circuit/: added diode, zener diode, ground point and
3918         operational amplifier shapes.
3919         
3920         * objects/custom/Makefile.am: added a note about adding DEBUG_CUSTOM
3921         if you want the output.
3923         * objects/custom/shape_info.c (parse_path): same here.
3925         * objects/custom/load_sheet.c (load_with_readdir): don't print so
3926         much debugging output.  To get the previous level of output, define
3927         DEBUG_CUSTOM.
3929         * objects/custom/shape_info.c (parse_svg_node): polygons were being
3930         recorded as polylines in the ShapeInfo structure.
3932         * objects/custom/README: some notes on writing new custom shapes.
3933         
3934 1999-09-01  James Henstridge  <james@daa.com.au>
3936         * objects/custom/Circuit/hinductor.*:
3937         * objects/custom/Circuit/vinductor.*: added inductor shapes that
3938         also test out the bezier curve and SVG path support.
3939         
3940         * objects/custom/custom_object.c (custom_draw): added support for
3941         drawing bezier paths and filled shapes.
3943         * objects/custom/shape_info.c (parse_path): new function to parse
3944         SVG path elements.  It does not do quadratic beziers or elliptic
3945         arcs though.  Only moves, lines and cubic beziers.
3946         (*): added support for paths.
3948 1999-08-31  James Henstridge  <james@daa.com.au>
3950         * objects/sybase/ltm.c (render_to_store): use the newer bezier API.
3952         * app/render_svg.c (draw_bezier, fill_bezier): updated renderer
3953         interface
3955         * app/render_eps.c (draw_bezier, fill_bezier): updated renderer
3956         interface
3958         * app/render_gdk.c (draw_bezier, fill_bezier): updated renderer
3959         interface.
3961         * lib/render_store.[ch]: use newer bezier functions.
3963         * lib/render.h: changed the bezier drawing functions to use an array
3964         of BezPoint structures instead of normal Point structures to allow
3965         lineto's mixed in with the curveto's.
3966         
3967         * objects/custom/Circuit/pnp.*: added pnp transistor shape.
3968         
3969         * objects/custom/Circuit/Makefile.am (SHAPES): added index.sheet and
3970         xpm images for different shapes to Makefile.
3972         * objects/custom/custom_object.c (custom_object_new): set the icon
3973         for the sheet button if there is one.  Otherwise fall back on the
3974         default custom object icon.
3976         * objects/custom/shape_info.c (load_shape_info): read the sheet
3977         icon name from the shape file.
3979         * app/interface.c (create_sheet_page): if sheet_obj->pixmap == NULL,
3980         check the pixmap_file field for the name of a pixmap file to load
3981         for the tool.
3983         * lib/sheet.h (SheetObj): added pixmap_file field to structure.  It is
3984         at the end of the structure, and it isn't used if the pixmap field
3985         is non NULL, so it should not break binary compatibility.
3987         * objects/custom/load_sheet.[ch]: moved sheet loading code here.  Also
3988         added support for the use of an index.sheet file so you can specify
3989         the ordering of the shapes in the sheet, and also internationalise
3990         the sheet name and actually be able to give a description.  The old
3991         readdir based sheet loading code acts as a fallback if an index.sheet
3992         file can not be found.
3994         * objects/custom/custom_util.[ch]: new file containing useful routines
3995         needed by the custom object code.  Currently only contains a simple
3996         routine for resolving relative paths.
3998         * objects/custom/custom_object.c (custom_draw): fixed problem with
3999         drawing rectangles if the shape has been flipped.
4001 1999-08-30  James Henstridge  <james@daa.com.au>
4003         * objects/custom/custom_object.c (custom_get_object_menu): allow
4004         flipping of custom shapes.  This uses the miggle click object
4005         menu.
4007         * objects/custom/Circuit/npn.shape: fix aspect ratio.
4009         * objects/custom/custom_object.c (custom_update_data): honour the
4010         aspect ratio constraints.
4012         * objects/custom/shape_info.c (load_shape_info): updated aspect ratio
4013         tag parsing, so you can specify a free, fixed or a range for aspect
4014         ratios for the shape.
4016 1999-08-29  James Henstridge  <james@daa.com.au>
4018         * objects/custom/test.xml, objects/custom/Circuit/*.shape: fixed
4019         up shape namespace tag.
4021         * objects/custom/shape_info.c (load_shape_info): check xml:lang
4022         attribute on <description> elements to support i18n for custom
4023         shape descriptions.
4024         Also changed the shape namespace for custom shapes to something
4025         a little more sensible.
4027         * lib/dummy_dep.h (dummy_dep): added extra dummy dependency.
4029         * lib/intl.c: new file containing some functions for i18n stuff.
4031         * app/layer_dialog.c (create_button_box): fixed a warning.
4033         * objects/custom/custom_object.c: use current line style.  Save dash
4034         length.
4036         * objects/flowchart/diamond.c: use current line style.  Save dash
4037         length.
4039         * objects/flowchart/parallelogram.c: use current line style.  Save
4040         dash length.
4042         * objects/flowchart/ellipse.c: use current line style.  Save dash
4043         length.
4045         * objects/flowchart/box.c: use current line style.  Save dash length.
4047         * objects/standard/ellipse.c: make ellipse use current line style.
4049         * objects/standard/box.c: use the line style set in the toolbox for
4050         new boxes, and remember the dash length.
4052         * app/commands.c (view_toggle_rulers_callback): fix reshowing of
4053         rulers.
4055 1999-08-24  James Henstridge  <james@daa.com.au>
4057         * objects/flowchart/ellipse.c (ellipse_update_data): made some changes
4058         to try to stop ellipse to get infinite width/height when we resize,
4059         while trying to keep the text inside the ellipse.
4061         * objects/flowchart/box.c, objects/flowchart/parallelogram.c,
4062         * objects/flowchart/diamond.c, objects/flowchart/ellipse.c: fixed
4063         resizing behaviour, so that you can't push objects round the screen
4064         with the resize handles.
4066         * app/lineprops_area.c (dia_arrow_chooser_init, dia_line_chooser_init):
4067         get the OK buttons in the dialogs to take default clicks.
4069         * objects/custom/custom_object.c: added code so that resizing the
4070         shape does not end up pushing it round the screen.
4072 1999-08-23  Alexander Larsson  <alla@lysator.liu.se>
4074         * app/display.[ch]:
4075         Generate rectangle with the union of the damaged regions.
4076         This is used to optimize the grid paint and the object rendering.
4077         display_render_pixmap passes this info to grid_draw() and data_render().
4079         * app/grid.[ch]:
4080         grid_draw doesn't draw grid lines outside of damaged rectangle.
4081         Sets dashlength when drawing non-solid grid.
4082         
4083         * lib/diagramdata.[ch]:
4084         data_render() and layer_render() takes an optional damaged rectangle
4085         argument. No objects not intersecting this are drawn.
4087         * app/diagram.c:
4088         Fix warning.
4089         Call data_render with NULL update rectangle.
4090         
4091 1999-08-23  James Henstridge  <james@daa.com.au>
4093         * objects/custom/custom_object.c (custom_update_data): if the aspect
4094         ratio is fixed, make sure the shape is not distorted.
4096         * object/custom/shape_info.h, objects/custom/shape_info.c: notice if
4097         a <fixaspectratio/> tag is given in the shape file.
4099         * objects/custom/shape_info.[ch], objects/custom/custom_object.c:
4100         added support for stroke-width, stroke and fill CSS attributes
4101         specified in style attributes of the SVG elements.  The line width
4102         is relative to the user specified line width.  The stroke and fill
4103         attributes can only be used to swap the foreground/background
4104         colours.
4106         * lib/widgets.c (dia_line_style_selector_set_linestyle): set the
4107         sensitivity on the dash length selector when this function is called.
4109         * objects/standard/arc.c: same.  Also handle dash length.
4110         * objects/standard/zigzagline.c: same.
4111         * objects/standard/polyline.c: same.  Also handle dash length.
4112         * objects/standard/line.c: use default arrow/line styles.
4114         * app/interface.c: added callbacks to set the default attributes.
4116         * lib/attributes.c: added implementations of these functions.
4118         * lib/attributes.h: added extra prototypes for the new line properties
4119         area in the toolbox.
4121         * app/interface.c (create_lineprops_area): added line properties
4122         area to bottom of toolbox.
4124         * app/lineprops_area.h: a header exporting a few routines of the
4125         line properties area widgets.
4127         * app/lineprops_area.c: new file containing a selector for arrows
4128         and line styles to go in the main toolbox.
4130 1999-08-22  Alexander Larsson  <alla@lysator.liu.se>
4132         * HACKING:
4133         Update Gtk+ 1.0.5 comment to 1.2.0.
4135         * INSTALL:
4136         Demand libtool 1.3
4138         * acconfig.h:
4139         Add HAVE_LIBPOPT
4141         * configure.in:
4142         Make sure we don't propagate -ldl and -lpopt to all LIBS
4143         by adding new var APP_LIBS that only app/dia links with.
4144                 
4145         * app/Makefile.am:
4146         Update run_dia.sh to load custom and flowchart objects.
4148         * objects/ER/Makefile.am:
4149         * objects/FS/Makefile.am:
4150         * objects/UML/Makefile.am:
4151         * objects/network/Makefile.am:
4152         * objects/standard/Makefile.am:
4153         * objects/sybase/Makefile.am:
4154         Don't build versioned libs.     
4155         
4156 1999-08-22  James Henstridge  <james@daa.com.au>
4158         * configure.in: added objects/custom/Circuit/Makefile to AC_OUTPUT
4159         list.
4161         * objects/Makefile.am (SUBDIRS): added custom to subdir list -- it
4162         should actually work a bit now.
4164         * objects/custom/Circuit/*: a test sheet for the custom shape code.
4165         It is a small collection of circuit elements.
4167         * objects/custom/shape_info.c: fixed up loading of polylines and
4168         polygons.  Before it was removing negative signs :(
4170         * objects/custom/pixmaps/custom.xpm: drew the custom shape icon.  A
4171         placeholder was here before.  I still need to work out how to set
4172         icons for individual custom shapes.
4173         
4174         * objects/custom/custom.c: added code to load the shapes into sheets
4175         properly.  The shape files should be arranged into directories, and
4176         each directory represents a different sheet in the toolbox.  This
4177         will make it very easy to distribute a collection of dia shapes as
4178         a tarball.  I still need to work out internationalisation, and maybe
4179         also shape ordering in the sheet.
4181         * objects/custom/custom_object.c: fixed up dialogs for these objects.
4182         (custom_create): fix for objects without text areas.
4184         * objects/custom/shape_info.h, objects/custom/custom_object.c: loading
4185         and saving of custom object works correctly now.
4187 1999-08-21  James Henstridge  <james@daa.com.au>
4189         * objects/flowchart/ellipse.c: 
4190         * objects/flowchart/diamond.c: 
4191         * objects/flowchart/parallelogram.c: 
4192         * objects/flowchart/box.c: Fixed up a few bugs in these objects when
4193         copying or loading these object types.  Not all the connection
4194         points would be initialised correctly.
4196         * objects/flowchart/Makefile.am (libflowchart_objects_la_LDFLAGS):
4197         similar here.
4199         * objects/custom/Makefile.am (libcustom_objects_la_LDFLAGS): do not
4200         build a versioned library.  It will only ever be dlopen'd, so this
4201         is not a problem.
4203         * objects/custom/custom_object.c (custom_distance_from): allow
4204         selecting the object by clicking on the text.  This fixes problems
4205         where the text box is outside the graphic.
4207         * objects/custom/shape_info.c (load_shape_info): fixed up reading
4208         of connections points.  It should be possible to add connections
4209         to custom objects now.
4211         * objects/custom/custom_object.c (custom_update_data): fixed resizing
4212         due to changes to text.
4214         * configure.in: added extra makefiles.
4215         
4216         * objects/custom/shape_info.[ch]:
4217         * objects/custom/custom_object.c:
4218         * objects/custom/custom.c: the starts of custom shape support in dia.
4219         This is not built by default at the moment, since it is not quite
4220         complete.  When it is, it will let you create more shapes for dia
4221         without writing a line of C.  Its implementation includes buzzwords
4222         such as XML and SVG, so it must be good :)
4224 1999-08-19  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
4226         * app/app_procs.c (app_exit): Use button labels "Quit" and
4227         "Cancel" instead of "Yes" and "No".
4228         Set default action to "Cancel" instead of "Quit".
4230 1999-08-19  James Henstridge  <james@daa.com.au>
4232         * objects/flowchart/flowchart.c: added ellipse object.
4233         
4234         * objects/flowchart/ellipse.c: a new shape for the flowchart toolbox.
4236 1999-08-18  James Henstridge  <james@daa.com.au>d
4238         * app/color_area.c (color_area_edit): small fix to prevent dia from
4239         segfaulting when you try to change the default foreground/background.
4241 1999-08-17  Alexander Larsson  <alla@lysator.liu.se>
4243         * app/diagram.[ch] (diagram_redraw_all):
4244         Added function that redraws all diagrams.
4246         * app/preferences.c (prefs_apply):
4247         Call diagram_redraw_all when prefs are changed.
4249         * app/render_svg.c:
4250         Don't use xmlEncodeEntitiesReentrant(). It doesn't exist on
4251         older libxml's, and the old version works good enought here.
4252         
4253 1999-08-17  James Henstridge  <james@daa.com.au>
4255         * lib/widgets.c: changed handlers that were connected to the GtkButton
4256         "pressed" signal to connect to the "clicked" signal.  This removes the
4257         problem where dialogs are inactive until you click a mouse button
4258         after using a colour selector.
4260         * configure.in: added extra makefiles to AC_OUTPUT list.
4261         
4262         * objects/Makefile.am (SUBDIRS): added flowchart module
4264         * objects/flowchart/*: a collection of shapes for use in flowcharts.
4266         * app/color_area.c (color_area_events): similar here.
4268         * app/linewidth_area.c (linewidth_area_events): sometimes a configure
4269         event is recieved with event->width == 0, which causes a warning if we
4270         try to create a pixmap of that width.
4272         * app/preferences.c, app/preferences.h, app/grid.c: added code to
4273         allow you to configure the colour of the grid, and also lets you
4274         set the grid to use dotted lines instead of solid ones.
4275         
4276         * app/commands.c, app/commands.h, app/diagram.c, app/diagram.h,
4277         app/menus.c, app/Makefile.am: added menu entry for exporting SVG files.
4278         
4279         * app/render_svg.h, app/render_svg.c: an SVG (Scalable Vector Graphics)
4280         export filter.  It is not quite complete, but for most shapes it
4281         works as expected.  Fonts still need a bit of work.
4283 1999-08-11  Robert Brady  <rwb197@ecs.soton.ac.uk>
4285         * configure.in: Added "en_GB" to ALL_LINGUAS.
4287 1999-08-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
4289         * menus.c
4290         Added Undo and Redo to GNOME menus.
4291         
4292         * objects/ER/attribute.c:
4293         * objects/ER/entity.c:
4294         * objects/ER/participation.c:
4295         * objects/ER/relationship.c:
4296         Added get/set_state functions.
4298         * objects/ER/participation.c:
4299         Added add/delete segment.
4301         * po/sv.po
4302         Updated Swedish translation.
4304 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4306         * app/preferences.[hc]:
4307         Added undo_depth pref.
4308         
4309         * app/undo.[ch]:
4310         Never grow stack larger than pref.undo_depth.
4311         undo_depth == 0 means unlimited.
4312         Converted printfs to conditionally compiled DEBUG_PRINTFs.
4313         
4314 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4316         * app/diagram.c:
4317         * app/group.c:
4318         * lib/object.h:
4319         * lib/render_object.c:
4320         * objects/ER/attribute.c:
4321         * objects/ER/entity.c:
4322         * objects/ER/participation.c:
4323         * objects/ER/relationship.c:
4324         * objects/FS/flow-ortho.c:
4325         * objects/FS/flow-poly.c:
4326         * objects/FS/flow.c:
4327         * objects/FS/function.c:
4328         * objects/UML/actor.c:
4329         * objects/UML/association.c:
4330         * objects/UML/class.c:
4331         * objects/UML/classicon.c:
4332         * objects/UML/component.c:
4333         * objects/UML/constraint.c:
4334         * objects/UML/dependency.c:
4335         * objects/UML/generalization.c:
4336         * objects/UML/implements.c:
4337         * objects/UML/large_package.c:
4338         * objects/UML/lifeline.c:
4339         * objects/UML/message.c:
4340         * objects/UML/note.c:
4341         * objects/UML/object.c:
4342         * objects/UML/realizes.c:
4343         * objects/UML/small_package.c:
4344         * objects/UML/state.c:
4345         * objects/UML/usecase.c:
4346         * objects/network/bus.c:
4347         * objects/standard/arc.c:
4348         * objects/standard/box.c:
4349         * objects/standard/ellipse.c:
4350         * objects/standard/image.c:
4351         * objects/standard/line.c:
4352         * objects/standard/polyline.c:
4353         * objects/standard/textobj.c:
4354         * objects/standard/zigzagline.c:
4355         Removed all traces of is_empty(). It doesn't work in an
4356         Undo/Redo world.
4358 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
4360         * app/diagram.c:
4361         * app/group.[ch]:
4362         * app/undo.[ch]:
4363         Undoable grouping and ungrouping.
4365         * app/layer_dialog.c:
4366         * lib/diagramdata.[ch]:
4367         Undoable layer ops.
4369         * app/modify_tool.c:
4370         Undoable unconnect on handle move.
4372         * lib/orth_conn.[ch]:
4373         Working undoable add/remove segment.
4374         Removed endpoint_handles from OrthConn, renamed
4375         midpoint_handles to handles and put the endpoint
4376         handles there.
4378         * objects/standard/zigzagline.c:
4379         * objects/ER/participation.c:
4380         * objects/UML/association.c:
4381         * objects/UML/dependency.c:
4382         * objects/UML/generalization.c:
4383         * objects/UML/realizes.c:
4384         Update for the changes in OrthConn
4385         
4386 1999-07-23  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
4388         * configure.in: Added "de" to ALL_LINGUAS.
4390 1999-07-17  Alexander Larsson  <alla@lysator.liu.se>
4392         * dia.1:
4393         Fixed typo.
4395         * app/display.c:
4396         * po/da.po:
4397         * po/fr.po:
4398         * po/hu.po:
4399         * po/no.po:
4400         * po/pl.po:
4401         * po/sv.po:
4402         Don't have the <Display> etc part of the menu strings
4403         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
4405         * app/diagram.c:
4406         Don't have the <Display> etc part of the menu strings
4407         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
4408         Don't remove is_empty() objects, that don't work with undo.
4410         * lib/objchange.[ch]:
4411         New files.
4412         Definition of ObjectChange. This is essentially an Change
4413         exported to the object libs. It encapsulates a change made
4414         to an objects internals. It can be applied, reverted and freed.
4415         There are also utility functions for doing ObjectChanges that
4416         only get/set the whole state of an object to store the change.
4417         This cannot be used when the object change deletes or adds a
4418         object which has references from other objects, eg. Handles which
4419         might be connected.
4421         * lib/Makefile.am:
4422         Added objchange.c and objchange.h.
4424         * lib/dia_image.c:
4425         Return NULL when loading fails.
4427         * lib/diamenu.h:
4428         Menu callbacks return an ObjectChange.
4430         * lib/dummy_dep.h:
4431         Reference objchange.o
4433         * lib/focus.h:
4434         Key events return ObjectChange if they modify the object.
4436         
4437         * lib/object.h:
4438         Added object_add_handle_at() function.
4439         Apply properties returns an ObjectChange.
4440         Remove ObjectState and the get/set state functions, these
4441         don't always work. Use the new ObjectChange instead.
4442         
4443         * lib/object.c:
4444         Added object_add_handle_at() function implementation.
4445         
4446         * lib/orth_conn.[ch]:
4447         Use ObjectChange. Not finished yet.
4448         Removed get/set/free state functions
4450         * lib/poly_conn.[ch]:
4451         Use ObjectChange.
4452         Don't remove segments that are small.
4453         Removed get/set/free state functions
4455         * lib/text.[ch]:
4456         Use ObjectChange.
4457         Added functions to get/set all text attributes.
4459         * objects/standard/arc.c:
4460         * objects/standard/box.c:
4461         * objects/standard/ellipse.c:
4462         * objects/standard/image.c:
4463         * objects/standard/line.c:
4464         * objects/standard/polyline.c:
4465         * objects/standard/textobj.c:
4466         * objects/standard/zigzagline.c:
4467         Use ObjectChange.
4468         fixed bug in image_set_state.
4469         zigzagline.c not finished yet.
4471         * app/disp_callbacks.c:
4472         Use ObjectChange that are returned from menu callbacks and
4473         key_events for undo.
4475         * app/properties.c:
4476         Use ObjectChange that are returned from properties apply
4477         for undo.
4479         * app/undo.c:
4480         * app/undo.h:
4481         New undo type: ObjectChangeChange. This wraps a change to the
4482         internals of an object (and ObjectChange) in code that does
4483         app specific stuff (object_add_updates etc.)
4485 1999-07-11  Alexander Larsson  <alla@lysator.liu.se>
4487         * lib/orth_conn.[ch]:
4488         Added code for add/delete segment.
4490         * objects/standard/zigzagline.c:
4491         Use the new orth_conn code.
4492         
4494 1999-07-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
4496         * objects/FS/Makefile.am
4497         Removed fs.h from sources.
4499         * Makefile.am
4500         * dia.1
4501         Added man page.
4503 1999-07-07  Alexander Larsson  <alla@lysator.liu.se>
4505         * app/disp_callbacks.c (ddisplay_canvas_events):
4506         Fix for bug. Every other arrow-key press got lost.
4507         patch from Mr. Data Esq. <data@r47h102.res.gatech.edu>
4509         * INSTALL:
4510         change automake.sh to autogen.sh
4511         
4512 1999-06-24  Alexander Larsson  <alla@lysator.liu.se>
4514         * app/diagram.c:
4515         Don't remove 'empty' objects.
4516         This violent destruction of objects won't work
4517         with the new undo framework.
4519         * app/disp_callbacks.c:
4520         Save undo info for object menu calls and key_events.
4522         * app/properties.c:
4523         Save undo info on properties apply.
4525         * lib/dia_image.[ch]:
4526         Add refcounting for images.
4528         * app/render_eps.c:
4529         * app/render_gdk.c:
4530         * lib/render.h:
4531         DiaImage * -> DiaImage
4533         * app/undo.[ch]:
4534         Add undo functions for object state changes.
4536         * lib/focus.h:
4537         * lib/text.c:
4538         change of semntics for focus->key_event.
4539         Now returns TRUE if the object recieving the event
4540         was changed.
4542         * lib/object.h:
4543         Comment changes.
4545         * lib/orth_conn.[ch]:
4546         Don't automatically create and delete segments when
4547         handles are moved. This is incompatible with undo.
4548         Added state get, set and free functions.
4550         * lib/orth_conn.[ch]:
4551         Added state get, set and free functions.
4553         * objects/UML/object.c:
4554         * objects/UML/uml.c:
4555         Fixed typo "UML - Objet" -> "UML - Object".
4556         Saved old for backwards compatibility.
4558         * objects/standard/arc.c:
4559         * objects/standard/box.c:
4560         * objects/standard/ellipse.c:
4561         * objects/standard/image.c:
4562         * objects/standard/line.c:
4563         * objects/standard/polyline.c:
4564         * objects/standard/textobj.c:
4565         * objects/standard/zigzagline.c:
4566         Added get/set state functions.
4567         Textobj has a redo crash-bug.
4568         Zigzagline needs object menus to add segments.
4569         
4571 1999-06-20  Alexander Larsson  <alla@lysator.liu.se>
4573         * app/render_eps.c (set_dashlength):
4574         Don't generate eps files with zero dash-length.
4576 1999-06-16  Alexander Larsson  <alla@lysator.liu.se>
4578         * app/commands.c:
4579         * app/create_object.c:
4580         * app/undo.[ch]:
4581         Finished undo for create and paste.
4582         
4583         * lib/object.h:
4584         Started properties undo.
4586 1999-06-14  Alexander Larsson  <alla@lysator.liu.se>
4588         * TODO:
4589         Added resizeable groups.
4591         * app/app_procs.c:
4592         Removed unused variable.
4594         * app/commands.c:
4595         * app/undo.[ch]:
4596         Undo/redo for cut/delete done.
4598         * app/create_object.c:
4599         * app/modify_tool.c:
4600         * lib/diagramdata.[ch]:
4601         * app/diagram.[ch]:
4602         renamed diagram_add_selected -> diagram_select
4603         renamed diagram_remove_selected -> diagram_unselect
4604         
4605         * app/properties.[ch]:
4606         Added properties_hide_if_shown() function.
4608 1999-06-13  Alexander Larsson  <alla@lysator.liu.se>
4610         * app/undo.[ch]:
4611         * app/Makefile.am:
4612         Undo functions.
4613         
4614         * app/commands.[ch]
4615         * app/modify_tool.[ch]
4616         * app/object_ops.[ch]
4617         * app/connectionpoint_ops.c
4618         * app/menus.c
4619         Use undo functions.
4620         WARNING: Not finished. Will break.
4621         Finished: move object, move handle.
4623         * app/diagram.[ch]
4624         Added diagram_selected_break_external() function.
4625         It removes all connections between selected objects
4626         and non-selected.
4627         Add undo stack to Diagram.
4628         
4629         * lib/diagramdata.[ch]
4630         Added layer_remove_objects() function
4631         
4632 1999-06-11  Fredrik Hallenberg  <hallon@lysator.liu.se>
4634         * objects/FS/Makefile.am
4635         * objects/sybase/Makefile.am
4636         Now uses GNOME_CFLAGS.
4638         * app/app_procs.c
4639         Now compiles with GNOME even if popt.h isn't available.
4641 1999-06-10  Alexander Larsson  <alla@lysator.liu.se>
4643         * configure.in
4644         * objects/Makefile.am
4645         * objects/sybase/*
4646         First version of sybase objects from
4647         Brian Bruns <camber@umcc.ais.org>
4649 1999-06-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
4651         * configure.in
4652         Added fr to ALL_LINGUAS
4654 1999-06-09  Fredrik Hallenberg  <hallon@lysator.liu.se>
4656         * configure.in
4657         * app/app_procs.c
4658         Popt-code is activated if popt is available.
4660 1999-06-08  Alexander Larsson  <alla@lysator.liu.se>
4662         This is a patch from David Thompson <dcthomp@mail.utexas.edu>
4663         
4664         * lib/orth_conn.[ch]:
4665         Added orthconn_get_middle_handle()
4667         * lib/text.[ch]:
4668         Added text_set_cursor_at_end()
4669         
4670         * objects/FS/*
4671         Added first version of functions structure diagrams.
4672         
4673 1999-05-24  Alexander Larsson  <alla@lysator.liu.se>
4675         * app/modify_tool.c:
4676         Include math.h to remove warning.
4678         * app/commands.c (dialogs_properties_callback):
4679         Bring up correct properties dialog when selected
4680         from menu.
4681         From Dan Cohn <dan@internap.com>
4683 1999-05-20  Alexander Larsson  <alla@lysator.liu.se>
4685         Patch from Lars R. Clausen 
4686         
4687         * app/modify_tool.c:
4688         Changed abs to fabs.
4690 1999-05-19  Alexander Larsson  <alla@lysator.liu.se>
4692         * INSTALL: 
4693         * configure.in:
4694         Require Gtk+ 1.2.0
4696 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
4698         Patches from Dan Cohn <dan@internap.com>
4699         
4700         * app/commands.[ch]: 
4701         * app/display.[ch]: 
4702         * app/menus.c:
4703         * app/preferences.[ch]:
4704         Implements ability to turn on/off connection points in
4705         current drawing and in global prefs.
4707 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
4709         * lib/widgets.c (dia_line_style_selector_init): 
4710         Fixed warnings.
4711         
4712         * lib/diagramdata.c (layer_update_extents):
4713         Fixed uninitialized variable error.
4715 1999-05-17  Alexander Larsson  <alla@lysator.liu.se>
4717         * lib/dia_image.c:
4718         Made some changes to the gdk_imlib visual+colormap setup.
4720 1999-05-17  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4722         * objects/UML/usecase.c: 
4723        * objects/UML/lifeline.c
4724         Fine tunning.
4726         * objects/UML/object.c: 
4727         * objects/UML/message.c: 
4728         Changed font from Courier to Helvetica.
4730         * lib/widgets.c: 
4731         * lib/widgets.h:
4732         Added dash lenth to the LineStyle widget.
4733         
4734         * objects/standard/ellipse.c :
4735         * objects/standard/zigzagline.c: 
4736         * objects/standard/line.c: 
4737         Added dash lenght property.
4739 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
4741         * app/render_eps.c:
4742         First shot at latin1 encoded eps files.
4743         Works, but the eps files get a bit large.
4744         
4745 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
4747         * objects/UML/class.[ch]: 
4748         * objects/UML/uml.[ch]:
4749         Reverted the line wrap changes.
4750         Some day this might return, but it has to be selectable and
4751         default to off for loaded objects, otherwise it breaks file
4752         format compatibility.
4753         There was also some complains about how it looked, so a making it
4754         selectable is good for this too.
4756 1999-05-15  Alexander Larsson  <alla@lysator.liu.se>
4758         * objects/UML/class.[ch]:
4759         Some indentation cleanup.
4760         Added wrap_lines variable to class.
4761         I'll fix the line break stuff tomorrow.
4763 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
4765         * lib/dummy_dep.h:
4766         Added ref to poly_conn.o.
4768         * objects/standard/polyline.c (polyline_draw): 
4769         * objects/standard/zigzagline.c (zigzagline_draw): 
4770         * objects/standard/arc.c (arc_draw): 
4771         * objects/standard/line.c (line_draw):
4772         Draw lines before arrows. This makes hollow arrows not
4773         show the line.
4775 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
4777         Changes from Kim Peasley <kpeasley@ior.com> 
4778                 
4779         * objects/UML/class.c:
4780         Break lines with long operations so classes won't be
4781         so wide.
4783         * objects/UML/uml.[ch]:
4784         Helperfunctions for the above.
4785         
4786         * objects/UML/objects.c:
4787         Fix bug that duplicated the text in the attributes
4788         textwidget each time the object was selected.
4789         
4790 1999-05-12  Alexander Larsson  <alla@lysator.liu.se>
4792         Changes from Lars R. Clausen <lrclause@cs.uiuc.edu>
4793         
4794         * app/modify_tool.c:
4795         * app/modify_tool.h:
4796         Control-drag is restricted to vertical/horizontal movement
4797         
4798         * lib/object.h:
4799         ModifierKeys argument added to object_move_handle
4801         * app/connectionpoint_ops.c:
4802         * app/create_object.c:
4803         * app/object_ops.c:
4804         * objects/ER/attribute.c:
4805         * objects/ER/entity.c:
4806         * objects/ER/participation.c:
4807         * objects/ER/relationship.c:
4808         * objects/UML/actor.c:
4809         * objects/UML/association.c:
4810         * objects/UML/class.c:
4811         * objects/UML/classicon.c:
4812         * objects/UML/component.c:
4813         * objects/UML/constraint.c:
4814         * objects/UML/dependency.c:
4815         * objects/UML/generalization.c:
4816         * objects/UML/implements.c:
4817         * objects/UML/large_package.c:
4818         * objects/UML/lifeline.c:
4819         * objects/UML/message.c:
4820         * objects/UML/note.c:
4821         * objects/UML/object.c:
4822         * objects/UML/realizes.c:
4823         * objects/UML/small_package.c:
4824         * objects/UML/state.c:
4825         * objects/UML/usecase.c:
4826         * objects/network/bus.c:
4827         * objects/standard/arc.c:
4828         * objects/standard/box.c:
4829         * objects/standard/ellipse.c:
4830         * objects/standard/image.c:
4831         * objects/standard/line.c:
4832         * objects/standard/polyline.c:
4833         * objects/standard/textobj.c:
4834         * objects/standard/zigzagline.c:
4835         Changed calls to move_handle to pass the new argument.
4836         
4837         * lib/widgets.c:
4838         * lib/widgets.h:
4839         Default line width, color etc #define'd
4840         
4841         * po/da.po:
4842         Updates of danish menus
4844 1999-05-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
4846         * dia.xpm
4847         * dia_gnome_icon.png
4848         * dia_gnome_menu_icon.png
4849         * dia_logo.png
4850         Graphics by Toussaint Frédéric <ftoussin@club-internet.fr>.
4852         * app/commands.c
4853         About dialog shows dia_logo.png. Removed the GNOME about dialog.
4855         * Makefile.am
4856         Distribute the icons and install logo in pkgdatadir.
4857         
4858         * app/Makefile.am
4859         Added DATADIR-define.
4860         
4861 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
4862         Patches from Enrico Scholz <enrico.scholz@wirtschaft.tu-chemnitz.de>
4864         * dia.spec:
4865         Updated version number, made setup quiet, can build from cvs,
4866         --enable-gnome, now using automake 1.4 DESTDIR feature, install-strip
4868         * lib/Makefile.am
4869         * objects/ER/Makefile.am
4870         * objects/UML/Makefile.am
4871         * objects/network/Makefile.am
4872         * objects/standard/Makefile.am
4873         now builds better with gnome
4875         * objects/UML/class_dialog.c
4876         Fixed typo -> po files must be updated too!!
4877         
4878 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
4880         * lib/dummy_dep.h:
4881         Added reference so that widgets.o gets linked to the app.
4883 1999-04-23  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4885         * objects/UML/classicon.c: 
4886         Added object mode.
4888         * objects/UML/actor.c: 
4889         Changed position of 'snap-to-grid' so connection points are
4890         in the grid.
4892 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
4894         * objects/UML/classicon.c:
4895         Changed position of 'snap-to-grid'.
4896         By Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
4897         
4898 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
4900         * objects/network/antenna.c
4901         * objects/network/flash.c
4902         * objects/network/hub.c
4903         * objects/network/modem.c
4904         * objects/network/modularswitch.c
4905         * objects/network/rj45plug.c
4906         * objects/network/scead-plug.c
4907         * objects/network/network.c
4908         * objects/network/Makefile.am
4909         * objects/network/pixmaps/antenna.xpm
4910         * objects/network/pixmaps/flash.xpm
4911         * objects/network/pixmaps/hub.xpm
4912         * objects/network/pixmaps/modem.xpm
4913         * objects/network/pixmaps/modularswitch.xpm
4914         * objects/network/pixmaps/rj45plug.xpm
4915         * objects/network/pixmaps/sceadplug.xpm
4916         * objects/network/pixmaps/Makefile.am
4917         Lots of new network objects from
4918         Roland Steinbach <roland@support-system.com>.
4920 1999-04-15  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4922         * objects/UML/classicon.c: 
4923         Fixed connection positions, saved type as int (it has 3 states),
4924         and other small fixes.
4925         
4926 1999-04-14  Alexander Larsson  <alla@lysator.liu.se>
4928         * app/preferences.c:
4929         * app/load_save.c:
4930         Added preference compress_save. It lets dia save uncompressed
4931         xml files.
4933         * objects/UML/class.c:
4934         Fixed bug with size calculation on methods that had class scope.
4935         
4936 1999-04-13  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4938         * objects/UML/usecase.c: 
4939         Added collaboration mode
4940         Fixed connection points with text > ellipse bug and other 
4941         small things
4943         * objects/UML/state.c:
4944         Fixed bug of bad position of text after being either end
4945         or begin, moved and returned to text
4947 1999-04-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
4949         * app/preferences.c: Add prototype declaration for prefs_apply.
4951 1999-04-11  Alexander Larsson  <alla@lysator.liu.se>
4953         * app/preferences.c:
4954         Added 'ok' button.
4955         Apply don't hide window.
4957         * app/properties.c:
4958         Add 'ok' button.
4960         * objects/UML/object.c:
4961         * objdcts/UML/state.c:
4962         Some data was not copied on copy.
4964         This patch is from
4965         Ben Hochstedler <benh@eeyore.moneng.mei.com>
4967 1999-04-09  Alexander Larsson  <alla@lysator.liu.se>
4969         * app/Makefile.am:
4970         Changed link order between X and libxml.
4971         Some people had problems with an old libz in their
4972         x11 directory.  
4974 1999-04-09  Kjartan Maraas  <kmaraas@online.no>
4976         * po/no.po: updated translation.
4977         
4978 1999-04-08  Lars R. Clausen <lrclause@cs.uiuc.edu>
4980         * lib/message.c (message_error):
4981         Fixed small error.
4983         * app/commands.[ch]:
4984         * app/diagram.[ch]:
4985         Added begining of xfig importing
4987 1999-04-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
4989         * objects/UML/pixmaps/state.xpm: 
4990         * objects/UML/state.c: 
4991         New UML object state machine.
4993         * objects/UML/uml.c:
4994         * objects/UML/Makefile.am:
4995         * objects/UML/pixmaps/Makefile.am:
4996         Added the state object.
4997         
4998 1999-04-08  Alejandro Aguilar Sierra  <ale@bucefalo>
5000         * objects/UML/usecase.c: 
5001         Added dialog to allow move text outside the ellipse.
5003 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
5005         * Released Dia 0.41
5006         Tag called DIA_0_41
5008         * NEWS:
5009         Updates for 0.41.
5010         
5011 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
5013         * configure.in:
5014         Updated version number to 0.41
5016         * po/*.po:
5017         Update po-files
5019 1999-04-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
5021         * app/app_procs.c
5022         Changed errormessage for --export-to-ps. Removed call to 
5023         g_log_set_always_fatal().
5025         * app/diagram.c
5026         * app/disp_callbacks.c
5027         * app/load_save.c
5028         (i18n) Removed gettext from some debugmessages.
5030         * app/menus.c
5031         Small fix in GNOME-menus. Added warning that will help track
5032         problems with translations.
5034         * po/sv.po
5035         (i18n) Updated swedish translation.
5037 1999-04-02  Alexander Larsson  <alla@lysator.liu.se>
5039         * po/da.po:
5040         New updates
5042 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
5044         * po/da.po:
5045         * po/no.po:
5046         Some fixes.
5047         
5048 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
5050         * po/da.po:
5051         (i18n) Updated the danish translation.
5052         From Lars R. Clausen.
5054 1999-04-01  Fredrik Hallenberg  <hallon@lysator.liu.se>
5056         * app/menus.c
5057         (i18n) The popup menu is translated now.
5059         * po/sv.po
5060         (i18n) Updated swedish translation.
5062 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
5064         * Released Dia 0.40
5065         Tag called DIA_0_40
5067         * NEWS:
5068         Updated for new release
5069         
5070 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
5072         * objects/network/bus.c:
5073         Added initialization of properties dialog to NULL.
5075         * app/commands.c (edit_cut_callback):
5076         Update menu sensitivity when cut object.
5078         * app/modify_tool.c (click_select_object):
5079         * app/modify_tool.c (modify_button_release): 
5080         Call diagram_update_menu_sensitivity() when
5081         selecting objects to update stuff that depends
5082         on selected/not selected.
5084 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
5086         * Makefile.am:
5087         Change order of subdir so that libintl.a builds.
5088         Now passed make distcheck.
5090 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5092         * lib/font.c (init_x11_font):
5093         Stupid bug fixed.
5095 1999-03-28  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5097         * objects/UML/pixmaps/classicon.xpm: 
5098         * objects/UML/classicon.c:
5099         * objects/UML/uml.c:
5100         Added the class stereotype icon objects.
5102         * app/commands.c:
5103         Changed default ps extension from .ps to .eps.
5104         
5105 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5107         * lib/Makefile.am:
5108         Added diamenu.h and intl.h
5110         * lib/font.c:
5111         Stupid typo fix.
5112         
5113         * objects/UML/pixmaps/Makefile.am:
5114         Added message.xpm
5116         * objects/standard/pixmaps/Makefile.am:
5117         Added image.xpm
5119 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5121         * lib/font.c:
5122         Use a scalable font before fixed when real font not found.
5124         * app/commands.c:
5125         Removed warning.
5127         * objects/standard/image.c:
5128         Better handling of loading/saving of images.
5130         * INSTALL:
5131         Added some text about cvs, fonts and rewrote some parts.
5133         * TODO:
5134         Updated with new stuff.
5135         
5136         * configure.in:
5137         Bump up version number to 0.40.
5138         
5139 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5141         * app/display.c:
5142         Moved diagram_add_ddisplay() call into new_display().
5143         Fixed new_display to not use uninitialized variables
5144         causing loaded files to show up as black (or garbage).
5145         
5146         * app/commands.c:
5147         * app/app_procs.c:
5148         Removed unneeded calls to diagram_add_ddisplay().
5149         
5150 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
5152         * objects/UML/lifeline.c:
5153         Fixed bug in copy.
5154         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
5156         * objects/UML/message.c:
5157         Fixed bug loading messages with null-text.
5158         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
5160 1999-03-27  Fredrik Hallenberg  <hallon@lysator.liu.se>
5162         * po/sv.po
5163         Updated swedish translation.
5165         * app/menus.c
5166         (GNOME) Removed help-browser from help menu. Fixed typo.
5168         * app/interface.c
5169         (GNOME) Accelerators in diagrams should work now. 
5171 1999-03-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
5173         * app/app_procs.c
5174         * app/commands.c
5175         * app/defaults.c
5176         * app/disp_callbacks.c
5177         * app/display.c
5178         * app/interface.c
5179         * app/menus.c
5180         * app/preferences.c
5181         * app/render_eps.c
5182         * lib/diagramdata.c
5183         * lib/font.c
5184         * lib/message.c
5185         * lib/widgets.c
5186         * objects/ER/*.c
5187         * objects/UML/*.c
5188         * objects/network/*.c
5189         * objects/standard/*.c
5190         * po/update_pofiles_in.sh
5191         * po/POFILES.in
5192         More i18n. All strings (expect rare debug messages) can be
5193         translated now. Moved intl.h from app to lib. Updated
5194         update_pofiles_in.sh to check all .c-files.
5196 1999-03-23  Alexander Larsson  <alla@lysator.liu.se>
5198         * app/disp_callbacks.c (ddisplay_canvas_events):
5199         Don't drop keys while num-lock, scroll-lock etc is on.
5201 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5203         * app/render_eps.c (draw_image):
5204         Fixed exporting of images.
5205         Still not perfect, but not outright buggy.
5206         
5207 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5209         * configure.in:
5210         * po/hu.po:
5211         Added hungarian translation. By Shooby Ban <bansz@szif.hu>.
5213         * app/Makefile.am:
5214         Added $* to the dia call in run_dia.sh
5216 1999-03-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5217         
5218         * lib/color.[ch]:
5219         Added color_equals() call.
5221         * objects/standard/arc.c:
5222         * objects/standard/line.c:
5223         Don't save unneccesary data.
5224         
5225         * objects/standard/box.c:
5226         * objects/standard/ellipse.c:
5227         * objects/standard/image.c:
5228         * objects/standard/polyline.c:
5229         * objects/standard/zigzagline.c:
5230         Share properties dialog.
5231         Don't save unneccesary data.
5232         
5233 1999-03-22  Seth Alves  <alves@hungry.com>
5235         * app/menus.c:
5236         * app/diagram.c:
5237         * app/display.c:
5238         small changes so that gnome menus aren't broken
5239         
5240 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
5242         * po/da.po:
5243         Added danish translation from lrclause@cs.uiuc.edu.
5245         * po/POFILES.in:
5246         Updated file.
5248         * po/update_pofiles_in.sh:
5249         Added script that updates POFILES.in.
5250         This should probably be run automatically from somewhere.
5252 1999-03-19  Alexander Larsson  <alla@lysator.liu.se>
5254         * app/diagram.[ch]:
5255         Added function diagram_update_menu_sensitivity() which
5256         sets the sensitivity of some menu items. This function
5257         is called at each diagram state change (from diagram_modified()).
5258         This is needed  because otherwise the keyboard accelerators
5259         don't work correctly.
5261         * app/display.[ch]:
5262         Changed display_set_menu_sensitivity() to display_update_menu_state().
5263         Moved lots of code to diagram_update_menu_sensitivity() in
5264         diagram.c. Optimized to only look up menu-items from path:s once.
5265         
5266         * app/disp_callbacks.c:
5267         * app/interface.c:
5268         When we get a GDK_FOCUS_CHANGE, update menu sensitivity.
5269         Need to set GDK_FOCUS_CHANGE_MASK.
5270         
5271         * app/create_object.c:
5272         Call diagram_modified when an object has been created and
5273         selected so that the menu sensitivity is updated. 
5275         * app/menus.[ch]:
5276         removed menus_set_sensitive() and menus_set_state(). Exported
5277         renamed function menus_get_item_from_path().
5279 1999-03-15  Alexander Larsson  <alla@lysator.liu.se>
5281         * app/disp_callbacks.c:
5282         Show (empty) object menus on object that has none.
5283         Show title on object menus.
5285         * app/display.c:
5286         Set zoom factor correctly when opening new displays.
5287         Better setting of scrollbars.
5289         * app/grid.c:
5290         * app/menus.h:
5291         Some reformating cleanup.
5293         * lib/diamenu.h:
5294         Added title to object menus.
5296         * objects/*/*.c:
5297         Added object menu method (NULL-valued) to all objects.
5299         * objects/standard/polyline.c:
5300         Added title to object menu.
5302 1999-03-14  Alexander Larsson  <alla@lysator.liu.se>
5304         * app/preferences.[ch]:
5305         New files. Implements the preferences dialog and
5306         loading/saving of ~/.diarc.
5308         * app/Makefile.am:
5309         Added preferences.[ch].
5311         * app/app_procs.c:
5312         Load preferences on startup.
5314         * app/commands.[ch]:
5315         Added file_preferences_callback to show the preferences dialog.
5317         * app/create_object.c:
5318         Update extents when creating object.
5319         Use the reset_tools_after_create preferences setting.
5321         * app/display.c:
5322         Use preferences when creating new display.
5324         * app/menus.c:
5325         Add preferences to menu.
5327         * app/defaults.c:
5328         * app/layer_dialog.c:
5329         * app/properties.c:
5330         Don't allow shrinking of dialog.
5331         Add i18n of some strings.
5333 1999-03-11  Kjartan Maraas  <kmaraas@fib.hl.no>
5334         * po/no.po:
5335         Norwegian translation added.
5336         
5337 1999-03-11  Alexander Larsson  <alla@lysator.liu.se>
5339         * objects/standard/line.c: 
5340         * objects/standard/arc.c: 
5341         * objects/standard/polyline.c: 
5342         * objects/standard/zigzagline.c:
5343         Loading of arrow data fixed.
5345 1999-03-09  Alexander Larsson  <alla@lysator.liu.se>
5347         * app/commands.c:
5348         Update extents when saving and exporting to postscript.
5349         Fixes a bug with postscript bounding-box being wrong.
5351         * app/defaults.c:
5352         Changed border width from 5 to 2.
5354         * app/group.c:
5355         Move grouped objects by the move-point of the first object.
5356         Fixes bug that made all objects in the group be off-grid
5357         when moving the group, even though all objects was on-grid.
5359         * app/layer_dialog.c:
5360         Update extents when changing layer.
5362 1999-03-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5364        * objects/UML/uml.c: 
5365        * objects/UML/component.c: 
5366        * objects/UML/pixmaps/component.xpm: 
5367        Added the UML component object
5368         
5369 1999-03-04  Seth Alves  <alves@hungry.com>
5371         * objects/UML/generalization.c (generalization_create): avoid
5372         math on uninitialized genlz->text_width (NaN causes sigfpe)
5373         
5374         * objects/UML/realizes.c (realizes_create): same
5376         * objects/UML/dependency.c (dependency_create): same
5378 1999-03-01  Seth Alves  <alves@hungry.com>
5380         * app/display.c (ddisplay_active): don't fly a warning panel
5381         if ddisplay_active is called when no views are open.
5383         * app/commands.c (set_default_file_selection_directory): set
5384         file selector's default directory if there is already
5385         a document open.
5387 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5389         * INSTALL:
5390         New info about imlib requirements.
5392         * Configure.in:
5393         Added lib/pixmaps/Makefile to created makefiles.
5395         * app/app_procs.c:
5396         * app/commands.c:
5397         Change from obsoleted to newer gtk calls.
5398         
5399         * load_save.c:
5400         Pass filename of the diagram when loading and saving.
5401         This creates better oportunities to handle filename saving.
5403         * lib/object.h:
5404         Pass filenames to load and save methods.
5405         
5406         * lib/dia_image.[ch]:
5407         Added dia_image_get_broken() call that returns a image which
5408         is used for 'broken' images.
5409         
5410         * lib/pixmaps/.cvsignore:
5411         * lib/pixmaps/Makefile.am:
5412         * lib/pixmaps/broken.xpm:
5413         New files for the broken image bitmap.
5415         * lib/widgets.c:
5416         Fixed bug with double destroyed filedialog.
5418         * objects/*/*.c:
5419         Updated load and save prototypes to use the new filename argument.
5421         * objects/image.c:
5422         Render broken image instead of line when got no image.
5423         Use the new filename in load and save to save (if possible)
5424         relative pathnames and to better try to find loaded images.
5426 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5428         * TODO:
5429         Some updates to the todo file.
5430         
5431         * app/menus.c:
5432         * app/display.c:
5433         Place over/place over => sent to back/bring to front.
5434         Added some keyboard shortcuts to menus.
5435         
5436 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
5438         * lib/dia_xml.c:
5439         Changed string saving/loading to a new method. This should
5440         be much better att handling &,<,> and whitespaces.
5441         Loading strings of the old kind is still supported for backwards
5442         compatibility.
5444         * samples/ER-demo.dia:
5445         * samples/UML-demo.dia:
5446         Updated to use the new strings.
5447         
5448         * app/load_save.c:
5449         statusbar modified update fix.
5451 1999-02-27  Seth Alves  <alves@hungry.com>
5453         * app/app_procs.c (app_init): added a --export-to-ps option
5454         which will cause dia to load a dia file and save it as ps
5455         and then exit.  this is a little bogus, because it still
5456         pops up a window.  this option only shows up if --enable-gnome
5457         is used
5459         * app/display.c (display_set_menu_sensitivity): no Edit/Delete
5460         menu when built with --enable-gnome
5462         * app/interface.c (create_display_shell): build status bar
5463         even if --enable-gnome is used
5465         * app/menus.c: menu fixes for --enable-gnome
5467         * app/commands.c (file_open_dialog_ok_callback): fixed up
5468         menus when --enable-gnome is used
5469         (file_export_to_eps_callback): set a default file name
5470         when dialog is created
5472 1999-02-27  Alexander Larsson  <alex@c125.ryd.student.liu.se>
5474         * objects/UML/association.c (association_create):
5475         Fixed usage of not initialized variable.
5476         Pointed out by Seth Alves <alves@hungry.com>.
5478 1999-02-24  Alexander Larsson  <alex@c125.ryd.student.liu.se>
5480         * configure.in:
5481         Fixed detection of gnome-xml.
5482         From Valtteri Vuorikoski <vuori@k.notcom.org>.
5483         
5484         * app/app_procs.c:
5485         Fixed error detection on dlsym calls. 
5486         From Valtteri Vuorikoski <vuori@k.notcom.org>.
5488 1999-02-23  Alexander Larsson  <alla@lysator.liu.se>
5490         * objects/UML/message.c (fill_in_dialog):
5491         Fixed warnings.
5493 1999-02-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5495         * objects/standard/zigzagline.c:
5496         * objects/standard/polyline.c:
5497         * objects/standard/line.c:
5498         * objects/standard/arc.c:
5499         * lib/widgets.h:
5500         * lib/arrows.h:
5501         * lib/widgets.c:
5502         Support for sizeable arrows. 
5504         * objects/standard/box.c:
5505         * objects/standard/ellipse.c:
5506         * objects/standard/image.c:
5507         Changed creation handle to lower-right.
5508         Transparent box/ellipse.
5509         
5510         * objects/standard/image.c:
5511         Better layout of properties boxes.
5513 1999-02-20  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5515         * objects/UML/message.c (fill_in_dialog): 
5516         Fixed dialog fill in. Common dialog for all messages.
5518         * objects/UML/object.c: 
5519         Added multiple instance. Dialog related bugs fixed.
5520         Common dialog for all instances. Completed copy and destroy.
5522         * objects/UML/lifeline.c (lifeline_load): 
5523         Conn initialization bug fixed and few bad loading prevention flags.
5524         Common dialog for all lifeline objects.
5525         
5526 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5528         * lib/dia_image.[ch]:
5529         More work on the DiaImage abstraction.
5530         
5531         * app/app_procs.c:
5532         * app/render_eps.c:
5533         * app/render_gdk.c:
5534         * objects/standard/image.c:
5535         Use the new DiaImage calls.
5537 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5539         * app/menus.c:
5540         * app/display.c:
5541         Reversed the meaning of align horizontal/vertical.
5543 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5545         * app/load_save.c (diagram_load):
5546         Statusbar update fix.
5548 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5550         * app/interface.c (create_display_shell):
5551         Fixed status bar size.
5552         
5553 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
5555         * lib/dia_image.[ch]:
5556         Added extern declaration for dia_image_release.
5557         Removed dia_image_draw, as it's not neseccary.
5559 1999-02-14  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5560         
5561         * app/object_ops.c: 
5562         * app/menus.c: 
5563         Added equal distance alignment both vertical and horizontal.
5564         
5565         * objects/UML/object.c: 
5566         Added a couple of attributes to load/read that were missing.
5568         * objects/UML/lifeline.c: 
5569         Better handling of handles. Fixed another bug I forgot to add
5570         to my last patch.
5571         
5572 1999-02-13  Alexander Larsson  <alla@lysator.liu.se>
5574         Patch from Lars Clausen <lrclause@shasta.cs.uiuc.edu>
5575         
5576         * lib/dia_image.[ch]:
5577         * lib/Makefile.am:
5578         New files. DiaImage wraps the GdkImlibImage.
5580         * lib/render.h:
5581         * app/render_eps.c:
5582         * app/render_gdk.c:
5583         * lib/render_store.[ch]:
5584         * objects/standard/image.c:
5585         Use the new DiaImagetype.
5587         * lib/widgets.c:
5588         Removed unused variable to eliminate  warning.
5590 1999-02-11  Alexander Larsson  <alla@lysator.liu.se>
5592         * objects/standard/box.c:
5593         Added rounded corners on the box object.
5595         * lib/widgets.[ch]:
5596         Updated the DiaFileSelector widget.
5597         
5598 1999-02-09  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5600         * objects/UML/object.c (objet_draw): 
5601         Completed underlining of all object name lines. 
5603         * objects/UML/message.c (fill_in_dialog): 
5604         Fixed a bug that filled incorrectly the message's dialog.
5606         * objects/UML/lifeline.c (lifeline_load): 
5607         Some cleanning and fixed a couple of bugs that caused
5608         crashes after reading diagrams with lifelines.
5610         * lib/text.c: 
5611         Added flags to prevent crash with void strings
5613 1999-02-07  Matthias Köster <Matthias.Koester@Informatik.Uni-Oldenburg.DE>
5614         * app/display.[ch]:
5615         Added statusbar to the display widget. Currently shows the zoom
5616         factor and modified flag of the viewed diagram. The statusbar is
5617         updated upon calls to ddisplay_zoom and ddisplay_update_statusbar.
5618         This caused the following additions:
5619         
5620         * app/diagram.[ch]:
5621         Added function diagram_set_modified. Calls
5622         ddisplay_update_statusbar for all displays showing the modified diagram.
5623         Changed diagram_modified to call diagram_set_modified.
5624         
5625         * app/interface.c:
5626         Added the creation of the statusbar.
5627         
5628         * app/load_save.c:
5629         diagram_save now calls diagram_set_modified instead of setting
5630         dia->modified. Needed to force call to display_update_statusbar
5631         
5632         * app/commands.c:
5633         Changed the way view_show_all works. Now calls ddisplay_zoom
5634         instead of directly setting the zoom_factor, so the zoom factor is
5635         correctly shown in the statusbar.
5637         * app/magnify.c:
5638         Fixed rubberband zoom to use ddisplay_zoom().
5639         
5640 1999-02-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
5642         * app/app_procs.c
5643         Rudimentary GNOME session management.
5644         
5645         * app/disp_callbacks.c
5646         * app/interface.c
5647         * app/menus.c
5648         * app/menus.h
5649         GNOME menus. Problems: 
5650         Callbacks doesn't get user_data.
5651         Weird warnings when creating popup menus.
5652         menus_set_sensitive(), menus_set_state() doesn't work.
5654 1999-02-05  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
5656         * configure.in:
5657         Add AM_PATH_GDK_IMLIB() call.
5659         * app/Makefile.am:
5660         Add gdk_imlib to linking flags.
5662         * app/app_procs.c:
5663         Init gdk_imlib.
5664         Print library-loading error messages on stdout too.
5666         * app/interface.c:
5667         Add standard image to toolbox.
5668         
5669         * app/render_eps.c: 
5670         Set a more reasonable dot length.  Fixed
5671         missing initialization of dot length.
5672         Added draw_image methods.
5674         * app/render_gdk.c (new_gdk_renderer): 
5675         Dot a bit wider.  Looks good in normal mode now.
5677         * objects/standard/image.c:
5678         * objects/standard/pixmaps/image.xpm:
5679         New files. Standard object for images.
5680         
5681         * app/render_eps.c (set_linestyle):
5682         * app/render_gdk.c (set_linestyle):
5683         * lib/widgets.c (dia_line_style_selector_init): 
5684         * lib/render.h: 
5685         New line style DOTTED.
5687         * lib/render.h:
5688         * lib/render_store.c:
5689         Change DrawImage call to use gdk_imlib.
5691         * lib/widgets.[ch]:
5692         Added widgets for selecting files.
5693         Added dotted to the linestyle selector.
5695 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
5697         * objects/network/printer.c:
5698         * objects/network/network.c:
5699         * objects/network/pixmaps/printer.xpm:
5700         * objects/network/.cvsignore:
5701         * objects/network/Makefile.am:
5702         * objects/network/pixmaps/Makefile.am:
5703         New printer object in network.
5704         From Martin Hawlisch <hawlisch@roxi.rz.fh-mannheim.de>
5706         * TODO:
5707         Added known XML bug.
5708         
5709 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
5711         * app/load_save.c:
5712         * lib/dia_xml.c:
5713         Reverted back from #include <gnome-xml/tree.h> to
5714         #include <tree.h> as this is fixed by the xml-config program.
5715         The former way broke for some people.
5716         Reported by blizzard@redhat.com.
5718         * objects/UML/lifeline.c:
5719         * objects/UML/message.c:
5720         * objects/UML/object.c:
5721         Removed some warnings.
5722         
5723 1999-02-04  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5725         * objects/UML/lifeline.c: 
5726         Fixed connection points over the life line when the focus of
5727         control is not drawn.
5729         * objects/UML/message.c: 
5730         Now a recursive message can be freely resized using the handles.
5732 1999-02-02  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5734         * objects/UML/lifeline.c:
5735         Added connection points.
5736         Added properties dialog with the option to draw/hide focus of control
5737         box and destruction mark.
5739         * objects/UML/object.c: 
5740         Added properties dialog and stereotype, explicit state and attributes. 
5741         It's also possible to mark the object as active.
5743         * objects/UML/pixmaps/object.xpm: 
5744         Cosmetic change.
5746         * objects/UML/message.c:
5747         Added "recursive" message type (was not necessary to use OrthConn).
5749 1999-02-02  Alexander Larsson  <alla@lysator.liu.se>
5751         * objects/standard/arc.c:
5752         Removed old debug code. Fixes a visual bug. From lrclause@cs.uiuc.edu.
5754 1999-02-01  Alexander Larsson  <alla@lysator.liu.se>
5756         Patch from Lars R. Clausen <lrclause@cs.uiuc.edu>
5757         
5758         * app/load_save.c:
5759         * lib/dia_xml.c:
5760         Update xml includes to gnome-xml/*.h.
5762         * objects/standard/arc.c:
5763         Only one property dialog per type.
5764         Fix arrows directions.
5766         * objects/standard/box.c:
5767         * objects/standard/ellipse.c:
5768         * objects/standard/textobj.c
5769         Added default properties dialog.
5770         
5772 1999-01-31  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
5774         * objects/UML/Makefile.am: 
5775         * objects/UML/uml.c:
5776         * objects/UML/lifeline.c: 
5777         * objects/UML/object.c: 
5778         * objects/UML/message.c:
5779         * objects/UML/pixmaps/lifeline.xpm: 
5780         * objects/UML/pixmaps/object.xpm: 
5781         * objects/UML/pixmaps/message.xpm:
5782         Added 3 new UML objects for dynamic modeling. To avoid internal 
5783         conflicts, the name "objet" is used for object "object".        
5785         * lib/arrows.[ch]: 
5786         Added ARROW_HALF_HEAD arrow type to allow drawing asynchronous
5787         UML messages.
5788         
5789 1999-01-30  Alexander Larsson  <alla@lysator.liu.se>
5791         * app/display.[ch]:
5792         * app/modify_tool.c:
5793         Added autoscrolling while doing rubber-band select.
5794         This patch from Matthias Köster
5795         (Matthias.Koester@Informatik.Uni-Oldenburg.DE)
5796         
5798 1999-01-28  Alexander Larsson  <alla@lysator.liu.se>
5800         * app/defaults.[ch]:
5801         New files, deals with default properties dialog.
5803         * lib/diamenu.h:
5804         New file. Contains definitions for the new object menu.
5806         * lib/poly_conn.[ch]:
5807         New file. Base class for poly-line like objects.
5809         * objects/standard/polyline.c:
5810         * objects/standard/pixmaps/polyline.xpm:
5811         New files. Polyline object.
5813         * app/app_procs.c:
5814         Fixed bug with infinite loop when registering sheets.
5815         
5816         * app/commands.c:
5817         Removed unneccesary stuff.
5819         * app/disp_callbacks.c:
5820         Support for object menus.
5822         * app/interface.c:
5823         Added polyline to toolbox.
5824         Added call to tool_options_dialog_show() when double clicking on
5825         tool.
5827         * app/tool.[ch]:
5828         New function tool_options_dialog_show() for tool properties.
5830         * lib/arrows.[ch]:
5831         Added ARROW_NONE.
5833         * lib/object.h:
5834         Added ObjectType methods for handling object default dialogs.
5835         Added Object method for handling object_menu.
5836         Added unused methods to ObjectTypeOps for future binary
5837         compatibility.
5839         * lib/widgets.[ch]:
5840         Added DiaArrowTypeSelector widget.
5842         * objects/standard/arc.c:
5843         * objects/standard/zigzagline.c:
5844         Added support for default properties.
5846         * objects/standard/line.c:
5847         Added support for default properties.
5848         Just use one properties dialog for all line objects. NOTE: This
5849         seems to have a bug. We're working on it.
5851         * standard/standard.c:
5852         Add the polyline object.
5854 1999-01-27  Alexander Larsson  <alla@lysator.liu.se>
5856         * app/modify_tool.c:
5857         Commented out buggy transitive select function. It wasn't really
5858         meant to go into cvs.
5859         
5861 1999-01-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
5863         * autogen.sh:
5864         * acconfig.h:
5865         * configure.in:
5866         * Makefile.am:
5867         * app/Makefile.am:
5868         * po/POTFILES.in:
5869         * app/intl.h
5870         i18n-support.
5872         * po/sv.po:
5873         Swedish translation. Not completed.
5874         
5875         * configure.in:
5876         * acconfig.h:
5877         Added possibility to enable GNOME specific code with configure.
5879         * configure.in:
5880         Added possibility to set debug level with configure.
5882         * commands.[hc]:
5883         Added about dialog.
5885         * app_procs.c
5886         * commands.c
5887         * interface.c
5888         * menus.c
5889         Added some GNOME specific code. Not ready for use.
5891 1999-01-24  Alexander Larsson  <alla@lysator.liu.se>
5893         * INSTALL:
5894         Added text about needing gtk 1.1.13 and gnome-xml.
5895         
5896         * NEWS:
5897         Described changes since last version (0.20).
5899         Released version 0.30, tagged DIA_0_30.
5901 1999-01-22  Alexander Larsson  <alla@lysator.liu.se>
5903         * app/magnify.c (magnify_button_release):
5904         Fixed a problem when zooming in on a very small box would
5905         not release the grabbed pointer-focus.
5907 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
5909         * app/load_save.c (diagram_load):
5910         Be somewhat more robust when loading files that
5911         are not diagrams.
5912         
5913 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
5915         * app/app_procs.c:
5916         * objects/ER/er.c:
5917         * objects/UML/uml.c:
5918         * objects/network/network.c:
5919         * objects/standard/standard.c:
5920         Added versioning of object libraries.
5922         * app/create_object.c:
5923         Don't change tool when an object is created.
5924         
5925         * objects/network/network.c:
5927         * TODO:
5928         Update
5930 1999-01-19  Alexander Larsson  <alla@lysator.liu.se>
5932         * configure.in:
5933         Updated gtk requirement to Gtk+ 1.1.13.
5935         * app/display.c:
5936         Always add one screenful of scrolling space on
5937         each side of a diagram window.
5939 1999-01-19  Jeff Garzik  <jgarzik@pobox.com>
5941         * autogen.sh:
5942         Tell automake to auto-install missing files.
5944         * app/menus.c:
5945         Renamed deprecated Gtk+ function.
5947 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
5949         * Makefile.am:
5950         * configure.in:
5951         * samples/Makefile.am:
5952         * samples/ER-demo.dia:
5953         * samples/UML-demo.dia:
5954         Added samples directory.
5955         Added samples for ER and UML.
5956         
5957         * app/commands.c:
5958         * app/disp_callbacks.c:
5959         * app/menus.c:
5960         Zoom is done by sqrt(2) instead of 2.
5961         Lots of more zoom options in the menu.
5963         * objects/ER/relationship.c:
5964         Relationships have 8 connectionpoints instead of 4.
5966         * objects/UML/class.c:
5967         UML class name font a bit smaller.
5968         Fixed stupid bug in the copy operation.
5969         
5970         * app/display.c:
5971         Displays are opened at 500x400 instead of 256x256.
5973         * app/load_save.c:
5974         Fixup of internal error message.
5976         * app/color_area.c:
5977         * app/diagram.c:
5978         * app/modify_tool.c:
5979         * lib/object.c:
5980         Removed debug printf's.
5981         
5982         * TODO (BUGS):
5983         Added new known bug.
5985 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
5987         * app/interface.c:
5988         * app/menus.c:
5989         Fixed so accelerator groups work in all windows.
5990         Updated to new gtk function names.
5992         * TODO (BUGS):
5993         Removed fixed bug.
5995         * app/display.c:
5996         Updated to new gtk function names.
5997         Set sensitivity of the align menu items.        
5999         * objects/ER/pixmaps/Makefile.am:
6000         * objects/UML/pixmaps/Makefile.am:
6001         * objects/network/pixmaps/Makefile.am:
6002         Fix so that make dist works.
6004         * app/app_procs.c:
6005         * app/color_area.c:
6006         * app/commands.c:
6007         * app/diagram.c:
6008         * app/grid.c:
6009         * app/layer_dialog.c:
6010         * app/load_save.c:
6011         * app/object_ops.c:
6012         * app/properties.c:
6013         * lib/diagramdata.[ch]: 
6014         * lib/message.c:
6015         * lib/objects/ER/attribute.c:
6016         * lib/objects/ER/entity.c:
6017         * lib/objects/ER/participation.c:
6018         * lib/objects/ER/relationship.c:
6019         * lib/objects/ER/.c:
6020         * objects/UML/actor.c:
6021         * objects/UML/association.c:
6022         * objects/UML/class_dialog.c:
6023         * objects/UML/dependency.c:
6024         * objects/UML/generalization.c:
6025         * objects/UML/large_package.c:
6026         * objects/UML/realizes.c:
6027         * objects/UML/.c:
6028         * objects/UML/.c:
6029         Updated to new gtk function names.
6030         Removed warnings.
6032 1999-01-15  Alexander Larsson  <alla@lysator.liu.se>
6034         * TODO:
6035         Update TODO.
6037         * app/app_procs.c:
6038         Fixed loading of diagrams specified as arguments.
6040         * objects/ER/attribute.c:
6041         * objects/ER/entity.c:
6042         * objects/ER/er.c:
6043         * objects/ER/participation.c:
6044         * objects/ER/relationship.c:
6045         Updated the ER objects.
6046         
6048 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
6050         * configure.in:
6051         * app/Makefile.am:
6052         * objects/Makefile.am:
6053         * objects/ER/attribute.c:
6054         * objects/ER/entity.c:
6055         * objects/ER/er.c:
6056         * objects/ER/participation.c:
6057         * objects/ER/relationship.c:
6058         * objects/ER/pixmaps/Makefile.am:
6059         * objects/ER/pixmaps/attribute.xpm:
6060         * objects/ER/pixmaps/entity.xpm:
6061         * objects/ER/pixmaps/participation.xpm:
6062         * objects/ER/pixmaps/relationship.xpm:
6063         * objects/ER/pixmaps/weakentity.xpm:
6064         First commit of entity relationship objects.
6065         These were done by hallon@lysator.liu.se.
6066         There are still stuff to do on these.
6067         
6068 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
6070         * TODO:
6071         Updates.
6073         * app/diagram.[ch]:
6074         Change diagram_remove_all_selected to take new argument
6075         delete_empty. Empty objects are deleted only if it is TRUE.
6076         Removed call to close_eps_renderer. This is now done in end_render
6077         in the eps renderer.
6079         * app/create_object.c:
6080         * app/layer_dialog.c:
6081         Update calls to diagram_remove_all_selected.
6083         * app/commands.c:
6084         Update calls to diagram_remove_all_selected.
6085         Some code reformating.
6086         Changed order of adding updates i align_h and align_v.
6088         * app/modify_tool.c:
6089         Update calls to diagram_remove_all_selected.
6090         Added pointer grab when doing rubber-band selection, this fixes
6091         the bug when draging the box over to another window.
6093         * app/connectionpoint_ops.[ch]:
6094         diagram_update_connections_object changed to take an argument
6095         update_nonmoved. This lets connections that has not moved, but
6096         the stuff they're connected to has been moved work.
6097         Update calls to the new diagram_update_connections_object.
6099         * app/properties.c:
6100         Update calls to the new diagram_update_connections_object.
6101         Update extents when properties are applied.
6102         
6103         * app/disp_callbacks.c:
6104         Added support for zooming with the '+' and '-' keys.
6106         * app/menus.c:
6107         Removed old keyboard shortcuts for zoom.
6109         * lib/render.h:
6110         Added calls begin_render and end_render to renderer.
6111         These can be used for setup and cleanup.
6113         * lib/diagramdata.c:
6114         Added calls to begin_render and end_render in data_render.
6116         * app/render_gdk.c:
6117         Added begin_render and end_render.
6119         * app/render_eps.[ch]:
6120         Added begin_render and end_render.
6121         Moved close_eps_renderer code to end_render.
6122         Various fixes to the generated eps code. This fixes importing
6123         generated eps into LYX.
6124         
6125 1999-01-12  Alexander Larsson  <alla@lysator.liu.se>
6127         * TODO:
6128         Update of todo.
6129         
6130         * app/menus.c:
6131         Menus for alignment updated.
6133         * app/object_ops.[ch]:
6134         Functions for object alignment updated.
6136         * app/commands.[ch]:
6137         Object alignment callbacks updated.
6138         New diagrams are called Untitled-<nr>.
6140         * app/layer_dialog.c:
6141         Active layer selected when showing layers from new
6142         diagram.
6144         * app/load_save.c:
6145         Compress xml files when saving.
6146         Use xml namespace 'dia'.
6148         * lib/object.h:
6149         Minor comment update.
6151         * objects/UML/class_dialog.c:
6152         Cleanup of the gkt_list_item moving code.
6153         Fixed bug with update of operation when moving parameters.
6155 1999-01-10  Alexander Larsson  <alla@lysator.liu.se>
6157         * app/layer_dialog.[ch]:
6158         Fixed the rest of the layers dialog.
6160         * app/dialog.c:
6161         Added call to redo layer dialogs diagram list when changing
6162         diagram name.
6164         * lib/diagramdata.[ch]:
6165         Added data_raise_layer and data_lower_layer functions for
6166         raising/lowering layers. Added data_add_layer_at for adding a
6167         layer at a specified index.
6169 1999-01-05  Alexander Larsson  <alla@lysator.liu.se>
6171         This is the asierra-990105 patch done by asierra@servidor.unam.mx.
6172                 
6173         * app/app_procs.c:
6174         Added support for reading diagrams from the command line.
6176 1998-12-21  Alexander Larsson  <alla@lysator.liu.se>
6178         This is the asierra-981220 patch done by asierra@servidor.unam.mx.
6179                 
6180         * app/commands.[ch]:
6181         Added objects_align_callback().
6183         * app/menus.c:
6184         Added align objects to menu.
6186         * app/object_ops.[ch]:
6187         Add object_list_align().
6188         
6189 1998-12-17  Alexander Larsson  <alla@lysator.liu.se>
6190         * app/layer_dialog.[ch]:
6191         New files. Handles the layers dialog. Needs a bugfix for glib to
6192         work. Sent patch to gtk-list.
6193         
6194         * app/pixmaps/new.xpm:
6195         * app/pixmaps/eye.xbm:
6196         * app/pixmaps/lower.xpm:
6197         * app/pixmaps/raise.xpm:
6198         * app/pixmaps/delete.xpm:
6199         New files. Images for the layer dialog buttons.
6200         
6201         * lib/diagramdata.h
6202         * lib/diagramdata.c
6203         New files for the DiagramData and Layer structures and functions.
6204         
6205         * app/app_procs.c:
6206         Added call to create_layer_dialog() on startup.
6207         
6208         * app/commands.[ch]:
6209         New callbacks for showing the properties and layout dialog.
6210         Changes for the new DiagramData structure.
6212         * app/connectionpoint_ops.c:
6213         * app/cut_n_paste.c:
6214         * app/diagram.[ch]:
6215         * app/display.[ch]:
6216         * app/group.c:
6217         * app/modify_tool.c:
6218         * app/object_ops.[ch]:
6219         * app/render_eps.c:
6220         * lib/object.[ch]:
6221         Changes for the new DiagramData structure.
6223         * app/interface.c:
6224         * app/properties.c:
6225         Set correct wmclasses.
6227         * app/load_save.c:
6228         Fix load and save of layers.
6230         * diagram.dtd:
6231         Update DTD for layers.
6232         
6233         * app/menus.c:
6234         New menus for dialogs.
6236         
6237         * TODO:
6238         Some updates.
6239         
6240 1998-12-06  Alexander Larsson  <alla@lysator.liu.se>
6242         * TODO:
6243         Removed the gtk 1.1.5 stuff.
6245         * configure.in:
6246         Updated gtk check to version 1.1.5.
6247         Updated version from 0.20 to 0.30
6249         * app/commands.[ch]:
6250         Updated some callbacks to be of type GtkItemFactoryCallback1.
6251         Not all are done yet, but it works anyway.
6253         * app/display.h:
6254         Removed Gtk 1.0.0 GtkAcceleratorTable references.
6255         
6256         * app/interface.c:
6257         * app/menus.[ch]:
6258         Update to Gtk 1.1.x functions.
6259         Use ItemFactory instead of MenuFactory.
6260         
6261         * app/render_gdk.c:
6262         Removed Gtk 1.0.0 references.
6264         * objects/UML/class_dialog.c:
6265         Scrolled window updates for Gtk 1.1.5.
6266         
6267         * lib/dia_xml.c:
6268         Removed ugly fix for gnome-xml bug. Make sure you get the
6269         newest version of gnome-xml from CVS.
6270         
6271 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
6273         * TODO:
6274         Removed the xml load/save line.
6276         * lib/files.[ch]:
6277         Removed files.
6278         
6279         * lib/Makefile.am:
6280         Removed building of files.c
6282         * app/load_save.c:
6283         * lib/connection.c:
6284         * lib/element.c:
6285         * lib/object.c:
6286         * lib/orth_conn.c:
6287         * lib/render_object.c:
6288         * objects/UML/actor.c:
6289         * objects/UML/association.c:
6290         * objects/UML/class.c:
6291         * objects/UML/constraint.c:
6292         * objects/UML/dependency.c:
6293         * objects/UML/generalization.c:
6294         * objects/UML/implements.c:
6295         * objects/UML/large_package.c:
6296         * objects/UML/note.c:
6297         * objects/UML/realizes.c:
6298         * objects/UML/small_package.c:
6299         * objects/UML/uml.c:
6300         * objects/UML/usecase.c:
6301         * objects/network/bus.c:
6302         * objects/standard/arc.c:
6303         * objects/standard/box.c:
6304         * objects/standard/ellipse.c:
6305         * objects/standard/line.c:
6306         * objects/standard/textobj.c:
6307         * objects/standard/zigzagline.c:
6308         Removed all includes of files.h
6310         
6311 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
6313         * dialog.dtd:
6314         Made the val property of string be implied.
6315         This makes it possible to save strings that
6316         are NULL. Just leave out val.
6318         * objects/lib/dia_xml.c:
6319         Fixed string so that it is possible to save strings
6320         that are NULL. Also made an ugly workaround of a
6321         bug in gnome-xml which removes empty properties.
6322         
6323         * objects/lib/orth_conn.c:
6324         Fixed a bug in saving. Forgot to step through the
6325         directions.
6326         
6327         * objects/UML/association.c: 
6328         * objects/UML/class.c: 
6329         * objects/UML/constraint.c: 
6330         * objects/UML/dependency.c: 
6331         * objects/UML/generalization.c: 
6332         * objects/UML/implements.c: 
6333         * objects/UML/large_package.c: 
6334         * objects/UML/note.c: 
6335         * objects/UML/small_package.c:
6336         * objects/UML/realizes.c:
6337         * objects/UML/usecase.c: 
6338         * objects/UML/actor.c: 
6339         Fixed UML objects to save as xml.
6340         The last two were done by asierra@servidor.unam.mx (asierra-981204)
6341         
6342         * objects/UML/uml.[ch]:
6343         Updated *_write() and *_read() functions to use xml.
6345         * objects/network/bus.c: 
6346         * objects/network/computer.c: 
6347         * objects/network/disc.c: 
6348         * objects/network/monitor.c:
6349         Updated network diagrams to use xml.
6351 1998-12-02  Alexander Larsson  <alla@lysator.liu.se>
6353         * dialog.dtd:
6354         New file. DTD that describes the xml file format
6355         dia uses.
6357         * lib/dia_xml.[ch]:
6358         New files. Support for saving object to xml files.
6360         * configure.in:
6361         * app/Makefile.am:
6362         * lib/Makefile.am:
6363         Added check for and usage of gnome-xml library.
6365         * app/load_save.c:
6366         Major chages. Now saves/loads diagrams as xml.
6368         * lib/object.[ch]:
6369         * lib/element.[ch]:
6370         * lib/connection.[ch]:
6371         * lib/orth_conn.[ch]:
6372         * lib/render_object.[ch]:
6373         * lib/text.[ch]:
6374         Updated object support load/save functions for xml:
6376         * object/standard/arc.c:
6377         * object/standard/box.c:
6378         * object/standard/ellipse.c:
6379         * object/standard/line.c:
6380         * object/standard/textobj.c:
6381         * object/standard/zigzagline.c:
6382         Updated all standard objects to use xml.
6383         
6384         NOTE NOTE NOTE
6385         Only the standard objects are converted right now, don't
6386         save or load uml or network diagrams yet. Also, since this
6387         is new code it is deemed a bit unstable.
6388         
6389         * TODO
6390         Added a know bug.
6392 1998-12-01  Alexander Larsson  <alla@lysator.liu.se>
6394         * objects/UML/class.c:
6395         Changed classname font to Helvetica.
6396         Added more space above the classname
6398         * objects/UML/usecase.c:
6399         Correct placements of connectionpoints on ellipse.
6400         Better algorithm for deciding aspect ration on
6401         ellipse.
6403         These changes were made by Alejandro Aguilar Sierra
6404         <asierra@servidor.unam.mx>. (asierra-981201)
6406 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
6408         * objects/UML/actor.c:
6409         Changed the extents and alignment of the element
6410         and the text.
6412         * objects/UML/.cvsignore:
6413         Added usecase.lo and actor.lo.
6415 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
6417         * objects/UML/actor.c:
6418         * objects/UML/usecase.c:
6419         * objects/UML/pixmaps/actor.xpm:
6420         * objects/UML/pixmaps/case.xpm:
6421         New files. Implements usecase and actor UML objects.
6422         These objects are done by Alejandro Aguilar Sierra
6423         <asierra@servidor.unam.mx>.
6424         
6425         * objects/UML/Makefile.am:
6426         * objects/UML/pixmaps/Makefile.am:
6427         Added usecase and actor to makefile.
6428         
6429         * AUTHORS:
6430         Added Alejandro and Jerome to autors list.
6431         
6432 1998-11-25  Alexander Larsson  <alla@lysator.liu.se>
6434         * objects/UML/class.c (umlclass_load):
6435         Fixed typo. Reported by Jerome.Abela@solsoft.fr
6437 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
6439         * app/properties.c:
6440         Update connections when doing apply in the properties window.
6442         * objects/UML/uml.[ch]:
6443         * objects/UML/class.[ch]:
6444         * objects/UML/class_dialog.c:
6445         Added connection points on both sides of attributes and
6446         operations in UML classes.
6447         Based on idea from Jerome.Abela@solsoft.fr
6448         
6449 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
6451         * README:
6452         Some new documentation about handles and connectionpoints.
6453         
6454         * lib/object.[ch]:
6455         Added functions object_add_connectionpoint and
6456         object_remove_connectionpoint for handling a dynamic
6457         number of connectionpoints.
6459         * objects/UML/class.c:
6460         Only reserve space for stereotype when it is shown.
6462         These changes are from Jerome Abela <Jerome.Abela@solsoft.fr>
6464 1998-11-08  Alexander Larsson  <alla@lysator.liu.se>
6466         * app/connectionpoint_ops.c:
6467         * app/commands.c:
6468         * app/disp_callbacks.c:
6469         * app/display.[ch]:
6470         * app/grid.c:
6471         * app/handle_ops.c:
6472         * app/magnify.c:
6473         * app/modify_tool.c:
6474         * app/render_gdk.[ch]:
6475         * lib/render.h:
6476         Huge cleanup of internal rendering system.
6477         Moved a lot of data (pixmap, width, height & gc) into the GdkRenderer.
6478         This gives a few new methods for Interactive Renderers for setting
6479         clipping regions and drawing pixel based lines and rects.
6480         Updated the rest of the code to use the new stuff.
6481         
6482         * app/render_eps.c:
6483         Fixed warning.
6485         * lib/widgets.c:
6486         * objects/standard/zigzagline.c
6487         Fixed unused variable warnings.
6489         * lib/font.c:
6490         Fixedbug with stringwidth where width==0.
6492         * TODO:
6493         Added known bug.
6495 1998-11-02  Alexander Larsson  <alla@lysator.liu.se>
6497         * lib/widgets.[ch]:
6498         Added suppot for setting the font of a
6499         DiaFontSelector widget.
6500         Also fixed some typos in the header.
6502         * lib/object.h: 
6503         Added a comment about the GetPRoperties method call.
6504         You have to make sure to update widget state when
6505         this method is called. (Not all objects do this yet,
6506         to be fixed.)
6508         * TODO:
6509         Some small updates
6511 1998-11-01  Alexander Larsson  <alla@lysator.liu.se>
6513         * lib/font.c
6514         Fixed problem with height of ascent and descent for fonts.
6515         It didn't use the whole height (==ascent+descent) when calculatine
6516         ascent_ratio and descent_ratio.
6518         * objects/standard/textobj.c:
6519         * objects/standard/box.c:
6520         * objects/standard/ellipse.c:
6521         * objects/standard/line.c:
6522         * objects/standard/arc.c:
6523         Updated and added property dialogs for these objects.
6524         Also added line width/color/style to those objects
6525         that didn't have it.
6526         This change breaks fileformat compatibility for these objects.
6527         
6528         * objects/standard/zigzagline.c:
6529         Changed zigzagline to be based on OrthConn, much nicer.
6530         Also added line style and color to properties.
6531         This change breaks fileformat compatibility for zigzagline.
6533         * lib/message.c:
6534         Fixed bug in message(). Forgot a pair of '&'.
6536 1998-10-29  Alexander Larsson  <alla@lysator.liu.se>
6538         * lib/widgets.[ch]:
6539         Added DiaColorSelector widget.
6540         This is a colored button that pops up a color selection
6541         dialog when pressed.
6543 1998-10-28  Alexander Larsson  <alla@lysator.liu.se>
6545         * lib/widgets.[ch]:
6546         * lib/Makefile.am:
6547         New files, added widgets for selecting fonts, alignment
6548         and line-style. Will be used later.
6550 1998-10-12  Alexander Larsson  <alla@lysator.liu.se>
6552         * app/Makefile.am:
6553         * lib/Makefile.am:
6554         * objects/UML/Makefile.am:
6555         * objects/network/Makefile.am:
6556         * objects/standard/Makefile.am:
6557         Changed "CFLAGS = -Wall -g" to "CFLAGS = @CFLAGS@"
6558         in all Makefile.am.
6560 1998-10-03  Alexander Larsson  <alla@lysator.liu.se>
6562         * app/handle_ops.c (handle_draw):
6563         connected HANDLE_MINOR_CONTROL also becomes red.
6565 1998-10-02  Alexander Larsson  <alla@lysator.liu.se>
6567         * Makefile.am:
6568         removed -ldl from linking. This is added if needed by configure.
6570         * app/app_procs.c:
6571         Open dlls with RTLD_LAZY if it is defined.
6572         Some cleanups: char *error -> const char *error
6573         Added fprintf()'s to where we exited because of errors.
6575         * lib/files.c:
6576         Include <sys/types.h>
6578 1998-10-01  Alexander Larsson  <alla@lysator.liu.se>
6580         * acconfig.h:
6581         * configure.in:
6582         * app/app_procs.c:
6583         Detect dlopen better.
6584         Detect wether dlopen needs an underscore in the identifier.
6585         This code was mostly borrowed from guile.
6587         * lib/sheet.[ch]:
6588         * app/app_procs.c:
6589         * objects/standard/standard.c:
6590         * objects/network/network.c:
6591         * objects/UML/uml.c:
6592         * most objects:
6593         Changed the way sheets reference objects to use just the
6594         name. Changed module loading to a two stage model:
6595         First register_objects() is called for all modules.
6596         Then register_sheets() is called. This means that
6597         sheets can safely include objects from other modules.
6598         
6600 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
6602         * objects/network/bus.c:
6603         * objects/network/network.c:
6604         * objects/network/Makefile.am:
6605         New file bus.c. Added new object: Ethernet bus.
6607         * objects/standard/box.c:
6608         Added call to gtk_spin_button_set_numeric for linewidth spinner
6609         in property dialog.
6611 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
6613         * app/connectionpoint_ops.c:
6614         * app/create_object.c:
6615         * app/group.c:
6616         * app/handle_ops.c:
6617         * app/modify_tool.c:
6618         * lib/connection.c:
6619         * lib/element.c:
6620         * lib/handle.h:
6621         * lib/object.c:
6622         * lib/orth_conn.c:
6623         * loads of objects:
6624         Changed handle->connectable to handle->connect_type.
6625         Now handles can be HANDLE_CONNECTABLE_NOBREAK, which means
6626         that their connections don't break when moving objects.
6628         * app/diagram.c:
6629         Always select the last handle in an object that has
6630         the closest distance.
6631         
6632         * lib/geometry.[ch]:
6633         Added rectangle_add_point function.
6634         
6636 1998-09-27  Alexander Larsson  <alla@lysator.liu.se>
6638         * app/properties.[ch]: New files. Handles the new properties
6639         dialog.
6641         * app/modify_tool.c: Changed to use new properties dialog.
6643         * app/object_ops.[ch]: Removed object_changed_callback, as it's
6644         not needed anymore. This is now handled differently in
6645         properties.c
6647         * lib/object.[ch]:
6648         Changed the properties ops for objects. Removed typedefs
6649         ChangedObjectTime and ObjectChangedFunc needed for the old way.
6650         Added object_return_null function.
6651         
6652         * app/group.c:
6653         * lib/render_object.c:
6654         * objects/*/*.c:
6655         Changed objects to use the new properties dialog.
6656         
6658 1998-09-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
6660         * */Makefile.am (INCLUDES): Changes to work with srcdir !=
6661         builddir.
6663         * autogen.sh: New file. Copied from gtk and added a call to
6664         libtoolize. Anyone knows why this isn't done in gtk?
6666         * Removed autogenerated files.
6668 1998-09-12  Alexander Larsson  <alla@lysator.liu.se>
6670         * Added call setlocale(LC_NUMERIC, "C") so that formating of
6671           floating-point numbers in postscript output will be correct.
6672         * Did some cleanup of generated postscript files.