2001-09-14 Hans Breuer <hans@breuer.org>
[dia.git] / ChangeLog
blob17ca9f393d0e505fb2b10ee2e6aad59530f4606b
1 2001-09-14  Hans Breuer  <hans@breuer.org>
3         * app/render_gdk.c : reflect the fact, that GTK already talks
4         UTF8 on win32, fixes #59982, #56100, (#55992 ?) ...
6         * lib/font.c : 
7         * app/render_libart.c : trying to fix #58045 but it appears
8         to be an Gdk/win32, too. 
10         * lib/charconv.c : handle utf8 conversion with the help of
11         glib-1.3 even in the !HAVE_UNICODE case.
13         * lib/dia_xml.c : reduce complaing about missing encoding, by
14         detecting if the default (utf8) would break the file.
16 2001-09-13  Cyrille Chepelov  <chepelov@calixo.net>
18         * lib/charconv.c: (get_local_charset): at least please try to not 
19         silently change the logic, while avoiding crashes. 
21         * lib/font.c: (suck_font): put a #error, we have a nasty something
22         to fix there before we switch to Gtk 2.0.
23         
24 2001-09-09  Hans Breuer  <hans@breuer.org>
26         * **/makefile.mingw : Approach to compile Dia with mingw.
27         Compiling mostly works but running does not (yet) ... 
29         * lib/geometry.h : 
30         - use G_OS_WIN32 instead of _MSC_VER to drag in isinf, etc. definitions. 
31           Apparently mingw needs it too.
32         - enable 'normalization' of a null verctor. Otherwise the beziergon
33           bounding box calculation would be broken at least with msvc. What's
34           the mathematical correct result of 0.0/0.0 ?
36         * lib/dia_xml.c : isinf() for mingw too.
38         * lib/dia_dirs.c : use MAX_PATH instead of _MAX_PATH (works for mingw 
39         and msvc)
41         * lib/charconv.c : still crashes if strcmp(NULL, "UTF-8"). 
42         Please don't do it.
44         * lib/font.c : Trying to reflect that GTK_TALKS_UTF8_WE_DONT
46         * lib/libdia.def : updated externals. Apparently mingw needs
47         them to produce the right mangling.
49         * plug-ins/shape/shape-exports.c : get prototypes for xmlStrdup
50         and xmlDiaSaveFile
52 2001-09-08  Wang Jian  <lark@linux.net.cn>
54         * configure.in(ALL_LINGUAS): Renamed zh_CN.GB2312 to zh_CN
56 2001-09-07  Cyrille Chepelov  <chepelov@calixo.net>
58         * lib/dia_xml_libxml.h:
59         * lib/dia_xml.c: (data_add_string), (xmlDiaSaveFile): Duplicated
60         libxml1's code, to rework the output file before it gets committed
61         to disk. This is rubbish, and will be removed when libxml2
62         switches from discouraged to mandatory. 
63         All in all, this fixes #60152. 
64         
65         * lib/charconv.h: 
66         * lib/charconv.c: (charconv_unichar_to_utf8):
67         made the type of the input parameter explicitly an unsigned long.
69         * configure.in: Added a check for libz (we must now include it
70         explicitly, for xmlDiaSaveFile).
71         
72         * app/load_save.c: (diagram_data_save):
73         * lib/plug-ins.c: (ensure_pluginrc), (info_fill_from_pluginrc),
74         (dia_pluginrc_write):
75         * plug-ins/shape/shape-export.c: (new_shape_renderer),
76         (end_render), (draw_string):
77         * plug-ins/svg/render_svg.c: (new_svg_renderer), (end_render),
78         (draw_string):
80         Made sure we always write UTF-8 XML files, and through
81         xmlDiaSaveFile().
83         * NEWS: documented that fact.
84         
85 2001-09-07  James Henstridge  <james@daa.com.au>
87         * configure.in (found_libxml): refactor the check for libxml a
88         little so that it handles finding both libxml1 and 2 better.
90 2001-09-03  Cyrille Chepelov  <chepelov@calixo.net>
92         * app/app_procs.c: removed a spurious } which caused a compilation
93         error in the (!HAVE_GNOME && HAVE_POPT_H) case
95         * lib/charconv.c: (get_local_charset): some versions of iconv(1)
96         don't know what ANSI X3.4-1968 is. I didn't know until this day,
97         but it's just plain old ASCII. Added a check to shield the poor
98         XML library.
100         Patches from <robert.young@dsto.defence.gov.au>:
102         * lib/text.c: (text_calc_boundingbox) Bounding box now calculates the
103         width and height of text before calculating bounds. Fixes #59928
105         * app/preferences.c: Moved grid related items into Grid Tab.
106         
107 2001-09-02  Cyrille Chepelov  <chepelov@calixo.net>
109         * app/interface.c: (create_zoom_widget): connected one more signal
110         to the Zoom selector combo's list. Fixes #59879.
112         * app/app_procs.[ch]: (app_init) (do_convert)
113         (build_output_file_name): brought back into the main executable
114         the rare useful bits of the ill-fated diaconv. This means we have
115         one new feature : --export-to-format (-t), which should make
116         writing conversion scripts easier, and a crude implementation of
117         -t and -e for the poptless argument parsing, which means the Win32
118         port should be able to take advantage of it (that should make
119         resolving #58197 possible).
121         * app/diaconv.c: kept the poor duck compiling (but that's about
122         it).
124         * plug-ins/svg/render_svg.c: updated the SVG DTD header (I hope
125         I've got it right).
127         * NEWS: updated about the new feature above, and documented the 
128         "missing encoding specification" complaint. 
129         
130 2001-09-01  Abel Cheung  <maddog@linux.org.hk>
132         * configure.in: Rename zh_TW.Big5 -> zh_TW in ALL_LINGUAS.
134 2001-09-01  Cyrille Chepelov  <chepelov@calixo.net>
136         * objects/standard/bezier.c: used g_new0 instead of g_new, to take
137         care of #59837.
139 2001-09-01  James Henstridge  <james@daa.com.au>
141         * */Makefile.am: various changes to include missing files, and fix
142         sheets dir to handle building with builddir != srcdir.
144         * autogen.sh: unconditionally pass the --enable-maintainer-mode
145         and --enable-db2html flags so that builds from CVS work correctly.
147         * configure.in: increment version number.  Also add an
148         --enable-db2html flag.  Without the flag, db2html won't be run (if
149         the flag is passed and db2html is not present, do nothing).
151 2001-08-30  Cyrille Chepelov  <chepelov@calixo.net>
153         * lib/poly_conn.c: (polyconn_copy): it's a wonder this routine
154         even compiled. It's really too bad there is no lint tool easily
155         available (or a more cautious, pedandic, paranoid and verbose
156         compiler). Anyway, this fixes #59662. (this didn't affect 0.88.x)
158 2001-08-27  Cyrille Chepelov  <chepelov@calixo.net>
160         * app/load_save.c:
161         * dia/lib/plug-ins.c: use g_strdup() instead of strdup(). Patch
162         from <robert.young@dsto.defence.gov.au>. Fixes #59591.
164         * app/menu.c: added ellipsis(...) to diagram properties menu item.
165         * app/dia-props.c: diagram properties dialog contents did not
166         represent current diagram settings.
167         * app/dia-props.[ch]:
168         * app/display.c: diagram properties contents now follows currently
169         selected diagram.
170         Patch also from <robert.young@dsto.defence.gov.au>, fixes #59409.
172         * AUTHORS: added Robert Young.
173         
174 2001-08-27  Cyrille Chepelov  <chepelov@calixo.net>
176         * app/modify_tool.c: (modify_button_release): Patch from
177         <robert.young@dsto.defence.gov.au>. Fixes the remaining bit from
178         #59090: if selection dragging was released outside of the window, 
179         artifacts of the selection box remained.
181 2001-08-25  Cyrille Chepelov  <chepelov@calixo.net>
183         * Objects/custom/shape_info.c: added missing #include <xmlmemory.h>
185 2001-08-19  Cyrille Chepelov  <chepelov@calixo.net>
187         * configure.in:
188         * sheets/Makefile.am: prepared the terrain for the Version of
189         xml-i18n-tools Which Comes After 0.9 (and which will feature at
190         last a sane behaviour with XML files). Some reasonible delay
191         before enforcing that version *will* be given.
193         * xml-i18n-merge.in.kg: included the current CVS xml-i18n-merge.in
194         
195         * lib/plug-ins.c: <xmlmemory.h> defines xmlFree(), otherwise it
196         becomes a nonexistent symbol.
197         
198 2001-08-18  Hans Breuer  <hans@breuer.org>
200         * app/app_procs.c : made it compile without ENABLE_NLS
202         * app/diap_callbacks.c : strcmp isn't guaranteed to work
203         with NULL pointers
205         * app/load_save.c :
206         * lib/plug-ins.c : 
207         * objects/custom/shape_info.c : avoid mixing allocators and dealocators. 
208         It has to be :
209                 xmlGetProp, ... -> xmlFree
210                 malloc, strdup -> free
211                 g_new, g_malloc, g_strdup - > g_free
213         * app/win32print.c : some more error checking, still not
214         working on Win9x
216         * lib/charconv.c : get_local_charset is used even with !HAVE_UNICODE
218         * lib/dia_xml.c : msvc still has no unistd.h
220         * lib/dia_xml.c :
221         * lib/sheets.c : temporary resolved libxml include brokeness
223         * plug-ins/python/pydia-*.c : reflect Font and StdProp api
224         changes. Compiles again, but doesn't do anything useful anymore.
225         (see THE_PROP_TYPE_IS_INTEGRAL)
227         * **/makefile.msc : updated to use LIBXML2
229         * lib/libdia.def : reflect api changes
231 >>>>>>> 1.691
232 2001-08-17  Cyrille Chepelov  <chepelov@calixo.net>
234         * config.h.win32: added defines telling that gtk speaks UTF8.
235         Hans, I believe this reflects what GTK on Win32 does.
237         * app/app_procs.c: if GTK talks UTF8, we'll feed it UTF8 localised
238         strings.        
239         * lib/prop_inttypes.c: 
240         * lib/prop_text.c:
241         * lib/prop_widgets.c: fixed typos in the GTK_TALKS_UTF8_WE_DONT
242         code path.
243         
244         * lib/plug-ins.c: (dia_register_plugins_in_dir): If there is a
245         trailing // (or whatever (G_DIR_SEPARATOR * 2) is), a recursive
246         search for plug-ins is done.
247         * app/Makefile.am: made app/run_dia.sh use the // capability. No
248         need to update this anymore if we get a new plug-in library (or
249         remove one).
251         * lib/dia_xml.c: #include <unistd.h> was missing.
252         
253         * lib/properties.h: 
254         * lib/proplist.c: (pdtpp_defaults): Added a new flag,
255         PROP_FLAG_NO_DEFAULTS. Will be used in the "automatic defaults"
256         support.        
258 2001-08-16  Cyrille Chepelov  <chepelov@calixo.net>
260         * sheets/civil.sheet: removed duplicate "Danish" entries.
262         * autogen.sh:
263         * configure.in: 
264         * .cvsignore:
265         * sheets/Makefile.am: 
266         * po/POTFILES.in:
267         * Makefile.am: applied the xml-i18n-tools README's instructions.
269         * po/(da de fr hu nl nn no sl).po: merged the translations from
270         the sheet files into the .po files. I hope I haven't mixed
271         languages...
272         * sheets/*.sheet (REMOVED):
273         * sheets/*.sheet.in (NEW): moved the sheet files sans
274         translations into .sheet.in files. 
275         
276         * sheets/xml-i18n-unicodify: (NEW) included from xml-i18n-tools,
277         because we don't yet want to force all translators to work using
278         UTF-8 editors. We'll want to do that sometime (sooner rather than
279         later). Okay, I sing a slightly different tune in po/ChangeLog...
281         * dia.desktop (REMOVED):
282         * dia.desktop.in (NEW): used also the x18t infrastructure for
283         this too.
285         * xml-i18n-update.in.kg (NEW): This one will stay in CVS until an
286         "official" version of x18t with support for .sheet files is available.
287         * xml-i18n-merge.in.kg (NEW): This one will stay in CVS until an
288         "official" version of x18t which doesn't corrupt UTF-8 data in XML
289         is available.
290         
291         ** yes, we are now using xml-i18n-tools to manage the sheet
292         translations. For the Win32 build, Nemo stores snapshots of
293         translated strings next to the CVS snapshots. **
295         * sheets/checktrans.py: suddenly, some sheets have lots of
296         translations (objects which existed before sheets, mostly).
297         Adapted the formatting.
299         * po/README (REMOVED): this is obsolete ! It was ignored, anyway.
301         * app/display.[ch]: (ddisplay_autoscroll), (ddisplay_scroll):
302         * app/modify_tool.[ch]: (modify_motion): A (modified) patch from
303         <robert.young@dsto.defence.gov.au>, to fix #59090.
305         * app/display.c: (ddisplay_scroll): While at it, added some
306         margin, so that autoscrolling can happen within a margin outside
307         the diagram's extents.
309         * app/tool.[ch]: 
310         * app/interface.c:
311         * app/disp_callbacks.c: Robert "forced" me to go when I usually
312         don't, namely the app/ directory. So while I was there, I
313         scratched a long-time itch. If no object has focus, pressing the
314         space bar will select back the tool which was selected before the 
315         current one (I find this especially useful with "reset after create" !)
316         
317         * lib/proplist.c: (prop_list_from_single): Renamed
318         prop_list_singleton() to avoid confusion with the Singleton
319         pattern (which it definitely is not).
320         
321         * lib/propobject.c: (object_prop_by_name_type),
322         (object_prop_by_name): The "flags" parameter was not necessary.
323         These don't return synthetic properties, but properties built from
324         a real property description list; therefore, we don't call
325         make_new_prop() but use the existing property descriptor, which
326         has perfectly valid (and meaningful) flags.
328         * lib/proplist.c: (pdtpp_synthetic), (pdtpp_from_object): These
329         new predicates better reflect the reason why properties exist when
330         they're created by make_new_prop() or object_prop_by_name().    
332         * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name):
333         * lib/prop_basic.c: (make_new_prop): used the new reasons instead
334         of pdtpp_true().
336         * lib/properties.h: reflects all the above changes.
338         * objects/SADT/arrow.c:
339         * objects/SADT/annotation.c:
340         * sheets/SADT.sheet: minor renamings to better match FIPS 183's
341         IDEF0 terminology.
342         
343 2001-08-15  Cyrille Chepelov  <chepelov@calixo.net>
345         * lib/properties.h:
346         * lib/proplist.c: (prop_list_singleton):
347         * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name):
348         Added these, to simplify interactions of plug-ins with the StdProp
349         core.
351         * lib/Makefile.am:
352         * lib/dia_xml.h:
353         * lib/dia_xml_libxml.h (NEW): 
354         * app/load_save.c:
355         * lib/dia_xml.c:
356         * lib/plug-ins.c:
357         * lib/sheet.c:
358         * objects/custom/shape_info.c: A few prototypes were causing
359         #include hell, because we generally attempt to not pull the whole
360         libxml header set when we include dia_xml.h. Moved those
361         prototypes away for the rare cases they're necessary.
362         
363 2001-08-15  Hans Breuer  <hans@breuer.org>
365         * lib/font.c : made LARS_TRACE_MESSAGES Standard C conform
367         * lib/libdia.def : 
368         * lib/makefile.msc : updated
370         * lib/prop_basic.c : __FUNCTION__ is a gcc extension. Please
371         use G_GNUC_FUNCTION instead.
373         * lib/prop_inttypes.c : include <stdlib.h> for strtol()
375         * objects/sadt/annotation.c : disable TEMPORARY_EVENT_TEST for
376         msvc instead of cleaning missing includes
378         * plug-ins/wmf/wmf.cpp :
379         * plug-ins/wmf/wmf_gdi.h : fixed for Font to DiaFont renaming
381 2001-08-15  Cyrille Chepelov <chepelov@calixo.net>
383         * app/app_procs.c:
384         * app/load_save.c:
385         * lib/dia_xml.c:
386         * lib/plug-ins.c:
387         * lib/sheet.c:
388         * objects/custom/shape_info.c:
389         * plug-ins/shape/shape-export.c:
390         * plug-ins/svg/render_svg.c: used the libxml1/libxml2
391         compatibility macros as taught by http://xmlsoft.org/upgrade.html;
392         removed xmlKeepBlanksDefault(0) in favour for proper
393         xmlIsBlankNode() testing. Lots of other fixups to use the
394         "libxml1.5" (libxml2 parser embedded in recent libxml1), and to
395         make libxml1 output correct files.
397         * configure.in: use libxml2 (>= 2.3.9) if it's found, or
398         libxml1 (>= 1.8.14). Exactly one of these must be installed (devel
399         packages). If both devel packages are found, the build will stop 
400         (Fredrik: please add a Build-Conflicts: on libxml2-dev for the moment) 
402         * lib/bezier_conn.c: (bezierconn_init): Lars, you forgot to
403         allocate the first handle :-)
404         
405         * lib/object.c: (object_init): <gratuitous>g_new() used instead of
406         a cast and a sizeof.</gratuitous>
408         * objects/custom/custom_object.c: (custom_copy): don't call
409         text_get_attrbutes if the shape has no text...
410         (custom_update_data): The info->resize_with_text code was a bit
411         directive; basically, the shape's bounding box was forced to be 
412         proportional to the text's bounding box.... This fixes #57187.
413         
414         * objects/custom/shape_info.c: (load_shape_info): Set an obvious
415         default for info->aspect_ratio; unobfuscated a line about
416         info->resize_with_text;
417         
418 2001-08-15  Cyrille Chepelov <chepelov@calixo.net>
420         * lib/properties.h: added comments next to the PROP_TYPEs to tell
421         which C Property subclass to use.
422         
423         * plug-ins/dxf/dxf-import.c: (read_entity_line_dxf): Removed the
424         cast-ridden form of setting properties in a list, in favour for
425         the "local pointers" form. I'll take any better offer...
427 2001-08-14  Cyrille Chepelov <chepelov@calixo.net>
428         
429         * lib/font.c: fprintf(...) --> fprintf(format...)
431         * configure.in: added a disabled versioned test for glib.
432         * lib/prop_geomtypes.c: (bezpointprop_load), (bezpointprop_save),
433         (bezpointarrayprop_load), (bezpointarrayprop_save): replaced
434         g_critical() with a simple g_error(). Proper fix is to implement
435         that stuff. 
437         * lib/properties.h: PROP_STD_TEXT is a PROP_TYPE_TEXT, not a
438         PROP_TYPE_STRING.
439         
440         * lib/properties.h:     
441         * lib/propdesc.c: (prop_desc_list_calculate_quarks):
442         * lib/proplist.c: (find_prop_by_name_and_type):
443         * lib/prop_basic.c: (make_new_prop), (initialize_property):
444         * lib/propoffsets.c: (do_set_props_from_offsets),
445         (do_get_props_from_offsets), (prop_offset_list_calculate_quarks):
446         Added a type_quark member to PropDescription, Property and
447         PropOffset. Used it to implement a safety in
448         do_[sg]et_props_from_offsets().
449                 
450         * objects/flowchart/diamond.c: the diamond's text was not saved,
451         and thus not even copied (c&p).
452         * objects/standard/textobj.c: ditto.
454         Most of the above changes thanks to Robert Young's testing. Thanks !
455         
456 2001-08-14  Kjartan Maraas  <kmaraas@gnome.org>
458         * sheets/*.sheet: Added some Norwegian translations (both nynorsk
459         and bokmÃ¥l).
460         
461 2001-08-13  Cyrille Chepelov  <chepelov@calixo.net>
463         * lib/proplist.c (prop_list_from_descs): added a call to
464         prop_desc_list_calculate_quarks(). (find_prop_by_name_and_type):
465         too embarrassing to tell.
466         
467         * lib/propdesc.c (prop_desc_list_calculate_quarks): converted the
468         while loop to a for loop, for symmetry with
469         prop_offset_list_calculate_quarks().
471         * lib/geometry.h: new inline function, rectangle_equals.
473         * lib/diagramdata.[ch]: refactored a bit the diagram extents
474         computation logic, and changed it to always be the union of the
475         visible layers' extents. This should close #58882 (Debian
476         #107167), and fixes #55498.
478         * app/display.c: made the initial visible box more coherent with
479         the diagram being loaded's extents.
481         * app/prop_attr.c: don't set the font (from offset) if font_data
482         is NULL. Two brainos in colorprop_load() and fontprop_load().
483         
484 2001-08-13  Cyrille Chepelov  <chepelov@calixo.net>
486         * lib/properties.[ch]: split in a lot of pieces: 
488         * lib/prop_*.[ch] (NEW): all property types are now first-class
489         objects, inheriting from the original abstract Property type.
490         * lib/propdesc.c (NEW): property description handling routines
491         * lib/propoffsets.c (NEW): property offset handling routines
492         * lib/proplist.c (NEW): property list handling routines
493         * lib/propobject.c (NEW): property list <-> object routines
494         * lib/propregistry.c (NEW): holds the PropertyType-->PropertyOps
495         relations.
496         * lib/propinternals.h: prototypes for stuff not usually needed by 
497         the outside of StdProps.
498         * lib/Makefile.am: a lot of new files have been added...
500         THE ABOVE CHANGES ARE MAJOR CHANGES AND AFFECT THE WHOLE TREE, IN
501         BOTH INTERFACES AND RUN-TIME STABILITY.
503         * lib/plug-ins.h: bumped up DIA_PLUGIN_API_VERSION
504         
505         * lib/object.h: removed the incestuous relationship with
506         properties.h' contents. Now a Property list is a GPtrArray -->
507         object interface change !
509         * app/app_procs.c/app_init(): removed a disabled call to a
510         non-existent routine. Added a call to stdprops_init().
511         
512         * objects/Makefile.am: disabled the construction of EML. I'm not
513         touching these until a certain issue is solved (or this module
514         removed).
515         * app/group.c:  
516         * objects/**/*.c except objects/EML/*: adapted all stdprop-using 
517         objects to the interface changes.
518         
519         * app/disp_callbacks.c: killed a warning.
520         * lib/dia_xml.[ch]: sprinkled "const" modifiers. 
522         * app/commands.c: 
523         The macros PROP_VALUE_* have disappeared. Adapted to using the new 
524         interface.
526         * plug-ins/dxf/dxf-import.c: 
527         * plug-ins/xfig/xfig-import.c: 
528         PROP_VALUE_* macros have been removed. Converted to the new API.
530         * plug-ins/python/**/*: I gave up converting this; I can't
531         compile --with-python (problems with object.h defined both by us
532         and by Python). I'll gladly help whomever cares to fix it !
533         (or, fix it myself if someone tells me how to compile it).
534         
535         * configure.in: added the UNICODE-related progress defines.
536                 
537         * configure.in:
538         * lib/geometry.h: On Solaris and perhaps other systems, finite()
539         is defined in ieeefp.h rather than in math.h. Patch from Andrew
540         Halper <ashalper@acm.org> with further modifications, isinf() is
541         provided by -lsunmath (sunmath.h).
542         
543         * lib/font.c: conditionally disabled Lars' debugging messages.
544         Bracketed the definition of DiaFontFamily with #ifdef HAVE_FREETYPE.
545         
546 2001-08-11  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
548         * lib/bezier_conn.h: 
549         * objects/standard/bezier.c (bezierline_create): 
550         * lib/bezier_conn.c (bezierconn_init): 
551         Preparations for use of userdata for bezier lines.
552         
553         * objects/standard/polygon.c: 
554         * objects/standard/create.h:
555         * lib/polyshape.c:
556         * lib/polyshape.h:
557         * plug-ins/xfig/xfig-import.c:
558         Use of user_data for polygon as well, including adding
559         polyshape_set_points.  Include file for non-interactive 
560         creation of standard objects, objects/standard/create.h
562 2001-08-10  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
564         * app/render_gdk.c: 
565         * app/render_gdk.h: 
566         * lib/font.c:
567         * lib/font.h:
568         * lib/widgets.c:
569         More preliminary freetype support.  Not at all functional, crashes
570         when rendering.
572         * lib/poly_conn.h: 
573         * lib/poly_conn.c: 
574         * objects/standard/polyline.c: 
575         Support for creating polyline objects with more than two points.
576         This includes an extra function and a prototype change in the
577         poly_conn lib object.
579         * lib/object.c (object_copy): Fixed memory leak of handles and
580         connections.
582 2001-08-08  Abel Cheung  <maddog@linux.org.hk>
584         * dia.desktop: added traditional Chinese strings
586 2001-08-04  Cyrille Chepelov  <chepelov@calixo.net>
588         * NEWS: updated to reflect build-time dependencies.
590         * lib/properties.[ch]: wrote get_prop_descriptions() as a wrapper
591         around obj->ops->describe_props(obj). Quarks are none of an
592         object's business in the general case... 
593         * lib/text.c: Added an apply_textattr_properties() function to
594         factor out some common code related to applying a dialog's text
595         attribute properties to a (Text *) which wasn't edited there. 
596         Ditto for textstr, for the string part of an objet.
598         * objects/GRAFCET/action.c:
599         * objects/SADT/annotation.c:
600         * objects/SADT/box.c: used apply_textattr_properties().
601         
602         * objects/UML/actor.c: 
603         * objects/UML/branch.c:
604         * objects/UML/component.c:
605         * objects/UML/constraint.c:
606         * objects/UML/small_package.c:
607         * objects/UML/state.c:
608         * objects/UML/usecase.c:
609         * objects/UML/large_package.c:
610         * objects/UML/note.c:
611         * objects/UML/node.c:
612         * objects/UML/message.c:
613         * objects/UML/classicon.c:
614         * objects/UML/object.c:
615         * objects/UML/realizes.c:
616         * objects/UML/dependency.c:
617         * objects/UML/implements.c:
618         slim-fast(tm) cure using more StdProps, and UTF-8 audit.
619         (most objects were already using StdProps to some extent ; this
620         systematises usage and removes some dead wood). 
621         
622         * objects/UML/stereotype.[ch]: use UTF-8 internally. const police work.
623         * objects/UML/uml.[ch]: audited for UTF-8.
625         * objects/UML/class.c: the UML_STEREOTYPE_* strings defined by
626         uml.h can be in UTF-8... this code isn't yet ready. Duplicating a
627         private (ISO-8859-1) definition.
628         
629         * lib/charconv.c: Added a warning if we didn't run
630         nl_langinfo(CODESET) but rely instead on a hardcoded default.
631         
632 2001-08-02  Cyrille Chepelov  <chepelov@calixo.net>
634         * lib/diamenu.h:
635         * app/disp_callbacks.c: added a way for an object to cause an
636         already realised menu to be destroyed (for instance if it changes
637         too much).
639         * objects/custom/custom_object.c: used the above to fix #55073.
641 2001-08-01  Lars Clausen  <lrclause@cs.uiuc.edu>
643         * configure.in: Remove 2.50 prereq.
645 2001-07-30  Cyrille Chepelov  <chepelov@calixo.net>
647         * po-checktrans.py: under some circumstances, there was one column 
648         more than what was supposed to be, thus breaking the formatting.
649         
650 2001-07-29  Cyrille Chepelov  <chepelov@calixo.net>
651         
652         * objects/SADT/annotation.c: forgot to add a #include <stdlib.h>
654         * NEWS: updated with new stuff since 0.88
656         * shapes/network/antenna.shape: the text was misplaced ; fixed.
658         * shapes/network/firewall.(shape|xpm) (NEW): a brick-wall looking
659         firewall router (upon request from Cyril Lacoux
660         <clacoux@easter-eggs.com>)
662         * configure.in (didn't rename to configure.ac): autoconf 2.50
663         constructs were used ; added an AC_PREREQ call to guard against
664         older autoconfs.
665         
666 2001-07-27  Cyrille Chepelov  <chepelov@calixo.net>
668         * lib/properties.c: minor clean-ups with the event delivery code.
670         * EML/instantiation.c: brought this object back from stone and ice
671         age.    
673         * app/diaconv.c(NEW): added a command-line conversion tool. Still
674         lacks a man page and correctness. In fact, it doesn't work. Please
675         see #58196 if you want to finish it.
676         
677         * lib/message.[ch]: redefined things a little so that a different
678         message_internal routine could be passed.
679         applications can use that to fit themselves to the display model.
681 2001-07-26  Cyrille Chepelov  <chepelov@calixo.net>
683         * objects/SADT/box.c: 
684         * objects/GRAFCET/action.c: spelling in property descriptors (name
685         field...)
686         * objects/SADT/annotation.c: ditto, plus a temporary test of the
687         event delivery code (try to click on the "click me !" button !).
689         * app/group.c: 
690         * lib/properties.[ch]: improved (fixed) support for group event 
691         handlers. Fixed various things from yesterday's code to make it
692         not too obviously crash.
694 2001-07-26  Cyrille Chepelov  <chepelov@calixo.net>
696         * app/group.c: added delivery of events to the first member of the
697         group which is able to process it.
699         * lib/properties.c(prop_desc_lists_intersection): properties
700         don't match if they don't have identical event handler.
701         * lib/properties.h: simplified the PropEventHandler signature.
703         Event delivery code is still untested so far, but should be
704         lurking harmless.
705         
706 2001-07-25  Cyrille Chepelov  <chepelov@calixo.net>
708         * lib/properties.[ch]: Added (untested !) property event handler
709         capability. Added a new PROP_TYPE_BUTTON, for the purpose of
710         generating such events. This stuff compiles, and should lurk
711         around silently as long as you don't declare property descriptors
712         with events (AFAICT).
713         In object_create_props_dialog() and friends:
714         attached a single structure with lots of data instead of lots of
715         little attachments of data to the dialog widget.
716         
717         * lib/object.h: fixed mild typedef breakage introduced by the above.
719 2001-07-17  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
721         * lots of files: Changed Font to DiaFont
722         * */Makefile.am: Added FREETYPE_LIBS
723         * plug-ins/xfig/xfig-export.c: Improved (working:) color handling
725 2001-07-13  Kjartan Maraas  <kmaraas@gnome.org>
727         * configure.in: Added "nn" to ALL_LINGUAS.
728         
729 2001-07-09  Alex Larsson  <alexl@redhat.com>
731         * app/disp_callbacks.c:
732         Add gdk_im_ready() calls to XIM code.
734 2001-07-04  Cyrille Chepelov  <chepelov@calixo.net>
736         * lib/properties.[ch]: splitted prop_get_widget() into
737         prop_get_widget() (gives a widget but doesn't fill it) and 
738         prop_reset_widget() (fills an existing widget with a property's value).
740         * lib/widgets.[ch]: const enforcement police work.
742         * shapes/network/antenna.shape: added a connection point at top,
743         upon request from <Emmanuel.Quemener@cri.ens-cachan.fr>.
744         
745 2001-06-25  Cyrille Chepelov  <chepelov@calixo.net>
747         * intl/*: tested with gettext-0.10.38
748         * configure.in: moved a macro call around (AM_PROG_CC) to keep
749         some of autogen.sh from complaining.
750         * INSTALL: added a warning against gettext older than at least 0.10.36
751         
752 2001-06-19  Cyrille Chepelov  <chepelov@calixo.net>
754         * configure.in: added explicit calls to AM_LANGINFO_CODESET and
755         AM_ICONV (both provided by gettext)
757 2001-06-14  Cyrille Chepelov  <chepelov@calixo.net>
759         * lib/charconv.c: corrected the degraded mode for when
760         !HAVE_UNICODE. Thanks to Ben A. Hetland for reporting this.     
762         * objects/chronoline/chronoline_events.c: UTF8 compliance.
763         
764 2001-06-13  Cyrille Chepelov  <chepelov@calixo.net>
766         * lib/properties.[ch]: convenience macros around PROP_NOTEBOOKS ;
767         new "eye candy" properties: PROP_MULTICOL_(BEGIN|PAGE|END) to lay 
768         widgets on several columns, PROP_FRAME_(BEGIN|END) to put widgets
769         into a frame box.
771         * objects/chronogram/chronoline.c:
772         * objects/chronogram/chronoref.c: took advantage of the above to
773         make nicer looking dialogs.
775         * lib/charconv.[ch]: added charconv_unichar_to_utf8 ("inspired"
776         from libunicode's internals).
777         * lib/message.c: convert strings to local encoding prior to
778         display (UNICODE_WORK_IN_PROGRESS)
779         * lib/properties.[ch]: convert strings to local encoding prior to
780         display, and back to UTF8 (UNICODE_WORK_IN_PROGRESS).
781         * lib/render.h: tagged strings as (utfchar *) instead of (char *)
782         * lib/stringprerenderer.[ch]: ditto
784         (lib/text.c has been audited for UTF8, but the size of the changes
785         make them inappropriate for commit before 0.89)
786         
787 2001-06-12  Cyrille Chepelov  <chepelov@calixo.net>
789         * objects/boolequation.h (<save|load>_boolequation): made the 
790         prototypes for match the .c file.
791         
792         * samples/grafcet.dia: minor non-conformance with IEC-848
793         fixed (in the transition from step 100 to step 101).
795         * lib/properties.[ch]: added a flag (PROP_FLAG_DONT_MERGE) to
796         disallow editing of properties if the object is part of a group.
798         * objects/chronogram/chronoline.c: 
799         * objects/SADT/annotation.c:
800         * objects/SADT/box.c:
801         * objects/GRAFCET/step.c:
802         * objects/GRAFCET/transition.c:
803         * objects/GRAFCET/condition.c: took advantage of PROP_FLAG_DONT_MERGE.
804         
805 2001-06-12  Hans Breuer  <hans@breuer.org>
807         * lib/libdia.def : removed lazyprop exports
808         * lib/makefile.msc : removed lazyprop.obj
810         * objects/custom/custom_objects.c : use HAVE_UNISTD_H
811         and avoid crashes by always creating a custom->text,
812         when (custom->info->has_text) 
814         * objects/makefile.msc : removed sybase from build
816         * objects/GRAFCET/boolequation.c (<save|load>_boolequation) :
817         ObjectNode is a pointer already, which is what we want
818         instead of a pointer pointer.
820         * plug-ins/wmf/wmf.cpp : fixed problem with arc scaling
821         and implemented working export for images
823         * shapes/network/zip-disk.shape : added connection points 
825 2001-06-12  Cyrille Chepelov  <chepelov@calixo.net>
827         * objects/SADT/box.c: removed lazyprops for standard props.
828         * objects/chronograms/chronoline.c: removed lazyprops (phew !)
829         * objects/chronograms/chronoref.c: ditto 
831         * lib/Makefile.am:
832         * lib/dummy_dep.h:
833         * lib/connpoint_line.c:
834         * lib/lazyprops.[ch] (DELETED): good riddance (closes #55895)
835         * lib/properties.[ch]: new property types:
836             - PROP_TYPE_STATIC: static text to be displayed in the dialog.
837             - PROP_TYPE_MULTISTRING: same as string, but renders as a
838             multi-line entry box.
839             - PROP_TYPE_NOTEBOOK_BEGIN,_PAGE,_END: stuff to make dialogs
840             in a tabbed-notebook style (this is a bit complicated to use; 
841             see objects/chronograms/chronoline.c for an example).
842                
843 2001-06-11  Cyrille Chepelov  <chepelov@calixo.net>
845         * objects/GRAFCET/boolequation.[ch]: zap lazyprops. Add standard props.
846         * objects/GRAFCET/step.c: ditto.
847         * objects/GRAFCET/vector.c: ditto.
848         * objects/SADT/annotation.c: ditto.
849         * objects/SADT/arrow.c: ditto (plus bounding box fixes).
850         
851         * lib/properties.[ch]: two more non-visible types
852         (PROP_TYPE_ENUMARRAY and PROP_TYPE_INTARRAY).
854         * lib/neworthconn.[ch]:
855         * lib/orthconn.[ch]: added support for manipulation through
856         standard properties.
858         * configure.in: removed -fomit-frame-pointer, this seems to
859         confuse recent gcc/gdb's, maybe we'll get better stack dumps in 
860         bugzilla.
862         * charconv.[ch]: more functions from unicode.h.
863         get_local_charset() wasn't working properly, fixed now.
864         A subtle crashbug in charconv_utf8_to_local8() nailed (thanks to 
865         ElectricFence !)
866         
867         * objects/EML/process.h: pulled the bits of lazyprops.h it uses.
868         * lib/lazyprops.[ch]: put a big fat warning in.
870         * app/render_eps.c: one line mysteriously went away, causing a
871         variable to be used uninitialised....
873 2001-06-10  Cyrille Chepelov  <chepelov@calixo.net>
875         * app/app_procs.c: commented out the call to
876         bind_textdomain_codeset(): it's premature.
877         
878         * lib/connpoint_line.c: a NULL point can be given to
879         connpointline_adjust_count(), in case there's not really a clicked
880         point.
882         * lib/textattr.h(NEW): moved the definition of TextAttributes to sort
883         #include order troubles. #included by lib/text.h, so there is no 
884         impact outside lib/.
885         * lib/properties.[ch]: added support for CONNPOINT_LINE and
886         (nonvisible) TEXT properties.
888         * objects/GRAFCET/action.c:
889         * objects/GRAFCET/vergent.c: dropped lazyprops for standard
890         properties.
891         
892         * objects/UML/lifeline.c: pruned some legacy stuff (now pure
893         standard properties code). Grafted a dynamic number of connection
894         points (heavily inspired from what Vergent does). This is the real
895         fix for #55863.
897         * objects/GRAFCET/boolequation.[ch]: audited for UTF-8
899         * lib/fonts.c: some hardening (mostly g_assert())
900 2001-06-09  Cyrille Chepelov  <chepelov@calixo.net>
902         * app/app_procs.c (app_init): added a call to
903         bind_textdomain_codeset() so that gettext gives us UTF-8 strings
904         (UNICODE_WORK_IN_PROGRESS).
905         
906 2001-06-08  Cyrille Chepelov  <chepelov@calixo.net>
908         * plug-ins/xfig/xfig-import.c: corrected a typo (fixes #55910)
910         * objects/UML/lifeline.c: patch from Marc <mrw@siemens.ch> 
911         (fixes #55863) : some clean-ups in the handling of connection
912         points. Now the total number of connection points is just a
913         #define (the proper solution is to retrofit the GRAFCET Vergent's
914         dynamic behaviour wrt connection points).
915         
916 2001-06-07  Cyrille Chepelov  <chepelov@calixo.net>
918         * app/app_procs.c (app_init): added a call to unicode_init() (only
919         if HAVE_UNICODE, of course).
921         * lib/charconv.c: simplified the code which detects the local
922         charset. No need to use <langinfo.h>, libunicode already takes the
923         burden of figuring that out. Also, if local charset is utf8, no
924         conversion will take place.
925         Exposed a way to get the current charset (similar to
926         unicode_get_charset() but actually working, hopefully).
928         * lib/charconv.h: Added a partial non-UTF8 implementation of
929         unicode.h if !HAVE_UNICODE (actually, all the time for the
930         moment). The UTF8 implementation is just macros on libunicode (use
931         the functions prefixed by uni_, as defined by charconv.h, not
932         unicode_, unless that code is to be compiled only if HAVE_UNICODE).
933         From now on, all strings which don't *need* to be ASCII should be
934         utfchar *, not gchar *. Just include charconv.h, let it sort out
935         the details (such as: "is libunicode available and enabled?") 
937         * lib/ps-utf8.c: fixed a few name clashes. Used the charconv.h
938         "API" instead of directly libunicode. Removed the now unnecessary
939         speculative clustering of characters in encoding pages.
941         * app/render_eps.c: made the local8->utf8 conversions dependent of
942         !UNICODE_WORK_IN_PROGRESS (this is not where the local8/utf8
943         boundary will be when this WIP is done).
945         * lib/dia_xml.c (data_point): fixed a format string typo.
947         * po/POTFILES.in: added all C files from lib/ 
948         
949 2001-06-06  Cyrille Chepelov  <chepelov@calixo.net>
951         * app/disp_callbacks.c: make sure the objects' connected objects
952         are updated when the objects' size changes after a keypress event
953         (fixes #51222)
955         * configure.in: added a big warning about the possible future
956         non-optionality of --enable-unicode. 
958         * TODO: removed entries which look like done ; added a few ones
959         (Bugzilla "enhancement" bugs may be a better way to keep track of
960         this)
961         
962 2001-06-05  Cyrille Chepelov  <chepelov@calixo.net>
964         * objects/UML/message.c: got rid of #55564 and of message_copy()
965         by using more standard properties (are the message_state_*()
966         functions still necessary ?)
968 2001-06-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
970         * lib/plug-ins.c: 
971         * objecs/custom/shape_info.c:
972         * plug-ins/shape/shape-export.c:
973         * plug-ins/svg/render_svg.c: patch from obecian <obecian@openbsd.org>
974         use xmlChar instead of obsolete CHAR.
976 2001-06-03  Hans Breuer  <hans@breuer.org>
978         * app/diagram.h : added prototype for diagram_update_menu_sensitivity()
979         * app/commands.c : give the right number of parameters
980         to diagram_update_menu_sensitivity ()
982         * app/preferences.c : do proper initialization for DiaPrefsData:
983         render_bounding_boxes. It would be a real surprise if 'hidden'
984         properties would have ever worked before.
985         Don't try to access the widgets of hidden property, it does not
986         have one.
988         * lib/diagramdata.h : make render_bounding_boxes a DIAVAR, cause
989         it is defined in libdia, but initialized from dia app, which 
990         otherwise gave nice start-up crashes.
992         * lib/diagramdata.c : initialize the color for rendering bounding 
993         boxes in the Dia range (0 .. 1.0)
995         * lib/libdia.def : added *_bbox functions for export
997         * lib/makefile.msc : added new sources
999         * objects/custom/custom_object.c : use HAVE_UNISTD_H
1001 2001-05-30  Cyrille Chepelov  <chepelov@calixo.net>
1003         * app/interface.c:
1004         * app/menus.c: patch from Hubert Figuiere <hfiguiere@teaser.fr> ;
1005         removes a translation of menus (in a place where there shouldn't
1006         have been), which gets rid of a waterfall of warnings if LANG!=C,
1007         and a fix to #55047.
1009 2001-05-29  Steffen Macke     <sdteffen@yahoo.com>
1011         * lib/charconv.c : added #include <errno.h>
1013         * app/dia_embedd.c : updated menus_get_item_from_path usage
1014         
1015 2001-05-27  Cyrille Chepelov  <chepelov@calixo.net>
1017         * lib/ps-utf8.c: Strings in Symbol fonts were incorrectly rendered.
1018         Added a special case for Symbol strings, so that they're not
1019         re-encoded using the LN encoding (we use the bare Adobe encoding
1020         instead).
1022         * objects/custom/custom_object.c: Now that #52912 is fixed,
1023         I could remove the ugly hack I wrote to squash the shape bounding box
1024         problem shown by Ben A. Hetland a few months ago, and fix it
1025         properly this time.
1026         
1027         * lib/text.c: enlarged a little the bounding box to account for
1028         the cursor in rightmost position.
1029         
1030         * lib/diagramdata.c: draw bounding boxes only if the relevant
1031         variable is set (as before), but also only if the rendere is
1032         interactive (ie, don't bother rendering bounding boxes on 
1033         Postscript...)
1034         Made the bounding box's line width a fixed value, 0.01
1035         
1036         * lib/boundingbox.c: fixed the "pointy corners" code for polylines
1037         and assymmetric control beziers. Implemented ellipse_bbox().
1038         
1039         * Makefile.am: incantations to get po/dia.pot build, as suggested
1040         by Hubert in #55075.
1041         
1042         * shapes/network/computer.shape: typo fixed.
1043         * shapes/network/antenna.shape: fixed #55074 (antenna is now
1044         properly translucent, except for its base where it makes sense. It
1045         doesn't look that ugly anymore if transparent mode is on).
1047         * configure.in: --enable-unicode is now the default. This
1048         still currently affects only printing.
1049         
1050 2001-05-26  Cyrille Chepelov  <chepelov@calixo.net>
1052         * lib/boundingbox.c: fixed a minor logic error wrt closed shapes. 
1053         The overshoot code is buggy, and the bounding boxes for polyshapes
1054         looks a bit cheezy. To be done ASAP.
1056 2001-05-26  James Henstridge  <james@daa.com.au>
1058         * configure.in: call AM_PATH_PYTHON rather than AM_PATH_PYTHON_JH.
1059         This should clear up some of the build problems people have been
1060         having.
1062         * acinclude.m4: call AM_PATH_PYTHON_JH AM_PATH_PYTHON
1064 2001-05-26  Cyrille Chepelov  <chepelov@calixo.net>
1066         * lib/Makefile.am:
1067         * lib/boundingbox.[ch] (NEW): (some) refactoring of the bounding
1068         box code (beginning with lines, polylines and polybeziers), into a
1069         more generic facility. While at it, a better shot at correctly
1070         computing the bounding box of a Bezieroid (should take care of
1071         #53424, #51233 and of course is part 1 of #52912).
1073         * lib/diagramdata.c: turned the RENDER_BOUNDING_BOXES conditional
1074         into a hidden preference (set render_bounding_boxes in diarc).
1075         * app/preferences.[ch]: Added support for hidden preferences.
1077         * lib/geometry.[ch]: sprinkled with "const" modifiers.
1078         
1079         * lib/bezier_conn.[ch]:
1080         * lib/beziershape.[ch]:
1081         * lib/connection.[ch]:
1082         * lib/element.[ch]:
1083         * lib/poly_conn.[ch]:
1084         * lib/orth_conn.[ch]:
1085         * lib/neworth_conn.[ch]:
1086         * lib/polyshape.[ch]: adapted to take advantage of
1087         boundingbox.[ch] instead of relying on private (duplicate) code.
1089         * object/FS/flow.c:
1090         * object/GRAFCET/action.c:
1091         * objects/GRAFCET/condition.c:
1092         * objects/GRAFCET/vergent.c:
1093         * objects/GRAFCET/vector.c:
1094         * objects/SADT/annotation.c:
1095         * objects/SADT/arrow.c:
1096         * objects/ER/participation.c:
1097         * objects/UML/constraint.c:
1098         * objects/UML/implements.c:
1099         * objects/UML/lifeline.c:
1100         * objects/UML/message.c:
1101         * objects/UML/realizes.c:
1102         * objects/UML/generalization.c:
1103         * objects/UML/association.c:
1104         * objects/UML/dependency.c:
1105         * objects/FS/flow-ortho.c:
1106         * objects/network/bus.c:
1107         * objects/standard/arc.c:
1108         * objects/standard/bezier.c:
1109         * objects/standard/beziergon.c:
1110         * objects/standard/line.c:
1111         * objects/standard/polygon.c:
1112         * objects/standard/zigzagline.c:
1113         
1114         * objects/standard/polyline.c: Some *BBExtras structures changed
1115         names while moving to boundingbox.[ch]. A trivial mass-renaming.
1116         
1117 2001-05-20  Cyrille Chepelov  <chepelov@calixo.net>
1119         * app/disp_callbacks.c (ddisplay_canvas_events): Take into account
1120         wheel mouses for scrolling (from Patrick Sung <phsung@ualberta.ca>)
1122         * app/display.c (ddisplay_update_scrollbars): from Patrick's
1123         suggestion, remove the extra scrollable area (it was only visible
1124         to the scrollbars). This is experimental.
1125         
1126         * objects/custom/custom_object.c: If a shape's icon file doesn't 
1127         exist, warn and substitute a default icon, instead of crashing.
1128         (fixes #52913)
1129         
1130         * objects/network/network.c:
1131         * shapes/network/modularswitch.(shape|xpm) (NEW):
1132         * shapes/network/printer.(shape|xpm) (NEW):
1133         * shapes/network/genmonitor.(shape|xpm) (NEW):
1134         * shapes/network/computer.(shape|xpm) (NEW):
1135         * shapes/network/Makefile.am: four less objects, four more shapes.
1136         These were the last known RenderObjects. (phew !)
1138         * lib/Makefile.am:
1139         * lib/dummy_dep.h:
1140         * objects/sybase/Makefile.am: 
1141         * objects/network/Makefile.am: Removed the older Renderobjects
1142         from the build, and their infrastructure (not yet deleted,
1143         though).
1145         * shapes/network/sceadplug.shape:
1146         * shapes/network/antenna.shape:
1147         * shapes/network/modem.shape:
1148         * shapes/network/hub.shape:
1149         * shapes/network/rj45plug.shape:
1150         * shapes/sybase/client.shape:
1151         * shapes/sybase/dataserver.shape:
1152         * shapes/sybase/ltm.shape:
1153         * shapes/sybase/repserver.shape:
1154         * shapes/sybase/rsm.shape:
1155         * shapes/sybase/stableq.shape: Minor corrections (line widths were
1156         ten times too narrow).
1157         
1158 2001-05-19  Cyrille Chepelov  <chepelov@calixo.net>
1160         * objects/network/network.c:
1161         * shapes/network/sceadplug.(shape|xpm) (NEW):
1162         * shapes/network/antenna.(shape|xpm) (NEW):
1163         * shapes/network/modem.(shape|xpm) (NEW):
1164         * shapes/network/Makefile.am: four less objects, four more shapes.
1165         
1166         * lib/Makefile.am:
1167         * lib/diagramdata.c:
1168         * lib/render.h:
1169         * lib/string_prerenderer.[ch] (NEW):
1170         Add a new renderer primitive, predraw_string() (does nothing, to be
1171         used as a hook to optimise the character encodings if needed). 
1172         Added a string pre-renderer, which can be viewed as a filter
1173         renderer (to route draw_string() to predraw_string() and ignore
1174         the rest, in a first rendering pass)
1175         
1176         * app/render_eps.c: Took advantage of the above to make wholly
1177         optimised Postscript encoding page(s), even (especially) with 
1178         non-latin1 code (HAVE_UNICODE must be true).
1180         (#53512 in fact is wholly resolved).
1181         
1182 2001-05-18  Cyrille Chepelov  <chepelov@calixo.net>
1184         * lib/charconv.c: steps towards resolution of #53512 (inspired by
1185         Alexey Novodvorsky <aen@logic.ru>'s patch).
1187         * app/menus.c (dia_menu_signal_proxy): checked that the signal
1188         handler is not NULL before transferring control to it... (fixes #52836)
1190         * app/app_procs.c (app_init): removed non-constant initialiser
1191         (fixes #52950)
1193         * objects/custom/custom_object.c:
1194         * objects/custom/shape_info.[ch]:
1195         * objects/custom/test.xml: merged patch #53476 from Steven Hawkins 
1196         <skh@mathstar.com>. This add support for a <svg:text> shape
1197         element, and some related style properties (font, font height, 
1198         alignment)
1200         * doc/custom_shapes: a precision about the meaning of case in a
1201         SVG path (closes #52364)
1203         * lib/dummy_dep.h: fix for SGI IRIX 6.2 (#53053, reported and
1204         fixed by <drk@sgi.com>)
1205         
1206 2001-05-17  Cyrille Chepelov  <chepelov@calixo.net>
1208         * objects/network/network.c:
1209         * shapes/network/Makefile.am:
1210         * shapes/network/hub.(shape|xpm) (NEW):
1211         * shapes/network/flash.(shape|xpm) (NEW):
1212         * shapes/network/rj45plug.(shape|xpm) (NEW):
1213         More shapes, less renderobjects.
1215 2001-05-16  Cyrille Chepelov  <chepelov@calixo.net>
1216         
1217         * plug-ins/svg/render_svg.c: typo made exported ellipses
1218         corrupted (zero Y pseudo-radius).
1220         * objects/network/network.c:
1221         * objects/network/disc.c:
1222         * shapes/network/disc.(shape|xpm): Converted the first
1223         Renderobject into a shape. Normally, old diagrams should reload
1224         without problems (please check this against your diagrams). More
1225         flexibility should be gained that way. I intend to hunt and
1226         eradicate all renderobjects as I can commit cycles to that. 
1228         * objects/Makefile.am:
1229         * configure.in:
1230         * app/Makefile.am:
1231         * objects/sybase/sybase.c:
1232         * shapes/sybase/Makefile.am(NEW):
1233         * shapes/sybase/client.(xpm|shape) (NEW):
1234         * shapes/sybase/dataserver.(xpm|shape) (NEW):
1235         * shapes/sybase/ltm.(xpm|shape) (NEW):
1236         * shapes/sybase/repserver.(xpm|shape) (NEW):
1237         * shapes/sybase/rsm.(xpm|shape) (NEW):
1238         * shapes/sybase/stableq.(xpm|shape) (NEW): converted Sybase
1239         renderobjects into shapes. The Sybase objects are now not compiled
1240         anymore, and ready to be nuked if nobody objects in the next few weeks.
1241         
1242         * app/commands.c:
1243         * app/diagram.[ch]:
1244         * app/disp_callbacks.c:
1245         * app/display.[ch]:
1246         * app/interface.[ch]:
1247         * app/menus.[ch]:
1248         * app/modify_tool.c:
1249         * app/preferences.[ch]:
1250         * app/recent_files.c:
1251         * app/select.c: Added patch #52364 from Hubert Figuiere. This adds
1252         a menu bar reflecting the popup menu, to each display window. This
1253         is optional (changing the preference currently doesn't affect
1254         already opened windows; a few other rough edges to cut).
1256         * plug-ins/wpg/wpg.c:
1257         * plug-ins/xfig/xfig-import.c:
1258         * plug-ins/python/pydia-property.c:
1259         * plug-ins/python/pydia-properties.c:
1260         * plug-ins/python/pydia-geometry.c:
1261         * plug-ins/pstricks/render_pstricks.c:
1262         * lib/arrows.c:
1263         * objects/EML/dbox.c:
1264         * lib/ps-utf8.c: paleolithic C compilers choke on //. Should fix 
1265         #53054.
1267         * lib/ps-utf8.c: improved the clustering of alphabetic character
1268         definitions in custom encodings pages.
1269         
1270 2001-05-02  Hans Breuer  <hans@breuer.org>
1272         * lib/object.h : OBJECT_COMMON_PROPERTIES_OFFSETS correct type 
1273         of 'obj_bb' to PROP_TYPE_RECT
1275         * objects/custom/custom_object.c : take all quarks into account, 
1276         not only 4 as copy&paste suggests
1278         * objects/uml/objects.c : completed the implementation of the
1279         property api to avoid reading of totally bogus data. Removed
1280         the PROBABLY_DEAD_CODE. It actually was dead code, but not because
1281         there was too much but too less ...
1282   
1283         The above changes removed all known crashes (mentioned below) 
1284         from the Property API. Property access is still incomplete though.
1286         * objects/flowchart/box.c :
1287         * objects/flowchart/diamond.c :
1288         * objects/flowchart/ellipse.c :
1289         * objects/flowchart/parallelogram.c :
1290         * objects/uml/classicon.c :
1291         * objects/uml/state.c : calculate number of quarks from quark array 
1292         size instead of using hardcoded values for consistence and to avoid 
1293         future bugs like the above
1294         
1295         * objects/eml/nlist.c : include <string.h> for strcmp()
1297         * lib/dia_xml.c : relax g_warning for values, which
1298         appear to be too small. There is nothing which prevents
1299         them while saving
1301         * plug-ins/python/pydia-geometry.c : changed stringifying of
1302         geometry objects accept BezPoint back to %f, which does not
1303         crash anymore, because all the data is intialized now and it
1304         simply is more readable than %e ...
1306         * plug-ins/python/python-startup.py : removed dependency
1307         to PyGtk, because it isn't required here and probably won't
1308         in i.e.: export filters.
1310         * plug-ins/python/gtkcons.py : create the gtkoutfile even
1311         if sys.stderr.fileno() isn't supported
1313         * app/makefile.msc : make version 0.88
1314         * plug-ins/makefile.msc : make version 0.88 an added new
1315         xfig files to build
1317 2001-05-11  James Henstridge  <james@daa.com.au>
1319         * NEWS: remember to add news items this time.
1321         * dia.spec: update spec file for 0.88 release.
1323         * configure.in: up version number to 0.88
1325         * plug-ins/python/Makefile.am (EXTRA_DIST): fix up typo that was
1326         preventing any of the useful python scripts from being
1327         distributed.
1329         * sheets/Makefile.am (sheet-translation-report): fix bustage I
1330         introduced in my fixups for the 0.87 release :(
1332 2001-05-10  Lars Clausen  <lrclause@cs.uiuc.edu>
1334         * plug-ins/xfig/xfig-import.c: Finally got groups working.
1336 2001-05-09  Lars Clausen  <lrclause@cs.uiuc.edu>
1338         * plug-ins/xfig/xfig-import.c: Improvements to error handling and
1339         group manipulation.
1341 2001-05-09  Cyrille Chepelov  <chepelov@calixo.net>
1343         * lib/ps-utf8.[ch]:
1344         * lib/Makefile.am: fix makefile breakage which led to not
1345         including ps-utf8.[ch] in the released tarballs. 
1347 2001-05-09  James Henstridge  <james@daa.com.au>
1349         * Makefile.am (core-translation-report): dist scripts needed for
1350         this target, and change to $(srcdir) before running.
1352         * sheets/Makefile.am (EXTRA_DIST): actually dist the sheets.  DATA
1353         files aren't automatically included in the tarball by automake
1354         because they could be generated files.
1356         * objects/EML/Makefile.am (EXTRA_DIST): fix directory names.
1358         * doc/en/Makefile.am (install-data-hook): fix up where graphics
1359         are installed.
1361         * configure.in: up version number to 0.87
1363         * plug-ins/python/*.py: no longer necessary to explicitly set
1364         sys.argv, as python.c does it for us now (like it should).
1366         * plug-ins/python/gtkcons.py: fix up so it plays nicely as a dia
1367         python plugin.
1369         * plug-ins/python/python-startup.py: startup script that imports
1370         all modules in $(datadir)/dia/python and ~/.dia/python.
1372         * plug-ins/python/python.c (dia_plugin_init): change so that it
1373         only runs the $(datadir)/dia/python-startup.py script.  Make sure
1374         that sys.argv and __main__.__file__ are set when calling the
1375         startup script.
1377         * plug-ins/python/Makefile.am: update makefile.  Make it install
1378         gtkcons.py plugin.  I haven't set any other plugins to install, as
1379         they look like they are mainly for debugging purposes.
1381         * configure.in: add tests to detect if python is available, so we
1382         can build the python plugin.  Only run if --with-python passed to
1383         configure.
1385 2001-05-08  James Henstridge  <james@daa.com.au>
1387         * acinclude.m4: add macros for detecting python.
1389         * app/menus.c (dia_gnome_menu_get_widget): handle paths that point
1390         at GNOME_APP_UI_SUBTREE entries.
1391         (menus_add_path): function to add a menu item to the menubars.
1392         Uses a hash table to keep track of extra menu items it adds.  Also
1393         notifies the item factory about the entries so that accels can be
1394         saved for them.
1395         (menus_add_path): implement gtk only version.
1396         (menus_init): use menus_add_path() to add the menu.
1397         (plugin_callback): simplify.
1399 2001-05-08  Steffen Macke <sdteffen@yahoo.com>
1401         * app/menu.c: removed #ifndef GNOME; GNOME build was broken
1402         
1403 2001-05-08  Lars Clausen  <lrclause@cs.uiuc.edu>
1405         * plug-ins/xfig/xfig-export.c: 
1406         * plug-ins/xfig/xfig-common.c: 
1407         * plug-ins/xfig/xfig-import.c: 
1408         * plug-ins/xfig/xfig.c: 
1409         * plug-ins/xfig/xfig.h: 
1410         * app/Makefile.am: Added support for exporting to Fig format
1411         (except splits, which are less powerful in Fig).  Some refactoring
1412         along the way.
1414 2001-05-02  Hans Breuer  <hans@breuer.org>
1416         * plug-ins/python/debug_objects.py : added another
1417         test to get massive crashes from the Property API due
1418         to unintialized data.
1420         * app/menu.c : the callback_action wasn't incremented
1421         (should have checked my last optimization). Now more
1422         than one plug-in callback is supported again.
1424         * plug-ins/python/pydia-geometry.c : avoid crashes from
1425         glib, when trying to g_strdup_printf unintialized floats.
1427         * plug-ins/python/pydia-property.c : avoid crashes from
1428         because of string_data == NULL (PROP_TYPE_FILE, PROP_TYPE_STRING)
1430 2001-05-01  Hans Breuer  <hans@breuer.org>
1432         * objects/makefile.msc : added eml
1433         * objects/eml/instantiation.c : initialize 'inst' pointer
1434         before using, zero initialization for objects
1435         * objects/eml/interaction-ortho.c :
1436         * objects/eml/interaction.c : zero initialization for objects
1438         * app/menus.c : removed Gimp mru stuff which slipped in at
1439         2000-08-15, was never activated and will never be needed, 
1440         because of Steffens recent file list patch added at 2001-01-05.
1442         * objects/eml/*.c : some more zero initialization of objects
1443         to avoid infinite (uninitialized) bounding boxes
1445         Implemented a callback api which allows plug-ins to register
1446         menu call backs. Dia for Gnome should compile, but will need 
1447         some extra tweaking to make it work because I can't test it.
1449         * plug-ins/python/pydia-error.h :
1450         * plug-ins/python/pydia-render.c : moved Pxthon function return 
1451         value handling from pydia-render.c to pydia-error.h, to make it
1452         usable for
1453         * plug-ins/python/diamodule.c : implement callback function
1454         registration from and relaying to Python code
1456         * app/menus.c : register and use plug-in menu callbacks
1458         * lib/filter.[hc] : implement filter_register_callback() and
1459         filter_get_callbacks() for the above
1460         * lib/libdia.def : export them
1462         * plug-ins/python/debug_objects.py (new file): 
1463         sample using the above
1465 2001-04-27  Lars Clausen  <lrclause@cs.uiuc.edu>
1467         * plug-ins/shape/shape-export.c (new_shape_renderer): 
1468         The name of a shape is now taken from the dir, to conform with
1469         standard naming.
1471 2001-04-25  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1473         * app/properties.c (properties_show): Added title containing
1474         object type, plus (hopefully) fix of the ghost properties dialog.
1476 2001-04-16  Cyrille Chepelov  <chepelov@calixo.net>
1478         * app/display.c: remove the display idle handler in case we
1479         destroy the ddisplay (caused crashes in ddd, probably random
1480         crashes elsewhere).
1482         * autogen.sh: 
1483         * configure.in:
1484         * Makefile.am: hack around gettext-0.10.36's new "features".
1485         
1486         * lib/properties.[ch]: added new function object_copy_props().
1487         Added new property type PROP_TYPE_ENDPOINTS
1489         * lib/connection.h: added support for load/saving through the
1490         properties interface.
1492         * lib/object.[ch]: object_load/save/copy_using_properties()
1493         support functions (code factorisations).
1494         
1495         * objects/GRAFCET/boolequation.c: check against null values in
1496         boolequation_set_value() and boolequation_destroy().
1498         * objects/GRAFCET/transition.c: Converted from lazyprops to
1499         standard properties. 31% less (x86) code !
1501         * objects/GRAFCET/condition.c: also converted from lazyprops to
1502         standard properties. Also killed lots of code.
1503         
1504 2001-04-13  Hans Breuer  <hans@breuer.org>
1506         * plug-ins/wmf/wmf.cpp : changed text conversion from
1507         g_utf8_utf16 to g_convert usage. The latter function is already
1508         available in tml's last "official" Gtk+ version (2000-12-26).
1509         This change allows to use recent Dia with either the official
1510         version or the latest cvs "gtk-1-3-win32-production"-branch.
1512 2001-04-14  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1514         * Patch from David S. Thompson <dcthomp@mail.utexas.edu>:
1515         * app/disp_callbacks.c:
1516         - Allow submenus in DiaMenus.
1517         - Don't require DiaMenu.title to be non-null (so that
1518           submenus aren't required to have titles)
1520         * objects/FS/function.c:
1521         - object menu now has submenus, an almost complete list of
1522           standard-basis verbs, and a start on nouns.
1523         - box padding, dash length, and other visual attributes are
1524           scaled by the font size... eventually font height will be
1525           a function property.
1526         - draw functions with smaller font to make initial view hold
1527           a reasonable number of functions.
1528         
1529 2001-04-13  Cyrille Chepelov  <chepelov@calixo.net>
1531         * sheets/ER.sheet:
1532         * sheets/chronogram.sheet:
1533         * sheets/jigsaw.sheet:
1534         * sheets/sybase.sheet: Updated Dutch sheet translations from Dag
1535         Wieers <dag@wieers.com>
1537 2001-04-13  Hans Breuer  <hans@breuer.org>
1539         * app/app_procs.c (app_exit) : added g_return_if_fail (!app_exit_once)
1540         to ensure that all the deinitialization is only done once. Fixes
1541         recent app exit crash on win32
1543         * lib/dia_xml.c : provide isinf() replacement for msc which does only
1544         have _finite()
1546         * lib/libdia.def : updated
1548         * objects/makefile.msc : added wanlink.c 
1550         * objects/network/wanlink.c : added M_PI_2 definition for poor
1551         platforms which don't have one
1553         * objects/standard/arc.c :
1554         * objects/standard/zigzagline. c: part of ConectionBBExtras wasn't
1555         initialized which led to rather huge bounding boxes (try Ctrl^A on
1556         diagrams with Arcs or ZigZagLines).
1557         * objects/*/*.c : to avoid further bugs like the above changed all
1558         object initializations to g_malloc0 or g_new0
1561 2001-04-09  Cyrille Chepelov  <chepelov@calixo.net>
1563         * lib/paper.[ch]: get rid of "no previous prototype fo `foo'" by
1564         doing a s/T foo()/T foo(void)/ for all possible values of T and foo.
1566         * objects/UML/class.c: 
1567         * objects/UML/usecase.c:
1568         * objects/UML/large_package.c:
1569         * objects/UML/message.c:
1570         * objects/UML/object.c:
1571         * objects/UML/lifeline.c:
1572         * objects/FS/flow.c:
1573         * objects/FS/flow-ortho.c:
1574         * objects/FS/function.c:
1575         * objects/custom/custom_object.c:
1576         * objects/GRAFCET/vergent.c:
1577         * objects/chronogram/chronoref.c:
1578         * objects/SADT/box.c:
1579         * objects/SADT/annotation.c:
1580         * plug-ins/dxf/dxf-import.c:
1581         * plug-ins/xfig/xfig-import.c:
1582         * plug-ins/wpg/wpg.c:
1583         * app/command.c:
1584         * app/app_procs.c:
1585         * app/display.c: /* certainly more WIP than dead code there */
1586         Unused variables, unused static function definitions, forgotten or
1587         incomplete prototypes added or fixed, lack of const or unwanted const,
1588         etc. (mostly clean-ups of leftovers of the pre-properties era).
1589         Non-obvious cases bracketed by #define THIS_IS_PROBABLY_DEAD_CODE,
1590         please check these.
1592         * app/lineprops_area.c: More of the same. Missing prototypes
1593         added, and functions unused outside made static.
1595         * app/recent_files.c:
1596         * app/properties.c:
1597         * app/defaults.c: some variables are used only when doing a GNOME
1598         build.
1599         
1600         * app/magnify.c: missing #include <stdlib.h>.
1602         * app/paginate_gnomeprint.c: Unused variable; missing "message.h".
1604         These are a lot of clean-ups (by the way, this compiles and runs
1605         cleanly with "gcc-3.0 -O2 -Wall --std=gnu99" too !); please grep
1606         for DEAD_CODE, and if it's yours, judge it.
1607         
1608 2001-04-07  Cyrille Chepelov  <chepelov@calixo.net>
1610         * plug-ins/dxf-import.c: some progress with the arcs; still some
1611         clean-ups to do and line width scaling issues to figure out.
1613         * objects/standard/arc.c: start_point and end_point properties
1614         (duplicated from standard/line.c)
1616         * plug-ins/xfig/xfig-import.c: zip ! zap ! no more dead DXF import
1617         code there.
1618         
1619 2001-04-06  Cyrille Chepelov  <chepelov@calixo.net>
1621         * plug-ins/dxf-import.c: setlocale-related clean-ups and fixes ;
1622         preliminary support for arcs (doesn't work). Circles and ellipses are
1623         now transparent. Coordinate and width scaling are now a common 
1624         static constant (probably before morphing into a preference).
1625         
1626         * sheet/checktrans.py: improved error reporting. Made checktrans
1627         count lack of <name xml:lang="code"> as a lack of translation for
1628         language "code" (no, it's not a plot to bring down other
1629         language's scores !)
1630         
1631         * sheet/*.sheet: Ensured all sheets have an encoding="iso-8859-1"
1632         in the header, and have <name xml:lang="fr"> components.
1633         
1634 2001-04-05  Cyrille Chepelov  <chepelov@calixo.net>
1636         * objects/custom/custom_object.c: temporary hack to fix the shape
1637         bounding box reported by Ben A. Hetland. Proper fix isn't .87
1638         material, see bugzilla #52912.
1640 2001-04-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1642         * objects/standard/image.c (get_directory): Now uses
1643         G_SEPARATOR_CHAR_S instead of "/"
1645         * sheets/network.sheet: 
1646         * sheets/Logic.sheet:
1647         * sheets/Flowchart.sheet:
1648         * sheets/Electric.sheet:
1649         * sheets/Circuit.sheet:
1650         * sheets/ER.sheet:
1651         * sheets/Pneumatic.sheet:
1652         * sheets/SDL.sheet:
1653         * sheets/UML.sheet:
1654         * sheets/GRAFCET.sheet:
1655         * sheets/MSE.sheet:
1656         * sheets/chronogram.sheet:
1657         * sheets/civil.sheet:
1658         * sheets/network.sheet:
1659         Danish translations.
1660         
1661         * objects/standard/image.c (get_directory): Changed get_directory
1662         to use g_dirname to find the directory part.
1664 2001-04-05  Cyrille Chepelov  <chepelov@calixo.net>
1666         * sheets/ER.sheet:
1667         * sheets/Electric.sheet:
1668         * sheets/Flowchart.sheet:
1669         * sheets/Logic.sheet:
1670         * sheets/network.sheet: More Dutch translations from Dag Wieers.
1672 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
1674         * sheets/checktrans.py: now emits a warning when two descriptions
1675         for a single language code are found.
1677         * Makefile.am:
1678         * sheets/Makefile.am: -translation-reports now also depend on their
1679         checktrans.py
1680         
1681 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
1683         * sheets/Circuit.sheet:
1684         * sheets/Contact.sheet:
1685         * sheets/Logic.sheet:
1686         * sheets/chronogram.sheet:
1687         * sheets/sybase.sheet: 
1688         Dutch translations from Dag Wieers <dag@wieers.com>
1690 2001-04-04  Cyrille Chepelov  <chepelov@calixo.net>
1692         * po-checktrans.py: Now shows the detailed counts alongside the
1693         percentage of translations.
1694         
1695 2001-04-03  Cyrille Chepelov  <chepelov@calixo.net>
1697         * Makefile.am:
1698         * po-checktrans (NEW):
1699         * po-checktrans.py (NEW): builds core-translation-report:
1700         percentages of core (gettext) translations done [Not placed into
1701         po/ where that should belong, because of integration fear^Wissues
1702         with gettextize]. 
1704         TO THE KIND ATTENTION OF PACKAGERS: core-translation-report and 
1705         sheets/sheet-translation-report probably ought to be copied on the 
1706         user's /usr/share/doc/dia (or equivalent) directory.
1708         * sheets/Makefile.am: sheet-translation-report now a simple
1709         EXTRA_DIST; make install won't install it by default. 
1710         
1711 2001-04-03  Cyrille Chepelov  <chepelov@calixo.net>
1713         * app/preferences.c: changed the default grid colour to something
1714         less intrusive. 
1716         * shapes/SDL/*.shape:
1717         * sheets/SDL.sheet: renamed all SDL shapes to conform to the
1718         "$LIBRARY - $NAME" convention. THIS REQUIRES FIXING THE EXISTING
1719         DIA FILES (well, for files using SDL), see the mailing list
1720         archive "SDL (ab)using the global shape namespace" for a script to
1721         do this conversion.
1723         * sheets/SDL.sheet: translated into French
1724         * sheets/network.sheet: fixed XML typos. Yay ! 100% :-)
1725         
1726 2001-04-02  Cyrille Chepelov  <chepelov@calixo.net>
1728         * lib/dia_xml.c: made data_point() more paranoid
1730         * sheets/Makefile.am:
1731         * sheets/checktrans (NEW):
1732         * sheets/checktrans.py: Made checktrans handle more gracefully the
1733         absence of python and python-xml packages, and made the error
1734         message more helpful.
1735         
1736 2001-04-01  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1738         * lib/render_object.c (new_render_object): Made initial handles
1739         behave like on most other objects.
1741         * app/load_save.c (read_objects): Fixed premature free'ing ofr
1742         typestr causing garbage.
1744 2001-04-01  Lars Clausen  <lrclause@C194282.chmpgn1.il.home.com>
1746         * objects/FS/flow-ortho.c: Fixed a crashbug causes by not
1747         accouting for handle ordering through copy and save. (#51479)
1749 2001-03-31  Cyrille Chepelov  <chepelov@calixo.net>
1751         * sheets/Circuit.sheet: Norwegian translation mistagged to German.
1753 2001-03-31  Steffen Macke  <sdteffen@yahoo.com>
1755         * sheets/Circuit.sheet
1756         * sheets/UML.sheet
1757         * sheets/network.sheet: Updated German translations
1758         
1759 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
1760         * lib/arrows.[ch]:
1761         * lib/widgets.c:
1762         * app/lineprops_area.c: The return of the revenge of the arrow
1763         heads. Now all types covered by ISO 10303-201 should be covered.
1764         
1765 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
1767         * sheets/Flowchart.sheet: translations in probably Hungarian were
1768         a victim of cut-n-paste from the German one. Fixed (hopefully).
1769         * sheet/UML.sheet: translation in probably Norwegian was a victim
1770         of cut-n-paste from the French one. Fixed (hopefully).
1771         * sheets/Logic.sheet: French translation not tagged with
1772         xml:lang="fr".
1773         
1774         * sheets/checktrans.py:
1775         * sheets/Makefile.am: new file, sheet-translation-report, to be
1776         installed along the sheets, show how much of them has been
1777         translated into which language (I wish the result was prettier...)
1779         * po/README: most translators don't read this file, but anyway...
1781         * sheets/.cvsignore:
1782         * objects/network/.cvsignore: the usual negotiation with CVS.
1784 2001-03-30  Cyrille Chepelov  <chepelov@calixo.net>
1786         * sheets/*.sheet: French translations
1788 2001-03-28  Cyrille Chepelov  <chepelov@calixo.net>
1790         Added patch #52363 from Hubert Figuiere <hfiguiere@teaser.fr>:
1792         ** objects/network/network.c:
1793         ** objects/network/wanlink.c:
1794         ** objects/network/pixmaps/wanlink.c:
1795         ** sheets/network.sheet:
1796         ** objects/network/Makefile.am: a better object to use instead of
1797         the older WAN Connection.
1798         
1799         ** lib/geometry.[ch]: rotation matrix functions in geometry.c (derived from gimp)
1801         ** objects/GRAFCET/vector.c: renamed Vector to GRAFCETVector to avoid a
1802         name clash 
1804         * objects/GRAFCET/vector.c: Re-renamed GRAFCETVector into
1805         Arc; kept the C file name (because CVS wouldn't like it), and
1806         still registering the older object name (but advertising the newer
1807         one in sheets/GRAFCET.sheet).   
1809 2001-03-24  Hans Breuer  <hans@breuer.org>
1811         * app/dia.def : some plug-ins (currently only python, xfig) are using 
1812         functions from the dia executable. To get them working these functions 
1813         need to be explicit exported on win32. IMO the much cleaner way would
1814         be to move these functions to libdia, but that would require some
1815         long term restructuring ...
1817         * lib/libdia.def : updated
1819         * plug-ins/makefile.msc : build xfig plug-in
1821 2001-03-24  Hans Breuer  <hans@breuer.org>
1823         * app/diagram.c : g_strdup (dia->filename) because it will be
1824         g_free ()d
1826         * app/display.c : set ddisp->renderer to NULL after destruction.
1827         This may solve or help to identify erroneous access to it after
1828         destruction.
1830         * plug-ins/wmf/wmf.cpp : convert string from utf8 to wchar to
1831         get 'umlauts' working
1833 2001-03-22  Cyrille Chepelov  <chepelov@calixo.net>
1835         * object/chronogram/chronoline_event.c: stupid bug ; rises and falls
1836         were reversed... (look for the patch, and drink a beer to my
1837         stupidity)      
1838         
1839 2001-03-23  Hans Breuer  <hans@breuer.org>
1841         * app/app_procs.c : don't g_error () if the config directory
1842         can't be created (at least not on windoze) because it's quite
1843         common that the user don't read or understand the FAQ ...
1845         * app/cursor.c : use ddisplay_active () instead of active_display
1846         from app/display.c
1848         * app/display.[hc] : made active_display var static and provide
1849         an accessor funtion ddisplay_active_diagram ()
1851         * app/dia-props.c : don't store the active_diagram, but ask
1852         for it everytime it needed.
1854         * lib/properties.h : #include "intl.h"
1856         * lib/makefile.msc : need to take care of inclusion order to
1857         avoid clashes with gtk+2.0's gdk-pixbuf
1859         * objects/makefile.msc : added uml/stereotype.c to build
1861 2001-03-23  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1863         * **/*.c: Added config.h to the remaining .c files, and changed
1864         all to be <config.h>.
1866 2001-03-22  Steffen Macke <sdteffen@yahoo.com>
1868         * lib/arrows.c
1869         * lib/arrows.h
1870         * lib/widgets.c
1871         * app/lineprops_area.c: added new arrow types with double
1872         heads
1873         
1874 2001-03-20  Steffen Macke <sdteffen@yahoo.com>
1876         * shapes/Civil/civil_gas_bottle.xpm
1877         * shapes/Civil/civil_gas_bottle.shape
1878         * sheets/civil.sheet
1879         * shapes/Civil/Makefile.am: Added gas bottle shape by Arne
1880         Battermann
1881         
1882 2001-03-20  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
1884         * objects/custom/shape_info.c (load_shape_info): 
1885         * objects/custom/shape_info.h: 
1886         * objects/custom/custom_object.c (custom_update_data): 
1887         Better support for text outside the box -- new attributes 'resize'
1888         and 'align' for text entity.  Align not fully supported yet.
1890         * lib/text.c (text_calc_boundingbox): Adding BB for cursor width.
1892 2001-03-20  James Henstridge  <james@daa.com.au>
1894         * app/interface.c (display_data_received_callback): comment out
1895         status message.
1897 2001-03-19  James Henstridge  <james@daa.com.au>
1899         * app/GNOME_Dia.oaf: rename from GNOME_Dia.oafinfo.
1901         * objects/UML/realizes.c: similar here.
1903         * objects/UML/implements.c: similar here.
1905         * objects/UML/component.c: similar here.
1907         * objects/UML/generalization.c: same here.
1909         * objects/UML/dependency.c: allow NULL for ->name and
1910         ->stereotype.  This fixes a number of problems in loading saved
1911         files.
1913         * lib/properties.c: various changes so that NULL string properties
1914         should work.
1916         * objects/standard/line.c (line_update_data):
1917         line->extra.start_long and line->extra.end_long were not being
1918         initialised.  This fixes potential problems with the bounding box
1919         of "Standard - Line" objects.
1921 2001-03-19  Hans Breuer  <hans@breuer.org>
1923         * app/commands.c : added win32 specific code to display a html
1924         file. #include "text.h" for text_delete_all prototype.
1926         * app/dia.ico :
1927         * app/dia.rc : (new) to give Dia win32 an icon
1929         * app/win32print.[ch] : new files to support direct postscript
1930         file printing on win32. Beware: it *requires* a ps-printer!
1932         * app/paginate_psprint.c : disable the signal code for win32 build
1933         and added small specific changes to support win32print.
1935         * app/makefile.msc : added win32print and linking shell32.lib
1937         * lib/libdia.def : updated
1939 2001-03-18  Kevin Breit <battery841@mediaone.net>
1941         * doc/en/dia-C.omf: Added file.  Dia should now list in the Nautilus
1942           Help tabs.
1944 2001-03-17  James Henstridge  <james@daa.com.au>
1946         * app/paginate_psprint.c (diagram_print_ps): add code that traps
1947         SIGPIPEs during printing.  This gets rid of a number of crashes
1948         caused by printing (eg. typing an incorrect print command).
1950         * dia.spec (%install): gzip the manpage.
1952         * lib/beziershape.c (beziershape_save): fix off by one error in
1953         beziershape save code, which was adding an extra segment to the
1954         object on save.
1956         * app/menus.c: add a separator in the gnome version of the help
1957         menu.
1959         * app/app_procs.c (app_init): add a --nosplash argument which
1960         disables the splash screen.
1962         * app/dia_embedd.c (main): don't leave the splash screen open for
1963         embeddable component.
1965         * app/splash.c (app_splash_init): the gtk_widget_show_now() call
1966         didn't seem to be showing the splash screen like expected, so I
1967         have replaced it with some code that calls gtk_main() until the
1968         first exposure of the window.
1970 2001-03-16  James Henstridge  <james@daa.com.au>
1972         * app/Makefile.am (EXTRA_DIST): add extra pixmaps.
1974         * objects/UML/Makefile.am (libuml_objects_la_SOURCES): add
1975         stereotype.h
1977         * lib/Makefile.am (libdia_a_SOURCES): add diavar.h here.
1979         * app/Makefile.am (dia_core_files): remove splash.h from file
1980         list, as it doesn't exist.
1982         * doc/en/Makefile.am (uninstall-local): remove the docdir on
1983         uninstall.
1985         * doc/Makefile.am (uninstall-local): target to remove the C
1986         symlink.
1988         * dia.spec (%files): include the documentation in the package.
1990         * app/menus.c (toolbox_menu_items): add menu item for manual,
1991         which calls help_manual_callback.
1993         * app/commands.c (help_manual_callback): find help file and load
1994         netscape to view it.
1996         * app/commands.h: add prototype for help_manual_callback()
1998         * doc/Makefile.am (helpdir): similar here.
2000         * doc/en/Makefile.am (helpdir): make the helpdir
2001         $(pkgdatadir)/help/en in the non gnome case.
2003         * configure.in (HAVE_GNOME): add conditional.
2005         * doc/en/Makefile.am: handle the graphics in a more general way,
2006         so it is easier for Kevin to add them to the build (just add them
2007         to the GRAPHICS var).
2009         * app/Makefile.am (embed_extra_print_files): make the case of
2010         building without gnome-print support but with bonobo support work.
2011         dia-embedd needs to be include the gnome-print
2013 2001-03-09  Cyrille Chepelov  <chepelov@calixo.net>
2015         * samples/Makefile.am: included all samples in the distribution....
2016         
2017 2001-03-09  Cyrille Chepelov  <chepelov@calixo.net>
2019         * configure.in: removed premature test for DPS. Added -*- m4 -*-
2020         at the beginning. Made HAVE_UNICODE non-default. po/es_ES.po has
2021         vanished, removed it from ALL_LINGUAS.
2023         * lib/charconv.[ch] (NEW): a very small wrapper around
2024         unicode_iconv to convert strings between utf8 and local charset
2025         (actually, ISO-8859-1, though one can do
2026         CFLAGS="-DEFAULT_8BIT_CHARSET=\"ISO-8859-2\"" and the like).
2028         * lib/ps-utf8.[ch] (NEW): A PostScript Unicoder ; a smallish
2029         library to help build Postscript streams which use as many custom
2030         font encodings as necessary to correctly represent all characters
2031         used (testing from users with non-latin1 and/or more than 256
2032         characters in routine use *very* welcome).
2034         * app/Makefile.am, lib/Makefile.am: integrated these into the
2035         build process.
2037         * shapes/Logic/.cvsignore (NEW): .cvsignore
2038         
2039         * app/render_eps.h: forwarded some changes Lars forgot to include.
2040         * app/render_eps.c: turned off ASCII85 and FILTERS, as this
2041         doesn't yet build.
2043 2001-03-08  Kevin Breit <battery841@mediaone.net>
2045         * doc/en/home_network.png: Added file.
2046         * doc/en/line_props.png: Added file.
2047         * doc/en/usage-objects.sgml: Added two graphics to file.
2048         * doc/en/usage-quickstart.sgml: Added one graphic to file.
2050 2001-03-06  Kjartan Maraas  <kmaraas@gnome.org>
2052         * app/grid.h: Place comment around text after #endif.
2053         * lib/bezier_conn.c: #include <string.h>.
2054         * lib/beziershape.c: #include <string.h>.
2055         * lib/connpoint_line.h: Comment after #endif.
2056         * lib/dia_dirs.c: #include <string.h>.
2057         * lib/element.c: Same.
2058         * lib/lazyprops.c: #include <config.h> and "intl.h".
2059         * lib/lazyprops.h: Comment out text after #endif.
2060         * lib/neworth_conn.c: #include <string.h>
2061         * lib/orth_conn.c: Same here.
2062         * lib/poly_conn.c: Here too.
2063         * lib/polyshape.c: And here.
2064         * lib/properties.c: Remove #include "intl.h" from here and add
2065         an array of static strings to work around bug in gettext that
2066         makes it miss strings in a #define body.
2067         * objects/GRAFCET/action_text_draw.h: Comment out text after #endif.
2068         * objects/GRAFCET/boolequation.h: Same here.
2069         * objects/chronogram/chronoline_event.h: Add prototype for
2070         destroy_cle().
2071         
2072 2001-03-05  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
2074         * objects/FS/function.c: 
2075         * objects/FS/flow.c: 
2076         * objects/FS/flow-ortho.c: 
2077         Updated to use properties.
2079 2001-03-03  James Henstridge  <james@daa.com.au>
2081         * lib/lazyprops.c (__propdlg_build_enum): translate the radio
2082         button labels when creating them.
2084 2001-02-28  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
2086         * objects/UML/actor.c
2087         * objects/UML/realizes.c 
2088         * objects/UML/implements.c 
2089         * objects/UML/generalization.c 
2090         * objects/UML/dependency.c 
2091         * objects/UML/constraint.c
2092         Updated to use properties.
2093         
2094         * objects/UML/stereotype.c 
2095         * objects/UML/stereotype.h
2096         Generalized to any kind of bracketting.
2097         
2098 2001-02-28  James Henstridge  <james@daa.com.au>
2100         * app/menus.c: add help entry to the help menu.  Need to get this
2101         working for the non GNOME case as well (maybe put help under
2102         $(datadir)/dia/help for non GNOME?)
2104         * doc/en/topic.dat: add a topic.dat file for GNOME menus.
2106         * doc/en/dia-manual.sgml (legalnotice): add an id attribute to
2107         this element so that we get a meaningful filename in the html
2108         translation.
2110         * doc/Makefile.am, doc/en/Makefile.am: new makefiles to handle the
2111         documentation.
2113         * configure.in (DB2HTML): add a check for the db2html program, and
2114         set an automake conditional if it is found.
2116         * Makefile.am: remove EXTRA_DIST rules that cover doc/ directory,
2117         and descend into doc/ directory while building.
2119         * configure.in (AC_OUTPUT): add doc/ makefiles to output list, now
2120         we need more complex rules for building the docs.
2122 2001-02-25  Hans Breuer  <hans@breuer.org>
2124         * config.h.win32 : some cleanup
2126         * app/prefererences.c : g_scanner_(freeze|thaw)_symbol_table
2127         are deprecated since glib-1.3.2. Sorry needing to use them
2128         contionally, but there is no glib-1.2 for win32
2130         * app/recent_files.c : use g_strescape (params) conditionally
2132         * lib/connection.c : include string.h for memcpy
2134         * lib/geometry.h : added some stuff for compatibility with
2135         msvc, which previously came from included config.h
2137         * lib/libdia.def : updated
2139         * objects/makefile.msc : updated
2141         * objects/GRAFCET/action.c(490) : fixed warning C4700: local variable 
2142         'extra' used without having been initialized
2144         * objects/network/bus.c(658) : initialize 'extra'
2146         * plug-ins/makefile.msc : updated
2148         * plug-ins/cgm/cgm.c :
2149         * plug-ins/pstricks/render_pstricks.c : 
2150         g_free() memory allocated by dia_image_rgb_data(). Plugs possibly 
2151         huge memory leaks.
2153         * plug-ins/python/python.c : use HAVE_DIRENT_H
2155 2001-02-23  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
2157         * lib/connection.c (connection_update_boundingbox): 
2158         Made the BB shrink on right and lower sides, too.
2160 2001-02-23  Kjartan Maraas  <kmaraas@gnome.org>
2162         * */*.c: #incude <config.h> at the top.
2163         * */*.h: Remove include of "config.h" since it should only
2164         be included in .c files and at the very top for things to
2165         work.
2166         * sheets/*.sheet: Updated Norwegian translations.
2167         
2168 2001-02-22  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
2170         * objects/UML/small_package.c: 
2171         * objects/UML/class.c: 
2172         * objects/UML/node.c: 
2173         * objects/UML/usecase.c:
2174         * objects/UML/lifeline.c: 
2175         * objects/UML/message.c:
2176         Various cleanup of properties in particular.  Now much more use of
2177         standard properties.
2179         * lib/diagramdata.c (layer_render): Visualization of bounding
2180         boxes, for debugging purpoises.
2182 2001-02-22  Cyrille Chepelov  <chepelov@calixo.net>
2184         * lib/geometry.h:
2185         * lib/connection.[ch]:
2186         * lib/poly_conn.[ch]:
2187         * lib/polyshape.[ch]:
2188         * lib/bezier_conn.[ch]:
2189         * lib/beziershape.[ch]:
2190         * lib/orth_conn.[ch]:
2191         * lib/neworth_conn.[ch]:
2192         * lib/element.[ch]: Changed a bit the _update_boundingbox()
2193         interface. Now the parent elements have an extra_spacing
2194         structure, which child objects just need to fill, to take care of
2195         most arrow & line width extra space needs.
2197         * objects/**/*.c: updated all objects to the new interface.
2198         While at it, killed all instances of (Object *) downcasts (phew !)
2200         * objects/GRAFCET/condition.c: removed the arrowhead, which IEC848
2201         doesn't speak about.
2202         
2203 2001-02-21  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>
2205         * sheets/Logic.sheet: New sheet for Logic symbols.
2207 2001-02-21  James Henstridge  <james@daa.com.au>
2209         * app/menus.c (dia_gnome_menu_get_widget): new function to find a
2210         widget by its path name.  Walks the GnomeUIInfo heirachy rather
2211         than widget tree, compares untranslated label names and ignores
2212         underscores in the labels.
2213         (menus_get_item_from_path): use dia_gnome_menu_get_widget so that
2214         lookups are not dependent on the current locale, as with
2215         gnome_app_find_menu_pos.
2217         * acconfig.h: guard against multiple inclusion of config.h.
2219         * app/select.c (select_style_callback): simply set the selection
2220         style to the value of action.
2222         * app/menus.c (menus_init): simplify the item factory based menu
2223         code a bit.  It looks like it was using some code cut and pasted
2224         from the gimp, which looked a bit unnecessary.  Things work fine
2225         without it.
2226         (selectmenu): set the action to the type of selection mode
2227         requested.
2228         (display_menu_items): use the symbolic enumeration values for the
2229         action field.
2231         * app/plugin-manager.c: 
2232         * app/plugin-manager.h: 
2233         * app/filedlg.c:
2234         * app/filedlg.h: 
2235         * app/select.c:
2236         * app/select.h: change prototypes.
2238         * app/commands.c: update all callback prototypes, and get rid of
2239         some #ifdef GNOME's.
2241         * app/commands.h: change function prototypes.
2243         * app/dia_embedd.c (save_fn):
2244         s/ex_Bonobo_IOError/ex_BonoboStorage_IOError/
2246         * app/menus.c (menus_init): for gnome menus, use
2247         gnome_app_fill_menu_custom and pass in a GnomeUIBuilderData
2248         structure that proxies the callbacks to have the same signature as
2249         GtkItemFactory type 1 callbacks.
2250         (menus_init): for GTK menus, change from callback type 2 to type
2251         1.
2252         (display_menu_items): add back tearoffs.  I don't know who removed
2253         these for the gtk menu case.
2255 2001-02-20  Kevin Breit <battery841@mediaone.net>
2257         * doc/en/usage-objects-special.sgml: Fixed a few of the special
2258         object descriptions.  More to come in the next few days.
2260 2001-02-20  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2262         * app/render_eps.c: Fixed for internationalized floating point
2263         output. 
2265         * objects/UML/note.c: Fixed properties -- was missing
2266         Get/ApplyPropertiesFunc.  Also improved update to recalculate text
2267         position. 
2269 2001-02-19  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2271         * plug-ins/xfig/xfig-import.c: 
2272         File added importing xfig files.  Still very rough, but good
2273         enough to let others hack on it.
2275 2001-02-07  Cyrille Chepelov  <chepelov@calixo.net>
2277         * app/interface.c:
2278         * app/linewidth_area.c:
2279         * lib/lazyprops.c:
2280         * lib/properties.c:
2281         * lib/widgets.c:
2282         * objects/ER/attribute.c:
2283         * objects/ER/entity.c:
2284         * objects/ER/relationship.c:
2285         * objects/custom/custom_object.c:
2286         * objects/flowchart/box.c:
2287         * objects/flowchart/diamond.c:
2288         * objects/flowchart/ellipse.c:
2289         * objects/flowchart/parallelogram.c:
2290         * objects/standard/box.c:
2291         * objects/standard/textobj.c: per Vlad Harchev's request, made
2292         page sizes of gtk_adjustments different than their step sizes.
2293         When sensible values of page size weren't found (overwhelming
2294         majority of cases), page sizes were set to 10.0 * respective step
2295         size.   
2297 2001-02-07  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2299         * objects/network/hub.c: 
2300         Patch from Hubert Figuiere applied, adding connection points.
2302 2001-02-02  James Henstridge  <james@daa.com.au>
2304         * app/display.c (new_display): set update id to 0 here.
2305         (ddisplay_update_handler): rename from ddisplay_flush, and set
2306         update_id to 0 at end of processing.
2307         (ddisplay_flush): new implementation that simply sets an idle
2308         handler to perform the actual drawing.
2310         * app/display.h: add structure member to hold the redraw idle
2311         handler id.
2313 2001-01-31  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
2315         * objects/standard/ellipse.c (ellipse_copy): 
2316         * objects/standard/zigzagline.c (zigzagline_copy): 
2317         Fix of copying provided by Martin Hawlisch.
2319 2001-01-23  Kevin Breit <battery841@mediaone.net>
2321         * doc/en/graphics/: added directory
2323         * doc/en/graphics/greendots.png: added file
2325         * doc/en/*sgml: made minor and some major changes to prepare for 1.4
2326         release.
2328 2001-01-23  Kevin Breit <battery841@mediaone.net>
2330         * doc/en/*sgml: made some grammar changes and fixed a few markup bugs.
2331                         thanks to John Fleck!
2333 2001-01-21  Kevin Breit <battery841@mediaone.net>
2335         * doc/en/*sgml: made just minor changes to a few lines; nothing major.
2337 2001-01-12  Michael Meeks  <michael@helixcode.com>
2339         * app/dia_embedd.c (init_server_factory): do a bonobo_activate
2340         so our POA gets setup properly.
2342         * app/paginate_gnomeprint.c (paginate_gnomeprint): g_free
2343         things we g_malloc.
2345         * configure.in: Use bonobox_print.
2347         * app/dia_embedd.c (embeddable_factory): add print interface.
2348         (object_print): impl.
2350 2001-01-11  Michael Meeks  <michael@helixcode.com>
2352         * app/dia_embedd.c (embeddable_factory): aggregate PersistFile.
2353         (load_fn, save_fn): impl.
2354         (view_factory): hide modified status bar, & use activate fn.
2355         (refresh_view): force redraws of the views.
2356         (view_show_hide): split from
2357         (dia_view_activate): here.
2359         * app/diagram.c (diagram_load_into): split from diagram_load.
2360         (new_diagram): simplify bu splittin stuff into
2361         (diagram_init): here.
2363 2001-01-10  Steffen Macke <sdteffen@yahoo.com>
2365         * shapes/jigsaw/*.shape: replaced #000000 with foreground
2366         and #ffffff with background
2367         
2368 2001-01-08  Steffen Macke <sdteffen@yahoo.com>
2370         *configure.in: GTK+-build was broken due to missing
2371         have_bonobo=no
2372         
2373 2001-01-06  Michael Meeks  <michael@helixcode.com>
2375         * app/dia_embedd.c (main): add running context support.
2376         (dia_embeddable_destroy): remove old running object counting.
2377         (embeddable_factory): ditto.
2378         (view_factory): comment out menu path hiding.
2380         * lib/sheet.c (load_register_sheet): use free to free
2381         stuff from libxml not g_free.
2383         * acconfig.h: kill cover for USE_BONOBOX and USE_OAF
2385         * configure.in: remove USE_OAF checks, check for a precice
2386         Bonobo version >= 0.31, revamp bits.
2388         * app/dia_embedd.c (init_server_factory): upd.
2389         (init_dia_factory): remove OAF conditionals, everything uses
2390         oaf now.
2392         * app/GNOME_Dia.oafinfo: rename OAFIIDs
2394         * app/Makefile.am: remove ancient gnorba code.
2395         rename dia.oafinfo to GNOME_Dia.oafinfo
2397 2001-01-07  Hans Breuer <Hans@Breuer.Org>
2399         * config.h.win32
2400         * install.win32
2401         * readme.win32 : some more files required or useful to build 
2402         Dia on win32
2404         * plug-ins/wmf/wmf.cpp : fixed open issues like fill_arc and
2405         fill_bezier implementation, boundary drawing in fill mode, etc.
2406         Next one complaining gets the source, uncommented ...
2408         * shapes/network/router-symbol.xpm 
2409         * shapes/network/switch-atm-symbol.xpm 
2410         * shapes/network/switch-symbol.xpm : removed "-*- picture -*- "
2411         from /* XPM */ header, cause it stopped Dia/gdk_pixbuf to detect 
2412         the files as XPMs. Maybe the X versions of these functions are more
2413         tolerant ...
2415 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
2417         * plug-ins/python/Makefile.am: added libart path
2419         * plug-ins/python/python.c: added dirent.h
2421         * configure.in: added es_ES and pt_BR to ALL_LINGUAS
2422         
2423 2001-01-06  Hans Breuer <Hans@Breuer.Org>
2425         * objects/uml/actor.c
2426         * objects/uml/branch.c
2427         * objects/uml/class.c
2428         * objects/uml/classicon.c
2429         * objects/uml/component.c
2430         * objects/uml/large_package.c
2431         * objects/uml/node.c
2432         * objects/uml/note.c
2433         * objects/uml/object.c
2434         * objects/uml/small_package.c
2435         * objects/uml/state.c
2436         * objects/uml/usecase.c : started to implement the generic property
2437         interface for the uml objects. Would appreciate some help on how
2438         to implement properties which are list of properties themselves,
2439         e.g. member functions and their parameters of UMLClass.
2441 2001-01-06  Hans Breuer <Hans@Breuer.Org>
2443         * plug-ins/python/diamodule.c : finally ported to win32.
2444         Added new objects and implemented register_export function.
2446         * plug-ins/python/pydia-object.h
2447         * plug-ins/python/pydia-display.c
2448         * plug-ins/python/pydia-handle.c
2449         PyObject_HEAD_INIT needs some tweakink on win32. Done in
2450         pydia-object.h; others files simply using it.
2452         * plug-ins/python/pydia-layer.c : reflect 
2453         layer_find_closest_connection(_)point renaming
2455         * plug-ins/python/pydia-object.c : add property properties.
2456         Also change bounding_box to DiaRectangle.
2458         * plug-ins/python/python.c : extended error reporting; use
2459         all *.py files from Dia's plug-in dir instead of hardcoded
2460         test.py. This sollution should be fine with Win32, but on
2461         Unix it may need some tweaking (dunno) ...
2463         * plug-ins/python/export-object.py
2464         * plug-ins/python/export-render.py : test and documentation 
2465         implementations for export filter implementations in Python
2467         * plug-ins/python/pydia-color.[hc]
2468         * plug-ins/python/pydia-diagramdata.[hc]
2469         * plug-ins/python/pydia-error.[hc]
2470         * plug-ins/python/pydia-export.[hc]
2471         * plug-ins/python/pydia-font.[hc]
2472         * plug-ins/python/pydia-geometry.[hc]
2473         * plug-ins/python/pydia-image.[hc]
2474         * plug-ins/python/pydia-properties.[hc]
2475         * plug-ins/python/pydia-property.c
2476         * plug-ins/python/pydia-render.c : new objects in new files 
2478         * plug-ins/python/makefile.am : added new files but can't test it
2480         * plug-ins/python/pydia.def
2481         * plug-ins/python/makefile.msc : for win32 build
2483         * plug-ins/cgm/cgm.c
2484         * plug-ins/dxf/dxf-import.c
2485         * plug-ins/dxf/dxf-export.c
2486         * plug-ins/hpgl/hpgl.c : reflect export API change
2488         * plug-ins/shape/shape-export.c : reflect export API change
2489         and check for libart (better the availibility of a png exporter) 
2490         at run-time instead of compile-time. 
2492 2001-01-06  Steffen Macke <sdteffen@yahoo.com>
2494         * app/recent_files.h was missing from Hans's commit
2496         * plug-ins/shape/shape_export.c: shape export was broken
2497         due to interface changes
2498         
2499 2001-01-05  Hans Breuer <Hans@Breuer.Org>
2501         Applied Steffen's recent file list patch :
2502         * app/Makefile.am : added recent_files.[hc]
2503         * app/diagram.c : add files to recent file list
2504         * app/menus.c : add recent file menu
2505         * app/app_procs.c : changed initialization order to
2506         make recent file list work with command line processing.
2508         The Filter export()/import() functions have got an additional 
2509         parameter to allow multiple filters via one C callback (required
2510         for Python bindings)
2512         * app/commands.[hc] : corrected the signature for gtk menu callback
2513         functions, which actually use the second or third parameter. This
2514         is the absolute minimum change to make these functions/menu entries
2515         work again. Using the other possible gtk menu callback signature
2516         would have required one more function to change. (see mailing list
2517         thread "Objects/Align/Equal Distance" for more information.
2519         * app/disp_callbacks.c : applied Gustavo J.A.M. Carneiro's
2520         zoom-combo focus patch
2522         * app/display.c
2523         * app/interface.c : wrapped the Zoom Combo code into 
2524         #ifndef WITHOUT_ZOOM_COMBO because IHMO it isn't an useabilty
2525         improvement but cluttering the user interface. Also it wasn't
2526         compiling on Win32 anyway. The win32 version does define 
2527         WITHOUT_ZOOM_COMBO to keep the old look. 
2528         There are plans to use the statusbar to display size and placement
2529         of selected objects, whereas the Zoom Combo would need to get out
2530         of the way as well.
2532         Added "Save Changes?" to diagram close dialog. Hopefuly the
2533         Yes/No/Cancel option isn't too much windoze like. IHMO this is
2534         an useability improvement.
2536         * app/export_png.c
2537         * app/filedlg.c
2538         * app/load_save.c
2539         * app/layer_dialog.c
2540         * app/paginate_psprint.c
2541         * app/render_eps.c
2542         - reflect signature changing of filter->export function
2543         - replaced '/' with G_DIR_SEPARARTOR where appropriate
2545         * app/diaunitspinner.c
2546         * app/render_libart.c
2547         added misssing headers like <string.h>
2549         * app/object_ops.c : fixed copy&paste bug in dialog string
2551         * app/splash.c : gdk_widget_show_now () does not ensure actual
2552         drawing of the splash screen, at least not on win32. Reuse the
2553         previous implementation with gtk_main_iteration() again.
2555         * */makefile.msc : make use of the build module (available in
2556         gnome-cvs/build. Updated for other source changes
2558         * lib/filter.h : added an user_data pointer to <ex/im>port()
2559         function signature and Dia<Im/Ex>portFilter to allow different
2560         filters to reuse the same callback function
2562         * lib/font.c : #include <string.h>
2564         * lib/orth_conn.c 
2565         * lib/poly_conn.c 
2566         * lib/poly_shape.c 
2567         * lib/neworth_conn.c
2568         * lib/text.c : don't mix allocator functions (g_)realloc, free, ...
2570         * */*.def : export function definition files required by win32 build
2572         * objects/custom/custom.c : #include <string.h>
2574         * plug-ins/pstricks/render_pstricks.c
2575         * plug-ins/shape/shape_export.c
2576         * plug-ins/svg/render_svg.c
2577         reflect changes to filter export function signature
2579         * plug-ins/wmf/wmf.cpp : fixed indent and scaling. It now should
2580         mostly work as expected
2581         * plug-ins/wmf/wmf_gdi.[hc] : Updated comment. Still not used
2582         to build the wmf plug-in because on the one hand the GDI emulation 
2583         isn't finished and on the other hand it isn't required when building
2584         for win32. Is there anybody out there, who wants to save WMF on non
2585         windoze platforms ?
2587         * plug-ins/wpg/wpg.cpp : fixed scaling to take axis dependent
2588         offset into account.
2590 2001-01-02  Steffen Macke <sdteffen@yahoo.com>
2592         * app/Makefile.am: added missing plug-ins to run_dia.sh
2594         * lib/paper.c: added paper sizes A0, A1, A2
2596         * objects/UML/class.c
2597         objects/UML/class.h
2598         objects/UML/class_dialog.c: added support for colored UML
2599         classes
2600         
2601 2000-12-30  Kevin Breit <battery841@mediaone.net>
2603         * doc/en/usage-customization.sgml: added more content
2605 2000-12-24  Kevin Breit <battery841@mediaone.net>
2607         * doc/en/usage-layers.sgml: added file, contributed by Remypsb
2608         <remy.viard@laposte.net>
2610 2000-12-24  Steffen Macke <sdteffen@yahoo.com>
2612         * added limiting lines to Civil Engineering sheet,
2613         fixed vertical pump icon
2614         
2615 2000-12-20  Steffen Macke <sdteffen@yahoo.com>
2617         * updated/additional Civil Engineering shapes: better icons,
2618         shapes use foreground/background colors now and are filled
2619         
2620 2000-12-03  Kevin Breit  <battery841@mediaone.net>
2622         * doc/en/dia-manual.sgml Integrated a few diffs.  New section should be
2623         the selection <sect1>
2625 2000-11-29  Fredrik Hallenberg  <hallon@lysator.liu.se>
2627         * app/load_save.c (diagram_data_save): avoid using obsoleted
2628         libxml calls (only matters when compiling with libxml2)
2630 2000-11-25  James Henstridge  <james@daa.com.au>
2632         * app/disp_callbacks.c (ddisplay_drop_object): add a function to
2633         handle the tool drops on the canvas.
2635         * app/interface.c (display_data_received_callback): do the check
2636         to make sure that the drag is from a local toolbox here as well.
2638         * app/interface.c (create_tools): unref the pixmap/mask after
2639         creating the GtkPixmap.
2640         (tool_setup_drag_source): function to set up a drag source for
2641         create object tool buttons.
2642         (create_tools): setup drag source for CREATE_OBJECT_TOOL's.
2643         (fill_sheet_wbox): same here.
2644         (create_display_shell): set up the display canvas as a drag
2645         destination.
2646         (display_drop_callback, display_data_received_callback): functions
2647         to handle drops of tool buttons.
2649         * app/menus.c (menus_init): don't use gnome_popup_menu_new().  It
2650         does weird shit to the user_data pointer for a menu item.  Object
2651         alignment should work again now.
2653         * app/splash.c (get_logo_pixmap): don't unref the bitmap if it is
2654         NULL, and mark this function static.
2655         (app_splash_init): use gtk_widget_show_now() instead of the
2656         gtk_main_iteration loop.
2657         (app_splash_init): connecting gtk_widget_destroy to the destroy
2658         signal of a widget seems pretty useless.
2660 2000-11-23  Kevin Breit <battery841@users.sourceforge.net>
2662         * doc/en/dia-manual.sgml:
2663                 Added sect1 for advanced object types.  Starting development
2664                 on that part.
2666 2000-11-18  Kevin Breit <battery841@mediaone.net>
2668         * doc/en/dia-manual.sgml:
2669                 Stupid spelling fixes.
2671 2000-11-18  Kevin Breit <battery841@mediaone.net>
2673         * doc/en/dia-manual.sgml:
2674                 Just some small changes I made.  Props to Greg LeBlanc on the
2675                 recommendations.
2677 2000-11-17  Alexander Larsson  <alla@lysator.liu.se>
2679         * app/display.c:
2680         (ddisplay_add_display_area): Clip input rectangle to
2681         the visible part of the display.
2682         (ddisplay_scroll): Optimization, don't scroll and
2683         redraw if moving to the same position as before.
2685         * app/render_libart.c (renderer_libart_copy_to_window):
2686         Removed sanity check. Now moved to ddisplay_add_display_area().
2688         * lib/diavar.h:
2689         Added return at end of file.
2690         
2691 2000-11-13 Kevin Breit <battery841@mypad.com>
2692         * doc/en/dia-manual.sgml
2693                 Commited manual changes from Henry House <hajhouse@houseag.com>
2695 2000-10-21 Hans Breuer <Hans@Breuer.Org>
2696         * lib/beziershape.c :
2697                 The previous code was accessing unowned memory due to IHMO
2698                 wrong index calculation. Now it appears to be fixed.
2699                 *Please Review!*
2701         * lib/makefile.msc
2702         * plug-ins/makefile.msc
2703         * objects/makefile.msc
2704         * app/makefile.msc: (new files)
2705                 Makefiles for Dia on Win32, Micro$oft VC only.
2707         * plug-ins/pstricks/render_pstricks.c
2708         * plug-ins/dxf/dxf-import.c
2709         * plug-ins/shape/shape-export.c
2710         * plug-ins/svg/render_svg.c
2711         * app/commands.c
2712         * app/filedlg.c
2713         * app/preferences.c
2714         * app/render_eps.c
2715         * lib/sheet.c
2716         * lib/plug-ins.c
2717         * objects/custom/custom.c
2718         * objects/standard/image.c
2719                 portability (not only win32): use HAVE_UNISTD_H, HAVE_DIRENT_H 
2720                 where   appropriate, add missing prototypes like <string.h>
2722         * plug-ins/wmf/wmf_gdi.cpp
2723         * plug-ins/wmf/wmf_gdi.h:
2724                 start of wmf write functions for non Win32 platform. Not 
2725                 finished yet. The other way to get it working maybe to
2726                 link the plug-in against wine libs.
2727                 
2728         * plug-ins/wpg/wpg.c : add missing brace
2730         * app/load_save.c :
2731                 Handling for unknown objects at load time. Previously Dia
2732                 was crashing, if you try to load a file referencing objects
2733                 whiches plug-ins aren't installed/available. Now it spits out 
2734                 a warning and ignores the unknown objects.
2736         * app/interface.c
2737                 toolbox DND support for files like The Gimp does it.
2739         * app/main.c
2740         * app/app_procs.h
2741                 Simple splash screen support and usage.
2743         * app/app_procs.c
2744                 Splash screen, portability fixes, dont' g_error if there is
2745                 g_get_homedir return NULL. This may remove the one and only
2746                 FAQ for Win32.
2748         * app/menus.c :
2749                 Make it compile without ENABLE_NLS
2751         * app/render_libart.c :
2752                 Sanity check to avoid calling libart with wrong window coordinates.
2753                 They come from the update handler. Direct Gdk is dealing nicely
2754                 with coordinates out of range, libart does access un-owned memory
2755                 in this case, mostly causing crashes.
2757         * app/winmain.c: (new file) Export the Win32 Gui version of the
2758                 main function. This file is only required for Windoze.
2760         * app/splash.c: (new file) splash screen implementation
2762         * lib/color.h
2763         * lib/font.h
2764         * lib/diavar.h: (new file)
2765                 moved special variable export code to diavar.h, because it is
2766                 needed in color.h and font.h
2768         * lib/paper.c :
2769                 M$VC cann't export inlined functions. Quick hack to let it
2770                 link again. Probably the glib mechanics should be used here?
2772         * objects/UML/lifeline.c : initialize var before usage
2774         * objects/GRAFCET/step.c : removed unused var
2776 2000-10-14  James Henstridge  <james@daa.com.au>
2778         * app/render_gnomeprint.c (draw_image): change code so images
2779         don't get flipped when printing.
2781         * app/paginate_gnomeprint.c (diagram_print_gnome): check to make
2782         sure that the return value of
2783         gnome_print_context_new_with_paper_size is not NULL.
2785         * app/render_gnomeprint.c (draw_arc): add code to convert arcs
2786         into a series of bezier segments.
2787         (fill_arc): similar code to handle filled arc segments.
2789 2000-10-12  Fredrik Hallenberg  <hallon@lysator.liu.se>
2791         * app/app_procs.c
2792         * app/commands.c
2793         * app/dia-props.c
2794         * app/diagram.c
2795         * app/diagram.h
2796         * app/disp_callbacks.c
2797         * app/display.c
2798         * app/linewidth_area.c
2799         * app/paginate_psprint.c
2800         * app/preferences.c
2801         * app/undo.c
2802         * app/font.c
2803         * app/message.c
2804         * app/neworth_conn.c
2805         * app/orth_conn.c
2806         * objects/standard/box.c: various small changes to get rid of 
2807         annoying warnings (eg faulty prototypes and unused variables)
2809         * app/disp_callbacks.c
2810         * app/cursor.h
2811         * app/magnify.c
2812         * app/magnify.h: update magnify tool icon when pressing/releasing
2813         shift. I will try to make something more general so that similar
2814         things can be used by other tools.
2816         * shapes/SDL/inout.shape
2817         * shapes/SDL/return.shape: fixed some typos
2819 2000-10-09  James Henstridge  <james@daa.com.au>
2821         * objects/custom/shape_info.c (parse_path): apply patch from
2822         Robert Young <robertdotyoung@dsto.defence.gov.au> to fix bug
2823         #25221
2825 2000-10-08  James Henstridge  <james@daa.com.au>
2827         * objects/standard/image.c (image_set_props): if the file could not
2828         be loaded, show the broken image icon.
2830         * plug-ins/Makefile.am (SUBDIRS): add shape to the subdirs list.
2832         * plug-ins/shape/*: the shape export plugin by Steffen Macke.
2834         * app/interface.c (fill_sheet_wbox): use gdk-pixbuf to load the
2835         object icon when loading from a file.  This allows you to have PNG
2836         icon files for shapes.
2838 2000-10-07  James Henstridge  <james@daa.com.au>
2840         * app/Makefile.am (dia_LDADD): remove GDK_IMLIB_LIBS reference.
2842         * lib/Makefile.am, app/Makefile.am (INCLUDES): remove
2843         GDK_IMLIB_CFLAGS reference.
2845         * app/commands.c (help_about_callback): remove imlib code.
2847         * lib/dia_image.c: only include the pixbuf version of the image
2848         routines.
2850         * acconfig.h: remove the HAVE_GDK_PIXBUF flag from here.
2852         * configure.in (CPPFLAGS): remove the check for imlib, as we now
2853         require gdk-pixbuf.
2855         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer):
2856         conditionally define \setfont as well.
2858 2000-10-05  James Henstridge  <james@daa.com.au>
2860         * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): fix
2861         preamble so that we define \setlinejoinmode and \setlinecaps
2862         commands conditionally on them being undefined.  This way, the
2863         pstricks output files should work without modification, and will
2864         support the commands when they are implemented in pstricks.
2866 2000-10-05  Szabolcs Ban  <shooby@gnome.hu>
2868         * dia.desktop: added hungarian translations to dia.desktop
2870 2000-10-04  James Henstridge  <james@daa.com.au>
2872         * sheets/UML.sheet: fix typo.
2874         * objects/custom/shape_info.c: use strtod instead of g_strtod.
2875         (parse_path): actually call setlocale around strtod calls.
2877         * lib/dia_xml.c: use strtod rather than g_strtod.  We wrap each
2878         call in setlocale(LC_NUMERIC, "C"), so there is no reason to call
2879         the g_strtod wrapper.
2881         * shapes/SDL/: add SDL shapes from Rubens Ramos
2882         <rubens_ramos@yahoo.com>
2884         * acinclude.m4 (DIA_CHECK_CFLAG): fix up macro.
2886         * sheets/Makefile.am (SHEETS): add SDL.sheet to list.
2888         * shapes/MSE/: add Mobile Subscriber Equipment shapes from
2889         W. Michael Petullo <mike@flyn.org>.
2891         * sheets/Makefile.am (SHEETS): add civil.sheet (which got missed
2892         from the 0.86 tarball) and jigsaw.sheet.
2894         * configure.in: add shapes/jigsaw/Makefile to list of generated files.
2896         * shapes/jigsaw/: jigsaw shapes from Martin Hawlisch.
2898         * shapes/network/: add network-additional shapes here.
2900         * sheets/network.sheet: add the network-additional shapes from
2901         Martin Hawlisch <Martin.Hawlisch@bflow.com> to the main network
2902         sheet.
2904 2000-09-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
2906         * configure.in: Updated ALL_LINGUAS
2908         * po/nl.po: Removed newline from translation
2910 2000-09-17  Asbjorn Pettersen  <asbjornP@dualog.no>
2912         * app/commands.c (help_about_callback): Use G_DIR_SEPARATOR_S in 
2913         logo filename generation. 
2915         * lib/dia_dirs.c (dia_get_data_directory): Handle empty subdir better.
2916         Avoiding "//dia_logo.png".
2918 2000-09-16  Asbjorn Pettersen  <asbjornP@dualog.no>
2920         * app/filedlg.c: add include <sys/types.h> to
2921         remove warning. (OS/2)
2923 2000-09-13  Cyrille Chepelov <chepelov@calixo.net>
2925         * objects/chronogram/chronoline_event.c (reparse_clevent):
2926         the __checksum routine was simply bogus. Redone it in a slightly
2927         saner way (reported by Michael Farr <mfarr@cs.latrobe.edu.au>).
2929 2000-09-10  Asbjorn Pettersen  <asbjornP@dualog.no>
2931         * app/create_object.c (create_object_button_press): 
2932         * app/modify_tool.c (click_select_object): 
2933         * lib/object.h: select renamed to selectf to prevent
2934         compiler problems with function select().  OS/2 version.
2936 2000-09-08  Karsten Weiss  <knweiss@gmx.de>
2938         * po/de.po: Updated.
2940 2000-09-07  Karsten Weiss  <knweiss@gmx.de>
2942         * dia.desktop: Added German translation
2943         * app/menus.c: "Diagram Propeties..." -> "Diagram Properties..."
2945 2000-08-29  Manuel de Vega Barreiro <barreiro@arrakis.es>
2947         * configure.in (ALL_LINGUAS): added "es"
2949 2000-08-28  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
2951         * app/magnify.c:
2952         * app/cursor.h:
2953         * app/cursor.c:
2954         * app/scroll_tool.c:
2955         Standardized cursor function get_cursor().  Magnify now has
2956         looking-glass cursor with + and -.
2958         * app/create_object.c (create_object_button_press): 
2959         Newly created connections now snap to connection points even when
2960         off the grid. 
2962 2000-08-17  Daniel Egger  <egger@suse.de>
2964         * app/menus.c: #ifdef'ed some code for the none GNOME
2965         case.
2966         * app/dia_embedd.c: Changed obvious hackery. Can anyone
2967         please have a look at the GNOME UI menu creation? The
2968         gnome-app-helper code is ages old and plainly broken!
2970 2000-08-15  Daniel Egger  <egger@suse.de>
2972         * app/commands.c:
2973         * app/commands.h:
2974         * app/diagram.c:
2975         * app/display.c:
2976         * app/menus.c:
2977         * app/select.c: First big patch to get the menus
2978         working again in the international version. Copied
2979         some code written by Sven and me from GIMP and
2980         thus implemented automatic tearoffmenu creation and
2981         proper translation. I also removed that pseudo
2982         radiomenu hack and cleaned up several translation
2983         hacks which have never really worked. All in all
2984         this is part I of the big menu patch. Enjoy and tell
2985         me if you detect any problems.
2987 2000-08-14  Daniel Egger  <egger@suse.de>
2989         * sheets/UML.sheet: Changed one German translation as
2990         suggested by Heribert Schuetz <hs@heribert-schuetz.de>.
2992 2000-08-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
2994         * app/diapagelayout.c:
2995         * lib/diagramdata.c:
2996         * lib/diagramdata.h:
2997         * lib/Makefile.am:
2998         * lib/paper.c:
2999         * lib/paper.h: honour PAPERCONF env variable and /etc/papersize when
3000         selecting paper size for a new diagram. TODO: Use libpaper if 
3001         available and use gnome_paper-stuff if using GNOME.
3003         * sheets/Electric.sheet: fixed typo.
3004         
3005 2000-08-08  James Henstridge  <james@daa.com.au>
3007         * po/README: added a readme file to tell translators to translate
3008         the .sheet files as well.
3010         * app/commands.c (help_about_callback): fix small bug where we tried
3011         to gdk_bitmap_unref() the mask for the about box image, even though
3012         it was NULL.  Now check for a NULL mask.
3014 2000-08-07  Daniel Egger  <egger@suse.de>
3016         * sheets/*.sheet: Added translations for the name
3017         in the toolbar tab. Brushed up some descriptions 
3018         and some translations a bit.
3020 2000-08-06  James Henstridge  <james@daa.com.au>
3022         * plug-ins/svg/render_svg.c (new_svg_renderer): update public
3023         identifier and dtd url for SVG output.
3024         (new_svg_renderer): fix the output of the viewBox output.  The
3025         second two numbers are the width and height -- not the right
3026         and bottom sides of the box.
3028         * shapes/*/*.shape: update svg namespace URI.
3030         * objects/custom/shape_info.c (load_shape_info): change the
3031         namespace URI for custom shapes yet again to match the Candidate
3032         Recommedation.  It looks like this one will probably be the final
3033         one.
3035         * app/display.c (new_display): remove the code that sets ic and
3036         ic_attr members to NULL, as one of the previous function calls
3037         causes the display to be realised.  This means that the ic gets
3038         lost.  Thanks to Yukihiro Nakai <ynakai@redhat.com> for finding
3039         this one.
3041 2000-08-06  James Henstridge  <james@daa.com.au>
3043         * shapes/Makefile.am (SUBDIRS): add Civil back to list.
3045         * NEWS: fixed date in NEWS file, as I will release today.
3047         * README: updated the README a little.  Added note that Dia is now
3048         a GNU program.
3050         * dia.spec: fix up spec file.
3052         * plug-ins/wpg/wpg.c: changed DIAG_NOTE stuff here as well.
3054         * plug-ins/hpgl/hpgl.c: change Hans's DIAG_NOTE stuff so that we don't
3055         get heaps of warnings when you turn off debugging.
3056         Also made a few other warning fixes.
3058 2000-08-02  James Henstridge  <james@daa.com.au>
3060         * plug-ins/svg/Makefile.am (INCLUDES): add XML_CFLAGS to INCLUDES.
3062         * configure.in: update version number.
3064 2000-08-01  James Henstridge  <james@daa.com.au>
3066         * app/commands.c (help_about_callback): add Hans to about dialog.
3068         * doc/shape.dtd: dtd for shape file format.
3070         * doc/custom-shapes: update doc file about creating custom shapes.
3072         * shapes/*/*.shape: change namespace URI for the SVG portion to the
3073         one for the latest draft.
3075         * shapes/*/*.shape: fix up rect definitions.
3077         * objects/custom/shape_info.c (load_shape_info): recognise newer
3078         namespace tag for SVG.
3079         (parse_svg_node): the rect element should take attributes x, y, width
3080         and height -- not x1,y1,x2,y2.
3082         * plug-ins/svg/render_svg.c (new_svg_renderer): updated doctype
3083         output to use the newest draft DTD.
3085         * plug-ins/svg/svg.c: initialisation code for plugin.
3087         * plug-ins/svg/render_svg.c: move svg export code to a plugin.
3089         * plug-ins/svg/Makefile.am: makefile for svg plugin.
3091         * app/app_procs.c (internal_plugin_init): don't register the svg
3092         export filter here.
3094         * app/Makefile.am (dia_core_files): don't compile in render_svg.[ch]
3096 2000-07-31  James Henstridge  <james@daa.com.au>
3098         * objects/standard/textobj.c (textobj_get_defaults): 
3099         * objects/standard/polygon.c (polygon_get_defaults): 
3100         * objects/standard/image.c (image_get_defaults): 
3101         * objects/standard/ellipse.c (ellipse_get_defaults): 
3102         * objects/standard/box.c (box_get_defaults): 
3103         * objects/standard/beziergon.c (beziergon_get_defaults): 
3104         * objects/flowchart/parallelogram.c (pgram_get_defaults): 
3105         * objects/flowchart/ellipse.c (ellipse_get_defaults): 
3106         * objects/flowchart/diamond.c (diamond_get_defaults): 
3107         * objects/flowchart/box.c (box_get_defaults): 
3108         * objects/custom/custom_object.c (custom_get_defaults): 
3109         * objects/FS/flow.c (flow_get_defaults): 
3110         * objects/FS/flow-poly.c (flow_get_defaults): 
3111         * objects/FS/flow-ortho.c (orthflow_get_defaults): ref and sink the
3112         defaults widget.
3114         * app/defaults.c (defaults_show): don't keep on ref'ing the defaults
3115         widgets for various object types.
3116         (create_dialog): ref and sink the no_defaults_dialog.
3118         * app/preferences.c (prefs_create_dialog): change
3119         gtk_container_border_width call to gtk_container_set_border_width.
3121 2000-07-29  James Henstridge  <james@daa.com.au>
3123         * app/commands.c (view_aa_callback): show a warning dialog if
3124         you start AA mode.
3126         * app/interface.c (fill_sheet_menu): don't add a menu item for
3127         empty sheets.
3129 2000-07-26  James Henstridge  <james@daa.com.au>
3131         * plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677
3133         * app/menus.c: remove edit grid menu item.
3135         * app/commands.[ch] (view_edit_grid_callback): removed.
3137         * app/display.c (new_display): don't initialise removed Grid members.
3139         * app/grid.c: remove unused functions.
3141         * app/grid.h: remove dialog related stuff from Grid structure.
3142         Remove prototypes for dialog functions.
3144         * app/menus.c: add to menus
3145         
3146         * app/commands.[ch] (view_diagram_properties_callback): new command
3147         for showing the diagram properties dialog.
3149         * app/dia-props.[ch]: a new diagram properties dialog.  To replace
3150         the edit grid dialog.
3152 2000-07-25  James Henstridge  <james@daa.com.au>
3154         * app/grid.c (grid_x_update): 
3155         (grid_y_update): as the grid setting is stored with the diagram,
3156         update all displays when a change is made.
3158         * app/modify_tool.c (modify_motion): use new snap_to_grid sig.
3160         * app/create_object.c (create_object_button_press): 
3161         (create_object_motion): use new snap_to_grid signature.
3163         * app/grid.c (grid_draw): use the grid settings in the DiagramData,
3164         and handle invisible grid lines.
3165         (snap_to_grid): use new grid settings.  Also changed signature to
3166         take a DDisplay rather than Grid pointer.
3167         (grid_show_dialog): get the defaults from the correct place.
3169         * app/display.c (new_display): do not set ddisp->grid.width_[xy].
3171         * app/diagram.c (new_diagram): set the grid size defaults from the
3172         user preferences.
3174         * app/load_save.c (diagram_data_save): save grid and guide info to
3175         diagram file.
3176         (diagram_data_load): add guide and grid load support.
3178         * lib/diagramdata.c (new_diagram_data): set the new DiagramData
3179         members.
3181         * lib/diagramdata.h: add members to DiagramData for grid and guide
3182         settings.
3184         * configure.in (BONOBO_LIBS): update configure scripts
3186         * app/dia.oafinfo: oafinfo file for dia embeddables.
3188         * app/dia_embedd.c: add OAF support.
3190 2000-07-24  James Henstridge  <james@daa.com.au>
3192         * plug-ins/wpg/Makefile.am: 
3193         * plug-ins/pstricks/Makefile.am: 
3194         * plug-ins/hpgl/Makefile.am: 
3195         * plug-ins/dxf/Makefile.am: same here.
3197         * plug-ins/cgm/Makefile.am: remove LIBADD.  Dia already links with
3198         the required libraries, and the link line was causing libtool not
3199         to build a shared library on some systems :(
3201         * plug-ins/cgm/cgm.c (write_real): the initial if statement should
3202         be checking x, not n.
3204 2000-07-23  James Henstridge  <james@daa.com.au>
3206         * app/preferences.c (prefs_data): set the "reset tools after
3207         create" preference to true by default.  That seems to be what most
3208         people expect.
3210         * app/interface.c (create_sheets): instead of a notebook, use an
3211         option menu that updates the sheet tools.  The notebook tabs were
3212         getting a bit unwieldly, so the option menu should fix that.  This
3213         also reduces the number of widgets in the tools radio button
3214         group, which should make the UI a little more responsive.
3216 2000-07-19  Fatih Demir <kabalak@gmx.net>
3217         
3218         * configure.in: Added tr to ALL_LINGUAS.
3219                 [ Yeah, we're now having a Turkish translation,
3220                    too. ]
3221         
3222         * dia.desktop: Added the Turkish entries.
3224 2000-07-02  Fredrik Hallenberg  <hallon@lysator.liu.se>
3226         * doc/diagram.dtd: changed string-element so it conforms to the
3227         output from dia.
3229 2000-06-30  Fredrik Hallenberg  <hallon@lysator.liu.se>
3231         * configure.in: added chinese. 
3232         Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL.
3234         * app/app_procs.c:
3235           app/load_save.c:
3236           app/render_svg.c:
3237           lib/dia_xml.c:
3238           lib/plug-ins.c:
3239           lib/sheet.c:
3240           objects/custom/shape_info.c: 
3241           shapes/Circuit/npn.shape:
3242           shapes/Circuit/pnp.shape:
3243           sheets/*.sheet: dia now works with libxml2.
3244         Libxml2 is a bit more picky when parsing xml and reported errors on all 
3245         sheet files because they use non ascii characters (added 
3246         encoding="iso-8859-1"). Also "xml:lang=en@layman" is not proper xml so 
3247         I commented out these.
3249 2000-06-30  Christopher R. Gabriel  <cgabriel@linux.it>
3251         * configure.in (ALL_LINGUAS): added Italian
3253 2000-06-27  Sung-Hyun Nam  <namsh@lgic.co.kr>
3255         * configure.in (ALL_LINGUAS): added Korean
3257 2000-06-25  James Henstridge  <james@daa.com.au>
3259         * objects/flowchart/parallelogram.c (pgram_create): use default font
3260         and add properties interface support.
3262         * objects/flowchart/ellipse.c (ellipse_create): use default font and
3263         add properties interface support.
3265         * objects/flowchart/diamond.c (diamond_create): use default font and
3266         add properties interface code.
3268         * objects/flowchart/box.c (box_create): use default font.
3270         * objects/custom/custom_object.c (custom_create): use default font
3271         here too.
3273         * objects/standard/textobj.c (textobj_create): update to use default
3274         font.
3276         * lib/attributes.c: add implementations.
3278         * lib/attributes.h (attributes_[gs]et_default_font): add function
3279         prototypes for setting/getting a default font.
3281 2000-06-24  James Henstridge  <james@daa.com.au>
3283         * app/paginate_gnomeprint.h: updated prototype.
3285         * app/paginate_gnomeprint.c (paginate_gnomeprint): update to use
3286         diagram page settings.
3288         * objects/standard/beziergon.c (beziergon_copy): same here.
3290         * objects/standard/polygon.c (polygon_copy): copy the fill colour
3291         as well.
3293         * app/undo.h: 
3294         * app/tool.h (tool_options_dialog_show): 
3295         * app/scroll_tool.h (free_scroll_tool): 
3296         * app/render_svg.h: 
3297         * app/render_libart.h (renderer_libart_copy_to_window): 
3298         * app/render_gdk.h (renderer_gdk_copy_to_window): 
3299         * app/properties.h (properties_hide_if_shown): 
3300         * app/preferences.h (prefs_load): 
3301         * app/object_ops.h: 
3302         * app/modify_tool.h (free_modify_tool): 
3303         * app/magnify.h (free_magnify_tool): 
3304         * app/linewidth_area.h (linewidth_area_create): 
3305         * app/layer_dialog.h: 
3306         * app/handle_ops.h (handle_is_clicked): 
3307         * app/group.h: 
3308         * app/grid.h (grid_destroy_dialog): 
3309         * app/defaults.h (defaults_show): 
3310         * app/cut_n_paste.h (cnp_exist_stored_objects): 
3311         * app/create_object.h (free_create_object_tool): 
3312         * app/connectionpoint_ops.h (diagram_unconnect_selected): 
3313         * app/commands.h: 
3314         * app/color_area.h (color_area_create): 
3315         * app/app_procs.h (app_is_embedded): remove extern keyword from
3316         function prototypes.
3318         * lib/text.h: 
3319         * lib/sheet.h (load_all_sheets): 
3320         * lib/render_store.h: 
3321         * lib/render_object.h (render_object_load): 
3322         * lib/polyshape.h (polyshape_closest_segment): 
3323         * lib/poly_conn.h (polyconn_closest_segment): 
3324         * lib/orth_conn.h: 
3325         * lib/object.h: 
3326         * lib/objchange.h (new_object_state_change): 
3327         * lib/neworth_conn.h (neworthconn_add_segment): 
3328         * lib/message.h (message_error): 
3329         * lib/lazyprops.h: 
3330         * lib/geometry.h: 
3331         * lib/font.h (font_descent): 
3332         * lib/focus.h (remove_focus): 
3333         * lib/element.h: 
3334         * lib/diagramdata.h: 
3335         * lib/dia_xml.h (data_add_composite): 
3336         * lib/dia_image.h: 
3337         * lib/connpoint_line.h: 
3338         * lib/connection.h (connection_move_handle): 
3339         * lib/color.h: 
3340         * lib/attributes.h (attributes_set_default_line_style): 
3341         * lib/arrows.h (arrow_draw): remove extern keyword from function
3342         definitions.  It is not required for functions.
3344         * plug-ins/dxf/Makefile.am (INCLUDES): 
3345         * plug-ins/pstricks/Makefile.am (INCLUDES): 
3346         * plug-ins/cgm/Makefile.am (INCLUDES): 
3347         * objects/SADT/Makefile.am (INCLUDES): 
3348         * objects/chronogram/Makefile.am (INCLUDES): 
3349         * objects/GRAFCET/Makefile.am (INCLUDES): 
3350         * objects/flowchart/Makefile.am (INCLUDES): 
3351         * objects/sybase/Makefile.am (INCLUDES): 
3352         * objects/FS/Makefile.am (INCLUDES): 
3353         * objects/standard/Makefile.am (INCLUDES): 
3354         * objects/network/Makefile.am (INCLUDES):
3355         * objects/UML/Makefile.am (INCLUDES): same here.
3357         * objects/ER/Makefile.am: changed inclusion of some macros to
3358         variables.
3360         * lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to
3361         handle the plug in extension, rather than have all the #ifdef's in
3362         the code.
3364         * plug-ins/Makefile.am: add renderer.inc to dist.
3366         * plug-ins/dxf/dxf-import.c: Updates from Steffen Macke.
3368 2000-06-11  Asbjorn Pettersen  <asbjornP@dualog.no>
3370         * lib/plug-ins.c: Handle OS/2 dll's too.
3372 2000-06-07  James Henstridge  <james@daa.com.au>
3374         * app/plugin-manager.c (get_plugin_manager): set some table
3375         packing options to make it look a little nicer.
3377         * plug-ins/hpgl/Makefile.am, plug-ins/wpg/Makefile.am: added
3378         makefiles for these plug-ins.
3380         * plug-ins/{hpgl,wmf,wpg}/*: removed dos style cariage returns.
3382         * configure.in: added hpgl and wpg directories to build.  Added
3383         note about whether gnome-print support was enabled, and noted that
3384         it is not recommended.
3386 2000-06-06  James Henstridge  <james@daa.com.au>
3388         * plug-ins/{hpgl,wmf,wpg}/*: Hans Breuer's plug-ins.  They still need
3389         a little work, but I am checking them in so I don't lose them.
3391 2000-06-01  James Henstridge  <james@daa.com.au>
3393         * objects/standard/arc.c: added extra properties.
3395         * lib/beziershape.c (beziershape_closest_handle): fix a bug where I
3396         was using the wrong index into the handles array.  This gets corner
3397         type changing working correctly.
3399         * lib/properties.[ch]: add support for BezPoint's and BezPoint arrays
3400         to properties code (no editing or loading yet though).  Also added
3401         support for point array manipulation through the offsets interfaces.
3403         * lib/Makefile.am (INCLUDES): added include of gdk-pixbuf 
3405         * app/interface.c (origin_button_press): changes so the origin
3406         button doesn't grab the pointer when we pop up the menu.
3408         * app/commands.c (help_about_callback): fix small memory leak in
3409         about box code.
3411         * app/menus.c (menus_init): fixed breakage I introduced in the non
3412         gnome menus when I was doing the menu changes.  The tearoffs work
3413         really nicely in plain gtk mode as well.
3415         * objects/standard/beziergon.c (beziergon_create): changed the
3416         returned handles to match the handle numbering changes.  Now
3417         segment addition and removal works correctly with undo!
3419         * lib/beziershape.c: various changes to the code.  Changed the
3420         numbering of handles, and fixed the segment removal code.
3422 2000-05-31  James Henstridge  <james@daa.com.au>
3424         * objects/standard/beziergon.c: remove connection point handling.
3425         There is still a bit of work to be done to get adding and removing
3426         of segments working correctly.
3428         * lib/beziershape.c: add connection point handling to beziershape.
3429         I set it for two connection points per segment.
3431 2000-05-30  James Henstridge  <james@daa.com.au>
3433         * objects/standard/polygon.c: don't do connectionpoint handling.
3435         * lib/polyshape.c: changed to handle connection points internally.
3436         Also, don't worry about connections to handles on polyshape, as
3437         all handles are non connectable.
3439 2000-05-30 Ville Hautamaki <villeh@cs.joensuu.fi>
3441         * configure.in: Added finnish
3442         
3443 2000-05-30  James Henstridge  <james@daa.com.au>
3445         * sheets/*.sheet: translation updates to the .sheet files.
3447         * po/fr.po: updated po file from Christophe Merlet.
3449         * menus.h: removed prototypes for functions which have been removed.
3451 2000-05-29  James Henstridge  <james@daa.com.au>
3453         * app/layer_dialog.c (layer_dialog_set_diagram): set the selected
3454         item in the option menu when changing selected diagram.
3456         * app/dia_embedd.c (view_factory): fix up function to work with new
3457         menus API.
3459         * app/disp_callbacks.c (ddisplay_realize): remove call to
3460         display_set_active from here.
3461         (ddisplay_canvas_events): move call here.  This gets rid of all the
3462         warnings, as the renderer has been fully set up correctly at this
3463         point.
3465         * app/menus.c (menus_init): add the tearoff item to the start of the
3466         right click menu.
3468         * app/app_procs.c (create_user_dirs): we don't need to create the
3469         menus directory anymore.
3471         * app/disp_callbacks.c (ddisplay_popup_menu): it should not be
3472         necessary to update the menu state here, as it was done when the
3473         active display was set.
3475         * app/display.c (display_set_active): update the menu state when
3476         changing active displays.
3478         * app/interface.c (origin_button_press): set the display as active
3479         when a click is made on the menu button.
3481         * app/menus.c (menus_init): set up a quit function to save the accels
3482         at exit.
3483         Add tearoff items for the non GNOME menus, add accelerators for
3484         several GNOME menus.
3486         * app/disp_callbacks.c (ddisplay_popup_menu): get the menu with
3487         menus_get_image_menu().
3489         * app/menus.c (menus_get_item_from_path): use display_menus here
3490         rather than ddisp->popup.
3492         * app/display.h: remove the popup member in the DDisplay structure.
3494         * app/interface.c: remove option of not using wrap box.
3495         (create_toolbox): change to always use menus_get_toolbox_menubar
3496         even when using gnome menus.
3497         (create_display_shell): use menus_get_image_menu to load accelerators
3498         only -- not the actual popup menu.
3500         * app/menus.c (menus_init): new function to create the menus.
3501         (menus_get_toolbox_menubar): use this function whether gnome is
3502         in use or not.  Changed to use menus_init.
3503         (menus_get_image_menu): same here.  Also, now this function always
3504         returns the same menu, rather than a new one each time.
3505         (menus_init): read a menurc file to load accelerators here.
3507 2000-05-28  James Henstridge  <james@daa.com.au>
3509         * app/display.c (ddisplay_really_destroy): unset active display if
3510         active display is destroyed.
3511         (ddisplay_active): simplify function to return active_display as set
3512         by display_set_active.  This allows using a pinned menu with any
3513         display -- not just the one it was popped up from.
3514         (display_set_active): notify the layer dialog of change of diagrams
3515         when active diagram changes.
3517         * app/disp_callbacks.c (ddisplay_canvas_events): set active display
3518         on button and key presses.
3519         (ddisplay_realize): set active display on realize.
3521         * app/display.c (display_set_active): simple implementation of this
3522         function.
3524         * app/display.h (display_set_active): add prototype for setting
3525         the active display.
3527         * app/interface.c (create_display_shell): don't give focus to the
3528         menu button.
3530         * app/menus.c: fix up menus for Beziergon.
3532         * app/interface.c (create_display_shell): make the widget in the
3533         top left corner a button that can be used to pop up the right click
3534         menu, like in gimp and sketch.
3536         * app/disp_callbacks.c (ddisplay_popup_menu): new function to popup
3537         the display menu.
3539         * objects/standard/beziergon.c (beziergon_set_corner_type_callback):
3540         add code to set corner types for beziergon.
3542         * lib/beziershape.c (beziershape_set_corner_type): fix up corner type
3543         setting code.
3544         (beziershape_move_handle): use the previous corner type for right
3545         controls.
3547         * app/interface.c (tool_data): add beziergon to toolbox.
3549         * objects/standard/standard.c (dia_plugin_init): initialise the new
3550         Beziergon object type.
3552         * objects/standard/beziergon.c: an object based on BezierShape.
3554         * lib/dummy_dep.h (dummy_dep): added to dummy_dep.
3556         * lib/beziershape.[ch]: new files implementing a bezier shape.
3558 2000-05-26  James Henstridge  <james@daa.com.au>
3560         * lib/text.c (text_key_event): handle multibyte inserts.
3561         (text_key_event): also add home and end keybindings.
3563         * app/interface.c (create_display_shell): connect handlers for
3564         focus_in_event, focus_out_event, realize and unrealize signals.
3566         * app/display.[ch] (new_display): initialise input context members.
3568         * app/disp_callbacks.[ch]: added XIM support here.
3570         * lib/font.c (suck_font): the black and white pixel values should be
3571         taken from a 1 bit colormap rather than the default colormap.
3573         Hans Breuer's Windows patches ...
3575         * lib/font.c: use Courier New for fixed width font on windows
3576         machines.
3578         * lib/dia_image.h: change to "struct _DiaImage".
3580         * lib/dia_image.c: change "struct DiaImage" to "struct _DiaImage"
3582         * app/disp_callbacks.c (ddisplay_canvas_events): allow ctrl+right
3583         mouse button for object menu.  This will make two button mouse owners
3584         happier.
3586 2000-05-25  James Henstridge  <james@daa.com.au>
3588         * app/filedlg.c (file_open_ok_callback): use diagram_load here.
3590         * app/app_procs.c (app_init): add extra NULL argument to call of
3591         diagram_load.
3593         * app/load_save.h: remove prototype.
3595         * app/load_save.c: remove diagram_data function here.
3597         * app/diagram.h: added prototype.
3599         * app/diagram.c (diagram_load): new function here, which uses import
3600         filters.
3602         * plug-ins/dxf/dxf.c: register the import filter as well.
3604         * plug-ins/dxf/dxf-import.c: added (unfinished) DXF import filter from
3605         Steffen Macke <macke@heini.fbbwu.fh-lueneburg.de>
3607         * objects/standard/line.c: add start_point and end_point properties
3608         to standard line object.
3610 2000-05-21  James Henstridge  <james@daa.com.au>
3612         * app/paginate_psprint.c: added missing include of locale.h.
3614         * objects/custom/custom_object.c (custom_draw): use fabs rather than
3615         abs for scaling factors.
3616         (custom_distance_from): same here.
3618         * dia.spec: make sure rpm doesn't bomb out when LINGUAS isn't set.
3620 2000-05-18  James Henstridge  <james@daa.com.au>
3622         * po/POTFILES.in: updated POTFILES.in.
3624         * dia.spec: incremented version number in spec file.
3626         * NEWS: added (lots of) news items for the 0.85 release.
3628         * app/preferences.c (prefs_save): set LC_NUMERIC to C while writing
3629         the config file.
3631         * configure.in: updated version number here.
3633         * app/Makefile.am (run_dia.sh): include plug-ins in the lib path.
3635 2000-05-17  James Henstridge  <james@daa.com.au>
3637         * app/app_procs.c (internal_plugin_init): register the native import
3638         filter.
3640         * app/load_save.c (diagram_data_load, diagram_load): split this
3641         function into two -- one that does all the work on the DiagramData
3642         structure, and the other that provides compatibility with the old
3643         function.
3644         (dia_import_filter): use diagram_data_load to define an import
3645         filter.
3647         * app/diagram.h (new_diagram): added const to prototype.
3649         * app/filedlg.c (file_open_callback): change to use new import filter
3650         code.
3652         * lib/filter.c: added import filter management functions.
3654         * lib/filter.h: added prototypes for import filter interface.
3656         * app/commands.c (help_about_callback): updated about dialog to
3657         contain a few more names.
3659 2000-05-16  James Henstridge  <james@daa.com.au>
3661         * configure.in (Configuration): added a status message to the end of
3662         the configure script to give the user some idea of what was
3663         configured.
3665         * plug-ins/dxf/Makefile.am: Makefile for new plugin.
3667         * plug-ins/dxf/dxf.c (dia_plugin_init): added file to initialise the
3668         plugin.
3670         * plug-ins/dxf/dxf-export.c: new file -- Steffen Macke's DXF export
3671         filter for dia.
3673         * configure.in (AM_PATH_LIBART): use the check function provided
3674         with libart rather than our own code.  It is more reliable, and
3675         it only requires that people who build out of CVS have libart.m4
3676         installed (not necessarily all of libart).
3677         (AM_PATH_GDK_PIXBUF): same here for gdk-pixbuf.
3679 2000-05-12  Andreas Hyden  <a.hyden@cyberpoint.se>
3681         * dia.desktop: Added Swedish translation.
3683 2000-05-09  James Henstridge  <james@daa.com.au>
3685         * lib/dia_xml.c: you can't free a const pointer, so remove const
3686         from variable definitions.
3688         Explicitely set LC_NUMERIC where needed, as sometimes it isn't
3689         initialised correctly.
3691         * app/render_svg.c (export_svg): set locale to C.
3693         * app/paginate_psprint.c (paginate_psprint): set locale to C.
3695         * app/render_eps.c (export_eps): set locale to C for EPS export.
3697         * lib/dia_xml.c (data_add_real): change to C locale for snprintf call.
3698         (data_add_point): same here.
3699         (data_add_rectangle): same here.
3700         (data_real): use g_strtod to convert strings to real numbers, so that
3701         locales are taken into account.
3702         (data_point): same here.
3703         (data_rectangle): same here.
3705         * AUTHORS: added Henk and Jacek to authors file.
3707         Daniel Egger's code cleanups.
3709         * app/select.c (select_invert_callback): remove unused variable.
3711         * app/plugin-manager.c (get_plugin_manager): fix typo.
3713         * app/load_save.c (read_connections, write_objects): 
3714         (write_connections): made some functions static.
3716         * app/interface.c (toolbox_delete, toolbox_destroy): made some
3717         functions static.
3719         * app/filedlg.c (file_export_callback): remove unused variable.
3721         * app/app_procs.c: various warning fixes.
3723         Integrating Jacek Pliszka's pstricks export filter.
3725         * plug-ins/pstricks/pstricks.c: code to initialise the plugin.
3727         * plug-ins/pstricks/render_pstricks.[ch]: Jacek Pliszka's pstricks
3728         renderer (with a few small modifications by me).
3730         * plug-ins/pstricks/Makefile.am: new makefile for pstricks plug-in.
3732         * plug-ins/Makefile.am (SUBDIRS): add pstricks subdirectory.
3734 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
3736         * configure.in:
3737         * sheets/Makefile.am:
3738         * shapes/Makefile.am:
3739         * shapes/Civil/Makefile.am:
3740         * sheets/civil.sheet:
3741         * shapes/Civil/*:
3742         Added civil/hydraulic/structural engineering objects from
3743         sdteffen <macke@heini.fbbwu.fh-lueneburg.de>.
3744         
3745 2000-05-07  Alexander Larsson  <alla@lysator.liu.se>
3747         * objects/FS/flow-poly.c:
3748         * objects/FS/flow.c:
3749         Fix division by zero in point_normalize().
3750         Patch by David Thompson <dcthomp@mail.utexas.edu>
3752 2000-04-27  Lars Clausen  <Lars R. Clausen <lrclause@cs.uiuc.edu>>
3754         * lib/arrows.c:
3755         * lib/bezier_conn.c:
3756         * lib/connpoint_line.c:
3757         Added checks for zero-length lines before calls to point_normalize.
3759 2000-04-24  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
3761         * app/preferences.c (prefs_data): Changed
3762         reversed_dragging_intersects to not make the dialog ridiculously
3763         wide.
3764         
3765 2000-04-22  James Henstridge  <james@daa.com.au>
3767         Hans's win32 patches:
3769         * app/export_png.c: include message.h
3770         * app/interface.c: include dia_dirs.h
3771         * app/linewidth_area.c: check for rint
3772         * app/main.c: include interface.h
3773         * app/paginate_psprint.c: remove unused variable.
3774         * app/preferences.c: include message.h
3775         * app/render_svg.c: include stdlib.h
3776         * app/select.c: include object_ops.h
3777         * lib/dia_dirs.c: miscelaneous fixes for win32.
3778         * lib/dia_image.c: include string.h
3779         * lib/plug-ins.c: look for .dll files rather than .la files on win32.
3780         * lib/properties.c: include stdlib.h
3781         * lib/properties.h: define extra data for standard properties as
3782         static variables on win32 (to get around dynamic linker problems).
3783         * objects/standard/polygon.c: polygon_create_change missing return
3784         statement.
3786 2000-04-18  Pablo Saratxaga <pablo@mandrakesoft.com>
3788         * configure.in (ALL_LINGUAS): added Catalan
3790 2000-04-18  James Henstridge  <james@daa.com.au>
3792         * objects/standard/bezier.c (bezierline_get_object_menu): add a
3793         separator to the object menu between the add/remove segment items
3794         and the corner type items.
3795         (bezierline_get_object_menu): add code to disable the menu item for
3796         the current corner type.  Really just a cosmetic change.
3798         * app/disp_callbacks.c (create_object_menu): handle DiaMenuItems with
3799         a NULL for the label or with no associated callback.
3801         * objects/standard/bezier.c (bezierline_menu_items): use the
3802         enumeration values rather than numeric values for the corner types.
3804         * lib/bezier_conn.[ch]: added a corner_types member to the BezierConn
3805         structure, and add code to handle it.  Also, don't save the corner
3806         types inline in the bez_points node.  The way it is conditionally
3807         including the element just feels like it will break.
3809         * lib/geometry.h (BezPoint): removed the corner_type stuff from
3810         BezPoint.  The corner type stuff is a user interface level idea rather
3811         than something required by the renderer, so should be taken care of
3812         at the object level.
3814 2000-04-17  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
3816         * configure.in: Fixed some problems with the gdk-pixbuf/imlib
3817         checks.  Weren't able to reproduce original bug, tough.
3819 2000-04-16  Cyrille Chepelov  <chepelov@calixo.net>
3821         * sheets/Electric.sheet:
3822         * sheets/Contact.sheet:
3823         * sheets/Pneumatic.sheet:
3824         * sheets/Circuit.sheet: sprayed some <br/>'s around.
3825         (added a few French translations in the last file)
3826         
3827 2000-04-16  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
3829         * lib/geometry.h: 
3830         * lib/bezier_conn.h: 
3831         * objects/standard/bezier.c: 
3832         * lib/bezier_conn.c: Support for cuspy, smooth and symmetric
3833         bezier points.  Only one minor problem known:  Menus are active
3834         for endpoints minor handles.
3835         11:28: Save and load now works, too.
3836         (bezierconn_closest_major_handle): 12:03: New function to get the
3837         non-control point handle associated with the nearest control
3838         point.  
3839         Also fixed the menu activation problem, and made remove_segment
3840         not remove the endpoint.
3842 2000-04-15  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
3844         * configure.in: Added check for gdk-pixbuf being >= 0.7.0 since
3845         new API is in use.
3847 2000-04-15  Asbjorn Pettersen  <asbjornP@dualog.no>
3849         * lib/plug-ins.c: Added <sys/types.h> and moved <fcntl.h> below
3850         <sys/stat.h>.   OS/2 patch.
3852 2000-04-15  James Henstridge  <james@daa.com.au>
3854         * objects/FS/flow-ortho.c, objects/FS/function.c: Applied David
3855         Thompson's patch that adds undo support to the function structure
3856         diagram objects.
3858 2000-04-14  James Henstridge  <james@daa.com.au>
3860         * objects/custom/custom_object.c (custom_distance_from): new
3861         implementation of distance algorithm that actually takes the
3862         display list into account when calculating the distance.  Much nicer
3863         than a simple bounding box.
3865 2000-04-13  Lars Clausen  <lrclause@cs.uiuc.edu>>
3867         * lib/geometry.c (line_crosses_ray): Fixed division by zero bug
3869 2000-04-12  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
3871         * objects/standard/polygon.c: Start of polygons own changes (for
3872         connectionpoints).  Need to do seperate changes in polyshape, too,
3873         rather than reuse the bezier changes.
3875 2000-04-13  James Henstridge  <james@daa.com.au>
3877         * lib/dia_image.c (dia_image_draw): use the new enumeration values
3878         from after the gdk-pixbuf cleanup.
3880         * lib/geometry.c (bez_point_distance_and_ray_crosses): fix up limit
3881         on for loop.  Last set of coefficients were not beeing calculated,
3882         which caused a bit of breakage.
3884         * lib/bezier_conn.c (bezierconn_closest_segment): use the new
3885         functions in geometry.c for calculating the closest segment.
3886         (bezierconn_distance_from): use distance_bez_line_point to calculate
3887         the distance.
3889         * lib/geometry.c (distance_bez_line_point): new function to calculate
3890         the distance from an open bezier line to a point.
3891         (distance_bez_shape_point): new function to calculate the distance
3892         from a closed bezier shape.
3893         (distance_ellipse_point): new function to calculate the distance from
3894         a filled ellipse to a point.
3896         * lib/geometry.h (BezPoint): moved this structure here from render.h
3898 2000-04-12  James Henstridge  <james@daa.com.au>
3900         * lib/geometry.c (distance_bez_seg_point): new function to calculate
3901         the distance from a bezier segment.
3903         * lib/polyshape.c (polyshape_distance_from): use distance_polygon_point
3904         to calculate the distance from the object.
3906         * lib/geometry.c (distance_polygon_point): function for calculating
3907         the distance from a polygon to a point.
3909 2000-04-12  Cyrille Chepelov  <chepelov@calixo.net>
3911         * app/interface.c:
3912         * lib/sheet.[ch]: added a <br/> tag in sheet files, so that line 
3913         breaks can be inserted in the tool box. 
3915         * doc/sheet.dtd: updated the DTD
3916         * sheets/GRAFCET.sheet: tried <br/> on that sheet (more to come).
3917         
3918 2000-04-12  James Henstridge  <james@daa.com.au>
3920         * app/plugin-manager.c (get_plugin_manager): use the GTK_DIALOG
3921         macro if the dialog is a GtkDialog :(
3923 2000-04-11  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
3925         * objects/standard/polygon.c: Connectionpoints now properly
3926         managed in a GList.  As far as I can tell, this will not dieturb
3927         the order (but I have the nagging doubt...)
3929         * lib/polyshape.c: No longer knows about connectionpoints.
3931 2000-04-11  James Henstridge  <james@daa.com.au>
3933         * app/Makefile.am: fix makefile for bonobo build.
3935         * configure.in: fix checks for bonobo.
3937         * app/menus.c: added entries for the plugin manager.
3939         * app/Makefile.am (dia_core_files): added plugin manager to files
3940         list.
3942         * app/plugin-manager.[ch]: the plugin manager dialog.
3944         * app/display.c (display_update_menu_state): set the antialiased
3945         menu entry to the correct value.
3947 2000-04-11  Cyrille Chepelov  <chepelov@calixo.net>
3949         * objects/custom/custom_object.c: not all renderers like ellipses with
3950         negative dimensions. This could cause ellipses to disappear when using
3951         the flip_h and flip_v functions.
3953         * samples/grafcet.dia: fixed speling and correctness.
3954         
3955 2000-04-11  James Henstridge  <james@daa.com.au>
3957         * lib/plug-ins.[ch]: added more accessors for use by a plugins dialog.
3958         exposed the dia_plugin_load and dia_plugin_unload functions.
3960         * lib/plug-ins.c (plugin_load): change plugin_load to work on an
3961         already created PluginInfo structure.
3963         * app/app_procs.c (app_exit): call dia_pluginrc_write() to write
3964         the pluginrc file.
3966         * lib/sheet.c: fix up call to dia_config_filename.
3968         * lib/plug-ins.[ch]: started writing code for handling a pluginrc
3969         file.  This would save information such as which plugins not to
3970         load during startup.
3972 2000-04-09  James Henstridge  <james@daa.com.au>
3974         * lib/sheet.c: use dia_config_filename to resolve file in ~/.dia.
3976 2000-04-10  Alexander Larsson  <alla@lysator.liu.se>
3978         * lib/plug-ins.c (dia_register_plugins):
3979         Don't free the value returned from g_getenv.
3981 2000-04-09  Anders Carlsson  <andersca@gnu.org>
3983         * app/preferences.h: Add reverse_rubberbanding_intersects preference variable.
3985         * app/preferences.c (prefs_data): Add reverse_rubberbanding_intersects preference data.
3987         * app/modify_tool.c (modify_button_release): If rubberbanding is done from 
3988         right to left, select objects that intersect the rubberbanding rectangle
3989         instead of selecting objects that are in the rectangle.
3991         * lib/diagramdata.c (layer_find_objects_intersecting_rectangle): Add function.
3993         * lib/diagramdata.h: Likewise.
3996 2000-04-09  James Henstridge  <james@daa.com.au>
3998         * lib/plug-ins.[ch]: add copyright messages to files.
4000         * plug-ins/cgm/cgm.c (dia_plugin_init): convert plugin over to new
4001         plugin interface.
4003         * objects/sybase/sybase.c (dia_plugin_init): 
4004         * objects/network/network.c (dia_plugin_init): 
4005         * objects/flowchart/flowchart.c (dia_plugin_init): 
4006         * objects/custom/custom.c (dia_plugin_init): 
4007         * objects/chronogram/chronogram.c (dia_plugin_init): 
4008         * objects/UML/uml.c (dia_plugin_init): 
4009         * objects/SADT/sadt.c (dia_plugin_init): 
4010         * objects/GRAFCET/grafcet.c (dia_plugin_init): 
4011         * objects/FS/fs.c (dia_plugin_init): 
4012         * objects/ER/er.c (dia_plugin_init): updated plugin load code for
4013         object libraries.
4015         * objects/standard/standard.c (dia_plugin_init): change over to new
4016         plugin interface.
4018         * lib/plug-ins.h (DIA_PLUGIN_CHECK_INIT): added a macro to define
4019         the version checker for plugins.
4021         * app/app_procs.c: remove plugin loading code from here, and use
4022         code from plug-ins.[ch].  Also move registration of internal
4023         objects/filters to a `builtin' plugin.
4025         * lib/Makefile.am (libdia_a_SOURCES): added plug-ins.[ch] to library.
4027         * configure.in: use AC_PROG_LIBTOOL rather than AM_PROG_LIBTOOL.
4029         * app/Makefile.am (EXTRA_DIST): you can't include a conditionally
4030         defined variable in EXTRA_DIST.
4032         * app/preferences.h: removed dia_config_filename from header.
4034         * app/preferences.c: removed dia_config_filename function.
4036         * lib/dia_dirs.c (dia_config_filename): moved function over to this
4037         file.  Also changed implementation slightly so that it should work
4038         on the win32 port correctly (and use NT home directories).
4040         * lib/dia_dirs.h (dia_config_filename): move dia_config_filename where
4041         it should have been.
4043         * lib/plug-ins.[ch]: new plugin loading code.
4045 2000-04-08  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
4047         * objects/standard/polygon.c: Fixed startup crash bug (do'h!).
4049         * lib/polyshape.c: Fix closest segment finding, exposes deeper
4050         bugs in adding corners to 'wraparound' segment.
4052         * objects/standard/polygon.c: Added connection points (fixed so
4053         far), set menu sensitivity.
4055         * lib/polyshape.c: Changed to box-style handles, fixed for start
4056         and ends not being special, added initial connections,
4058         * lib/dummy_dep.h: Added polyshape (gotcha!)
4060         * objects/standard/pixmaps/ellipse.xpm: 
4061         * objects/standard/pixmaps/box.xpm: 
4062         Filled element pixmaps with white.
4064         * lib/polyshape.c: 
4065         * objects/standard/polygon.c: 
4066         * lib/polyshape.h: 
4067         * objects/standard/standard.c: 
4068         * objects/standard/Makefile.am (libstandard_objects_la_SOURCES): 
4069         * lib/Makefile.am (libdia_a_SOURCES): 
4070         * app/menus.c: 
4071         * app/interface.c (tool_data): 
4072         Added Standard/Polygon object and PolyShape lib object.  Still
4073         needs inside grab and connection points.
4075         * app/commands.c (help_about_callback): Now uses gdk-pixbuf if
4076         available. 
4078         * configure.in: Made imlib a fallback if gdk-pixbuf is absent or
4079         not wanted.
4081         * app/app_procs.c (app_init): Moved gtk_init outside #ifdef, moved
4082         if (argv) outside ifdefs.
4084 2000-04-04  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
4086         * objects/standard/image.c (image_set_props): 
4087         Aspect ratio is back in town.
4089         * app/Makefile.am (dia_LDADD): 
4090         * acconfig.h: 
4091         * configure.in: 
4092         Check for gdk_pixbuf (by default disabled, for now)
4094         * app/render_eps.c (draw_image): 
4095         * app/render_libart.c (draw_image): 
4096         * app/render_gnomeprint.c (draw_image): 
4097         Support for alpha mask in rendering.  Color postscript, too.
4099         * lib/dia_image.c: 
4100         * lib/dia_image.h: 
4101         Support for gdk_pixbuf and proper masking for exports.
4103 2000-04-01  Kjartan Maraas  <kmaraas@online.no>
4105         * sheets/*.sheets: Updated Norwegian translations.
4106         
4107 2000-03-30  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
4109         * lib/text.c (text_insert_char): 
4110         * lib/render_store.c (add_data): 
4111         Made realloc double the alloced space rather than add
4112         a fixed amount, to reduce memory stress.
4114         * app/select.c: Added new select method 'Transitive'
4115         that select every reachable (by connections) object.
4117 2000-03-27  Kjartan Maraas  <kmaraas@online.no>
4119         * dia.desktop: Added Norwegian translation.
4120         
4121 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
4123         * app/render_eps.c:
4124         * app/render_svg.c:
4125         Don't dereference NULL pointer if the renderer
4126         couldn't open the file. Fix by Lars Clausen.
4127         Bug reported by Martin Chisholm <b1mt@unb.ca>
4128         
4129 2000-03-26  Alexander Larsson  <alla@lysator.liu.se>
4131         * dia.desktop:
4132         * po/pt.po:
4133         Updated pt translation from Pedro Morais <pmmm@rnl.ist.utl.pt>
4135 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
4137         * app/dia.gnorba (location_info):
4138         Changed to correct executable name.
4140 2000-03-25  Alexander Larsson  <alla@lysator.liu.se>
4142         * app/app_procs.c:
4143         Don't do any argument parsing or initialization
4144         if argv==NULL.
4146         * app/dia_embedd.c:
4147         Call init_server_factroy before app_init.
4148         Call app_init with argv==NULL
4149         Now we don't get any critical error on startup.
4151         * configure.in:
4152         Add Electric and Pneumatic to makefile list.
4153         
4154 2000-03-24  Cyrille Chepelov <chepelov@calixo.net>
4156         * shapes/Electric/*:
4157         * sheets/Electric.sheet:
4158         Add some Electric circuit shapes.
4160         * shapes/Pneumatic/*:
4161         * sheets/Pneumatic.sheet:
4162         Add some Pneumatic & Hydraulic circuit shapes
4163         (both sheets are still incomplete, though feature enough 
4164         things for basic circuits).
4166         * shapes/Contact/l_*.(xpm|shape):
4167         * sheets/Contact.sheet
4168         * shapes/Contact/Makefile.am
4169         made the older electric circuit shapes in Contact obsolete (disabled
4170         them in the sheet, made that sheet Ladder only). Fixed the makefile
4171         for forgotten items.
4172         
4173 2000-03-24  Alexander Larsson  <alla@lysator.liu.se>
4175         * app/Makefile.am:
4176         Add support for Dia bonobo component.
4177         Currently a bit raw, so it's commented out.
4178         
4179         * app/dia_embedd.c:
4180         * app/dia.gnorba:
4181         New files for embedding dia.
4182         The menu disabling hack is a bit gross. Esp. for GNOME.
4184         * app/app_procs.h:
4185         Add new function app_is_embedded();
4187         * app/diagram.c:
4188         Don't destroy diagram when last display is destroyed if embedded.
4189         
4190         * app/display.c:
4191         Change initialization of display so it works with embedding.
4193         * app/display.h:
4194         Clarify comment about display destruction.
4196         * app/interface.[ch]:
4197         Added top_level_window argument to create_display_shell.
4198         Don't open a top-level window if embedding.
4199         Don't quit app if trying to close toolbox window when embedding.
4200         Add toolbox_show() and toolbox_hide().
4202         * app/main.c:
4203         Added app_is_embedded() function (just returns false).
4204         Added toolbox_show() call in main().
4206         * app/menus.c:
4207         Added code for getting toolbox menus. This is used to
4208         hide some menu items when running embedded.
4209         
4210         * app/app_procs.c:
4211         Include sheet.h to remove warning.
4213         * objects/UML/association.c:
4214         Clarify association direction text.
4215         
4216 2000-03-16  Fredrik Hallenberg  <hallon@lysator.liu.se>
4218         * dia.1
4219         Fixed man page so whatis parsing works.
4221 2000-03-12  Alexander Larsson  <alla@lysator.liu.se>
4223         * app/render_libart.c (new_libart_renderer):
4224         Fix from segg <segg@infonet.ca> to compile without libart.
4225         I forgot to change the stub for new_libart_renderer when doing
4226         the interactive renderer stuff for libart.
4228 2000-03-11  Alastair McKinstry  <mckinstry@computer.org>
4230         * dia.desktop: Added Irish translation.
4231         
4232         * configure.in (ALL_LINGUAS): Added Irish (ga) translation.
4234 2000-03-07  Asbjorn Pettersen  <asbjornP@dualog.no>
4236         * app/load_save.c (fchmod): OS/2 defines only.
4238 2000-03-07  James Henstridge  <james@daa.com.au>
4240         * lib/properties.c (prop_get_widget): set the position in the option
4241         menu correctly.
4243 2000-03-06  Alexander Larsson  <alla@lysator.liu.se>
4245         * app/display.c:
4246         * app/export_png.c:
4247         * app/render_libart.[ch]:
4248         Don't export png:s with an interactive libart renderer.
4250 2000-03-03  Asbjorn Pettersen  <asbjornP@dualog.no>
4252         * lib/arrows.c (finite): define finite(d) isfinite(d)  for OS/2
4254 2000-03-02  James Henstridge  <james@daa.com.au>
4256         * dia.spec (%build): unset LINGUAS before running configure.  This
4257         ensures that all translations get included in the RPM.
4259         * lib/properties.c (object_create_props_dialog): put in a check for
4260         a NULL return from the describe_props() object method.
4261         (prop_desc_lists_union): make sure that the returned array is not
4262         NULL.
4263         (prop_desc_lists_intersection): same here.
4265 2000-02-29  Alexander Larsson  <alla@lysator.liu.se>
4267         * objects/ER/Makefile.am:
4268         * objects/FS/Makefile.am:
4269         * objects/UML/Makefile.am:
4270         Don't link object libs with gtk.
4272 2000-02-29  James Henstridge  <james@daa.com.au>
4274         * app/preferences.c (prefs_save): check to see if the file could
4275         be opened before writing the prefs.
4277         * app/disp_callbacks.c (popup_object_menu): pass the button event
4278         to gtk_menu_popup.  This allows you to click and release to open
4279         the object menu.
4280         (ddisplay_canvas_events): same here.
4281         (create_object_menu): set the object type menu item in the object
4282         menu to be insensitive.
4284         * app/render_svg.c (draw_string): call xmlEncodeEntitiesReentrant,
4285         as we are now requiring a new version of libxml.
4287         * dia.spec: updated version number.  Added requirement for
4288         libxml >= 1.8.5
4290         * configure.in: incremented version number to 0.84.
4291         Added check for libxml >= 1.8.5.  This will prevent some of the
4292         problems people have had with broken libxml versions.
4294         * NEWS: added news items.
4296         * app/interface.c (create_color_area): removed call to realize parent
4297         widget.  Segg <segg@infonet.ca> reported that it caused a warning,
4298         but I haven't seen it on my copy of dia.
4300 2000-02-28  James Henstridge  <james@daa.com.au>
4302         * app/export_png.c: added copyright notice, and made the band height
4303         a constant.
4305 2000-02-27  Alexander Larsson  <alla@lysator.liu.se>
4307         * lib/font.c (suck_font):
4308         Fixed off-by one bug in font pixmap height.
4309         Fixes the problem with garbage at the bottom of some text in aa mode
4310         and in png exported files.
4312 2000-02-27  James Henstridge  <james@daa.com.au>
4314         * app/app_procs.c: add the png export filter if it was compiled in.
4316         * app/export_png.c (export_png): new PNG export filter.  This requires
4317         the libart renderer to work as it needs a renderer that renders to a
4318         pixel buffer.
4320         * configure.in: add check for libpng.
4322         * lib/message.c (message_internal): use a GNOME dialog here as well.
4324         * app/display.c (ddisplay_close): use a GNOME dialog here.
4326         * app/render_eps.c (create_eps_renderer): use diagram scaling factor
4327         when exporting to EPS.  This is because some people said the EPS
4328         output was too large
4330 2000-02-26  James Henstridge  <james@daa.com.au>
4332         * app/defaults.c (create_dialog): use a GNOME dialog for the defaults
4333         window.
4335         * app/app_procs.c (app_exit): use a GNOME dialog here.
4337         * app/preferences.c (prefs_create_dialog): if GNOME support is
4338         enabled, show a GNOME dialog.
4340         * app/grid.c (grid_draw): use preferences when drawing page break
4341         lines.
4343         * app/preferences.c: add page break preferences to dialog.
4345         * app/preferences.h: added page break preferences.
4347 2000-02-25  James Henstridge  <james@daa.com.au>
4349         * sheets/UML.sheet: added new objects.
4351         * objects/UML/uml.c: link in the two new objects.
4353         * objects/UML/node.c: 
4354         * objects/UML/branch.c: new UML objects from Stfan Seefeld
4355         <seefelds@magellan.umontreal.ca>.
4357 2000-02-24  James Henstridge  <james@daa.com.au>
4359         * objects/custom/custom_object.c: converted to use the properties
4360         interface.  In the future, it would be nice to add support for
4361         defining custom properties for custom objects, but that can wait.
4363 2000-02-22  James Henstridge  <james@daa.com.au>
4365         * sheets/Circuit.sheet: added new circuit shapes to sheet.
4367         * plug-ins/cgm/cgm.c: cgm plugin updates from Henk Jan Priester
4368         <hj@justcroft.com>.  Fixes number encoding, colour encoding, fonts
4369         and adds a few new features.
4371 2000-02-21  Daniel Egger  <egger@suse.de>
4373         * sheets/*.sheets: Added German translations and made some
4374         corrections to the others.
4375         
4376 2000-02-21  James Henstridge  <james@daa.com.au>
4378         * shapes/Circuit/Makefile.am (SHAPES): added new shapes to list.
4380         * shapes/Circuit/...: added new shapes from Erik Janssens.
4382 2000-02-20  James Henstridge  <james@daa.com.au>
4384         * app/interface.c (create_color_area): realize the parent window
4385         first.
4387         * objects/standard/image.c: properties patch for standard image
4388         object, from Lars Clausen.
4390         * lib/properties.c: support for PROP_TYPE_FILE from Lars Clausen.
4392         * lib/properties.h (PropType): added file property type.
4394         * shapes/Circuit/speaker_de.xpm: changed size of pixmap to match
4395         other shapes.
4397         * app/interface.c: use wrap box for toolbox.
4399         * app/Makefile.am: added new files.
4401         * app/gtk*wrapbox.[ch]: added wrap box widget.
4403 2000-02-19  James Henstridge  <james@daa.com.au>
4405         * sheets/network.sheet: added extra shapes to networks sheet.
4407         * configure.in (AC_OUTPUT): added shapes/network/Makefile
4409         * shapes/network/*: added shapes that were posted to the list a while
4410         back.
4411         
4412         * shapes/Makefile.am (SUBDIRS): added network subdirectory
4414         * app/menus.c (toolbox_menu_items): don't right justify help menu for
4415         gtk+ version of menus.
4417         * app/properties.c (create_dialog): use a GnomeDialog if we happen
4418         to be using gnome.
4420 2000-02-18  James Henstridge  <james@daa.com.au>
4422         * objects/flowchart/box.c: set extra data for corner radius and text
4423         padding properties.
4425         * objects/standard/box.c: set extra data for corner radius property.
4427         * lib/properties.h: set extra data in some standard properties.
4429         * lib/properties.c (prop_get_widget): look at the extra data for
4430         int, real and enum property types.  They now use GtkSpinButton and
4431         GtkOptionMenu respectively.
4433         * lib/properties.h: extra data members for creating property setting
4434         widgets.
4436 2000-02-17  James Henstridge  <james@daa.com.au>
4438         * objects/flowchart/box.c: reverted load/save functions back to
4439         previous implementations.  Made box use standard property names.
4441         * plug-ins/cgm/cgm.c (set_linestyle): was missing a */
4443         * app/grid.c: add more digits to the grid edit dialog.  This patch
4444         was also from Lars Clausen.
4446         * objects/standard/zigzagline.c: 
4447         * objects/standard/textobj.c:
4448         * objects/standard/polyline.c:
4449         * objects/standard/line.c:
4450         * objects/standard/ellipse.c:
4451         * objects/standard/box.c: 
4452         * objects/standard/bezier.c: 
4453         * objects/standard/arc.c: patches to add properties code to standard
4454         objects.  Based on patches from Lars Clausen.  I have also removed
4455         some dead code from the files.
4457         * lib/properties.h (PROP_STD_*): define a number of standard
4458         properties.  Where appropriate, objects should include these
4459         properties in their PropDescription list.  This way, the intersection
4460         of properties of two different shapes will be greater.
4462 2000-02-14  James Henstridge  <james@daa.com.au>
4464         * objects/flowchart/box.c (box_load, box_save): use property save
4465         routines.  Make sure that any props not handled by object_load_props
4466         are loaded before calling object_load_props, or we get errors because
4467         update_data is called.
4469         * lib/properties.c (object_get_props_from_offsets): fixed an indexing
4470         error that could cause properties to be loaded incorrectly.
4471         (object_set_props_from_offsets): similar here.
4473         * lib/properties.[ch] (prop_{load,save}): functions for loading
4474         or saving a property in Dia's XML file format.
4475         (object_{load,save}_props): load or save some properties of an
4476         object.  These functions should help simplify the load/save methods
4477         of objects that implement the properties interface.
4479 2000-02-13  James Henstridge  <james@daa.com.au>
4481         * objects/flowchart/box.c: use offset code to simplify property
4482         get/set routines.
4484         * lib/element.h (ELEMENT_COMMON_PROPERTIES): standard element
4485         properties.
4486         (ELEMENT_COMMON_PROPERTIES_OFFSETS): offsets.
4488         * lib/object.h (OBJECT_COMMON_PROPERTIES): list of standard object
4489         properties.
4490         (OBJECT_COMMON_PROPERTIES_OFFSETS): the offsets of the properties.
4492         * lib/properties.[ch] (object_{get,set}_props_from_offsets): new
4493         functions 
4495 2000-02-12  Alexander Larsson  <alla@lysator.liu.se>
4497         * app/Makefile.am:
4498         Add the custom object to DIA_LIB_PATH in run_dia.sh
4500 2000-02-10  Cyrille Chepelov  <chepelov@calixo.net>
4502         * sheets/Circuit.sheet:
4503         * shapes/l_sout* (NEW):
4504         * shapes/l_outj.* (NEW): added new outputs : jump, and the power-saved
4505         variants of simple, inverted, set and reset outputs.
4506         Still to do: all Schneider/Telemecanique TSX *7 function blocks ; 
4507         probably a split of Contact and Ladder sheets. And then a major 
4508         revamping of the Contact sheet.
4510 2000-02-10  James Henstridge  <james@daa.com.au>
4512         * app/Makefile.am (dia_LDADD): don't link with libcustom_objects.
4514         * app/app_procs.c (register_all_objects): don't explicitely
4515         register the custom objects library -- let it be loaded by the
4516         normal plugin loading methods.
4518         * lib/Makefile.am (libdia_a_SOURCES): don't include custom.h here.
4520         * objects/custom/Makefile.am: build libcustom_objects as a shared
4521         library again.
4523         * objects/custom/shape_info.[ch]: don't read the description field
4524         of custom shapes.  It makes more sense to have these in the sheet
4525         file to localise the parts of dia that translators have to deal
4526         with.
4528         * objects/custom/custom_object.c (custom_object_new): do not
4529         create the sheet object for the new custom shape -- this is
4530         handled by the custom sheet code.
4532         * objects/custom/custom.c: change over to being a normal plug-in
4533         rather than being linked with the main dia executable.
4535 2000-02-09  James Henstridge  <james@daa.com.au>
4537         * sheets/Circuit.sheet: 
4538         * sheets/Flowchart.sheet: 
4539         * sheets/Contact.sheet: fixed up sheets.
4541         * objects/custom/custom_object.c (custom_object_new): set the
4542         extra ObjectType fields.
4544         * lib/sheet.c: use extra ObjectType fields when creating sheet
4545         objects.  Give a warning if <shape> tags are found in a sheet
4546         file.  Now the custom sheet code does not know about custom
4547         shapes -- they look like any other object type.
4549         * lib/object.h (ObjectType): added extra members
4551 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
4553         * app/linewidth_area.c:
4554         Added code to set arbitrary line width.
4555         Patch by Lars Clausen <lrclause@cs.uiuc.edu>
4557 2000-02-08  Alexander Larsson  <alla@lysator.liu.se>
4559         * app/linewidth_area.c: 
4560         * lib/font.[ch]:
4561         Add support for font-sucking.
4562         Implementation borrowed from gnome-canvas.
4563         
4564         * app/render_libart.[ch]:
4565         Implement text rendering.
4567 2000-02-07  Alexander Larsson  <alla@lysator.liu.se>
4569         * app/properties.c (create_dialog):
4570         ref and sink no_properties_dialog.
4572 2000-02-07  James Henstridge  <james@daa.com.au>
4574         * app/group.c (group_describe_props): new function.  Return the
4575         intersection of the properties of the contained objects that
4576         implement the describe_props interface.
4577         (group_get_props): implement by iterating through contained objects
4578         and calling their get_props method until all properties have been
4579         set.  Maybe this should go through all objects all the time??
4580         (group_set_props): implement by calling set_props method on all
4581         contained objects.
4582         (group_ops): use standard props dialog creation routines.
4584         * lib/properties.c (prop_desc_lists_intersection): fix implementation
4585         of intersection -- I was using i++ instead of i-- in a for loop :(
4587         * objects/custom/custom.c (custom_register_objects): fix usage
4588         of dia_get_data_directory again.
4590         * lib/sheet.c: fix up use of dia_get_data_directory, so that we
4591         actually read the sheets.
4593 2000-02-06  Alexander Larsson  <alla@lysator.liu.se>
4595         Win32 port by Hans Breuer <Hans@Breuer.org>
4597         * app/Makefile.am:
4598         Remove DATADIR and LIBDIR defines.
4600         * lib/Makefile.am:
4601         Add dia_dirs.c and dia_dirs.h
4602         Added DATADIR and LIBDIR defines.
4604         * lib/dia_dirs.[ch]:
4605         New files for handling special directories.
4607         * app/app_procs.c:
4608         * app/commands.c:
4609         * lib/sheet.c:
4610         * objects/custom/custom.c:
4611         Fix warnings.  Use directory functions.
4613         * app/diagram.h:
4614         Add prototype for diagram_redraw_all.
4616         * app/diaunitspinner.c:
4617         * app/filedlg.c:
4618         * app/interface.c:
4619         * app/preferences.c:
4620         Fix warning.
4622         * app/load_save.c:
4623         Win32 doesn't have mkstemp and fchmod.
4625         * app/paginate_psprint.c:
4626         Win32 calls popen _popen and pclose _pclose.
4627         
4628         * app/arrow.c:
4629         Win32 calls finite _finite.
4631         * lib/color.h:
4632         Win32 needs to dllexport the color vars.
4634         * objects/GRAFCET/step.c:
4635         * objects/chronogram/chronoref.c:
4636         snprintf -> g_snprintf
4638 2000-02-05  James Henstridge  <james@daa.com.au>
4640         * lib/properties.c: more fixes so that it doesn't crash when using
4641         properties.  The undo/redo stuff also works!!
4643         * objects/flowchart/box.c (box_{describe, get, set}_props): test
4644         object where I have implemented the new properties interface
4645         complete with automatic properties dialog generation.
4647         * lib/properties.c (object_apply_props): fixed stupid error when
4648         creating the old_props array.  Also, it no longer frees the props
4649         array -- you will have to do that yourself.
4651 2000-02-04  James Henstridge  <james@daa.com.au>
4653         * app/properties.c (properties_apply): pass object_part to
4654         apply_properties.
4656         * lib/object.h (ApplyPropertiesFunc): added widget argument.
4658         * lib/lazyprops.h (PROPDLG_CREATE): ref and sink properties dialogs
4659         created this way as well.
4661         * objects/*/*.c: ref and sink the properties dialog window for each
4662         widget.  It can't rely on ref count being incremented by
4663         properties_show anymore.
4665         * app/properties.c (properties_show): don't ref the widget before
4666         removing it, or its ref count will increase each time you open the
4667         properties dialog.  Don't unparent the widget, as container_remove
4668         does that for us.
4670         * lib/object.h: fixed up prototypes for new object methods.
4672         * lib/properties.[ch]: added functions for automatically creating
4673         a properties dialog from the output of describe_props, get_props and
4674         set_props.
4675         (object_apply_props): apply properties and return an ObjectChange
4676         structure that can be used for undo.
4678 2000-02-03  Cyrille Chepelov  <chepelov@calixo.net>
4680         * objects/GRAFCET/transition.c: minor leak plugged.
4682         * sheets/GRAFCET.sheet:
4683         * objects/GRAFCET/pixmaps/condition.xpm: (NEW)
4684         * objects/GRAFCET/condition.c: (NEW) added a new object type, action 
4685         conditions.
4686         * objects/GRAFCET/Makefile.am: fixed incorrect dependencies, added
4687         new ones (for condition.c).
4688         * objects/GRAFCET/action.c: added connection points for the conditions.
4689         * samples/grafcet.dia: updated the sample to improve conformance to
4690         IEC 848 and take advantage of dia's new features.
4691         
4692         * lib/geometry.h: (point_get_normed) fixed a typo.
4694 2000-02-02  James Henstridge  <james@daa.com.au>
4696         * lib/object.h: added object functions describe_props, get_props and
4697         set_props.  Do type definitions so that object.h doesn't need to
4698         include properties.h, since properties.h includes object.h.
4700         * lib/properties.[ch]: more hacking.
4702         * po/de.po: updated po file.
4704 2000-01-30  James Henstridge  <james@daa.com.au>
4706         * configure.in: don't add flags to CFLAGS unconditionally.  Instead,
4707         check to see if the C compiler accepts the flag beforehand.
4709         * lib/properties.[ch]: start of properties code.
4711         * shapes/Contact/Makefile.am (SHAPES): fix up makefile.
4713 2000-01-30  Cyrille Chepelov  <chepelov@calixo.net>
4714         
4715         * sheets/GRAFCET.sheet:
4716         * sheets/GRAFCET/etapemc.xpm: (NEW)
4717         * sheets/GRAFCET/etapesp.xpm: (NEW)
4718         * objects/GRAFCET/step.c: Added the macro and
4719         sub-program call step types.
4721         * objects/GRAFCET/receptivity.[ch]: renamed to 
4722         objects/GRAFCET/boolequation.[ch]. 
4723         * objects/GRAFCET/transition.c: changed (Receptivity *) to 
4724         (BoolEquation *)
4726         * lib/connpoint_line.[ch]: 
4727         * objects/chronogram/chronoline.c:
4728         * objects/chronogram/chronoref.c:
4729         * objects/GRAFCET/vergent.c:
4730         * objects/standard/line.c:
4731         * objects/SADT/box.c: Minor CPL interface changes, factored out the
4732         point count adjustment code into the CPL object.
4733         
4734 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
4736         * app/render_libart.c:
4737         Added support for images and bezier curves.
4738         Only text/fonts missing now.
4740         * app/render_gdk.c:
4741         Removed old erronous comment.
4743 2000-01-29  Cyrille Chepelov <chepelov@calixo.net>
4745         * objects/chronogram/chronoline_event.c: removed references to
4746         lround(). Please don't insist, I'm already red of shame.
4747         
4748 2000-01-29  Alexander Larsson  <alla@lysator.liu.se>
4750         * app/render_libart.[ch]:
4751         * app/Makefile.am:
4752         Non-finished libart renderer.
4754         * acconfig.h:
4755         Added HAVE_LIBART flag
4757         * configure.in:
4758         Added libart probe
4760         * app/app_procs.c:
4761         Call gdk_rbg_init().
4763         * app/connectionpoint_ops.c:
4764         * app/disp_callbacks.c:
4765         * app/grid.c:
4766         * app/handle_ops.c:
4767         * app/magnify.c:
4768         * app/modify_tool.c:
4769         Change ddisp->renderer type from RendererGdk * to Renderer *
4770         Draw zoom and select rects in ddisp->canvas->window instead
4771         of ddisp->renderer->renderer->pixmap.
4773         * app/display.[ch]:
4774         Add aa_renderer to DDisplay, and  support for it.
4775         New function ddisplay_set_renderer() for changing renderer.
4776         Add ddisplay_transform_coords_double() function, used by aa renderer.
4777         Change ddisp->renderer type from RendererGdk * to Renderer *
4779         * app/menus.c:
4780         Add antialias to menu.
4781         
4782         * app/commands.[ch]:
4783         add view_aa_callback function
4784         Change ddisp->renderer type from RendererGdk * to Renderer *
4786         * lib/geometry.[ch]:
4787         Added IntRectangle and int_rectangle_union.
4789 2000-01-28  James Henstridge  <james@daa.com.au>
4791         * app/commands.h: removed prototypes.
4793         * app/commands.c: removed the functions that have been moved to
4794         filedlg.c.
4796         * app/filedlg.h: added new prototypes.
4798         * app/filedlg.c (file_open_callback): move open dialog to this
4799         file.  This implementation should remember the current directory
4800         between file loads.
4801         (file_save_as_callback): moved this dialog as well.
4802         (file_save_callback): moved this function here.
4804         * app/paginate_psprint.c (paginate_psprint): if not in fit to mode,
4805         align page boundaries to the origin.
4807         * app/diagram.c (diagram_update_extents): redraw the diagram if the
4808         scaling factor changes while updating the extents.  This is so the
4809         page breaks get redrawn correctly.
4811         * app/pagesetup.c (pagesetup_apply): added diagram_flush call when
4812         applying changes.
4814         * app/grid.c (grid_draw): draw page breaks as well as grid lines.
4815         For normal mode, use (0,0) as the origin.  For `fit to' mode, use
4816         the corner of the bounding box.
4818         * app/pagesetup.c (create_page_setup_dlg): load new paper attributes
4819         into page setup dialog.
4820         (pagesetup_apply): apply new `fit to' attributes to the diagram.
4822         * app/load_save.c (diagram_load): load new paper `fit to' attributes.
4823         (diagram_data_save): save `fit to' data.
4825         * lib/diagramdata.c (new_diagram_data): initialise `fit to' members.
4826         (data_update_extents): when in `fit to' mode, update scale factor
4827         when we update the extents.
4829         * lib/diagramdata.h (PaperInfo): added `fit to' members to PaperInfo
4830         structure.
4832         * .../.cvsignore: added some cvsignore files to quieten cvs.
4833         
4834         * app/pagesetup.c (pagesetup_changed): added code to change the
4835         scaling/fit to values as you change the options in the page setup
4836         dialog.  I haven't added code so that the fit to options are saved
4837         though.
4839         * app/diapagelayout.[ch]: changed the scaling portion of the widget
4840         to make it easier to set a `fit to' style scaling factor.
4842 2000-01-27 Cyrille Chepelov <chepelov@calixo.net>
4843         * lib/neworth_conn.[ch]: (NEW) Temporary (hopefully) fork of orth_conn,
4844         but connpoint_line-based, so that there's a connection point at the 
4845         middle of each segment. Currently only the SADT arrow uses this.
4847         * objects/SADT/* (NEW): SADT (both idf0 and idf1) support.
4848         
4849 2000-01-26 Cyrille Chepelov <chepelov@calixo.net>
4850         * lib/lazyprops.[ch]:(NEW) Added a bunch of macros for loading, 
4851         saving and editing of properties (and default properties). 
4852         See the new objects (GRAFCET, SADT, chonograms) for examples.
4853         For already too hairy stuff, see objects/chronogram/chronoline.c.
4855         * lib/connpoint_line.[ch] (NEW): This subobject manages a line of 
4856         evenly spaced connection points, which the user can add or remove at
4857         will. An object can own several connection point lines. See the SADT
4858         Box, or the GRAFCET vergents for examples.
4860         * lib/dummy_dep.h: added dependencies to new files. Told gcc to keep 
4861         quiet about unused stuff.
4863         * objects/GRAFCET (NEW):
4864         * samples/grafcet.dia (NEW):
4865         Added support for GRAFCET charts. 
4867         * objects/chronogram (NEW):
4868         * samples/chronograms.dia (NEW):
4869         Added support for chronograms (feature requested by Ronald L. Chichest;
4870         I found I'd use it often, too).
4872         * objects/standard/line.c: Replace the middle connectionpoint by 
4873         a whole connection point line, which defaults to one point (hint, 
4874         hint). New Line object menu to take advantage of this. 
4875         "Bothwards" compatibility is preserved (although you may loose 
4876         connections if you load a newer file in a older dia).
4878         * app/lineprops_area.c:
4879         * lib/arrows.[ch]:
4880         * lib/widgets.c: Added hollow and filled ellipse arrow head type. 
4881         (feature requested by Benjamin Kahn).
4882         Merged in Steffen Macke's slashed arrow head type.
4884         * app/Makefile.am (app/run_dia.sh actually):
4885         Added $DEBUGGER in front of dia's invocation, so that
4886         you can call "DEBUGGER=ddd app/run_dia.sh" (maybe naive, but useful).
4887         Added $(EFENCE) to app/dia's LDFLAGS, so that you can do 
4888         "EFENCE=-lefence" to link with Electric Fence.
4890         * configure.in: Made gcc do more aggressive optimisations on i386, and
4891         enabled warnings.
4892         
4893 2000-01-24  James Henstridge  <james@daa.com.au>
4895         * lib/geometry.[ch]: added inline versions of functions.  Used
4896         glib's G_INLINE_FUNC stuff, so it should still work on systems
4897         without inline funcs.
4899         * plug-ins/cgm/cgm.c (draw_ellipse, fill_ellipse): fixed up so that
4900         it outputs the correct element id for the ellipse objects.
4902 2000-01-24 Cyrille Chepelov <chepelov@calixo.net>
4904         * lib/object.[ch]: added object_add_connectionpoint_at, similar to
4905         object_add_handle_at. Message typo fixed.
4906         
4907         * lib/sheet.c (load_register_sheet):
4908         potential bug fixed (warning hunt).
4910         * objects/custom/custom.c (custom_object_load): disabled an assertion
4911         which made dia abort upon failure to load a shape file. Fixed a
4912         subsequent crash. 
4914         * objects/custom/shape_info.c (load_shape_info): Made the custom 
4915         shape load code ignore XML comments between <?xml ...?> and the 
4916         root object (mostly useful to put the emacs magic comments).
4917         
4918         * app/load_save.c: Made dia do backup copies of files when saving,
4919         and complain in case of failure.
4921 2000-01-24  Cyrille Chepelov  <chepelov@calixo.net>
4923         * AUTHORS: fixed my address (ISP thought it was a great idea to change
4924         the domain name)
4925         
4926         * configure.in:
4927         * shapes/Contact:
4928         * shapes/Contact/*:
4929         * sheets/Contact.sheet:
4930         * sheets/Makefile.am:
4931         Added support for Contact and LADDER charts.
4933         * dia.desktop: Added a French translation.
4934         
4935 2000-01-23  James Henstridge  <james@daa.com.au>
4937         * app/commands.c (help_about_callback): don't die if can't load
4938         logo image.
4940         * app/render_gdk.c (bezier_add_lines): sanity check to try to weed
4941         out NaN's when performing bezier curve subdivision.
4943         * objects/custom/custom_object.c: initialise memory of Custom structs
4944         to zero.
4946         * app/render_svg.c (draw_image): added image support to the XML
4947         output filter.  The image is just referenced, rather than being
4948         included inline, so if you copy the SVG file somewhere else, you
4949         may need to move the images or fix up the links.
4951         * plug-ins/cgm/cgm.c (draw_string): output a text colour element,
4952         so the text is not just displayed in black all the time.
4954 2000-01-15  Fredrik Hallenberg  <hallon@lysator.liu.se>
4956         * configure.in: fixed libpopt test so we wont try to build with
4957         too old libpopt.
4959 1999-12-18  Yuri Syrota  <rasta@renome.rovno.ua>
4961         * configure.in: Added "uk" to ALL_LINGUAS.
4963 1999-12-24  James Henstridge  <james@daa.com.au>
4965         * po/ru.po: updated russian translation from Valek Filippov.
4966         
4967         * app/render_svg.c (new_svg_renderer): make output use 19991203
4968         version of SVG DTD.  Use viewBox to set the extents of the view.
4970         * INSTALL (FONTS): updated locations of gnome-xml and imlib.  List
4971         ftp.gnome.org as the download.
4973         * TODO (TODO): weeded out completed todo items and added a few extra.
4975         * Makefile.am (EXTRA_DIST): added documentation to EXTRA_DIST.
4977         * doc/sheet.dtd: first stab at a DTD for the sheet files.  It would
4978         be good to get rid of the object/shape distinction and separate
4979         the custom shape code out from the main application.
4981         * objects/custom/README, diagram.dtd: moved to new doc directory.
4982         Renamed the custom shapes README to custom-shapes.  Also updated
4983         custom shape docs a bit and removed the section on sheet files, as
4984         that has changed a bit.
4986         * plug-ins/cgm/cgm.c (draw_image): give an error if the row length
4987         of the image data is larger than the maximum cell array.  I should
4988         add code to break scan lines down further in this case, but for now
4989         an error message is better than an infinite loop.
4991         * app/filedlg.c (file_export_ok_callback): show a dialog if we
4992         couldn't determine the export filter to use.
4994         * app/commands.c (help_about_callback): fixed up about box logo
4995         expose bug.  Now just use a GtkPixmap widget rather than a
4996         GtkDrawingArea and calling gdk_imlib_paste_image.
4998         * app/Makefile.am (EXTRA_DIST): added print stuff to extra dist,
4999         because automake does not always get things right.
5001         * configure.in: updated version number to 0.83.
5003         * app/preferences.c (prefs_save): 
5004         * app/render_svg.c (new_svg_renderer): "wt" is not a valid flag string
5005         for fopen.  Text is the default file mode anyway.
5007         * app/commands.c (file_save_as_dialog_ok_callback, file_new_callback): 
5008         * app/grid.c (grid_x_update, grid_y_update, grid_show_dialog): 
5009         * app/load_save.c (write_objects, write_connections): 
5010         * app/filedlg.c (file_export_ok_callback): 
5011         * lib/dia_xml.c (data_add_int, data_add_enum, data_add_real): 
5012         * lib/dia_xml.c (data_add_point, data_add_rectangle): 
5013         * lib/font.c (init_x11_font, font_get_gdkfont): changed calls to
5014         snprintf to calls to g_snprintf.
5016         * plug-ins/cgm/cgm.c (export_cgm): write the original dia file name
5017         as the picture name.
5019 1999-12-23  James Henstridge  <james@daa.com.au>
5021         * plug-ins/cgm/cgm.c (write_int32, write_int16): fixed up output of
5022         negative numbers.  This fixes the upside down text problem I was
5023         having previously.
5024         (draw_image): implemented the image code.  It will try to split the
5025         image data up into bands if it is too big to fit into a single
5026         cgm cell array element.  It will have problems if you try to insert
5027         an image wider than about 10,000 pixels though.
5029         * Makefile.am: use gnomedatadir for the files that need to be
5030         installed in gnome's datadir.  This is mainly to help people doing
5031         packages for weird setups.
5033 1999-12-22  James Henstridge  <james@daa.com.au>
5035         * plug-ins/cgm/cgm.c: added support for text.  Now only images and
5036         beziers are left to do.  The text seems to be the wrong way up
5037         still.  This is probably a problem with character orientation
5038         element, but I have used what the settings given in the standard.
5039         Other than this, the CGMs dia produces are readable (and displayable)
5040         by ralcgm and corel draw.
5041         (draw_string): subtract from the X coord rather than the Y coord for
5042         center and right aligned text.
5044         * plug-ins/cgm/cgm.c: a few fixups for the output.  Use REALSIZE as
5045         the size of a real number, and changed name of write_double to
5046         write_real.  Consider changing to fixed real encoding.  Also, now
5047         all element headers are correct.  Once the real number encoding is
5048         fixed, only text, beziers and images are left to do.
5050 1999-12-21  James Henstridge  <james@daa.com.au>
5052         * Makefile.am (SUBDIRS): recurse into plug-ins.
5054         * configure.in: add plug-ins directory makefiles to list.
5056         * plug-ins/cgm/cgm.c: start of cgm export filter.  Beziers and text
5057         not done yet.  Also, the output files are not quite correct.
5059         * app/render_eps.c (print_reencode_font): don't reencode the Symbol
5060         font.  It doesn't work if you do.
5062 1999-12-20  James Henstridge  <james@daa.com.au>
5064         * app/app_procs.c (app_init): don't use diagram_export_to_eps to
5065         export the files.  Instead, use filter_guess_export_filter to
5066         guess the correct format to save in and use the appropriate filter.
5067         It defaults to postscript for compatibility.
5069         * app/diagram.[ch] (diagram_export_to_eps): removed export to eps
5070         function.
5072         * app/commands.[ch]: removed export to eps functions.
5074         * app/menus.c: removed export to eps menu items.
5076         * app/app_procs.c: register new export filters.
5078         * app/load_save.[ch]: define dia native export filter.
5080         * app/render_eps.[ch]: define eps export filter.
5082         * lib/filter.h: added diafilename argument to the DiaExportFunc
5083         prototype.  This is useful for putting the source of the diagram
5084         into the output file for instance.
5086         * app/app_procs.c (app_init): register the SVG export filter.  Have
5087         to get EPS code converted to this API, and maybe also allow saving in
5088         DIA's native format from the export dialog.  In fact, it is now
5089         possible to load an export filter from a shared library and it will
5090         integrate into the interface correctly.
5092         * app/menus.c: removed references to the SVG renderer.
5094         * app/commands.[ch]: removed svg stuff.
5096         * app/diagram.[ch]: removed diagram_export_to_svg function.
5098         * app/render_svg.[ch]: added a DiaExportFilter structure for this
5099         renderer.
5101         * app/filedlg.[ch]: code for the new export diagram dialog.  Will
5102         probably move the open/save dialogs to this file as well.
5104 1999-12-19  James Henstridge  <james@daa.com.au>
5106         * lib/filter.[ch]: start of interface for generalised handling of
5107         filters.  I have only done code for export filters so far.  I still
5108         need to do the gui for this, and convert the current SVG and EPS
5109         filters to the new API.
5111         * lib/bezier_conn.c (bezierconn_copy): fix up copy operation.  We
5112         weren't setting the last handle correctly.  It was actually assigning
5113         to the wrong position in the handles array, so the last handle was
5114         left as NULL, which caused the segfault.
5116         * objects/standard/image.c (image_copy): modified routine so that
5117         it just adds a reference to the DiaImage structure in the new image
5118         object.  This seems to have cleared up the problems with copying
5119         image objects.
5121         * dia.spec: spec file additions from John Gotts.
5123 1999-12-12  James Henstridge  <james@daa.com.au>
5125         * configure.in (GNOME_LIBS): updated version number to 0.82.  0.82
5126         has not been released yet though.
5128         * Makefile.am (EXTRA_DIST): distribute diagram.dtd.
5130         
5131         The following based on a patch from Lars Clausen:
5132         
5133         * objects/standard/bezier.c (bezierline_move_handle): when performing
5134         the initial drag of the bezierline, move the control points to keep
5135         the line straight.
5137         * lib/bezier_conn.c (bezierconn_add_segment): when adding a segment,
5138         make the new control points a bit closer to the major point.
5140         * app/create_object.c (create_object_motion): use HANDLE_MOVE_CREATE
5141         as the reason for the move.
5142         (create_object_button_release): use HANDLE_MOVE_CREATE_FINAL as the
5143         move reason.
5145         * lib/handle.h: new handle move reasons.
5147 1999-12-09  James Henstridge  <james@daa.com.au>
5149         * dia.spec: include the new files in RPMs.
5151         * Makefile.am: install these new files.
5153         * dia.keys.in: file describing actions and icon for dia diagrams for
5154         use in the gnome file manager.
5155         
5156         * dia.mime: a file defining the application/x-dia-diagram mime type.
5157         
5158         * dia-diagram.png: an icon for dia diagrams.
5160 1999-12-08  James Henstridge  <james@daa.com.au>
5162         * plug-ins/python/pydia-diagram.c: added heaps of new methods.
5164         * plug-ins/python/pydia-display.[ch]: wrapper for display.
5166         * objects/standard/ellipse.c: applied Lars's patch to optionally not
5167         draw the background of the ellipse.
5169         * app/load_save.c (read_connections): do some sanity checking on the
5170         handle and connection point numbers before performing the object
5171         connection.
5173         * lib/bezier_conn.c (bezierconn_load): give the correct number of
5174         handles when loading a BezierConn.
5176 1999-12-07  Kjartan Maraas  <kmaraas@online.no>
5178         * sheets/*.sheet: Finished Norwegian translations.
5179         
5180 1999-12-07  James Henstridge  <james@daa.com.au>
5182         * plug-ins/python/diamodule.c (PyDia_Load): load diagram function.
5183         (PyDia_GetObjectType): find object type function.
5185         * plug-ins/python/pydia-diagram.c (PyDiaDiagram_Save): added a save
5186         method for diagrams.
5188         * plug-ins/python/pydia-object.c: added methods for DiaObject and
5189         DiaObjectType.
5191         * AUTHORS: added Lars and Cyrille to the authors file.
5193         * objects/standard/bezier.c (bezierline_add_segment_callback): place
5194         new point correctly.
5196         * lib/bezier_conn.h (bezierconn_closest_segment): fixed prototype.
5198         * lib/bezier_conn.c: applied Lars's patch for placement of the new
5199         point when adding a segment to a BezierConn.
5201 1999-12-06  James Henstridge  <james@daa.com.au>
5203         * plug-ins/python/test.py: test script for the python plug-in.
5205         * plug-ins/python/python.c: this file contains the plug-in startup
5206         code for the python plugin.  Right now, it just initialises the
5207         dia module and executes a script.
5209         * objects/standard/polyline.c (polyline_draw): fix start arrow size.
5211         * objects/standard/bezier.c (bezierline_draw): draw control lines for
5212         bezier curve if we are using an interactive renderer (ie. only if
5213         displaying to the screen).
5215         * lib/bezier_conn.[ch] (bezierconn_draw_control_lines): function
5216         to draw control lines on to a bezier curve.  Based on implementation
5217         from Lars.
5219         * objects/standard/bezier.c (bezierline_delete_segment_callback):
5220         calculate segment number using closest_segment rather than
5221         closest_handle.  Sometimes the closest handle is part of a different
5222         segment.
5223         (bezierline_draw): use correct size for start arrow.
5225         The next few entries are from Peter Moulder <reiter@netspace.net.au>:
5226         * lib/geometry.c (distance_line_point): added notes to documentation
5227         in comment.
5228         * app/object_ops.c (object_list_align_v): 
5229         (object_list_align_h): fix of by one error when calculating free space
5230         for equal distance alignment.
5231         * app/menus.c (objects_align_h, objects_align_v): include align
5232         adjacent menu items in the gnome version of the menus.
5233         * app/diagram.c (diagram_update_menu_sensitivity): set sensitivity on
5234         align adjacent menu items correctly.
5237         * lib/dummy_dep.h (dummy_dep): added bezierconn to dummy dependency
5238         table.
5240         * objects/standard/bezier.c: converted bezierline to use BezierConn.
5241         Still a few bugs.  It crashes on deleting line segments.
5243         * lib/Makefile.am (libdia_a_SOURCES): added BezierConn to libdia.
5245 1999-12-05  James Henstridge  <james@daa.com.au>
5247         * lib/bezier_conn.[ch]: start of BezierConn object
5249         * app/interface.c: add bezierline to toolbox.
5251         * objects/standard/standard.c: initialise bezierline.
5253         * objects/standard/bezier.c: new object from Lars R. Clausen.  I have
5254         made a few modifications to get it working nicely.  It still needs
5255         a bit of work though.  Maybe create a BezierConn object in lib.
5257 1999-12-02  James Henstridge  <james@daa.com.au>
5259         * plug-ins/python/pydia-*.c: fixed compile errors in these files.
5260         
5261         * plug-ins/python/Makefile.am: tried building everything.  It is
5262         building as a library at the moment.  I will have to convert it
5263         to a libtool library and add some initialisation code.
5264         
5265         * plug-ins/python/diamodule.c: start of the dia module, using the
5266         other object wrappers.  Not complete.
5268 1999-12-01  James Henstridge  <james@daa.com.au>
5270         * plug-ins/python/pydia-object.c (PyDiaObject_GetAttr): implement
5271         the handles and connections attributes.
5273         * plug-ins/python/pydia-layer.c: added functions that use
5274         ConnectionPoint's.
5276         * plug-ins/python/pydia-handle.[ch]: wrapper for Handle's.
5278         * plug-ins/python/pydia-cpoint.[ch]: wrapper for ConnectionPoint's.
5280         * plug-ins/python/pydia-*.[ch]: starts of python scripting plug-in.
5281         I am currently wrapping the basic elements in the diagram in python
5282         objects -- nothing to see or play with yet.
5284 1999-11-30  Alexander Larsson  <alla@lysator.liu.se>
5286         * AUTHORS:
5287         * HACKING:
5288         James Henstridge <james@daa.com.au> is now the maintainer of Dia.
5290 1999-11-29  Alexander Larsson  <alla@lysator.liu.se>
5292         * configure.in:
5293         * po/ru.po:
5294         Added russian translation from Valek Filippov <frob@df.ru>
5296 1999-11-24  James Henstridge  <james@daa.com.au>
5298         * sheets/UML/*: 
5299         * sheet/ER/*: moved extra sheet pixmaps back to separate dirs as
5300         discussed with Alex.  Also added extra makefiles so that make install
5301         works correctly.
5303 1999-11-23  Alexander Larsson  <alla@lysator.liu.se>
5305         * app/preferences.[ch]:
5306         * app/display.c:
5307         Added snap to grid preference.
5308         Patch from Michael Leslie <mles@springboardwireless.com>
5310 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
5312         * app/load_save.c:
5313         * lib/dia_xml.c:
5314         * lib/sheet.c:
5315         * lib/text.c:
5316         * objects/custom/shape_info.c:
5317         All strings returned by libxml must be freed with free, not
5318         g_free, or there will be problems if you use memory debugging
5319         in glib.
5320         
5321 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
5323         * app/create_object.[ch]:
5324         * app/menus.c:
5325         * app/tool.[ch]:
5326         * app/commands.[ch]:
5327         * app/pixmaps.h:
5328         * app/interface.[ch]:
5329         Reverted the tool menu patch. It has some 'issues'.
5330         I liked it though, so it'll probably return.
5332 1999-11-21  Alexander Larsson  <alla@lysator.liu.se>
5334         Fixed a lot of memory leaks. Thanks to Bruce Mitchener
5335         <bruce@cybersight.com> for some purify runs and analysis.
5336         Also a great thank you to Owen Taylor for creating MemProf, a
5337         free memory leak detector that was used to find and verify a
5338         lot of these fixes.
5339         
5340         * app/diagram.c:
5341         * app/paginate_psprint.c:
5342         * app/render_eps.[ch]:
5343         * app/render_svg.[ch]:
5344         Free renderers.
5346         * app/interface.c:
5347         Don't add a reference to ddisp->shell. Why was this done in
5348         the first place?
5350         * app/load_save.c:
5351         * lib/dia_xml.c:
5352         * lib/sheet.c:
5353         * lib/text.c:
5354         Free all strings returned from xmlGetProp
5356         * app/modify_tool.c:
5357         Plug leak.
5359         * objects/custom/custom.c:
5360         Use closedir() after opendir().
5362         * objects/custom/shape_info.c:
5363         User g_free() instead of "if (tmp) free(tmp)".
5365         * sheets/ER.sheet:
5366         Add newline at end of file.
5367         
5369 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
5371         Based on patch from Patrick Reynolds <reynolds@cs.duke.edu>
5372         Adds tool menu and keyboard shortcuts.
5374         * app/create_object.[ch]:
5375         Use tool_set() instead of tool_reset().
5376         create_create_object_tool() takes extra type argument
5378         * menus.c:
5379         Add tools menu.
5380         
5381         * tool.[ch]:
5382         Moved tool_data here, export it.
5383         Add separate tool type for all create objects tools.
5384         new functions tool_set().
5386         * commands.[ch]:
5387         New callback tool_set_callback.
5389         * pixmaps.h:
5390         Moved some pixmaps to interface.c.
5391         
5392         * interface.[ch]:
5393         Remove tool_data array (moved to tool.c).
5394         Use the tool_data from tool.c.
5395         Remove modify_tool_button global var.
5396         
5397 1999-11-20  Alexander Larsson  <alla@lysator.liu.se>
5399         Patch from Patrick Reynolds <reynolds@cs.duke.edu>
5400         
5401         * app/app_procs.c:
5402         Interprets command-line arguments as files to open even when
5403         HAVE_POPT is not defined.
5405         * app/magnify.c:        
5406         Shift-clicking when zooming zooms out, like the Gimp.
5408         * app/menus.c:
5409         Has hotkeys for zoom-100% and snap-to-grid.
5411 1999-11-17  James Henstridge  <james@daa.com.au>
5413         * app/scroll_tool.c (scroll_motion): fixed shift style scrolling so
5414         that it is not jumpy.
5416         * app/Makefile.am (EXTRA_DIST): added extra files to extra dist list.
5418         * app/scroll_tool.c (scroll_motion): added `grabbing hand' type
5419         scrolling by pressing the shift key when using the scroll tool.
5421         * sheets/Makefile.am: fixed makefile so that install actually works
5422         if the directories $(pkgdatadir)/sheets/UML and $(pkgdatadir)/sheets/ER
5423         don't exist.
5424         (SHEETS): install Circuit.sheet
5426 1999-11-15  Alexander Larsson  <alla@lysator.liu.se>
5427         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
5429         * sheets/Circuit.sheet:
5430         * sheets/ER.sheet:
5431         * sheets/FS.sheet:
5432         * sheets/Flowchart.sheet:
5433         * sheets/UML.sheet:
5434         * sheets/network.sheet:
5435         * sheets/sybase.sheet:
5436         Changed name space
5438         * sheets/Circuit.sheet:
5439         added some missing French translations
5441         * lib/sheet.c:
5442         killed the temporary sheet namespace
5444         * objects/custom/custom.c:
5445         obsolete comment cleaned up
5447 1999-11-12  Alexander Larsson  <alla@lysator.liu.se>
5449         * configure.in:
5450         * po/pt.po:
5451         Added portugese translation from Pedro Morais
5452         <pmmm@rnl.ist.utl.pt>
5454 1999-11-11  Alexander Larsson  <alla@lysator.liu.se>
5456         Changed all sheets to be specified in xml.
5457         All sheet objects removed from the C code.
5458         Patch from Cyrille Chepelov <chepelov@rmcnet.fr>
5459         
5460         * Makefile.am:
5461         * configure.in:
5462         Adding shapes dir.
5463         Updated version to 0.81cvs.
5464         
5465         * app/Makefile.am:
5466         Update run_dia.sh with sheet-dir.
5467         
5468         * app/app_procs.c:
5469         Load all sheets on startup.
5470         Create sheet directory first time.
5471         Don't call custom_register_sheets().
5473         * lib/Makefile.am:
5474         Add sheetdir define
5476         * lib/custom.h:
5477         Remove custom_register_sheets().
5479         * lib/sheet.[ch]:
5480         Add sheet loading code.
5482         * sheet/Circuit.sheet:
5483         * sheet/ER.sheet:
5484         * sheet/FS.sheet:
5485         * sheet/Flowchart.sheet:
5486         * sheet/UML.sheet:
5487         * sheet/network.sheet:
5488         * sheet/sybase.sheet:
5489         Added sheet files.
5491         * sheet/ER/weakentity.xpm:
5492         * sheet/UML/aggregation.xpm
5493         * sheet/UML/umlclass_template.xpm
5494         Added sheet pixmaps.
5495         These are moved from their old places.
5497         * sheet/.cvsignore:
5498         Shut up cvs.
5500         * objects/*/*.c:
5501         Removed sheet objects and sheet registration.
5502         
5503         * objects/ER/Makefile.am:
5504         * objects/ER/pixmaps/weakentity.xpm:
5505         * objects/UML/Makefile.am:
5506         * objects/UML/pixmaps/aggregation.xpm:
5507         * objects/UML/pixmaps/umlclass_template.xpm:
5508         Removed alternative pixmaps. (Moved to sheet).
5510         * objects/custom/Makefile.am:
5511         * objects/custom/load_sheet.[ch]:
5512         Removed old sheet loading code.
5513         
5514         * objects/custom/custom.c:
5515         Load all shapes instead of sheets.
5516         Removed custom_register_sheets().
5518         * objects/custom/custom_object.c:
5519         Added debug code.
5521         * objects/custom/shape_info.[ch]:
5522         Added shape_info_getbyname().
5524         * objects/flowchart/Makefile.am:
5525         * objects/flowchart/collate.shape            
5526         * objects/flowchart/delay.shape              
5527         * objects/flowchart/display.shape            
5528         * objects/flowchart/document.shape           
5529         * objects/flowchart/extract.shape            
5530         * objects/flowchart/flowchart.c              
5531         * objects/flowchart/intstorage.shape         
5532         * objects/flowchart/magdisk.shape            
5533         * objects/flowchart/magdrum.shape            
5534         * objects/flowchart/magtape.shape            
5535         * objects/flowchart/manualinput.shape        
5536         * objects/flowchart/manualop.shape           
5537         * objects/flowchart/merge.shape              
5538         * objects/flowchart/offlinestore.shape       
5539         * objects/flowchart/offpageconn.shape        
5540         * objects/flowchart/or.shape                 
5541         * objects/flowchart/predefdproc.shape        
5542         * objects/flowchart/preparation.shape        
5543         * objects/flowchart/punchedcard.shape        
5544         * objects/flowchart/punchedtape.shape        
5545         * objects/flowchart/sort.shape               
5546         * objects/flowchart/sumjunction.shape        
5547         * objects/flowchart/terminal.shape           
5548         * objects/flowchart/transaction.shape        
5549         * objects/flowchart/transmittape.shape       
5550         * objects/flowchart/pixmaps/collate.xpm      
5551         * objects/flowchart/pixmaps/delay.xpm        
5552         * objects/flowchart/pixmaps/display.xpm      
5553         * objects/flowchart/pixmaps/document.xpm     
5554         * objects/flowchart/pixmaps/extract.xpm      
5555         * objects/flowchart/pixmaps/intstorage.xpm   
5556         * objects/flowchart/pixmaps/magdisk.xpm      
5557         * objects/flowchart/pixmaps/magdrum.xpm      
5558         * objects/flowchart/pixmaps/magtape.xpm      
5559         * objects/flowchart/pixmaps/manualinput.xpm  
5560         * objects/flowchart/pixmaps/manualop.xpm     
5561         * objects/flowchart/pixmaps/merge.xpm        
5562         * objects/flowchart/pixmaps/offlinestore.xpm 
5563         * objects/flowchart/pixmaps/offpageconn.xpm  
5564         * objects/flowchart/pixmaps/or.xpm           
5565         * objects/flowchart/pixmaps/predefdproc.xpm  
5566         * objects/flowchart/pixmaps/preparation.xpm  
5567         * objects/flowchart/pixmaps/punchedcard.xpm  
5568         * objects/flowchart/pixmaps/punchedtape.xpm  
5569         * objects/flowchart/pixmaps/sort.xpm         
5570         * objects/flowchart/pixmaps/sumjunction.xpm  
5571         * objects/flowchart/pixmaps/terminal.xpm     
5572         * objects/flowchart/pixmaps/transaction.xpm  
5573         * objects/flowchart/pixmaps/transmittape.xpm 
5574         Moved shapes and their pixmaps to shapes/flowchart
5576         * shapes/Circuit/Makefile.am:
5577         * shapes/Circuit/index.sheet:
5578         Removed index.sheet.
5579         
5580         * shapes/Makefile.am:
5581         * shapes/flowchart/Makefile.am:
5582         * shapes/flowchart/*.shape:
5583         * shapes/flowchart/*.xpm:
5584         Added flowchart shapes. (Moved from objects/flowchart)
5585         
5587 1999-11-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
5589         * app/app_procs.c: Fixed popt stuff.
5591 1999-11-01  James Henstridge  <james@daa.com.au>
5593         * shapes/Circuit/[hv]led_de.{shape,xpm}: new circuit shapes from
5594         Andreas Scherf.
5596 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
5598         * dia.spec:
5599         * configure.in:
5600         Update version to 0.81.
5601         
5602         * NEWS:
5603         Update with news for 0.81.
5604         
5605         * shapes/Circuit/*:
5606         * shapes/Circuit_eu/*:
5607         Moved european circuit objects to Circuit sheet.
5609 1999-10-31  Alexander Larsson  <alla@lysator.liu.se>
5610         
5611         * lib/diagramdata.[ch]:
5612         Added layer_set_object_list() function.
5614         * app/undo.[ch]:
5615         Added support for undo of reordered objects.
5616         Fix the undo of delete to keep the right order on undo.
5617         
5618         * app/diagram.c:
5619         changed loop to object_add_updates_list() calls.
5620         Added undo support to bring to front/back.
5622         * app/disp_callbacks.c:
5623         * app/paginate_psprint.c:
5624         Remove warnings.
5626 1999-10-30  Alexander Larsson  <alla@lysator.liu.se>
5628         This plugs some leaks. Thanks to
5629         Bruce Mitchener <bruce@cybersight.com> for running
5630         Dia through purify for me.
5631         
5632         * app/app_procs.c:
5633         Free displays and diagrams on exit.
5635         * app/modify_tool.c:
5636         Free gc when freeing tool.
5638         * lib/diagramdata.c:
5639         Free layer name.
5640         
5641         * app/display.c:
5642         Free update and display lists when destroying display.
5643         
5644         * lib/diagramdata.c:
5645         Don't leak layer name.
5647         * objects/custom/load_sheet.c: 
5648         * objects/custom/shape_info.c:
5649         Free loaded xml documents.
5651 1999-10-28  Alexander Larsson  <alla@lysator.liu.se>
5653         * app/commands.c:
5654         * app/object_ops.[ch]:
5655         Add undo handling to alignment ops.
5656         Based partially on patch by Dan Cohn <dan@internap.com>.
5658         * objects/standard/image.c (image_move_handle):
5659         Don't divide by zero for small images.
5660         Patch by Dan Cohn <dan@internap.com>.
5662         * objects/UML/class.c (umlclass_destroy): 
5663         * objects/custom/custom_object.c (custom_destroy):
5664         Don't free connectionpoints before calling element_destroy
5665         which unconnects them.
5667 1999-10-26  Alexander Larsson  <alla@lysator.liu.se>
5669         * objects/custom/custom_object.c: 
5670         Load and save padding too. Fixes strange load crashes.
5672         * app/group.c (group_destroy):
5673         Don't unconnect already freed connectionpoints when
5674         destroying group. Probably fixes bug reported by
5675         Elliot Lee <sopwith@redhat.com>.
5677         * app/render_gdk.c:
5678         Don't crash on zero-size (broken) bezier curves.
5679         Different sort of fix. This should work on closed bezier curves
5680         too.
5682         * objects/standard/textobj.c:
5683         Activate default properties dialog for Text objects.
5685         * app/render_eps.c: 
5686         * app/load_save.c:
5687         * app/preferences.c:
5688         * app/render_svg.c:
5689         fopen files in binary or text mode.
5691 1999-10-26  Alexander Larsson  <alex@cendio.se>
5693         * app/render_gdk.c (bezier_add_lines):
5694         Don't crash on zero-size (broken) bezier curves.
5695         Fixes a crashing bug.
5697 1999-10-25  James Henstridge  <james@daa.com.au>
5699         * app/Makefile.am (run_dia.sh): allow dia to find internal shape files
5700         before it is installed.
5702         * objects/flowchart/flowchart.c: use relative paths to find shapes.
5704         * objects/custom/custom.c (custom_object_load): take file names
5705         relative to $(pkgdatadir)/shape-internal, and check an environment
5706         variable for an alternative directory.
5708         * app/...: added copyright messages to the top of my new code.
5710         * app/paginate_psprint.c: some general clean ups.  Also, give an error
5711         dialog if we can't open the command or output file for writing.
5713         * app/diapagelayout.c (dia_page_layout_set_orientation): fixed
5714         function so it would set orientation to landscape correctly.
5716         * app/paginate_psprint.c: use the paper settings that come with
5717         the diagram.  Also implemented landscape printing.
5719         * app/render_eps.c (new_psprint_renderer): use diagram paper metrics
5720         in PS header.
5722         * app/commands.[ch] (file_pagesetup_callback): added callback for
5723         the page setup dialog.
5725         * app/menus.c: added page setup menu item.
5727         * app/pagesetup.[ch]: implementation of the page setup dialog.
5729         * app/diapagelayout.[ch]: added accessors for the scaling factor.
5730         
5731         * app/load_save.c (diagram_load): load paper information from save
5732         file.
5733         (diagram_save): save the paper info.
5735         * lib/diagramdata.c (new_diagram_data): initialise paper info section
5736         of DiagramData structure.
5737         (diagram_data_destroy): free the paper name.
5739         * lib/diagramdata.h: added a paper member to the DiagramData structure
5740         that holds the page layout info for a diagram.
5742 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
5744         * objects/flowchart/box.c:
5745         * objects/flowchart/ellipse.c:
5746         * objects/flowchart/diamond.c:
5747         * objects/flowchart/parallelogram.c:
5748         Load and save padding too. Fixes strange load crashes.
5750 1999-10-21  Alexander Larsson  <alla@lysator.liu.se>
5752         * app/app_procs.c (name_is_lib):
5753         .dll, .sl and .so.0.0.0 are also libraries.
5755 1999-10-20  James Henstridge  <james@daa.com.au>
5757         * configure.in: added extra makefile.
5758         
5759         * shapes/Circuit_eu/*: a new set of european circuit shapes from
5760         Andreas Scherf <scherfa@fh-trier.de>.  Made a few small modifications
5761         (added fuses to makefile, fill the area of some of the components).
5763 1999-10-19  Alexander Larsson  <alla@lysator.liu.se>
5765         * lib/Makefile.am:
5766         * app/Makefile.am: 
5767         Add GDK_IMLIB_CFLAGS to includes.
5768         Changed --export-dynamic to -export-dynamic
5770         * lib/widgets.c:
5771         * objects/UML/message.c:
5772         Removed c++ comment.
5774         * lib/render_store.[ch]:
5775         Don't use empty structure. That is not Ansi C.
5777 1999-10-19  James Henstridge  <james@daa.com.au>
5779         * app/diapagelayout.c (dia_page_layout_init): use DiaUnitSpinner's for
5780         the margin entries, as they allow interpretation of units.
5781         (paper_size_change): display the current page dimensions.
5783         * app/diaunitspinner.[ch]: a widget derived from the standard
5784         GtkSpinButton that tries to take units into account.  So if you enter
5785         "1in" into the entry, it will convert it to 2.54cm.
5787 1999-10-18  Alexander Larsson  <alla@lysator.liu.se>
5789         * app/app_procs.c:
5790         Removed include of dlfcn.h
5792 1999-10-18  James Henstridge  <james@daa.com.au>
5794         * app/diapagelayout.c (paper_size_change, orient_changed): set upper
5795         bound on margin widths.  It is set to the paper width/height.
5797         * objects/flowchart/diamond.c (diamond_distance_from): fixed distance
5798         routine for the diamond.  This bug was found and fixed by Daniel Wang
5799         <danwang@CS.Princeton.EDU>
5801 Sun Oct 17 19:46:36 1999  ape@gandalf.spacetec.no  (Asbjorn Pettersen)
5803         * app/commands.c: Add <sys/types.h> before <sys/stat.h> to
5804         remove warning (OS/2 version).
5806 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
5808         * README:
5809         Put a pointer to objects/custom/README.
5810         
5811 1999-10-17  Alexander Larsson  <alla@lysator.liu.se>
5813         * dia.spec:
5814         Updated version to 0.80
5816         * configure.in:
5817         Updated version to 0.80cvs
5819 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
5821         * Released Dia 0.80
5822         Tag called DIA_0_80
5823         
5824 1999-10-17  Fredrik Hallenberg  <hallon@lysator.liu.se>
5826         * app/Makefile.am
5827         * lib/Makefile.am
5828         * objects/UML/Makefile.am
5829         * objects/ER/Makefile.am
5830         * objects/network/Makefile.am
5831         * objects/standard/Makefile.am
5832         * objects/FS/Makefile.am
5833         * objects/sybase/Makefile.am
5834         * objects/flowchart/Makefile.am
5835         * objects/custom/Makefile.am
5836         Added -I$(top_srcdir)/intl which is needed for
5837         --with-included-gettext.
5839         * POTFILES.in
5840         Updated.
5841         
5842         * po/sv.po
5843         Updated swedish translation.
5845 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
5847         * configure.in:
5848         Updated version number to 0.80.
5850         * KNOWN_BUGS:
5851         New file.
5853         * TODO:
5854         Updated. Moved bugs to KNOWN_BUGS.
5856         * NEWS:
5857         Updated with 0.80 release notes.
5858         
5859 1999-10-16  Alexander Larsson  <alla@lysator.liu.se>
5860         
5861         * lib/orth_conn.c:
5862         For backwards compatibility, make sure handle 0 and 1 are the
5863         first and last handle. Fixes compatibility with 0.41, breaks
5864         compatibility with cvs version.
5865         Fixed bug in undo/redo of adding deleting endpoint segments
5866         when the endpoint was connected.
5867         Start OrthConn objects with three segments.
5869 1999-10-16  James Henstridge  <james@daa.com.au>
5871         * objects/custom/custom_object.c (custom_update_data): changed
5872         resizing behaviour a bit so that shapes don't grow huge when you try
5873         to resize them to smaller than the size required by the text box.
5874         Also, now shapes will not grow with fixed aspect ratio when you enter
5875         text into them unless the shape has the fixed aspect ratio flag set.
5877 1999-10-15  James Henstridge  <james@daa.com.au>
5879         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
5881         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
5883         * objects/flowchart/magdrum.shape: 
5884         * objects/flowchart/offlinestore.shape: 
5885         * objects/flowchart/punchedtape.shape: 
5886         * objects/flowchart/transmittape.shape: 
5887         * objects/flowchart/punchedcard.shape: new shapes.
5889         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
5891         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
5893         * objects/flowchart/collate.shape:
5894         * objects/flowchart/delay.shape:
5895         * objects/flowchart/extract.shape:
5896         * objects/flowchart/intstorage.shape:
5897         * objects/flowchart/magdisk.shape:
5898         * objects/flowchart/magtape.shape:
5899         * objects/flowchart/merge.shape:
5900         * objects/flowchart/or.shape:
5901         * objects/flowchart/sort.shape:
5902         * objects/flowchart/sumjunction.shape: new shapes.
5904 1999-10-15  Alexander Larsson  <alla@lysator.liu.se>
5906         * TODO (BUGS):
5907         Added bug:
5908         Entering an erronous command as print command
5909         crashes dia.
5911         * app/paginate_psprint.c:
5912         Save all print dialog values for next time.
5913         
5914         * app/Makefile.am:
5915         Remove custom lib from DIA_LIB_PATH.
5917 1999-10-14  James Henstridge  <james@daa.com.au>
5919         * objects/flowchart/flowchart.c: add new shapes to flowchart sheet.
5921         * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes.
5922         
5923         * objects/flowchart/offpageconn.shape: 
5924         * objects/flowchart/manualop.shape: 
5925         * objects/flowchart/preparation.shape: 
5926         * objects/flowchart/manualinput.shape: 
5927         * objects/flowchart/predefdproc.shape: 
5928         * objects/flowchart/terminal.shape: new shapes in the flowchart sheet.
5930 1999-10-13  James Henstridge  <james@daa.com.au>
5932         * app/diapagelayout.[ch]: added accessors to paper information.  The
5933         widget should be just about complete now.
5935         * app/diapagelayout.[ch]: fleshed out the page setup widget a bit more.
5936         It actually does something now.
5938 1999-10-12  James Henstridge  <james@daa.com.au>
5940         * app/pixmaps/portrait.xpm, app/pixmaps/landscape.xpm: support pixmaps
5941         for the page layout widget.
5943         * app/diapagelayout.[ch]: start of page layout widget.  Not actually
5944         built yet as it is not complete.
5946         * objects/flowchart/flowchart.c: added new shapes to sheet.
5948         * objects/flowchart/display.shape:
5949         * objects/flowchart/transaction.shape: new shapes.
5951         * AUTHORS: added my name to the spec file.
5953         * dia.spec: include the dia desktop entry to the spec file.
5955         * Makefile.am: install the dia.desktop file.
5957         * dia.desktop: added a gnome desktop entry so you can start dia
5958         from the gnome panel menu.
5960 1999-10-11  James Henstridge  <james@daa.com.au>
5962         * objects/custom/custom_object.c:
5963         * objects/custom/shape_info.c: warning fixes.
5965         * objects/flowchart/document.shape: a shape file for the `document'
5966         flowchart shape.
5968         * lib/custom.h: new header with the custom shape prototypes.
5970         * app/app_procs.c: register custom objects as well.
5971         (register_objects_in): close shared libraries if they don't load
5972         correctly, and call g_module_make_resident on libraries that load
5973         correctly.
5975         * app/Makefile.am (dia_LDADD): added libcustom_objects.a to link list.
5977         * objects/custom/custom.c: removed get_version, added custom_ prefix
5978         to register_objects and register_sheets.
5980         * objects/custom/Makefile.am: converted to a normal library.
5982 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
5984         * app/lineprops_area.c:
5985         * app/render_svg.c:
5986         * lib/objchange.c:
5987         * objects/custom/shape_info.c:
5988         * objects/flowchart/box.c:
5989         * objects/flowchart/diamond.c:
5990         * objects/flowchart/ellipse.c:
5991         * objects/flowchart/parallelogram.c:
5992         * objects/network/flash.c:
5993         * objects/network/scead-plug.c:
5994         * objects/sybase/client.c:
5995         Removed -Wall warnings.
5996         
5997         * objects/network/bus.c:
5998         Removed unused functions.
6000         * objects/FS/flow-ortho.c:
6001         * objects/FS/flow-poly.c:
6002         * objects/FS/flow.c:
6003         * objects/FS/function.c:
6004         
6005         Implemented "non-implemented" undo for FS objects.
6006         Now at least it won't crash.
6007         
6008 1999-10-10  Alexander Larsson  <alla@lysator.liu.se>
6010         * objects/network/bus.c:
6011         Implemented undo.
6012         Handles are now added and removed using the object menu.
6013         Default to 6 handles instead of 10.
6014         Changed name from "Standard - Bus" to "Network - Bus". Kept old
6015         name for backwards compatibility.
6017         * objects/network/network.c:
6018         Changed name from "Standard - Bus" to "Network - Bus". Kept old
6019         name for backwards compatibility.
6021         * app/properties.[ch]:
6022         * app/undo.c:
6023         Update properties in properties dialog if the shown object
6024         is part of and ObjectChange (undo or redo).
6026         * lib/poly_conn.c:
6027         Remove old known bugs list.
6029         * objects/UML/class_dialog.c:
6030         Removed debug printf's.
6032 1999-10-10  James Henstridge  <james@daa.com.au>
6034         * objects/custom/custom.c (custom_object_load): new function that
6035         provides a nice entry point to the custom shape code for when it
6036         gets used by other libraries.
6038         * configure.in: removed 11 makefiles from AC_OUTPUT list.  This
6039         speeds builds up a bit.
6041         * */Makefile.am (EXTRA_DIST): include pixmaps in distribution.
6042         (SUBDIRS): do not descend into pixmaps subdirs.
6044         * */pixmaps/Makefile.am: removed -- incorporate into parent makefiles.
6045         This speeds up build process.
6047         * objects/custom/custom.c (sheets): made variable static.
6049         * objects/custom/custom_util.[ch] (custom_get_relative_filename):
6050         renamed function.
6052         * objects/custom/load_sheet.[ch] (custom_sheet_load): renamed function.
6054         * objects/custom/custom.c: look in ~/.shapes instead of
6055         ~/.dia_shapes as the per-user shapes directory.
6057         * app/preferences.c (prefs_save): save config to ~/.diarc.
6058         (prefs_load): load configuration from ~/.diarc.  If the file
6059         does not exist, fallback on the old ~/.diarc location.
6061         * app/app_procs.c (create_user_dirs): create the ~/.dia directory
6062         on startup.
6063         (register_all_objects): look for user specific objects in
6064         ~/.objects rather than ~/.dia_libs.
6066 1999-10-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
6068         * configure.in:
6069         * app_procs.c:
6070         * objects/flowchart/box.c
6071         * objects/flowchart/ellipse.c
6072         * objects/flowchart/flowchart.c 
6073         Use gmodule for dynamic linking. As gmodule is using
6074         RTLD_GLOBAL i had to change flowchart box and ellipse
6075         so the typenames doesn't conflict with the standard
6076         box and ellipse.
6078         * message.c
6079         * commands.c
6080         Use button box to make dialogs look better.
6082 1999-10-09  Alexander Larsson  <alla@lysator.liu.se>
6084         * objects/UML/class_dialog.c:
6085         * objects/UML/class.h:
6086         Implemented undo for "UML - Class" objects.
6087         Not 100% tested yet.
6089         * objects/UML/classicon.c:
6090         * objects/UML/constraint.c:
6091         * objects/UML/dependency.c:
6092         * objects/UML/generalization.c:
6093         * objects/UML/implements.c:
6094         * objects/UML/large_package.c:
6095         * objects/UML/lifeline.c:
6096         * objects/UML/message.c:
6097         * objects/UML/object.c:
6098         * objects/UML/realizes.c:
6099         * objects/UML/state.c:
6100         * objects/UML/usecase.c:
6101         Removed warnings.
6102         
6103         * lib/connectionpoint.h:
6104         Fixed typo.
6105         
6106 1999-10-09  James Henstridge  <james@daa.com.au>
6108         * objects/custom/*.[ch]: added copyright notices to custom object
6109         files.
6111         * shapes/Circuit/hdiode.shape:
6112         * shapes/Circuit/hzener.shape: 
6113         * shapes/Circuit/opamp.shape:
6114         * shapes/Circuit/vdiode.shape:
6115         * shapes/Circuit/vzener.shape: made adjustments to make the circuit
6116         shapes look nice after the custom shape code changes.
6118         * objects/custom/README: updated docs to cover changes to drawing
6119         code.
6121         * objects/custom/custom_object.c (custom_draw): honour the line
6122         properties when drawing the shape.
6124         * objects/custom/shape_info.[ch]: added support for setting line
6125         properties for individual drawing elements in a custom shape.  You
6126         can set the dash style, dash length, cap style and join style.
6128 1999-10-07  James Henstridge  <james@daa.com.au>
6130         * objects/custom/shape_info.c (parse_style): added a few extra synonyms
6131         for foreground and background.
6133         * objects/custom/custom_object.c (custom_draw): use the new style
6134         information when drawing the object.
6136         * objects/custom/shape_info.[ch]: store all shape style info in the
6137         GraphicStyle structure.  This makes adding support for extra CSS
6138         attributes easier -- we don't have to keep adding extra arguments to
6139         a lot of functions.
6141 1999-10-05  James Henstridge  <james@daa.com.au>
6143         * lib/intl.c (unalias_lang): merged in changes from the i18n code
6144         swiped from gnome-libs.
6146 1999-10-03  Alexander Larsson  <alla@lysator.liu.se>
6148         * objects/standard/image.c (get_directory):
6149         Fix memleak. Found by Kjartan Maraas <kmaraas@online.no>
6151 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
6153         * lib/poly_conn.c (polyconn_destroy):
6154         Fix bug. Access of freed memory.
6155         Rememeber, you can't free the handles of an object
6156         before calling object_destroy(), as it unconnects the handles
6157         therefore referencing them.
6159 1999-09-28  Alexander Larsson  <alla@lysator.liu.se>
6161         * app/undo.c:
6162         undo_clear() didn't set stack->depth to zero.
6163         This made other undo functions crash after this had been called
6164         on a "full" stack.
6165         
6166         * dia.xpm:
6167         Slightly modified by Chris Love <clove@exactis.com>
6169 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
6171         * objects/UML/class.h: 
6172         * objects/UML/class_dialog.c:
6173         Retrun NULL ObjectChange on class property change.
6174         This means no crashes, but "UML - Class" doesn't support undo yet.
6175         
6176 1999-09-19  Alexander Larsson  <alla@lysator.liu.se>
6177         
6178         * lib/text.c:
6179         Indentation fix.
6181         * objects/UML/classicon.c:
6182         * objects/UML/dependency.c:
6183         * objects/UML/generalization.c:
6184         * objects/UML/implements.c:
6185         * objects/UML/large_package.c:
6186         * objects/UML/lifeline.c:
6187         * objects/UML/message.c:
6188         * objects/UML/object.c:
6189         * objects/UML/realizes.c:
6190         * objects/UML/state.c:
6191         * objects/UML/usecase.c:
6192         Update to new undo (w. get/set_state).
6193         Add object menu to add/delete segments.
6195 1999-09-17  Alexander Larsson  <alla@lysator.liu.se>
6197         * app/menus.c:
6198         Add equal distance alignment.
6200         * app/object_ops.c:
6201         Add equal distance alignment.
6202         Fix bug in adjacent alignment.
6204 1999-09-16  Alexander Larsson  <alla@lysator.liu.se>
6206         * objects/UML/constraint.c: 
6207         Update to new undo (w. get/set_state).
6209 1999-09-15  Alexander Larsson  <alla@lysator.liu.se>
6211         * app/paginate_psprint.c:
6212         Save (parts, more todo) of the info in the print dialog to the
6213         next time it's opened.
6214         Patch from Yo Ric Dude <ricdude@toad.net>
6216 1999-09-14  Alexander Larsson  <alla@lysator.liu.se>
6218         * configure.in:
6219         Updated version string to 0.41cvs.
6221         * objects/UML/assocition.c:
6222         Update to new undo (w. get/set_state).
6223         Add object menu to add/delete segments.
6225         * app/app_procs.c:
6226         Added function debug_break() and called it after all
6227         objects and sheets are loaded. Place a breakpoint here if you
6228         want to debug objects. All symbols should be loaded.
6230 1999-09-12  James Henstridge  <james@daa.com.au>
6232         * app/menus.c (display_menu_items): added print menu item.
6233         (filemenu): always add print menu item -- even if gnome-print is
6234         not installed.
6236         * app/commands.h, app/commands.c (file_print_callback): the print
6237         menu item is now available for both gnome-print and non gnome-print
6238         setups.
6240         * app/paginate_psprint.c (diagram_print_ps): show a dialog to let you
6241         print with the non gnome-print driver.
6243 1999-09-11  James Henstridge  <james@daa.com.au>
6245         * app/paginate_gnomeprint.c (diagram_print_gnome): moved the gnome
6246         printer dialog code out of commands.c.
6248         * app/paginate_psprint.c: new file containing the pagination code for
6249         psprint.
6251         * app/render_eps.c: made a few modifications so as well as producing
6252         EPS files, this renderer can be set up to do postscript printing.
6253         This basically entailed adding an extra function to create a RenderEPS
6254         renderer which did not bother setting the viewport for the document.
6255         That was left for the pagination code.
6257 1999-09-10  James Henstridge  <james@daa.com.au>
6259         * app/render_gnomeprint.c (draw_ellipse, fill_ellipse): since
6260         gnome-print does not support elliptic arcs at the moment, approximate
6261         the ellipse with eight bezier curves.  This gives a pretty good
6262         match to a true ellipse.
6264 1999-09-09  James Henstridge  <james@daa.com.au>
6266         * app/commands.c (file_gnome_print_callback): added support for
6267         scaling the diagram.  Also fixed a few other bugs.
6269         * app/paginate_gnomeprint.c (print_page): added ability to scale
6270         document.  Fixed up test to see if the page has no objects on it.
6271         This should prevent some blank pages being printed.  Non square
6272         objects such as lines could still cause problems.
6274 1999-09-08  James Henstridge  <james@daa.com.au>
6276         * app/commands.c (file_gnome_print_callback): changed from using the
6277         standard printer selection dialog to one that also has a paper size
6278         selector as well.
6280         * commands.[ch]: added callbacks for the print menu item.  Currently
6281         it only does A4 output.  I will make it configurable soon.
6282         
6283         * app/menus.c: add a print diagram menu item if gnome-print support
6284         is enabled.
6285         
6286         * app/paginate_gnomeprint.c, app/paginate_gnomeprint.h: this is a
6287         bit higher level than the gnome-print renderer.  It splits the
6288         diagram into page size chunks and then renders them.  For each
6289         page, it only renders the objects whose bounding box intersects
6290         the page, and it sets the clip mask so that the diagram does not
6291         overlap the margins.
6292         
6293         * app/render_gnomeprint.c, app/render_gnomeprint.h: added a renderer
6294         that uses gnome-print as its back end.
6295         
6296         * configure.in: added a check for gnome-print.  It is disabled by
6297         default because the code is not really working correctly yet.
6299         * app/menus.c: the delete object menu item was missing from the
6300         GnomeUIInfo style menus.
6302 1999-09-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
6304         * configure.in
6305         Added japanese to ALL_LINGUAS.
6306         Fix for Linux on Alpha.
6308 1999-09-07  Alexander Larsson  <alla@lysator.liu.se>
6310         * app/create_object.c (create_object_button_press):
6311         Always initialize tool->obj. Otherwise we store a null
6312         in the undo Change.
6314         * lib/text.c:
6315         Set linestyle before drawing cursor.
6316         Fix undo of backwards delete.
6318 1999-09-05  James Henstridge  <james@daa.com.au>
6320         * dia.spec: updated spec file to distribute $(prefix)/share/dia.
6322         * app/render_svg.c (draw_image): some fixes so that the appropriate
6323         style attributes are set.  Before it was setting line styles on
6324         fill_* functions.  Now it only does this for the draw_* variants.
6326         * app/Makefile.am (run_dia.sh): set the DIA_SHAPE_PATH environment
6327         variable so that custom shapes can be loaded.
6329         * shapes/: new directory for custom shapes.  The Circuit sheet has
6330         been moved here.
6332 1999-09-02  James Henstridge  <james@daa.com.au>
6334         * TODO: removed a few todo items that have been implemented.
6336         * app/interface.c (create_sheets): enabled the popup page menu to the
6337         notebook.  This can make it easier to select different sheets.
6339         * object/custom/Circuit/: added diode, zener diode, ground point and
6340         operational amplifier shapes.
6341         
6342         * objects/custom/Makefile.am: added a note about adding DEBUG_CUSTOM
6343         if you want the output.
6345         * objects/custom/shape_info.c (parse_path): same here.
6347         * objects/custom/load_sheet.c (load_with_readdir): don't print so
6348         much debugging output.  To get the previous level of output, define
6349         DEBUG_CUSTOM.
6351         * objects/custom/shape_info.c (parse_svg_node): polygons were being
6352         recorded as polylines in the ShapeInfo structure.
6354         * objects/custom/README: some notes on writing new custom shapes.
6355         
6356 1999-09-01  James Henstridge  <james@daa.com.au>
6358         * objects/custom/Circuit/hinductor.*:
6359         * objects/custom/Circuit/vinductor.*: added inductor shapes that
6360         also test out the bezier curve and SVG path support.
6361         
6362         * objects/custom/custom_object.c (custom_draw): added support for
6363         drawing bezier paths and filled shapes.
6365         * objects/custom/shape_info.c (parse_path): new function to parse
6366         SVG path elements.  It does not do quadratic beziers or elliptic
6367         arcs though.  Only moves, lines and cubic beziers.
6368         (*): added support for paths.
6370 1999-08-31  James Henstridge  <james@daa.com.au>
6372         * objects/sybase/ltm.c (render_to_store): use the newer bezier API.
6374         * app/render_svg.c (draw_bezier, fill_bezier): updated renderer
6375         interface
6377         * app/render_eps.c (draw_bezier, fill_bezier): updated renderer
6378         interface
6380         * app/render_gdk.c (draw_bezier, fill_bezier): updated renderer
6381         interface.
6383         * lib/render_store.[ch]: use newer bezier functions.
6385         * lib/render.h: changed the bezier drawing functions to use an array
6386         of BezPoint structures instead of normal Point structures to allow
6387         lineto's mixed in with the curveto's.
6388         
6389         * objects/custom/Circuit/pnp.*: added pnp transistor shape.
6390         
6391         * objects/custom/Circuit/Makefile.am (SHAPES): added index.sheet and
6392         xpm images for different shapes to Makefile.
6394         * objects/custom/custom_object.c (custom_object_new): set the icon
6395         for the sheet button if there is one.  Otherwise fall back on the
6396         default custom object icon.
6398         * objects/custom/shape_info.c (load_shape_info): read the sheet
6399         icon name from the shape file.
6401         * app/interface.c (create_sheet_page): if sheet_obj->pixmap == NULL,
6402         check the pixmap_file field for the name of a pixmap file to load
6403         for the tool.
6405         * lib/sheet.h (SheetObj): added pixmap_file field to structure.  It is
6406         at the end of the structure, and it isn't used if the pixmap field
6407         is non NULL, so it should not break binary compatibility.
6409         * objects/custom/load_sheet.[ch]: moved sheet loading code here.  Also
6410         added support for the use of an index.sheet file so you can specify
6411         the ordering of the shapes in the sheet, and also internationalise
6412         the sheet name and actually be able to give a description.  The old
6413         readdir based sheet loading code acts as a fallback if an index.sheet
6414         file can not be found.
6416         * objects/custom/custom_util.[ch]: new file containing useful routines
6417         needed by the custom object code.  Currently only contains a simple
6418         routine for resolving relative paths.
6420         * objects/custom/custom_object.c (custom_draw): fixed problem with
6421         drawing rectangles if the shape has been flipped.
6423 1999-08-30  James Henstridge  <james@daa.com.au>
6425         * objects/custom/custom_object.c (custom_get_object_menu): allow
6426         flipping of custom shapes.  This uses the miggle click object
6427         menu.
6429         * objects/custom/Circuit/npn.shape: fix aspect ratio.
6431         * objects/custom/custom_object.c (custom_update_data): honour the
6432         aspect ratio constraints.
6434         * objects/custom/shape_info.c (load_shape_info): updated aspect ratio
6435         tag parsing, so you can specify a free, fixed or a range for aspect
6436         ratios for the shape.
6438 1999-08-29  James Henstridge  <james@daa.com.au>
6440         * objects/custom/test.xml, objects/custom/Circuit/*.shape: fixed
6441         up shape namespace tag.
6443         * objects/custom/shape_info.c (load_shape_info): check xml:lang
6444         attribute on <description> elements to support i18n for custom
6445         shape descriptions.
6446         Also changed the shape namespace for custom shapes to something
6447         a little more sensible.
6449         * lib/dummy_dep.h (dummy_dep): added extra dummy dependency.
6451         * lib/intl.c: new file containing some functions for i18n stuff.
6453         * app/layer_dialog.c (create_button_box): fixed a warning.
6455         * objects/custom/custom_object.c: use current line style.  Save dash
6456         length.
6458         * objects/flowchart/diamond.c: use current line style.  Save dash
6459         length.
6461         * objects/flowchart/parallelogram.c: use current line style.  Save
6462         dash length.
6464         * objects/flowchart/ellipse.c: use current line style.  Save dash
6465         length.
6467         * objects/flowchart/box.c: use current line style.  Save dash length.
6469         * objects/standard/ellipse.c: make ellipse use current line style.
6471         * objects/standard/box.c: use the line style set in the toolbox for
6472         new boxes, and remember the dash length.
6474         * app/commands.c (view_toggle_rulers_callback): fix reshowing of
6475         rulers.
6477 1999-08-24  James Henstridge  <james@daa.com.au>
6479         * objects/flowchart/ellipse.c (ellipse_update_data): made some changes
6480         to try to stop ellipse to get infinite width/height when we resize,
6481         while trying to keep the text inside the ellipse.
6483         * objects/flowchart/box.c, objects/flowchart/parallelogram.c,
6484         * objects/flowchart/diamond.c, objects/flowchart/ellipse.c: fixed
6485         resizing behaviour, so that you can't push objects round the screen
6486         with the resize handles.
6488         * app/lineprops_area.c (dia_arrow_chooser_init, dia_line_chooser_init):
6489         get the OK buttons in the dialogs to take default clicks.
6491         * objects/custom/custom_object.c: added code so that resizing the
6492         shape does not end up pushing it round the screen.
6494 1999-08-23  Alexander Larsson  <alla@lysator.liu.se>
6496         * app/display.[ch]:
6497         Generate rectangle with the union of the damaged regions.
6498         This is used to optimize the grid paint and the object rendering.
6499         display_render_pixmap passes this info to grid_draw() and data_render().
6501         * app/grid.[ch]:
6502         grid_draw doesn't draw grid lines outside of damaged rectangle.
6503         Sets dashlength when drawing non-solid grid.
6504         
6505         * lib/diagramdata.[ch]:
6506         data_render() and layer_render() takes an optional damaged rectangle
6507         argument. No objects not intersecting this are drawn.
6509         * app/diagram.c:
6510         Fix warning.
6511         Call data_render with NULL update rectangle.
6512         
6513 1999-08-23  James Henstridge  <james@daa.com.au>
6515         * objects/custom/custom_object.c (custom_update_data): if the aspect
6516         ratio is fixed, make sure the shape is not distorted.
6518         * object/custom/shape_info.h, objects/custom/shape_info.c: notice if
6519         a <fixaspectratio/> tag is given in the shape file.
6521         * objects/custom/shape_info.[ch], objects/custom/custom_object.c:
6522         added support for stroke-width, stroke and fill CSS attributes
6523         specified in style attributes of the SVG elements.  The line width
6524         is relative to the user specified line width.  The stroke and fill
6525         attributes can only be used to swap the foreground/background
6526         colours.
6528         * lib/widgets.c (dia_line_style_selector_set_linestyle): set the
6529         sensitivity on the dash length selector when this function is called.
6531         * objects/standard/arc.c: same.  Also handle dash length.
6532         * objects/standard/zigzagline.c: same.
6533         * objects/standard/polyline.c: same.  Also handle dash length.
6534         * objects/standard/line.c: use default arrow/line styles.
6536         * app/interface.c: added callbacks to set the default attributes.
6538         * lib/attributes.c: added implementations of these functions.
6540         * lib/attributes.h: added extra prototypes for the new line properties
6541         area in the toolbox.
6543         * app/interface.c (create_lineprops_area): added line properties
6544         area to bottom of toolbox.
6546         * app/lineprops_area.h: a header exporting a few routines of the
6547         line properties area widgets.
6549         * app/lineprops_area.c: new file containing a selector for arrows
6550         and line styles to go in the main toolbox.
6552 1999-08-22  Alexander Larsson  <alla@lysator.liu.se>
6554         * HACKING:
6555         Update Gtk+ 1.0.5 comment to 1.2.0.
6557         * INSTALL:
6558         Demand libtool 1.3
6560         * acconfig.h:
6561         Add HAVE_LIBPOPT
6563         * configure.in:
6564         Make sure we don't propagate -ldl and -lpopt to all LIBS
6565         by adding new var APP_LIBS that only app/dia links with.
6566                 
6567         * app/Makefile.am:
6568         Update run_dia.sh to load custom and flowchart objects.
6570         * objects/ER/Makefile.am:
6571         * objects/FS/Makefile.am:
6572         * objects/UML/Makefile.am:
6573         * objects/network/Makefile.am:
6574         * objects/standard/Makefile.am:
6575         * objects/sybase/Makefile.am:
6576         Don't build versioned libs.     
6577         
6578 1999-08-22  James Henstridge  <james@daa.com.au>
6580         * configure.in: added objects/custom/Circuit/Makefile to AC_OUTPUT
6581         list.
6583         * objects/Makefile.am (SUBDIRS): added custom to subdir list -- it
6584         should actually work a bit now.
6586         * objects/custom/Circuit/*: a test sheet for the custom shape code.
6587         It is a small collection of circuit elements.
6589         * objects/custom/shape_info.c: fixed up loading of polylines and
6590         polygons.  Before it was removing negative signs :(
6592         * objects/custom/pixmaps/custom.xpm: drew the custom shape icon.  A
6593         placeholder was here before.  I still need to work out how to set
6594         icons for individual custom shapes.
6595         
6596         * objects/custom/custom.c: added code to load the shapes into sheets
6597         properly.  The shape files should be arranged into directories, and
6598         each directory represents a different sheet in the toolbox.  This
6599         will make it very easy to distribute a collection of dia shapes as
6600         a tarball.  I still need to work out internationalisation, and maybe
6601         also shape ordering in the sheet.
6603         * objects/custom/custom_object.c: fixed up dialogs for these objects.
6604         (custom_create): fix for objects without text areas.
6606         * objects/custom/shape_info.h, objects/custom/custom_object.c: loading
6607         and saving of custom object works correctly now.
6609 1999-08-21  James Henstridge  <james@daa.com.au>
6611         * objects/flowchart/ellipse.c: 
6612         * objects/flowchart/diamond.c: 
6613         * objects/flowchart/parallelogram.c: 
6614         * objects/flowchart/box.c: Fixed up a few bugs in these objects when
6615         copying or loading these object types.  Not all the connection
6616         points would be initialised correctly.
6618         * objects/flowchart/Makefile.am (libflowchart_objects_la_LDFLAGS):
6619         similar here.
6621         * objects/custom/Makefile.am (libcustom_objects_la_LDFLAGS): do not
6622         build a versioned library.  It will only ever be dlopen'd, so this
6623         is not a problem.
6625         * objects/custom/custom_object.c (custom_distance_from): allow
6626         selecting the object by clicking on the text.  This fixes problems
6627         where the text box is outside the graphic.
6629         * objects/custom/shape_info.c (load_shape_info): fixed up reading
6630         of connections points.  It should be possible to add connections
6631         to custom objects now.
6633         * objects/custom/custom_object.c (custom_update_data): fixed resizing
6634         due to changes to text.
6636         * configure.in: added extra makefiles.
6637         
6638         * objects/custom/shape_info.[ch]:
6639         * objects/custom/custom_object.c:
6640         * objects/custom/custom.c: the starts of custom shape support in dia.
6641         This is not built by default at the moment, since it is not quite
6642         complete.  When it is, it will let you create more shapes for dia
6643         without writing a line of C.  Its implementation includes buzzwords
6644         such as XML and SVG, so it must be good :)
6646 1999-08-19  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
6648         * app/app_procs.c (app_exit): Use button labels "Quit" and
6649         "Cancel" instead of "Yes" and "No".
6650         Set default action to "Cancel" instead of "Quit".
6652 1999-08-19  James Henstridge  <james@daa.com.au>
6654         * objects/flowchart/flowchart.c: added ellipse object.
6655         
6656         * objects/flowchart/ellipse.c: a new shape for the flowchart toolbox.
6658 1999-08-18  James Henstridge  <james@daa.com.au>d
6660         * app/color_area.c (color_area_edit): small fix to prevent dia from
6661         segfaulting when you try to change the default foreground/background.
6663 1999-08-17  Alexander Larsson  <alla@lysator.liu.se>
6665         * app/diagram.[ch] (diagram_redraw_all):
6666         Added function that redraws all diagrams.
6668         * app/preferences.c (prefs_apply):
6669         Call diagram_redraw_all when prefs are changed.
6671         * app/render_svg.c:
6672         Don't use xmlEncodeEntitiesReentrant(). It doesn't exist on
6673         older libxml's, and the old version works good enought here.
6674         
6675 1999-08-17  James Henstridge  <james@daa.com.au>
6677         * lib/widgets.c: changed handlers that were connected to the GtkButton
6678         "pressed" signal to connect to the "clicked" signal.  This removes the
6679         problem where dialogs are inactive until you click a mouse button
6680         after using a colour selector.
6682         * configure.in: added extra makefiles to AC_OUTPUT list.
6683         
6684         * objects/Makefile.am (SUBDIRS): added flowchart module
6686         * objects/flowchart/*: a collection of shapes for use in flowcharts.
6688         * app/color_area.c (color_area_events): similar here.
6690         * app/linewidth_area.c (linewidth_area_events): sometimes a configure
6691         event is recieved with event->width == 0, which causes a warning if we
6692         try to create a pixmap of that width.
6694         * app/preferences.c, app/preferences.h, app/grid.c: added code to
6695         allow you to configure the colour of the grid, and also lets you
6696         set the grid to use dotted lines instead of solid ones.
6697         
6698         * app/commands.c, app/commands.h, app/diagram.c, app/diagram.h,
6699         app/menus.c, app/Makefile.am: added menu entry for exporting SVG files.
6700         
6701         * app/render_svg.h, app/render_svg.c: an SVG (Scalable Vector Graphics)
6702         export filter.  It is not quite complete, but for most shapes it
6703         works as expected.  Fonts still need a bit of work.
6705 1999-08-11  Robert Brady  <rwb197@ecs.soton.ac.uk>
6707         * configure.in: Added "en_GB" to ALL_LINGUAS.
6709 1999-08-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
6711         * menus.c
6712         Added Undo and Redo to GNOME menus.
6713         
6714         * objects/ER/attribute.c:
6715         * objects/ER/entity.c:
6716         * objects/ER/participation.c:
6717         * objects/ER/relationship.c:
6718         Added get/set_state functions.
6720         * objects/ER/participation.c:
6721         Added add/delete segment.
6723         * po/sv.po
6724         Updated Swedish translation.
6726 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
6728         * app/preferences.[hc]:
6729         Added undo_depth pref.
6730         
6731         * app/undo.[ch]:
6732         Never grow stack larger than pref.undo_depth.
6733         undo_depth == 0 means unlimited.
6734         Converted printfs to conditionally compiled DEBUG_PRINTFs.
6735         
6736 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
6738         * app/diagram.c:
6739         * app/group.c:
6740         * lib/object.h:
6741         * lib/render_object.c:
6742         * objects/ER/attribute.c:
6743         * objects/ER/entity.c:
6744         * objects/ER/participation.c:
6745         * objects/ER/relationship.c:
6746         * objects/FS/flow-ortho.c:
6747         * objects/FS/flow-poly.c:
6748         * objects/FS/flow.c:
6749         * objects/FS/function.c:
6750         * objects/UML/actor.c:
6751         * objects/UML/association.c:
6752         * objects/UML/class.c:
6753         * objects/UML/classicon.c:
6754         * objects/UML/component.c:
6755         * objects/UML/constraint.c:
6756         * objects/UML/dependency.c:
6757         * objects/UML/generalization.c:
6758         * objects/UML/implements.c:
6759         * objects/UML/large_package.c:
6760         * objects/UML/lifeline.c:
6761         * objects/UML/message.c:
6762         * objects/UML/note.c:
6763         * objects/UML/object.c:
6764         * objects/UML/realizes.c:
6765         * objects/UML/small_package.c:
6766         * objects/UML/state.c:
6767         * objects/UML/usecase.c:
6768         * objects/network/bus.c:
6769         * objects/standard/arc.c:
6770         * objects/standard/box.c:
6771         * objects/standard/ellipse.c:
6772         * objects/standard/image.c:
6773         * objects/standard/line.c:
6774         * objects/standard/polyline.c:
6775         * objects/standard/textobj.c:
6776         * objects/standard/zigzagline.c:
6777         Removed all traces of is_empty(). It doesn't work in an
6778         Undo/Redo world.
6780 1999-07-25  Alexander Larsson  <alla@lysator.liu.se>
6782         * app/diagram.c:
6783         * app/group.[ch]:
6784         * app/undo.[ch]:
6785         Undoable grouping and ungrouping.
6787         * app/layer_dialog.c:
6788         * lib/diagramdata.[ch]:
6789         Undoable layer ops.
6791         * app/modify_tool.c:
6792         Undoable unconnect on handle move.
6794         * lib/orth_conn.[ch]:
6795         Working undoable add/remove segment.
6796         Removed endpoint_handles from OrthConn, renamed
6797         midpoint_handles to handles and put the endpoint
6798         handles there.
6800         * objects/standard/zigzagline.c:
6801         * objects/ER/participation.c:
6802         * objects/UML/association.c:
6803         * objects/UML/dependency.c:
6804         * objects/UML/generalization.c:
6805         * objects/UML/realizes.c:
6806         Update for the changes in OrthConn
6807         
6808 1999-07-23  Karsten Weiss  <karsten@addx.au.s.shuttle.de>
6810         * configure.in: Added "de" to ALL_LINGUAS.
6812 1999-07-17  Alexander Larsson  <alla@lysator.liu.se>
6814         * dia.1:
6815         Fixed typo.
6817         * app/display.c:
6818         * po/da.po:
6819         * po/fr.po:
6820         * po/hu.po:
6821         * po/no.po:
6822         * po/pl.po:
6823         * po/sv.po:
6824         Don't have the <Display> etc part of the menu strings
6825         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
6827         * app/diagram.c:
6828         Don't have the <Display> etc part of the menu strings
6829         i18n:ed. Patch from Fabrice.Bellet@imag.fr.
6830         Don't remove is_empty() objects, that don't work with undo.
6832         * lib/objchange.[ch]:
6833         New files.
6834         Definition of ObjectChange. This is essentially an Change
6835         exported to the object libs. It encapsulates a change made
6836         to an objects internals. It can be applied, reverted and freed.
6837         There are also utility functions for doing ObjectChanges that
6838         only get/set the whole state of an object to store the change.
6839         This cannot be used when the object change deletes or adds a
6840         object which has references from other objects, eg. Handles which
6841         might be connected.
6843         * lib/Makefile.am:
6844         Added objchange.c and objchange.h.
6846         * lib/dia_image.c:
6847         Return NULL when loading fails.
6849         * lib/diamenu.h:
6850         Menu callbacks return an ObjectChange.
6852         * lib/dummy_dep.h:
6853         Reference objchange.o
6855         * lib/focus.h:
6856         Key events return ObjectChange if they modify the object.
6858         
6859         * lib/object.h:
6860         Added object_add_handle_at() function.
6861         Apply properties returns an ObjectChange.
6862         Remove ObjectState and the get/set state functions, these
6863         don't always work. Use the new ObjectChange instead.
6864         
6865         * lib/object.c:
6866         Added object_add_handle_at() function implementation.
6867         
6868         * lib/orth_conn.[ch]:
6869         Use ObjectChange. Not finished yet.
6870         Removed get/set/free state functions
6872         * lib/poly_conn.[ch]:
6873         Use ObjectChange.
6874         Don't remove segments that are small.
6875         Removed get/set/free state functions
6877         * lib/text.[ch]:
6878         Use ObjectChange.
6879         Added functions to get/set all text attributes.
6881         * objects/standard/arc.c:
6882         * objects/standard/box.c:
6883         * objects/standard/ellipse.c:
6884         * objects/standard/image.c:
6885         * objects/standard/line.c:
6886         * objects/standard/polyline.c:
6887         * objects/standard/textobj.c:
6888         * objects/standard/zigzagline.c:
6889         Use ObjectChange.
6890         fixed bug in image_set_state.
6891         zigzagline.c not finished yet.
6893         * app/disp_callbacks.c:
6894         Use ObjectChange that are returned from menu callbacks and
6895         key_events for undo.
6897         * app/properties.c:
6898         Use ObjectChange that are returned from properties apply
6899         for undo.
6901         * app/undo.c:
6902         * app/undo.h:
6903         New undo type: ObjectChangeChange. This wraps a change to the
6904         internals of an object (and ObjectChange) in code that does
6905         app specific stuff (object_add_updates etc.)
6907 1999-07-11  Alexander Larsson  <alla@lysator.liu.se>
6909         * lib/orth_conn.[ch]:
6910         Added code for add/delete segment.
6912         * objects/standard/zigzagline.c:
6913         Use the new orth_conn code.
6914         
6916 1999-07-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
6918         * objects/FS/Makefile.am
6919         Removed fs.h from sources.
6921         * Makefile.am
6922         * dia.1
6923         Added man page.
6925 1999-07-07  Alexander Larsson  <alla@lysator.liu.se>
6927         * app/disp_callbacks.c (ddisplay_canvas_events):
6928         Fix for bug. Every other arrow-key press got lost.
6929         patch from Mr. Data Esq. <data@r47h102.res.gatech.edu>
6931         * INSTALL:
6932         change automake.sh to autogen.sh
6933         
6934 1999-06-24  Alexander Larsson  <alla@lysator.liu.se>
6936         * app/diagram.c:
6937         Don't remove 'empty' objects.
6938         This violent destruction of objects won't work
6939         with the new undo framework.
6941         * app/disp_callbacks.c:
6942         Save undo info for object menu calls and key_events.
6944         * app/properties.c:
6945         Save undo info on properties apply.
6947         * lib/dia_image.[ch]:
6948         Add refcounting for images.
6950         * app/render_eps.c:
6951         * app/render_gdk.c:
6952         * lib/render.h:
6953         DiaImage * -> DiaImage
6955         * app/undo.[ch]:
6956         Add undo functions for object state changes.
6958         * lib/focus.h:
6959         * lib/text.c:
6960         change of semntics for focus->key_event.
6961         Now returns TRUE if the object recieving the event
6962         was changed.
6964         * lib/object.h:
6965         Comment changes.
6967         * lib/orth_conn.[ch]:
6968         Don't automatically create and delete segments when
6969         handles are moved. This is incompatible with undo.
6970         Added state get, set and free functions.
6972         * lib/orth_conn.[ch]:
6973         Added state get, set and free functions.
6975         * objects/UML/object.c:
6976         * objects/UML/uml.c:
6977         Fixed typo "UML - Objet" -> "UML - Object".
6978         Saved old for backwards compatibility.
6980         * objects/standard/arc.c:
6981         * objects/standard/box.c:
6982         * objects/standard/ellipse.c:
6983         * objects/standard/image.c:
6984         * objects/standard/line.c:
6985         * objects/standard/polyline.c:
6986         * objects/standard/textobj.c:
6987         * objects/standard/zigzagline.c:
6988         Added get/set state functions.
6989         Textobj has a redo crash-bug.
6990         Zigzagline needs object menus to add segments.
6991         
6993 1999-06-20  Alexander Larsson  <alla@lysator.liu.se>
6995         * app/render_eps.c (set_dashlength):
6996         Don't generate eps files with zero dash-length.
6998 1999-06-16  Alexander Larsson  <alla@lysator.liu.se>
7000         * app/commands.c:
7001         * app/create_object.c:
7002         * app/undo.[ch]:
7003         Finished undo for create and paste.
7004         
7005         * lib/object.h:
7006         Started properties undo.
7008 1999-06-14  Alexander Larsson  <alla@lysator.liu.se>
7010         * TODO:
7011         Added resizeable groups.
7013         * app/app_procs.c:
7014         Removed unused variable.
7016         * app/commands.c:
7017         * app/undo.[ch]:
7018         Undo/redo for cut/delete done.
7020         * app/create_object.c:
7021         * app/modify_tool.c:
7022         * lib/diagramdata.[ch]:
7023         * app/diagram.[ch]:
7024         renamed diagram_add_selected -> diagram_select
7025         renamed diagram_remove_selected -> diagram_unselect
7026         
7027         * app/properties.[ch]:
7028         Added properties_hide_if_shown() function.
7030 1999-06-13  Alexander Larsson  <alla@lysator.liu.se>
7032         * app/undo.[ch]:
7033         * app/Makefile.am:
7034         Undo functions.
7035         
7036         * app/commands.[ch]
7037         * app/modify_tool.[ch]
7038         * app/object_ops.[ch]
7039         * app/connectionpoint_ops.c
7040         * app/menus.c
7041         Use undo functions.
7042         WARNING: Not finished. Will break.
7043         Finished: move object, move handle.
7045         * app/diagram.[ch]
7046         Added diagram_selected_break_external() function.
7047         It removes all connections between selected objects
7048         and non-selected.
7049         Add undo stack to Diagram.
7050         
7051         * lib/diagramdata.[ch]
7052         Added layer_remove_objects() function
7053         
7054 1999-06-11  Fredrik Hallenberg  <hallon@lysator.liu.se>
7056         * objects/FS/Makefile.am
7057         * objects/sybase/Makefile.am
7058         Now uses GNOME_CFLAGS.
7060         * app/app_procs.c
7061         Now compiles with GNOME even if popt.h isn't available.
7063 1999-06-10  Alexander Larsson  <alla@lysator.liu.se>
7065         * configure.in
7066         * objects/Makefile.am
7067         * objects/sybase/*
7068         First version of sybase objects from
7069         Brian Bruns <camber@umcc.ais.org>
7071 1999-06-10  Fredrik Hallenberg  <hallon@lysator.liu.se>
7073         * configure.in
7074         Added fr to ALL_LINGUAS
7076 1999-06-09  Fredrik Hallenberg  <hallon@lysator.liu.se>
7078         * configure.in
7079         * app/app_procs.c
7080         Popt-code is activated if popt is available.
7082 1999-06-08  Alexander Larsson  <alla@lysator.liu.se>
7084         This is a patch from David Thompson <dcthomp@mail.utexas.edu>
7085         
7086         * lib/orth_conn.[ch]:
7087         Added orthconn_get_middle_handle()
7089         * lib/text.[ch]:
7090         Added text_set_cursor_at_end()
7091         
7092         * objects/FS/*
7093         Added first version of functions structure diagrams.
7094         
7095 1999-05-24  Alexander Larsson  <alla@lysator.liu.se>
7097         * app/modify_tool.c:
7098         Include math.h to remove warning.
7100         * app/commands.c (dialogs_properties_callback):
7101         Bring up correct properties dialog when selected
7102         from menu.
7103         From Dan Cohn <dan@internap.com>
7105 1999-05-20  Alexander Larsson  <alla@lysator.liu.se>
7107         Patch from Lars R. Clausen 
7108         
7109         * app/modify_tool.c:
7110         Changed abs to fabs.
7112 1999-05-19  Alexander Larsson  <alla@lysator.liu.se>
7114         * INSTALL: 
7115         * configure.in:
7116         Require Gtk+ 1.2.0
7118 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
7120         Patches from Dan Cohn <dan@internap.com>
7121         
7122         * app/commands.[ch]: 
7123         * app/display.[ch]: 
7124         * app/menus.c:
7125         * app/preferences.[ch]:
7126         Implements ability to turn on/off connection points in
7127         current drawing and in global prefs.
7129 1999-05-18  Alexander Larsson  <alla@lysator.liu.se>
7131         * lib/widgets.c (dia_line_style_selector_init): 
7132         Fixed warnings.
7133         
7134         * lib/diagramdata.c (layer_update_extents):
7135         Fixed uninitialized variable error.
7137 1999-05-17  Alexander Larsson  <alla@lysator.liu.se>
7139         * lib/dia_image.c:
7140         Made some changes to the gdk_imlib visual+colormap setup.
7142 1999-05-17  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7144         * objects/UML/usecase.c: 
7145        * objects/UML/lifeline.c
7146         Fine tunning.
7148         * objects/UML/object.c: 
7149         * objects/UML/message.c: 
7150         Changed font from Courier to Helvetica.
7152         * lib/widgets.c: 
7153         * lib/widgets.h:
7154         Added dash lenth to the LineStyle widget.
7155         
7156         * objects/standard/ellipse.c :
7157         * objects/standard/zigzagline.c: 
7158         * objects/standard/line.c: 
7159         Added dash lenght property.
7161 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
7163         * app/render_eps.c:
7164         First shot at latin1 encoded eps files.
7165         Works, but the eps files get a bit large.
7166         
7167 1999-05-16  Alexander Larsson  <alla@lysator.liu.se>
7169         * objects/UML/class.[ch]: 
7170         * objects/UML/uml.[ch]:
7171         Reverted the line wrap changes.
7172         Some day this might return, but it has to be selectable and
7173         default to off for loaded objects, otherwise it breaks file
7174         format compatibility.
7175         There was also some complains about how it looked, so a making it
7176         selectable is good for this too.
7178 1999-05-15  Alexander Larsson  <alla@lysator.liu.se>
7180         * objects/UML/class.[ch]:
7181         Some indentation cleanup.
7182         Added wrap_lines variable to class.
7183         I'll fix the line break stuff tomorrow.
7185 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
7187         * lib/dummy_dep.h:
7188         Added ref to poly_conn.o.
7190         * objects/standard/polyline.c (polyline_draw): 
7191         * objects/standard/zigzagline.c (zigzagline_draw): 
7192         * objects/standard/arc.c (arc_draw): 
7193         * objects/standard/line.c (line_draw):
7194         Draw lines before arrows. This makes hollow arrows not
7195         show the line.
7197 1999-05-13  Alexander Larsson  <alla@lysator.liu.se>
7199         Changes from Kim Peasley <kpeasley@ior.com> 
7200                 
7201         * objects/UML/class.c:
7202         Break lines with long operations so classes won't be
7203         so wide.
7205         * objects/UML/uml.[ch]:
7206         Helperfunctions for the above.
7207         
7208         * objects/UML/objects.c:
7209         Fix bug that duplicated the text in the attributes
7210         textwidget each time the object was selected.
7211         
7212 1999-05-12  Alexander Larsson  <alla@lysator.liu.se>
7214         Changes from Lars R. Clausen <lrclause@cs.uiuc.edu>
7215         
7216         * app/modify_tool.c:
7217         * app/modify_tool.h:
7218         Control-drag is restricted to vertical/horizontal movement
7219         
7220         * lib/object.h:
7221         ModifierKeys argument added to object_move_handle
7223         * app/connectionpoint_ops.c:
7224         * app/create_object.c:
7225         * app/object_ops.c:
7226         * objects/ER/attribute.c:
7227         * objects/ER/entity.c:
7228         * objects/ER/participation.c:
7229         * objects/ER/relationship.c:
7230         * objects/UML/actor.c:
7231         * objects/UML/association.c:
7232         * objects/UML/class.c:
7233         * objects/UML/classicon.c:
7234         * objects/UML/component.c:
7235         * objects/UML/constraint.c:
7236         * objects/UML/dependency.c:
7237         * objects/UML/generalization.c:
7238         * objects/UML/implements.c:
7239         * objects/UML/large_package.c:
7240         * objects/UML/lifeline.c:
7241         * objects/UML/message.c:
7242         * objects/UML/note.c:
7243         * objects/UML/object.c:
7244         * objects/UML/realizes.c:
7245         * objects/UML/small_package.c:
7246         * objects/UML/state.c:
7247         * objects/UML/usecase.c:
7248         * objects/network/bus.c:
7249         * objects/standard/arc.c:
7250         * objects/standard/box.c:
7251         * objects/standard/ellipse.c:
7252         * objects/standard/image.c:
7253         * objects/standard/line.c:
7254         * objects/standard/polyline.c:
7255         * objects/standard/textobj.c:
7256         * objects/standard/zigzagline.c:
7257         Changed calls to move_handle to pass the new argument.
7258         
7259         * lib/widgets.c:
7260         * lib/widgets.h:
7261         Default line width, color etc #define'd
7262         
7263         * po/da.po:
7264         Updates of danish menus
7266 1999-05-08  Fredrik Hallenberg  <hallon@lysator.liu.se>
7268         * dia.xpm
7269         * dia_gnome_icon.png
7270         * dia_gnome_menu_icon.png
7271         * dia_logo.png
7272         Graphics by Toussaint Frédéric <ftoussin@club-internet.fr>.
7274         * app/commands.c
7275         About dialog shows dia_logo.png. Removed the GNOME about dialog.
7277         * Makefile.am
7278         Distribute the icons and install logo in pkgdatadir.
7279         
7280         * app/Makefile.am
7281         Added DATADIR-define.
7282         
7283 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
7284         Patches from Enrico Scholz <enrico.scholz@wirtschaft.tu-chemnitz.de>
7286         * dia.spec:
7287         Updated version number, made setup quiet, can build from cvs,
7288         --enable-gnome, now using automake 1.4 DESTDIR feature, install-strip
7290         * lib/Makefile.am
7291         * objects/ER/Makefile.am
7292         * objects/UML/Makefile.am
7293         * objects/network/Makefile.am
7294         * objects/standard/Makefile.am
7295         now builds better with gnome
7297         * objects/UML/class_dialog.c
7298         Fixed typo -> po files must be updated too!!
7299         
7300 1999-04-28  Alexander Larsson  <alla@lysator.liu.se>
7302         * lib/dummy_dep.h:
7303         Added reference so that widgets.o gets linked to the app.
7305 1999-04-23  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7307         * objects/UML/classicon.c: 
7308         Added object mode.
7310         * objects/UML/actor.c: 
7311         Changed position of 'snap-to-grid' so connection points are
7312         in the grid.
7314 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
7316         * objects/UML/classicon.c:
7317         Changed position of 'snap-to-grid'.
7318         By Alejandro Aguilar Sierra <asierra@servidor.unam.mx>
7319         
7320 1999-04-22  Alexander Larsson  <alla@lysator.liu.se>
7322         * objects/network/antenna.c
7323         * objects/network/flash.c
7324         * objects/network/hub.c
7325         * objects/network/modem.c
7326         * objects/network/modularswitch.c
7327         * objects/network/rj45plug.c
7328         * objects/network/scead-plug.c
7329         * objects/network/network.c
7330         * objects/network/Makefile.am
7331         * objects/network/pixmaps/antenna.xpm
7332         * objects/network/pixmaps/flash.xpm
7333         * objects/network/pixmaps/hub.xpm
7334         * objects/network/pixmaps/modem.xpm
7335         * objects/network/pixmaps/modularswitch.xpm
7336         * objects/network/pixmaps/rj45plug.xpm
7337         * objects/network/pixmaps/sceadplug.xpm
7338         * objects/network/pixmaps/Makefile.am
7339         Lots of new network objects from
7340         Roland Steinbach <roland@support-system.com>.
7342 1999-04-15  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7344         * objects/UML/classicon.c: 
7345         Fixed connection positions, saved type as int (it has 3 states),
7346         and other small fixes.
7347         
7348 1999-04-14  Alexander Larsson  <alla@lysator.liu.se>
7350         * app/preferences.c:
7351         * app/load_save.c:
7352         Added preference compress_save. It lets dia save uncompressed
7353         xml files.
7355         * objects/UML/class.c:
7356         Fixed bug with size calculation on methods that had class scope.
7357         
7358 1999-04-13  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7360         * objects/UML/usecase.c: 
7361         Added collaboration mode
7362         Fixed connection points with text > ellipse bug and other 
7363         small things
7365         * objects/UML/state.c:
7366         Fixed bug of bad position of text after being either end
7367         or begin, moved and returned to text
7369 1999-04-12  Andreas Jaeger  <aj@arthur.rhein-neckar.de>
7371         * app/preferences.c: Add prototype declaration for prefs_apply.
7373 1999-04-11  Alexander Larsson  <alla@lysator.liu.se>
7375         * app/preferences.c:
7376         Added 'ok' button.
7377         Apply don't hide window.
7379         * app/properties.c:
7380         Add 'ok' button.
7382         * objects/UML/object.c:
7383         * objdcts/UML/state.c:
7384         Some data was not copied on copy.
7386         This patch is from
7387         Ben Hochstedler <benh@eeyore.moneng.mei.com>
7389 1999-04-09  Alexander Larsson  <alla@lysator.liu.se>
7391         * app/Makefile.am:
7392         Changed link order between X and libxml.
7393         Some people had problems with an old libz in their
7394         x11 directory.  
7396 1999-04-09  Kjartan Maraas  <kmaraas@online.no>
7398         * po/no.po: updated translation.
7399         
7400 1999-04-08  Lars R. Clausen <lrclause@cs.uiuc.edu>
7402         * lib/message.c (message_error):
7403         Fixed small error.
7405         * app/commands.[ch]:
7406         * app/diagram.[ch]:
7407         Added begining of xfig importing
7409 1999-04-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7411         * objects/UML/pixmaps/state.xpm: 
7412         * objects/UML/state.c: 
7413         New UML object state machine.
7415         * objects/UML/uml.c:
7416         * objects/UML/Makefile.am:
7417         * objects/UML/pixmaps/Makefile.am:
7418         Added the state object.
7419         
7420 1999-04-08  Alejandro Aguilar Sierra  <ale@bucefalo>
7422         * objects/UML/usecase.c: 
7423         Added dialog to allow move text outside the ellipse.
7425 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
7427         * Released Dia 0.41
7428         Tag called DIA_0_41
7430         * NEWS:
7431         Updates for 0.41.
7432         
7433 1999-04-08  Alexander Larsson  <alla@lysator.liu.se>
7435         * configure.in:
7436         Updated version number to 0.41
7438         * po/*.po:
7439         Update po-files
7441 1999-04-04  Fredrik Hallenberg  <hallon@lysator.liu.se>
7443         * app/app_procs.c
7444         Changed errormessage for --export-to-ps. Removed call to 
7445         g_log_set_always_fatal().
7447         * app/diagram.c
7448         * app/disp_callbacks.c
7449         * app/load_save.c
7450         (i18n) Removed gettext from some debugmessages.
7452         * app/menus.c
7453         Small fix in GNOME-menus. Added warning that will help track
7454         problems with translations.
7456         * po/sv.po
7457         (i18n) Updated swedish translation.
7459 1999-04-02  Alexander Larsson  <alla@lysator.liu.se>
7461         * po/da.po:
7462         New updates
7464 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
7466         * po/da.po:
7467         * po/no.po:
7468         Some fixes.
7469         
7470 1999-04-01  Alexander Larsson  <alla@lysator.liu.se>
7472         * po/da.po:
7473         (i18n) Updated the danish translation.
7474         From Lars R. Clausen.
7476 1999-04-01  Fredrik Hallenberg  <hallon@lysator.liu.se>
7478         * app/menus.c
7479         (i18n) The popup menu is translated now.
7481         * po/sv.po
7482         (i18n) Updated swedish translation.
7484 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
7486         * Released Dia 0.40
7487         Tag called DIA_0_40
7489         * NEWS:
7490         Updated for new release
7491         
7492 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
7494         * objects/network/bus.c:
7495         Added initialization of properties dialog to NULL.
7497         * app/commands.c (edit_cut_callback):
7498         Update menu sensitivity when cut object.
7500         * app/modify_tool.c (click_select_object):
7501         * app/modify_tool.c (modify_button_release): 
7502         Call diagram_update_menu_sensitivity() when
7503         selecting objects to update stuff that depends
7504         on selected/not selected.
7506 1999-03-29  Alexander Larsson  <alla@lysator.liu.se>
7508         * Makefile.am:
7509         Change order of subdir so that libintl.a builds.
7510         Now passed make distcheck.
7512 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
7514         * lib/font.c (init_x11_font):
7515         Stupid bug fixed.
7517 1999-03-28  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7519         * objects/UML/pixmaps/classicon.xpm: 
7520         * objects/UML/classicon.c:
7521         * objects/UML/uml.c:
7522         Added the class stereotype icon objects.
7524         * app/commands.c:
7525         Changed default ps extension from .ps to .eps.
7526         
7527 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
7529         * lib/Makefile.am:
7530         Added diamenu.h and intl.h
7532         * lib/font.c:
7533         Stupid typo fix.
7534         
7535         * objects/UML/pixmaps/Makefile.am:
7536         Added message.xpm
7538         * objects/standard/pixmaps/Makefile.am:
7539         Added image.xpm
7541 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
7543         * lib/font.c:
7544         Use a scalable font before fixed when real font not found.
7546         * app/commands.c:
7547         Removed warning.
7549         * objects/standard/image.c:
7550         Better handling of loading/saving of images.
7552         * INSTALL:
7553         Added some text about cvs, fonts and rewrote some parts.
7555         * TODO:
7556         Updated with new stuff.
7557         
7558         * configure.in:
7559         Bump up version number to 0.40.
7560         
7561 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
7563         * app/display.c:
7564         Moved diagram_add_ddisplay() call into new_display().
7565         Fixed new_display to not use uninitialized variables
7566         causing loaded files to show up as black (or garbage).
7567         
7568         * app/commands.c:
7569         * app/app_procs.c:
7570         Removed unneeded calls to diagram_add_ddisplay().
7571         
7572 1999-03-28  Alexander Larsson  <alla@lysator.liu.se>
7574         * objects/UML/lifeline.c:
7575         Fixed bug in copy.
7576         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
7578         * objects/UML/message.c:
7579         Fixed bug loading messages with null-text.
7580         Patch from Andreas Jaeger <aj@arthur.rhein-neckar.de>.
7582 1999-03-27  Fredrik Hallenberg  <hallon@lysator.liu.se>
7584         * po/sv.po
7585         Updated swedish translation.
7587         * app/menus.c
7588         (GNOME) Removed help-browser from help menu. Fixed typo.
7590         * app/interface.c
7591         (GNOME) Accelerators in diagrams should work now. 
7593 1999-03-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
7595         * app/app_procs.c
7596         * app/commands.c
7597         * app/defaults.c
7598         * app/disp_callbacks.c
7599         * app/display.c
7600         * app/interface.c
7601         * app/menus.c
7602         * app/preferences.c
7603         * app/render_eps.c
7604         * lib/diagramdata.c
7605         * lib/font.c
7606         * lib/message.c
7607         * lib/widgets.c
7608         * objects/ER/*.c
7609         * objects/UML/*.c
7610         * objects/network/*.c
7611         * objects/standard/*.c
7612         * po/update_pofiles_in.sh
7613         * po/POFILES.in
7614         More i18n. All strings (expect rare debug messages) can be
7615         translated now. Moved intl.h from app to lib. Updated
7616         update_pofiles_in.sh to check all .c-files.
7618 1999-03-23  Alexander Larsson  <alla@lysator.liu.se>
7620         * app/disp_callbacks.c (ddisplay_canvas_events):
7621         Don't drop keys while num-lock, scroll-lock etc is on.
7623 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
7625         * app/render_eps.c (draw_image):
7626         Fixed exporting of images.
7627         Still not perfect, but not outright buggy.
7628         
7629 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
7631         * configure.in:
7632         * po/hu.po:
7633         Added hungarian translation. By Shooby Ban <bansz@szif.hu>.
7635         * app/Makefile.am:
7636         Added $* to the dia call in run_dia.sh
7638 1999-03-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
7639         
7640         * lib/color.[ch]:
7641         Added color_equals() call.
7643         * objects/standard/arc.c:
7644         * objects/standard/line.c:
7645         Don't save unneccesary data.
7646         
7647         * objects/standard/box.c:
7648         * objects/standard/ellipse.c:
7649         * objects/standard/image.c:
7650         * objects/standard/polyline.c:
7651         * objects/standard/zigzagline.c:
7652         Share properties dialog.
7653         Don't save unneccesary data.
7654         
7655 1999-03-22  Seth Alves  <alves@hungry.com>
7657         * app/menus.c:
7658         * app/diagram.c:
7659         * app/display.c:
7660         small changes so that gnome menus aren't broken
7661         
7662 1999-03-22  Alexander Larsson  <alla@lysator.liu.se>
7664         * po/da.po:
7665         Added danish translation from lrclause@cs.uiuc.edu.
7667         * po/POFILES.in:
7668         Updated file.
7670         * po/update_pofiles_in.sh:
7671         Added script that updates POFILES.in.
7672         This should probably be run automatically from somewhere.
7674 1999-03-19  Alexander Larsson  <alla@lysator.liu.se>
7676         * app/diagram.[ch]:
7677         Added function diagram_update_menu_sensitivity() which
7678         sets the sensitivity of some menu items. This function
7679         is called at each diagram state change (from diagram_modified()).
7680         This is needed  because otherwise the keyboard accelerators
7681         don't work correctly.
7683         * app/display.[ch]:
7684         Changed display_set_menu_sensitivity() to display_update_menu_state().
7685         Moved lots of code to diagram_update_menu_sensitivity() in
7686         diagram.c. Optimized to only look up menu-items from path:s once.
7687         
7688         * app/disp_callbacks.c:
7689         * app/interface.c:
7690         When we get a GDK_FOCUS_CHANGE, update menu sensitivity.
7691         Need to set GDK_FOCUS_CHANGE_MASK.
7692         
7693         * app/create_object.c:
7694         Call diagram_modified when an object has been created and
7695         selected so that the menu sensitivity is updated. 
7697         * app/menus.[ch]:
7698         removed menus_set_sensitive() and menus_set_state(). Exported
7699         renamed function menus_get_item_from_path().
7701 1999-03-15  Alexander Larsson  <alla@lysator.liu.se>
7703         * app/disp_callbacks.c:
7704         Show (empty) object menus on object that has none.
7705         Show title on object menus.
7707         * app/display.c:
7708         Set zoom factor correctly when opening new displays.
7709         Better setting of scrollbars.
7711         * app/grid.c:
7712         * app/menus.h:
7713         Some reformating cleanup.
7715         * lib/diamenu.h:
7716         Added title to object menus.
7718         * objects/*/*.c:
7719         Added object menu method (NULL-valued) to all objects.
7721         * objects/standard/polyline.c:
7722         Added title to object menu.
7724 1999-03-14  Alexander Larsson  <alla@lysator.liu.se>
7726         * app/preferences.[ch]:
7727         New files. Implements the preferences dialog and
7728         loading/saving of ~/.diarc.
7730         * app/Makefile.am:
7731         Added preferences.[ch].
7733         * app/app_procs.c:
7734         Load preferences on startup.
7736         * app/commands.[ch]:
7737         Added file_preferences_callback to show the preferences dialog.
7739         * app/create_object.c:
7740         Update extents when creating object.
7741         Use the reset_tools_after_create preferences setting.
7743         * app/display.c:
7744         Use preferences when creating new display.
7746         * app/menus.c:
7747         Add preferences to menu.
7749         * app/defaults.c:
7750         * app/layer_dialog.c:
7751         * app/properties.c:
7752         Don't allow shrinking of dialog.
7753         Add i18n of some strings.
7755 1999-03-11  Kjartan Maraas  <kmaraas@fib.hl.no>
7756         * po/no.po:
7757         Norwegian translation added.
7758         
7759 1999-03-11  Alexander Larsson  <alla@lysator.liu.se>
7761         * objects/standard/line.c: 
7762         * objects/standard/arc.c: 
7763         * objects/standard/polyline.c: 
7764         * objects/standard/zigzagline.c:
7765         Loading of arrow data fixed.
7767 1999-03-09  Alexander Larsson  <alla@lysator.liu.se>
7769         * app/commands.c:
7770         Update extents when saving and exporting to postscript.
7771         Fixes a bug with postscript bounding-box being wrong.
7773         * app/defaults.c:
7774         Changed border width from 5 to 2.
7776         * app/group.c:
7777         Move grouped objects by the move-point of the first object.
7778         Fixes bug that made all objects in the group be off-grid
7779         when moving the group, even though all objects was on-grid.
7781         * app/layer_dialog.c:
7782         Update extents when changing layer.
7784 1999-03-08  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7786        * objects/UML/uml.c: 
7787        * objects/UML/component.c: 
7788        * objects/UML/pixmaps/component.xpm: 
7789        Added the UML component object
7790         
7791 1999-03-04  Seth Alves  <alves@hungry.com>
7793         * objects/UML/generalization.c (generalization_create): avoid
7794         math on uninitialized genlz->text_width (NaN causes sigfpe)
7795         
7796         * objects/UML/realizes.c (realizes_create): same
7798         * objects/UML/dependency.c (dependency_create): same
7800 1999-03-01  Seth Alves  <alves@hungry.com>
7802         * app/display.c (ddisplay_active): don't fly a warning panel
7803         if ddisplay_active is called when no views are open.
7805         * app/commands.c (set_default_file_selection_directory): set
7806         file selector's default directory if there is already
7807         a document open.
7809 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
7811         * INSTALL:
7812         New info about imlib requirements.
7814         * Configure.in:
7815         Added lib/pixmaps/Makefile to created makefiles.
7817         * app/app_procs.c:
7818         * app/commands.c:
7819         Change from obsoleted to newer gtk calls.
7820         
7821         * load_save.c:
7822         Pass filename of the diagram when loading and saving.
7823         This creates better oportunities to handle filename saving.
7825         * lib/object.h:
7826         Pass filenames to load and save methods.
7827         
7828         * lib/dia_image.[ch]:
7829         Added dia_image_get_broken() call that returns a image which
7830         is used for 'broken' images.
7831         
7832         * lib/pixmaps/.cvsignore:
7833         * lib/pixmaps/Makefile.am:
7834         * lib/pixmaps/broken.xpm:
7835         New files for the broken image bitmap.
7837         * lib/widgets.c:
7838         Fixed bug with double destroyed filedialog.
7840         * objects/*/*.c:
7841         Updated load and save prototypes to use the new filename argument.
7843         * objects/image.c:
7844         Render broken image instead of line when got no image.
7845         Use the new filename in load and save to save (if possible)
7846         relative pathnames and to better try to find loaded images.
7848 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
7850         * TODO:
7851         Some updates to the todo file.
7852         
7853         * app/menus.c:
7854         * app/display.c:
7855         Place over/place over => sent to back/bring to front.
7856         Added some keyboard shortcuts to menus.
7857         
7858 1999-02-28  Alexander Larsson  <alla@lysator.liu.se>
7860         * lib/dia_xml.c:
7861         Changed string saving/loading to a new method. This should
7862         be much better att handling &,<,> and whitespaces.
7863         Loading strings of the old kind is still supported for backwards
7864         compatibility.
7866         * samples/ER-demo.dia:
7867         * samples/UML-demo.dia:
7868         Updated to use the new strings.
7869         
7870         * app/load_save.c:
7871         statusbar modified update fix.
7873 1999-02-27  Seth Alves  <alves@hungry.com>
7875         * app/app_procs.c (app_init): added a --export-to-ps option
7876         which will cause dia to load a dia file and save it as ps
7877         and then exit.  this is a little bogus, because it still
7878         pops up a window.  this option only shows up if --enable-gnome
7879         is used
7881         * app/display.c (display_set_menu_sensitivity): no Edit/Delete
7882         menu when built with --enable-gnome
7884         * app/interface.c (create_display_shell): build status bar
7885         even if --enable-gnome is used
7887         * app/menus.c: menu fixes for --enable-gnome
7889         * app/commands.c (file_open_dialog_ok_callback): fixed up
7890         menus when --enable-gnome is used
7891         (file_export_to_eps_callback): set a default file name
7892         when dialog is created
7894 1999-02-27  Alexander Larsson  <alex@c125.ryd.student.liu.se>
7896         * objects/UML/association.c (association_create):
7897         Fixed usage of not initialized variable.
7898         Pointed out by Seth Alves <alves@hungry.com>.
7900 1999-02-24  Alexander Larsson  <alex@c125.ryd.student.liu.se>
7902         * configure.in:
7903         Fixed detection of gnome-xml.
7904         From Valtteri Vuorikoski <vuori@k.notcom.org>.
7905         
7906         * app/app_procs.c:
7907         Fixed error detection on dlsym calls. 
7908         From Valtteri Vuorikoski <vuori@k.notcom.org>.
7910 1999-02-23  Alexander Larsson  <alla@lysator.liu.se>
7912         * objects/UML/message.c (fill_in_dialog):
7913         Fixed warnings.
7915 1999-02-22  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
7917         * objects/standard/zigzagline.c:
7918         * objects/standard/polyline.c:
7919         * objects/standard/line.c:
7920         * objects/standard/arc.c:
7921         * lib/widgets.h:
7922         * lib/arrows.h:
7923         * lib/widgets.c:
7924         Support for sizeable arrows. 
7926         * objects/standard/box.c:
7927         * objects/standard/ellipse.c:
7928         * objects/standard/image.c:
7929         Changed creation handle to lower-right.
7930         Transparent box/ellipse.
7931         
7932         * objects/standard/image.c:
7933         Better layout of properties boxes.
7935 1999-02-20  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7937         * objects/UML/message.c (fill_in_dialog): 
7938         Fixed dialog fill in. Common dialog for all messages.
7940         * objects/UML/object.c: 
7941         Added multiple instance. Dialog related bugs fixed.
7942         Common dialog for all instances. Completed copy and destroy.
7944         * objects/UML/lifeline.c (lifeline_load): 
7945         Conn initialization bug fixed and few bad loading prevention flags.
7946         Common dialog for all lifeline objects.
7947         
7948 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
7950         * lib/dia_image.[ch]:
7951         More work on the DiaImage abstraction.
7952         
7953         * app/app_procs.c:
7954         * app/render_eps.c:
7955         * app/render_gdk.c:
7956         * objects/standard/image.c:
7957         Use the new DiaImage calls.
7959 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
7961         * app/menus.c:
7962         * app/display.c:
7963         Reversed the meaning of align horizontal/vertical.
7965 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
7967         * app/load_save.c (diagram_load):
7968         Statusbar update fix.
7970 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
7972         * app/interface.c (create_display_shell):
7973         Fixed status bar size.
7974         
7975 1999-02-15  Alexander Larsson  <alla@lysator.liu.se>
7977         * lib/dia_image.[ch]:
7978         Added extern declaration for dia_image_release.
7979         Removed dia_image_draw, as it's not neseccary.
7981 1999-02-14  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
7982         
7983         * app/object_ops.c: 
7984         * app/menus.c: 
7985         Added equal distance alignment both vertical and horizontal.
7986         
7987         * objects/UML/object.c: 
7988         Added a couple of attributes to load/read that were missing.
7990         * objects/UML/lifeline.c: 
7991         Better handling of handles. Fixed another bug I forgot to add
7992         to my last patch.
7993         
7994 1999-02-13  Alexander Larsson  <alla@lysator.liu.se>
7996         Patch from Lars Clausen <lrclause@shasta.cs.uiuc.edu>
7997         
7998         * lib/dia_image.[ch]:
7999         * lib/Makefile.am:
8000         New files. DiaImage wraps the GdkImlibImage.
8002         * lib/render.h:
8003         * app/render_eps.c:
8004         * app/render_gdk.c:
8005         * lib/render_store.[ch]:
8006         * objects/standard/image.c:
8007         Use the new DiaImagetype.
8009         * lib/widgets.c:
8010         Removed unused variable to eliminate  warning.
8012 1999-02-11  Alexander Larsson  <alla@lysator.liu.se>
8014         * objects/standard/box.c:
8015         Added rounded corners on the box object.
8017         * lib/widgets.[ch]:
8018         Updated the DiaFileSelector widget.
8019         
8020 1999-02-09  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
8022         * objects/UML/object.c (objet_draw): 
8023         Completed underlining of all object name lines. 
8025         * objects/UML/message.c (fill_in_dialog): 
8026         Fixed a bug that filled incorrectly the message's dialog.
8028         * objects/UML/lifeline.c (lifeline_load): 
8029         Some cleanning and fixed a couple of bugs that caused
8030         crashes after reading diagrams with lifelines.
8032         * lib/text.c: 
8033         Added flags to prevent crash with void strings
8035 1999-02-07  Matthias Köster <Matthias.Koester@Informatik.Uni-Oldenburg.DE>
8036         * app/display.[ch]:
8037         Added statusbar to the display widget. Currently shows the zoom
8038         factor and modified flag of the viewed diagram. The statusbar is
8039         updated upon calls to ddisplay_zoom and ddisplay_update_statusbar.
8040         This caused the following additions:
8041         
8042         * app/diagram.[ch]:
8043         Added function diagram_set_modified. Calls
8044         ddisplay_update_statusbar for all displays showing the modified diagram.
8045         Changed diagram_modified to call diagram_set_modified.
8046         
8047         * app/interface.c:
8048         Added the creation of the statusbar.
8049         
8050         * app/load_save.c:
8051         diagram_save now calls diagram_set_modified instead of setting
8052         dia->modified. Needed to force call to display_update_statusbar
8053         
8054         * app/commands.c:
8055         Changed the way view_show_all works. Now calls ddisplay_zoom
8056         instead of directly setting the zoom_factor, so the zoom factor is
8057         correctly shown in the statusbar.
8059         * app/magnify.c:
8060         Fixed rubberband zoom to use ddisplay_zoom().
8061         
8062 1999-02-07  Fredrik Hallenberg  <hallon@lysator.liu.se>
8064         * app/app_procs.c
8065         Rudimentary GNOME session management.
8066         
8067         * app/disp_callbacks.c
8068         * app/interface.c
8069         * app/menus.c
8070         * app/menus.h
8071         GNOME menus. Problems: 
8072         Callbacks doesn't get user_data.
8073         Weird warnings when creating popup menus.
8074         menus_set_sensitive(), menus_set_state() doesn't work.
8076 1999-02-05  Lars Clausen  <lrclause@shasta.cs.uiuc.edu>
8078         * configure.in:
8079         Add AM_PATH_GDK_IMLIB() call.
8081         * app/Makefile.am:
8082         Add gdk_imlib to linking flags.
8084         * app/app_procs.c:
8085         Init gdk_imlib.
8086         Print library-loading error messages on stdout too.
8088         * app/interface.c:
8089         Add standard image to toolbox.
8090         
8091         * app/render_eps.c: 
8092         Set a more reasonable dot length.  Fixed
8093         missing initialization of dot length.
8094         Added draw_image methods.
8096         * app/render_gdk.c (new_gdk_renderer): 
8097         Dot a bit wider.  Looks good in normal mode now.
8099         * objects/standard/image.c:
8100         * objects/standard/pixmaps/image.xpm:
8101         New files. Standard object for images.
8102         
8103         * app/render_eps.c (set_linestyle):
8104         * app/render_gdk.c (set_linestyle):
8105         * lib/widgets.c (dia_line_style_selector_init): 
8106         * lib/render.h: 
8107         New line style DOTTED.
8109         * lib/render.h:
8110         * lib/render_store.c:
8111         Change DrawImage call to use gdk_imlib.
8113         * lib/widgets.[ch]:
8114         Added widgets for selecting files.
8115         Added dotted to the linestyle selector.
8117 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
8119         * objects/network/printer.c:
8120         * objects/network/network.c:
8121         * objects/network/pixmaps/printer.xpm:
8122         * objects/network/.cvsignore:
8123         * objects/network/Makefile.am:
8124         * objects/network/pixmaps/Makefile.am:
8125         New printer object in network.
8126         From Martin Hawlisch <hawlisch@roxi.rz.fh-mannheim.de>
8128         * TODO:
8129         Added known XML bug.
8130         
8131 1999-02-06  Alexander Larsson  <alla@lysator.liu.se>
8133         * app/load_save.c:
8134         * lib/dia_xml.c:
8135         Reverted back from #include <gnome-xml/tree.h> to
8136         #include <tree.h> as this is fixed by the xml-config program.
8137         The former way broke for some people.
8138         Reported by blizzard@redhat.com.
8140         * objects/UML/lifeline.c:
8141         * objects/UML/message.c:
8142         * objects/UML/object.c:
8143         Removed some warnings.
8144         
8145 1999-02-04  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
8147         * objects/UML/lifeline.c: 
8148         Fixed connection points over the life line when the focus of
8149         control is not drawn.
8151         * objects/UML/message.c: 
8152         Now a recursive message can be freely resized using the handles.
8154 1999-02-02  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
8156         * objects/UML/lifeline.c:
8157         Added connection points.
8158         Added properties dialog with the option to draw/hide focus of control
8159         box and destruction mark.
8161         * objects/UML/object.c: 
8162         Added properties dialog and stereotype, explicit state and attributes. 
8163         It's also possible to mark the object as active.
8165         * objects/UML/pixmaps/object.xpm: 
8166         Cosmetic change.
8168         * objects/UML/message.c:
8169         Added "recursive" message type (was not necessary to use OrthConn).
8171 1999-02-02  Alexander Larsson  <alla@lysator.liu.se>
8173         * objects/standard/arc.c:
8174         Removed old debug code. Fixes a visual bug. From lrclause@cs.uiuc.edu.
8176 1999-02-01  Alexander Larsson  <alla@lysator.liu.se>
8178         Patch from Lars R. Clausen <lrclause@cs.uiuc.edu>
8179         
8180         * app/load_save.c:
8181         * lib/dia_xml.c:
8182         Update xml includes to gnome-xml/*.h.
8184         * objects/standard/arc.c:
8185         Only one property dialog per type.
8186         Fix arrows directions.
8188         * objects/standard/box.c:
8189         * objects/standard/ellipse.c:
8190         * objects/standard/textobj.c
8191         Added default properties dialog.
8192         
8194 1999-01-31  Alejandro Aguilar Sierra  <asierra@servidor.unam.mx>
8196         * objects/UML/Makefile.am: 
8197         * objects/UML/uml.c:
8198         * objects/UML/lifeline.c: 
8199         * objects/UML/object.c: 
8200         * objects/UML/message.c:
8201         * objects/UML/pixmaps/lifeline.xpm: 
8202         * objects/UML/pixmaps/object.xpm: 
8203         * objects/UML/pixmaps/message.xpm:
8204         Added 3 new UML objects for dynamic modeling. To avoid internal 
8205         conflicts, the name "objet" is used for object "object".        
8207         * lib/arrows.[ch]: 
8208         Added ARROW_HALF_HEAD arrow type to allow drawing asynchronous
8209         UML messages.
8210         
8211 1999-01-30  Alexander Larsson  <alla@lysator.liu.se>
8213         * app/display.[ch]:
8214         * app/modify_tool.c:
8215         Added autoscrolling while doing rubber-band select.
8216         This patch from Matthias Köster
8217         (Matthias.Koester@Informatik.Uni-Oldenburg.DE)
8218         
8220 1999-01-28  Alexander Larsson  <alla@lysator.liu.se>
8222         * app/defaults.[ch]:
8223         New files, deals with default properties dialog.
8225         * lib/diamenu.h:
8226         New file. Contains definitions for the new object menu.
8228         * lib/poly_conn.[ch]:
8229         New file. Base class for poly-line like objects.
8231         * objects/standard/polyline.c:
8232         * objects/standard/pixmaps/polyline.xpm:
8233         New files. Polyline object.
8235         * app/app_procs.c:
8236         Fixed bug with infinite loop when registering sheets.
8237         
8238         * app/commands.c:
8239         Removed unneccesary stuff.
8241         * app/disp_callbacks.c:
8242         Support for object menus.
8244         * app/interface.c:
8245         Added polyline to toolbox.
8246         Added call to tool_options_dialog_show() when double clicking on
8247         tool.
8249         * app/tool.[ch]:
8250         New function tool_options_dialog_show() for tool properties.
8252         * lib/arrows.[ch]:
8253         Added ARROW_NONE.
8255         * lib/object.h:
8256         Added ObjectType methods for handling object default dialogs.
8257         Added Object method for handling object_menu.
8258         Added unused methods to ObjectTypeOps for future binary
8259         compatibility.
8261         * lib/widgets.[ch]:
8262         Added DiaArrowTypeSelector widget.
8264         * objects/standard/arc.c:
8265         * objects/standard/zigzagline.c:
8266         Added support for default properties.
8268         * objects/standard/line.c:
8269         Added support for default properties.
8270         Just use one properties dialog for all line objects. NOTE: This
8271         seems to have a bug. We're working on it.
8273         * standard/standard.c:
8274         Add the polyline object.
8276 1999-01-27  Alexander Larsson  <alla@lysator.liu.se>
8278         * app/modify_tool.c:
8279         Commented out buggy transitive select function. It wasn't really
8280         meant to go into cvs.
8281         
8283 1999-01-25  Fredrik Hallenberg  <hallon@lysator.liu.se>
8285         * autogen.sh:
8286         * acconfig.h:
8287         * configure.in:
8288         * Makefile.am:
8289         * app/Makefile.am:
8290         * po/POTFILES.in:
8291         * app/intl.h
8292         i18n-support.
8294         * po/sv.po:
8295         Swedish translation. Not completed.
8296         
8297         * configure.in:
8298         * acconfig.h:
8299         Added possibility to enable GNOME specific code with configure.
8301         * configure.in:
8302         Added possibility to set debug level with configure.
8304         * commands.[hc]:
8305         Added about dialog.
8307         * app_procs.c
8308         * commands.c
8309         * interface.c
8310         * menus.c
8311         Added some GNOME specific code. Not ready for use.
8313 1999-01-24  Alexander Larsson  <alla@lysator.liu.se>
8315         * INSTALL:
8316         Added text about needing gtk 1.1.13 and gnome-xml.
8317         
8318         * NEWS:
8319         Described changes since last version (0.20).
8321         Released version 0.30, tagged DIA_0_30.
8323 1999-01-22  Alexander Larsson  <alla@lysator.liu.se>
8325         * app/magnify.c (magnify_button_release):
8326         Fixed a problem when zooming in on a very small box would
8327         not release the grabbed pointer-focus.
8329 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
8331         * app/load_save.c (diagram_load):
8332         Be somewhat more robust when loading files that
8333         are not diagrams.
8334         
8335 1999-01-21  Alexander Larsson  <alla@lysator.liu.se>
8337         * app/app_procs.c:
8338         * objects/ER/er.c:
8339         * objects/UML/uml.c:
8340         * objects/network/network.c:
8341         * objects/standard/standard.c:
8342         Added versioning of object libraries.
8344         * app/create_object.c:
8345         Don't change tool when an object is created.
8346         
8347         * objects/network/network.c:
8349         * TODO:
8350         Update
8352 1999-01-19  Alexander Larsson  <alla@lysator.liu.se>
8354         * configure.in:
8355         Updated gtk requirement to Gtk+ 1.1.13.
8357         * app/display.c:
8358         Always add one screenful of scrolling space on
8359         each side of a diagram window.
8361 1999-01-19  Jeff Garzik  <jgarzik@pobox.com>
8363         * autogen.sh:
8364         Tell automake to auto-install missing files.
8366         * app/menus.c:
8367         Renamed deprecated Gtk+ function.
8369 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
8371         * Makefile.am:
8372         * configure.in:
8373         * samples/Makefile.am:
8374         * samples/ER-demo.dia:
8375         * samples/UML-demo.dia:
8376         Added samples directory.
8377         Added samples for ER and UML.
8378         
8379         * app/commands.c:
8380         * app/disp_callbacks.c:
8381         * app/menus.c:
8382         Zoom is done by sqrt(2) instead of 2.
8383         Lots of more zoom options in the menu.
8385         * objects/ER/relationship.c:
8386         Relationships have 8 connectionpoints instead of 4.
8388         * objects/UML/class.c:
8389         UML class name font a bit smaller.
8390         Fixed stupid bug in the copy operation.
8391         
8392         * app/display.c:
8393         Displays are opened at 500x400 instead of 256x256.
8395         * app/load_save.c:
8396         Fixup of internal error message.
8398         * app/color_area.c:
8399         * app/diagram.c:
8400         * app/modify_tool.c:
8401         * lib/object.c:
8402         Removed debug printf's.
8403         
8404         * TODO (BUGS):
8405         Added new known bug.
8407 1999-01-16  Alexander Larsson  <alla@lysator.liu.se>
8409         * app/interface.c:
8410         * app/menus.c:
8411         Fixed so accelerator groups work in all windows.
8412         Updated to new gtk function names.
8414         * TODO (BUGS):
8415         Removed fixed bug.
8417         * app/display.c:
8418         Updated to new gtk function names.
8419         Set sensitivity of the align menu items.        
8421         * objects/ER/pixmaps/Makefile.am:
8422         * objects/UML/pixmaps/Makefile.am:
8423         * objects/network/pixmaps/Makefile.am:
8424         Fix so that make dist works.
8426         * app/app_procs.c:
8427         * app/color_area.c:
8428         * app/commands.c:
8429         * app/diagram.c:
8430         * app/grid.c:
8431         * app/layer_dialog.c:
8432         * app/load_save.c:
8433         * app/object_ops.c:
8434         * app/properties.c:
8435         * lib/diagramdata.[ch]: 
8436         * lib/message.c:
8437         * lib/objects/ER/attribute.c:
8438         * lib/objects/ER/entity.c:
8439         * lib/objects/ER/participation.c:
8440         * lib/objects/ER/relationship.c:
8441         * lib/objects/ER/.c:
8442         * objects/UML/actor.c:
8443         * objects/UML/association.c:
8444         * objects/UML/class_dialog.c:
8445         * objects/UML/dependency.c:
8446         * objects/UML/generalization.c:
8447         * objects/UML/large_package.c:
8448         * objects/UML/realizes.c:
8449         * objects/UML/.c:
8450         * objects/UML/.c:
8451         Updated to new gtk function names.
8452         Removed warnings.
8454 1999-01-15  Alexander Larsson  <alla@lysator.liu.se>
8456         * TODO:
8457         Update TODO.
8459         * app/app_procs.c:
8460         Fixed loading of diagrams specified as arguments.
8462         * objects/ER/attribute.c:
8463         * objects/ER/entity.c:
8464         * objects/ER/er.c:
8465         * objects/ER/participation.c:
8466         * objects/ER/relationship.c:
8467         Updated the ER objects.
8468         
8470 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
8472         * configure.in:
8473         * app/Makefile.am:
8474         * objects/Makefile.am:
8475         * objects/ER/attribute.c:
8476         * objects/ER/entity.c:
8477         * objects/ER/er.c:
8478         * objects/ER/participation.c:
8479         * objects/ER/relationship.c:
8480         * objects/ER/pixmaps/Makefile.am:
8481         * objects/ER/pixmaps/attribute.xpm:
8482         * objects/ER/pixmaps/entity.xpm:
8483         * objects/ER/pixmaps/participation.xpm:
8484         * objects/ER/pixmaps/relationship.xpm:
8485         * objects/ER/pixmaps/weakentity.xpm:
8486         First commit of entity relationship objects.
8487         These were done by hallon@lysator.liu.se.
8488         There are still stuff to do on these.
8489         
8490 1999-01-14  Alexander Larsson  <alla@lysator.liu.se>
8492         * TODO:
8493         Updates.
8495         * app/diagram.[ch]:
8496         Change diagram_remove_all_selected to take new argument
8497         delete_empty. Empty objects are deleted only if it is TRUE.
8498         Removed call to close_eps_renderer. This is now done in end_render
8499         in the eps renderer.
8501         * app/create_object.c:
8502         * app/layer_dialog.c:
8503         Update calls to diagram_remove_all_selected.
8505         * app/commands.c:
8506         Update calls to diagram_remove_all_selected.
8507         Some code reformating.
8508         Changed order of adding updates i align_h and align_v.
8510         * app/modify_tool.c:
8511         Update calls to diagram_remove_all_selected.
8512         Added pointer grab when doing rubber-band selection, this fixes
8513         the bug when draging the box over to another window.
8515         * app/connectionpoint_ops.[ch]:
8516         diagram_update_connections_object changed to take an argument
8517         update_nonmoved. This lets connections that has not moved, but
8518         the stuff they're connected to has been moved work.
8519         Update calls to the new diagram_update_connections_object.
8521         * app/properties.c:
8522         Update calls to the new diagram_update_connections_object.
8523         Update extents when properties are applied.
8524         
8525         * app/disp_callbacks.c:
8526         Added support for zooming with the '+' and '-' keys.
8528         * app/menus.c:
8529         Removed old keyboard shortcuts for zoom.
8531         * lib/render.h:
8532         Added calls begin_render and end_render to renderer.
8533         These can be used for setup and cleanup.
8535         * lib/diagramdata.c:
8536         Added calls to begin_render and end_render in data_render.
8538         * app/render_gdk.c:
8539         Added begin_render and end_render.
8541         * app/render_eps.[ch]:
8542         Added begin_render and end_render.
8543         Moved close_eps_renderer code to end_render.
8544         Various fixes to the generated eps code. This fixes importing
8545         generated eps into LYX.
8546         
8547 1999-01-12  Alexander Larsson  <alla@lysator.liu.se>
8549         * TODO:
8550         Update of todo.
8551         
8552         * app/menus.c:
8553         Menus for alignment updated.
8555         * app/object_ops.[ch]:
8556         Functions for object alignment updated.
8558         * app/commands.[ch]:
8559         Object alignment callbacks updated.
8560         New diagrams are called Untitled-<nr>.
8562         * app/layer_dialog.c:
8563         Active layer selected when showing layers from new
8564         diagram.
8566         * app/load_save.c:
8567         Compress xml files when saving.
8568         Use xml namespace 'dia'.
8570         * lib/object.h:
8571         Minor comment update.
8573         * objects/UML/class_dialog.c:
8574         Cleanup of the gkt_list_item moving code.
8575         Fixed bug with update of operation when moving parameters.
8577 1999-01-10  Alexander Larsson  <alla@lysator.liu.se>
8579         * app/layer_dialog.[ch]:
8580         Fixed the rest of the layers dialog.
8582         * app/dialog.c:
8583         Added call to redo layer dialogs diagram list when changing
8584         diagram name.
8586         * lib/diagramdata.[ch]:
8587         Added data_raise_layer and data_lower_layer functions for
8588         raising/lowering layers. Added data_add_layer_at for adding a
8589         layer at a specified index.
8591 1999-01-05  Alexander Larsson  <alla@lysator.liu.se>
8593         This is the asierra-990105 patch done by asierra@servidor.unam.mx.
8594                 
8595         * app/app_procs.c:
8596         Added support for reading diagrams from the command line.
8598 1998-12-21  Alexander Larsson  <alla@lysator.liu.se>
8600         This is the asierra-981220 patch done by asierra@servidor.unam.mx.
8601                 
8602         * app/commands.[ch]:
8603         Added objects_align_callback().
8605         * app/menus.c:
8606         Added align objects to menu.
8608         * app/object_ops.[ch]:
8609         Add object_list_align().
8610         
8611 1998-12-17  Alexander Larsson  <alla@lysator.liu.se>
8612         * app/layer_dialog.[ch]:
8613         New files. Handles the layers dialog. Needs a bugfix for glib to
8614         work. Sent patch to gtk-list.
8615         
8616         * app/pixmaps/new.xpm:
8617         * app/pixmaps/eye.xbm:
8618         * app/pixmaps/lower.xpm:
8619         * app/pixmaps/raise.xpm:
8620         * app/pixmaps/delete.xpm:
8621         New files. Images for the layer dialog buttons.
8622         
8623         * lib/diagramdata.h
8624         * lib/diagramdata.c
8625         New files for the DiagramData and Layer structures and functions.
8626         
8627         * app/app_procs.c:
8628         Added call to create_layer_dialog() on startup.
8629         
8630         * app/commands.[ch]:
8631         New callbacks for showing the properties and layout dialog.
8632         Changes for the new DiagramData structure.
8634         * app/connectionpoint_ops.c:
8635         * app/cut_n_paste.c:
8636         * app/diagram.[ch]:
8637         * app/display.[ch]:
8638         * app/group.c:
8639         * app/modify_tool.c:
8640         * app/object_ops.[ch]:
8641         * app/render_eps.c:
8642         * lib/object.[ch]:
8643         Changes for the new DiagramData structure.
8645         * app/interface.c:
8646         * app/properties.c:
8647         Set correct wmclasses.
8649         * app/load_save.c:
8650         Fix load and save of layers.
8652         * diagram.dtd:
8653         Update DTD for layers.
8654         
8655         * app/menus.c:
8656         New menus for dialogs.
8658         
8659         * TODO:
8660         Some updates.
8661         
8662 1998-12-06  Alexander Larsson  <alla@lysator.liu.se>
8664         * TODO:
8665         Removed the gtk 1.1.5 stuff.
8667         * configure.in:
8668         Updated gtk check to version 1.1.5.
8669         Updated version from 0.20 to 0.30
8671         * app/commands.[ch]:
8672         Updated some callbacks to be of type GtkItemFactoryCallback1.
8673         Not all are done yet, but it works anyway.
8675         * app/display.h:
8676         Removed Gtk 1.0.0 GtkAcceleratorTable references.
8677         
8678         * app/interface.c:
8679         * app/menus.[ch]:
8680         Update to Gtk 1.1.x functions.
8681         Use ItemFactory instead of MenuFactory.
8682         
8683         * app/render_gdk.c:
8684         Removed Gtk 1.0.0 references.
8686         * objects/UML/class_dialog.c:
8687         Scrolled window updates for Gtk 1.1.5.
8688         
8689         * lib/dia_xml.c:
8690         Removed ugly fix for gnome-xml bug. Make sure you get the
8691         newest version of gnome-xml from CVS.
8692         
8693 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
8695         * TODO:
8696         Removed the xml load/save line.
8698         * lib/files.[ch]:
8699         Removed files.
8700         
8701         * lib/Makefile.am:
8702         Removed building of files.c
8704         * app/load_save.c:
8705         * lib/connection.c:
8706         * lib/element.c:
8707         * lib/object.c:
8708         * lib/orth_conn.c:
8709         * lib/render_object.c:
8710         * objects/UML/actor.c:
8711         * objects/UML/association.c:
8712         * objects/UML/class.c:
8713         * objects/UML/constraint.c:
8714         * objects/UML/dependency.c:
8715         * objects/UML/generalization.c:
8716         * objects/UML/implements.c:
8717         * objects/UML/large_package.c:
8718         * objects/UML/note.c:
8719         * objects/UML/realizes.c:
8720         * objects/UML/small_package.c:
8721         * objects/UML/uml.c:
8722         * objects/UML/usecase.c:
8723         * objects/network/bus.c:
8724         * objects/standard/arc.c:
8725         * objects/standard/box.c:
8726         * objects/standard/ellipse.c:
8727         * objects/standard/line.c:
8728         * objects/standard/textobj.c:
8729         * objects/standard/zigzagline.c:
8730         Removed all includes of files.h
8732         
8733 1998-12-05  Alexander Larsson  <alla@lysator.liu.se>
8735         * dialog.dtd:
8736         Made the val property of string be implied.
8737         This makes it possible to save strings that
8738         are NULL. Just leave out val.
8740         * objects/lib/dia_xml.c:
8741         Fixed string so that it is possible to save strings
8742         that are NULL. Also made an ugly workaround of a
8743         bug in gnome-xml which removes empty properties.
8744         
8745         * objects/lib/orth_conn.c:
8746         Fixed a bug in saving. Forgot to step through the
8747         directions.
8748         
8749         * objects/UML/association.c: 
8750         * objects/UML/class.c: 
8751         * objects/UML/constraint.c: 
8752         * objects/UML/dependency.c: 
8753         * objects/UML/generalization.c: 
8754         * objects/UML/implements.c: 
8755         * objects/UML/large_package.c: 
8756         * objects/UML/note.c: 
8757         * objects/UML/small_package.c:
8758         * objects/UML/realizes.c:
8759         * objects/UML/usecase.c: 
8760         * objects/UML/actor.c: 
8761         Fixed UML objects to save as xml.
8762         The last two were done by asierra@servidor.unam.mx (asierra-981204)
8763         
8764         * objects/UML/uml.[ch]:
8765         Updated *_write() and *_read() functions to use xml.
8767         * objects/network/bus.c: 
8768         * objects/network/computer.c: 
8769         * objects/network/disc.c: 
8770         * objects/network/monitor.c:
8771         Updated network diagrams to use xml.
8773 1998-12-02  Alexander Larsson  <alla@lysator.liu.se>
8775         * dialog.dtd:
8776         New file. DTD that describes the xml file format
8777         dia uses.
8779         * lib/dia_xml.[ch]:
8780         New files. Support for saving object to xml files.
8782         * configure.in:
8783         * app/Makefile.am:
8784         * lib/Makefile.am:
8785         Added check for and usage of gnome-xml library.
8787         * app/load_save.c:
8788         Major chages. Now saves/loads diagrams as xml.
8790         * lib/object.[ch]:
8791         * lib/element.[ch]:
8792         * lib/connection.[ch]:
8793         * lib/orth_conn.[ch]:
8794         * lib/render_object.[ch]:
8795         * lib/text.[ch]:
8796         Updated object support load/save functions for xml:
8798         * object/standard/arc.c:
8799         * object/standard/box.c:
8800         * object/standard/ellipse.c:
8801         * object/standard/line.c:
8802         * object/standard/textobj.c:
8803         * object/standard/zigzagline.c:
8804         Updated all standard objects to use xml.
8805         
8806         NOTE NOTE NOTE
8807         Only the standard objects are converted right now, don't
8808         save or load uml or network diagrams yet. Also, since this
8809         is new code it is deemed a bit unstable.
8810         
8811         * TODO
8812         Added a know bug.
8814 1998-12-01  Alexander Larsson  <alla@lysator.liu.se>
8816         * objects/UML/class.c:
8817         Changed classname font to Helvetica.
8818         Added more space above the classname
8820         * objects/UML/usecase.c:
8821         Correct placements of connectionpoints on ellipse.
8822         Better algorithm for deciding aspect ration on
8823         ellipse.
8825         These changes were made by Alejandro Aguilar Sierra
8826         <asierra@servidor.unam.mx>. (asierra-981201)
8828 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
8830         * objects/UML/actor.c:
8831         Changed the extents and alignment of the element
8832         and the text.
8834         * objects/UML/.cvsignore:
8835         Added usecase.lo and actor.lo.
8837 1998-11-30  Alexander Larsson  <alla@lysator.liu.se>
8839         * objects/UML/actor.c:
8840         * objects/UML/usecase.c:
8841         * objects/UML/pixmaps/actor.xpm:
8842         * objects/UML/pixmaps/case.xpm:
8843         New files. Implements usecase and actor UML objects.
8844         These objects are done by Alejandro Aguilar Sierra
8845         <asierra@servidor.unam.mx>.
8846         
8847         * objects/UML/Makefile.am:
8848         * objects/UML/pixmaps/Makefile.am:
8849         Added usecase and actor to makefile.
8850         
8851         * AUTHORS:
8852         Added Alejandro and Jerome to autors list.
8853         
8854 1998-11-25  Alexander Larsson  <alla@lysator.liu.se>
8856         * objects/UML/class.c (umlclass_load):
8857         Fixed typo. Reported by Jerome.Abela@solsoft.fr
8859 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
8861         * app/properties.c:
8862         Update connections when doing apply in the properties window.
8864         * objects/UML/uml.[ch]:
8865         * objects/UML/class.[ch]:
8866         * objects/UML/class_dialog.c:
8867         Added connection points on both sides of attributes and
8868         operations in UML classes.
8869         Based on idea from Jerome.Abela@solsoft.fr
8870         
8871 1998-11-24  Alexander Larsson  <alla@lysator.liu.se>
8873         * README:
8874         Some new documentation about handles and connectionpoints.
8875         
8876         * lib/object.[ch]:
8877         Added functions object_add_connectionpoint and
8878         object_remove_connectionpoint for handling a dynamic
8879         number of connectionpoints.
8881         * objects/UML/class.c:
8882         Only reserve space for stereotype when it is shown.
8884         These changes are from Jerome Abela <Jerome.Abela@solsoft.fr>
8886 1998-11-08  Alexander Larsson  <alla@lysator.liu.se>
8888         * app/connectionpoint_ops.c:
8889         * app/commands.c:
8890         * app/disp_callbacks.c:
8891         * app/display.[ch]:
8892         * app/grid.c:
8893         * app/handle_ops.c:
8894         * app/magnify.c:
8895         * app/modify_tool.c:
8896         * app/render_gdk.[ch]:
8897         * lib/render.h:
8898         Huge cleanup of internal rendering system.
8899         Moved a lot of data (pixmap, width, height & gc) into the GdkRenderer.
8900         This gives a few new methods for Interactive Renderers for setting
8901         clipping regions and drawing pixel based lines and rects.
8902         Updated the rest of the code to use the new stuff.
8903         
8904         * app/render_eps.c:
8905         Fixed warning.
8907         * lib/widgets.c:
8908         * objects/standard/zigzagline.c
8909         Fixed unused variable warnings.
8911         * lib/font.c:
8912         Fixedbug with stringwidth where width==0.
8914         * TODO:
8915         Added known bug.
8917 1998-11-02  Alexander Larsson  <alla@lysator.liu.se>
8919         * lib/widgets.[ch]:
8920         Added suppot for setting the font of a
8921         DiaFontSelector widget.
8922         Also fixed some typos in the header.
8924         * lib/object.h: 
8925         Added a comment about the GetPRoperties method call.
8926         You have to make sure to update widget state when
8927         this method is called. (Not all objects do this yet,
8928         to be fixed.)
8930         * TODO:
8931         Some small updates
8933 1998-11-01  Alexander Larsson  <alla@lysator.liu.se>
8935         * lib/font.c
8936         Fixed problem with height of ascent and descent for fonts.
8937         It didn't use the whole height (==ascent+descent) when calculatine
8938         ascent_ratio and descent_ratio.
8940         * objects/standard/textobj.c:
8941         * objects/standard/box.c:
8942         * objects/standard/ellipse.c:
8943         * objects/standard/line.c:
8944         * objects/standard/arc.c:
8945         Updated and added property dialogs for these objects.
8946         Also added line width/color/style to those objects
8947         that didn't have it.
8948         This change breaks fileformat compatibility for these objects.
8949         
8950         * objects/standard/zigzagline.c:
8951         Changed zigzagline to be based on OrthConn, much nicer.
8952         Also added line style and color to properties.
8953         This change breaks fileformat compatibility for zigzagline.
8955         * lib/message.c:
8956         Fixed bug in message(). Forgot a pair of '&'.
8958 1998-10-29  Alexander Larsson  <alla@lysator.liu.se>
8960         * lib/widgets.[ch]:
8961         Added DiaColorSelector widget.
8962         This is a colored button that pops up a color selection
8963         dialog when pressed.
8965 1998-10-28  Alexander Larsson  <alla@lysator.liu.se>
8967         * lib/widgets.[ch]:
8968         * lib/Makefile.am:
8969         New files, added widgets for selecting fonts, alignment
8970         and line-style. Will be used later.
8972 1998-10-12  Alexander Larsson  <alla@lysator.liu.se>
8974         * app/Makefile.am:
8975         * lib/Makefile.am:
8976         * objects/UML/Makefile.am:
8977         * objects/network/Makefile.am:
8978         * objects/standard/Makefile.am:
8979         Changed "CFLAGS = -Wall -g" to "CFLAGS = @CFLAGS@"
8980         in all Makefile.am.
8982 1998-10-03  Alexander Larsson  <alla@lysator.liu.se>
8984         * app/handle_ops.c (handle_draw):
8985         connected HANDLE_MINOR_CONTROL also becomes red.
8987 1998-10-02  Alexander Larsson  <alla@lysator.liu.se>
8989         * Makefile.am:
8990         removed -ldl from linking. This is added if needed by configure.
8992         * app/app_procs.c:
8993         Open dlls with RTLD_LAZY if it is defined.
8994         Some cleanups: char *error -> const char *error
8995         Added fprintf()'s to where we exited because of errors.
8997         * lib/files.c:
8998         Include <sys/types.h>
9000 1998-10-01  Alexander Larsson  <alla@lysator.liu.se>
9002         * acconfig.h:
9003         * configure.in:
9004         * app/app_procs.c:
9005         Detect dlopen better.
9006         Detect wether dlopen needs an underscore in the identifier.
9007         This code was mostly borrowed from guile.
9009         * lib/sheet.[ch]:
9010         * app/app_procs.c:
9011         * objects/standard/standard.c:
9012         * objects/network/network.c:
9013         * objects/UML/uml.c:
9014         * most objects:
9015         Changed the way sheets reference objects to use just the
9016         name. Changed module loading to a two stage model:
9017         First register_objects() is called for all modules.
9018         Then register_sheets() is called. This means that
9019         sheets can safely include objects from other modules.
9020         
9022 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
9024         * objects/network/bus.c:
9025         * objects/network/network.c:
9026         * objects/network/Makefile.am:
9027         New file bus.c. Added new object: Ethernet bus.
9029         * objects/standard/box.c:
9030         Added call to gtk_spin_button_set_numeric for linewidth spinner
9031         in property dialog.
9033 1998-09-30  Alexander Larsson  <alla@lysator.liu.se>
9035         * app/connectionpoint_ops.c:
9036         * app/create_object.c:
9037         * app/group.c:
9038         * app/handle_ops.c:
9039         * app/modify_tool.c:
9040         * lib/connection.c:
9041         * lib/element.c:
9042         * lib/handle.h:
9043         * lib/object.c:
9044         * lib/orth_conn.c:
9045         * loads of objects:
9046         Changed handle->connectable to handle->connect_type.
9047         Now handles can be HANDLE_CONNECTABLE_NOBREAK, which means
9048         that their connections don't break when moving objects.
9050         * app/diagram.c:
9051         Always select the last handle in an object that has
9052         the closest distance.
9053         
9054         * lib/geometry.[ch]:
9055         Added rectangle_add_point function.
9056         
9058 1998-09-27  Alexander Larsson  <alla@lysator.liu.se>
9060         * app/properties.[ch]: New files. Handles the new properties
9061         dialog.
9063         * app/modify_tool.c: Changed to use new properties dialog.
9065         * app/object_ops.[ch]: Removed object_changed_callback, as it's
9066         not needed anymore. This is now handled differently in
9067         properties.c
9069         * lib/object.[ch]:
9070         Changed the properties ops for objects. Removed typedefs
9071         ChangedObjectTime and ObjectChangedFunc needed for the old way.
9072         Added object_return_null function.
9073         
9074         * app/group.c:
9075         * lib/render_object.c:
9076         * objects/*/*.c:
9077         Changed objects to use the new properties dialog.
9078         
9080 1998-09-14  Nuno Ferreira  <nmrf@rnl.ist.utl.pt>
9082         * */Makefile.am (INCLUDES): Changes to work with srcdir !=
9083         builddir.
9085         * autogen.sh: New file. Copied from gtk and added a call to
9086         libtoolize. Anyone knows why this isn't done in gtk?
9088         * Removed autogenerated files.
9090 1998-09-12  Alexander Larsson  <alla@lysator.liu.se>
9092         * Added call setlocale(LC_NUMERIC, "C") so that formating of
9093           floating-point numbers in postscript output will be correct.
9094         * Did some cleanup of generated postscript files.