2002-06-01 Cyrille Chepelov * dia.spec: * configure.in: * NEWS: * config.h.win32: bumped up version number to 0.90. Yay! 2002-05-30 Cyrille Chepelov * doc/pl/Makefile.am: * doc/en/Makefile.am: fixed a "make install" problem when db2html is not present (Reported by Andrew Ferrier ). Fixed another "make distclean" problem which prevented me from ever seeing the problem in doc/en... * Makefile.am: added autogen.sh to the EXTRA_DIST clause. * lib/font.c: patch from ; add a way to read the font path from the XFS configuration files in order to enable FreeType (fixes #83098). * POTFILES.(in,skip): now skips objects/sybase/sybase.c, which is not shipped nowadays. * dia.spec: * configure.in: * NEWS: * config.h.win32: bumped up version number to 0.90.RC3 2002-05-29 Zbigniew Chyla * configure.in, doc/Makefile.am, doc/pl/Makefile.am, doc/pl/authors.sgml, doc/pl/dia-manual.sgml, doc/pl/dia-pl.omf, doc/pl/intro.sgml, doc/pl/license.sgml, doc/pl/topic.dat doc/pl/usage-canvas.sgml, doc/pl/usage-customization.sgml, doc/pl/usage-layers.sgml, doc/pl/usage-loadsave.sgml doc/pl/usage-objects-selecting.sgml, doc/pl/usage-objects-special.sgml, doc/pl/usage-objects.sgml, doc/pl/usage-quickstart.sgml: Added Polish documentation. 2002-05-27 Cyrille Cheeplov * objects/UML/state.c: there was a (gratuitous?) change of on-XML format for the UML State object. Now there's a hack to reload older files, and get them converted on the fly. Justyna Biała reported this. Thanks! * lib/properties.h: * lib/propobject.c: * lib/proplist.c: Added a new property flag, PROP_FLAG_LOAD_ONLY, and adapter the proplist predicates. A LOAD_ONLY property is for when you have legacy to support but can't resist moving your fields around... (was needed to support the above state.c fix). If the in-core of your object changes and you need a LOAD_ONLY property for the old format, you must keep some spare room in your object's struct to accomodate for the potential old-style attributes. Then in foo_load(), after having called object_load_using_properties(), you must inspect the old-style fields and act accordingly. Don't ever change the on-disk formats... * objects/UML/object.c: * objects/UML/small_package.c: added a check against empty stereotypes still consuming space. Reported by Dolores Alia de Saravia . Thanks! 2002-05-26 Cyrille Chepelov * INSTALL: added platform notes from Mårten Svantesson, for when using libtool on an AFS partition. * po/update_potfiles_in.sh: now simply calls the recent intltools features; they work better than hand-crafted half-ignorant scripts. Thanks to Kenneth Rohde Christiansen for the tip. * po/POTFILES.in: added back two files update_potfiles_in.sh didn't take into account. Now this file is not automatically generated anymore! * po/POTFILES.skip: told `intltool-update -m` what files to ignore (the usual suspects, in fact). * configure.in: improved the isinf() / isfinite() detection on Solaris (Mårten Svantesson) 2002-05-25 Cyrille Chepelov * configure.in: one expression was replacing $CFLAGS, removing whatever was previously in. Added more checks for isinf() and finite() on Solaris. * lib/geometry.h: added a macro defintion for isinf() if not HAVE_ISINF. (Hans, you may want to #define HAVE_ISINF if relevant on Win32) * app/commands.c: "cut" did not set the 'modified' bit (paste has been for a little while). Fixes #82994. * Makefile.am: added more stuff to distclean-local. This should make "make distcheck" pass! Thanks to the author of http://mail.gnome.org/archives/gnome-2-0-list/2001-August/msg00212.html ... I wonder who this Henstridge guy is ... ;-) Darn. Still doesn't pass. I give up for tonight. * po/update_potfiles_in.sh: updated to take care of sheet files, and to filter out the EML plug-in. * po/POTFILES.in: updated with all .c and all .sheet.in files * po/dia.pot, po/*.po: again updated all .po files with all strings (with the updated POTFILES). Now with the up-to-date POTFILES, just all languages have some fuzzy or untranslated strings (not that the 100% team was that large beforehand...) * po-checktrans: removed the comment about .po files not holding all translatable stuff, since now they do. 2002-05-24 Cyrille Chepelov * dia.spec: * configure.in: * NEWS: * config.h.win32: bumped up version number to 0.90.RC2 2002-05-20 Hans Breuer * app/load_save.c : starting to increase Dias tolerance on incomplete/broken files. The corresponding bug is #56233. But the patch there does neither apply anymore nor does it really fix the problem but only delays it, e.g. even if it would be allowed to read a file without any layers, the later code can't handle it. * lib/dia_xml.c : attribute__data(), data_type() handle passing in NULL for the node gracefully. * shapes/network/printer.shape : added two more connection points - one at each side - to fix bug #60359 * app/commands.c (edit_copy_callback) : add ddisplay_do_update_menu_sensitivity() to make sequence select-copy-paste work. 2002-05-20 Hans Breuer * app/create_object.c (create_object_button_press) : added a call to ddisplay_do_update_menu_sensitivity() to make Ctrl^D etc work after object creation. Fixes #80983. 2002-05-18 Lars Clausen * objects/ER/entity.c: * objects/ER/attribute.c: * objects/ER/relationship.c: Patch to allow text size change from Celso Tetsuo Nagase Suzuki. 2002-05-18 Steffen Macke * app/app_procs.c: #ifdef'd xmlerror.h (comes with libxml2) * doc/en/graphics/greendots.png: * doc/en/home_network.png: * doc/en/line_props.png: * dia-diagram.png: * dia_gnome_icon.png: * dia_gnome_menu_icon.png: * dia_logo.png: * shapes/network/telephone.png: * shapes/Logic/and.png: * shapes/Logic/buffer.png: * shapes/Logic/connector.png: * shapes/Logic/inverter.png: * shapes/Logic/nand.png: * shapes/Logic/nor.png: * shapes/Logic/not.png: * shapes/Logic/or.png: * shapes/logic/xor.png: * samples/ER-demo.dia: * samples/SADT.dia: * samples/UML-demo.dia: * samples/chronograms.dia: * samples/grafcet.dia: re-added as binary files 2002-05-17 Hans Breuer * lib/libdia.def : reflect removing of render_store.[ch] * */makefile.mingw : remove VERSION definition it's done in config.h.win32. Dia still doesn't work if build with mingw ... * RELEASE-PROCESS : removed */makefile.mingw * app/sheets_dialog_callbacks.c : if we use those ugly charconv_gtk_* functions lib/charconv.h needs to be #included ... * lib/charconv.h : ... and needs to contain the necesseray prototypes _and_ #defines * plug-ins/shape/shape-export.c : with libxml2 xmlNewGlobalNs is deprecated and does nothing but spit a warning. This broke the shape format writing. Fixed. Also with libxml2 pretty formatted xml isn't the default anymore, but needs to be enabled explicit: It is done now for shape files, which almost always needed to be edited by hand ... * app/app_procs.c : #if G_OS_WIN32 redirect xmlErrorReporting from stderr - which is invalid on Dia/win32 - to g_print - which opens up a console window if necessary. This way a xml-deprecation-error shouldn't stay unnoticed next time 2002-05-17 Steffen Macke * shapes/Misc/folder.png: * shapes/Misc/file.png: re-added as binary files 2002-05-16 Lars Clausen * lib/font.c: Fixed segfault for fonts without family_name. 2002-05-17 Cyrille Chepelov * po/POTFILES.in: added app/sheets_dialog_callbacks.c * app/sheets_dialog_callbacks.c: While reviewing UTF-8isation upon Lars' request, minor cosmetic stuff (mostly _() of human-readable XML comments in .sheet files; one translator booby-trap disarmed). * lib/charconv.c: moved #hell inside the body of the new charconv_*gtk* functions (otherwise the Win32 or gtk2.0 linker will yell) 2002-05-16 Lars Clausen > * plug-ins/wpg/Makefile.am (INCLUDES): * plug-ins/shape/Makefile.am (INCLUDES): * plug-ins/svg/Makefile.am (INCLUDES): * plug-ins/pstricks/Makefile.am (INCLUDES): * plug-ins/metapost/Makefile.am (INCLUDES): Added UNICODE_CFLAGS and DEBUG_CFLAGS in some missing places. * MAINTAINERS: New file containing list of known package maintainers. * lib/charconv.h: * lib/charconv.c: Charconv versions of some common gtk calls. * app/sheets_dialog_callbacks.c (on_sheets_new_dialog_button_ok_clicked), (on_sheets_dialog_button_edit_clicked), (on_sheets_dialog_button_remove_clicked), (on_sheets_edit_dialog_button_ok_clicked): * app/sheets.c (sheets_optionmenu_create), (sheets_optionmenu_create): Added utf8 translations. * app/sheets_dialog.c: * app/sheets.c: * app/sheets_dialog_callbacks.c: Added some missing _()'s. 2002-05-16 Cyrille Chepelov * po/POTFILES.in: added app/sheets_dialog.c 2002-05-15 Cyrille Chépélov * lib/charconv.c: (charconv_local8_to_utf8), (charconv_utf8_to_local8): tweaked the warnings to get more informations * lib/font.c: (font_get_suckfont): handled a potential case of uninitialised data being used (just paranoid) * objects/GRAFCET/boolequation.c: (opstring), (opblock_get_boundingbox), (opblock_draw), (boolequation_calc_boundingbox): some extra hoops needed now dia talks UTF8 (but gtk doesn't). More #hell. Beeek. Basically, the symbols can't yet be used with their proper Unicode cells, since gtk will demand them in the Symbol font, expressed in the local 8-bit encoding. * samples/grafcet.dia: re-saved, now with a fixed bounding box (by the fix just above). 2002-05-14 Lars Clausen * app/diagram_tree.c (get_object_name): Check that name property doesn't have null string. 2002-05-13 Lars Clausen > * autogen.sh (DIE): Added conditional --force to gettextize. * app/pagesetup.c (pagesetup_ok): Commented out missing Gnome function call. 2002-05-13 Cyrille Chepelov * RELEASE-PROCESS: added James' notes on how to properly make the tarball. * configure.in: removed macro nesting related to libpng.h, which was causing some problems on some systems (like mine, which made the snapshots bad). Made --enable-unicode, previously an option, the mandatory case. * app/Makefile.am: updated EXTRA_DIST * NEWS: * app/makefile.mingw: * dia.spec: * doc/en/dia-manual.sgml: * plug-ins/makefile.mingw: * configure.in: bumped up the version number to 0.90.RC1 * lib/render_objects.[ch]: * po/POTFILES.in: removed render_objects from the build. * plug-ins/Makefile.am: * plug-ins/wmf/Makefile.am (new): EXTRA_DIST'ed the WMF plug-in, so we keep its source in the tarball. * objects/network/*.c, Makefile.am: * objects/sybase/*.c, Makefile.am: * po/POTFILES.in: cleaned up the non-existent files from the po build process. * plug-ins/Makefile.am: re-enabled metapost plug-in. 2002-05-13 Steffen Macke * AUTHORS: * app/command.c: added M. C. Nelson to the Authors * sheets/Circuit/Makefile.am: added firewall shape to build * sheets/network/Makefile.am: added telephone and microphone shapes to build 2002-05-13 Lars Clausen * RELEASE-PROCESS: Added list of files that contain the release number or should otherwise be changed at each release. 2002-05-12 Lars Clausen * objects/UML/uml.c (uml_operation_read): Forgot to commit this (reported fixed) bug: POLYMORPHIC -> LEAF for default. 2002-05-12 Hans Breuer * config.h.win32 : changed VERSION to 0.90.RC1 * app/makefile.msc lib/makefile.msc : use renamed gdk-pixbuf version (same content but renamed because all the other gtk+ dlls are renamed) to avoid trouble mixing gtk versions (of which one would not be initialized ... * app/app_procs.c : removed recently unneeded inclusion of "sheets.h" * app/render_gdk.c : removed my own debug spew which should never made it to cvs * lib/render_object.[hc] : added #error "File not used anymore." * lib/libdia.def : updated externals * app/interface.c : dropped filenames need to be converted from uri with Gtk+2.0 2002-05-12 Cyrille Chepelov * RELEASE-PROCESS (new): a draft document about how to release. To be discussed. (already with some input from Hans Breuer) 2002-05-12 Steffen Macke * sheets/Makefile.am: re-added Misc sheet to make process 2002-05-12 Lars Clausen * objects/FS/function.c: Added comments to humungous list of menu items, to aid translators. 2002-05-11 Lars Clausen * app/interface.c (create_toolbox): Disallow shrinking beyond requested size. Fixes bug #59439, and confirms to GTK guidelines (see gtk_window_set_policy). (create_sheets): Removed now unnecessary set_usize call. 2002-05-10 Lars Clausen * lib/beziershape.c (remove_handles): Fixing removal of last segment. Undo of removal still hokey. 2002-05-10 Lars Clausen > * lib/bezier_conn.c (remove_handles): Proper offset for fixing handles. * lib/beziershape.c (beziershape_init): Removed early call to beziershape_update_data where points aren't set yet. (beziershape_add_segment): Use segment 0 instead of overflowing points array with segment+1. (beziershape_remove_segment): Proper offset for fixing connectionpoints. (remove_handles): Proper offset. 2002-05-08 Lars Clausen > * objects/GRAFCET/action.c (action_update_data): Init x value of click point for call to connpointlist_adjust_count. * app/modify_tool.c (create_modify_tool): Init tool->auto_scrolled * app/render_pixmap.c (new_pixmap_renderer): Moved first linestyle setting to where values are inited. * lib/polyshape.c (polyshape_init): Removed call to polyshape_update_data that tried to use uninitialized data. 2002-05-06 Lars Clausen * app/sheets_dialog.c: Mass removal of //-style comments. The Irix compiler doesn't like them:( I do... 2002-05-06 Lars Clausen > * app/render_libart.c (draw_string): Bail out when no GDK font is found. (set_font): Give error when font not found. (set_fillstyle): Intlized error msg. * app/pagesetup.c (pagesetup_ok, pagesetup_apply): Sets diagram modified when applied (and ok only does apply if apply is set sensitive). Fixes bug #75623. 2002-05-06 Pablo Saratxaga * configure.in: Added Vietnamese (vi) to ALL_LINGUAS 2002-05-05 Steffen Macke * app/Makefile.am: added $(UNICODE_CFLAGS) 2002-05-02 Lars Clausen > * app/commands.c (help_manual_callback): Check return value of opendir. * plug-ins/xfig/Makefile.am (INCLUDES): Added DEBUG_FLAGS * plug-ins/xfig/xfig-import.c: Fixed misspelled Poly_L_ine, added checks for errors. 2002-04-30 Lars Clausen > * app/render_gdk.c (draw_string): Extra free killed. Thanks valgrind! * objects/UML/uml.c (uml_operation_read): Fix of UML default inheritance. 2002-04-30 Lars Clausen * app/filedlg.c (file_save_as_callback, file_save_as_ok_callback): Added button to toggle diagram compression. 2002-04-29 Lars Clausen * lib/font.c: Support for loading extra kerning files, plus got rid of rounding errors. Bounding box mostly perfect for freetype fonts. (font_string_width): Fudge factor to get around nonlinearity of font scaling. 2002-04-29 Lars Clausen > * lib/font.c (font_string_width): YA font calculation scheme, with comments. * objects/UML/class.c (umlclass_calculate_data): Uses the same font for drawing and calculating now. * configure.in: Added utime.h check. * app/render_gdk.c (draw_string): Uses gdk_draw_text_wc when in GTK_DOESNT_TALK_UTF8_WE_DO. Thus it matches the string width calc. 2002-04-26 Hans Breuer [ Instead of fixing about 70 occurances in 20 files where GTK_TALKS_UTF8_WE_DONT needed to be handled Dia on win32 from now on uses glib-2.0 and not only talks utf-8 with gtk-1.3 but also internally. GTK_TALKS_UTF8_WE_DONT isn't supported/needed anymore. ] * config.h.win32 : #define UNICODE_WORK_IN_PROGRESS #undef GTK_TALKS_UTF8_WE_DONT * */makefile.msc : changes to use glib-2.0 (still using gtk+1.3(win32-production) * app/disp_callbacks.c : remove GTK_TALKS_UTF8_WE_DONT, adapt kevent->string handling, add * app/render_gdk.c (get_text_width) : the length given is in chars, gdk_text_width() needs bytes * app/render_libart.c : * app/render_pixmap.c : remove GTK_TALKS_UTF8_WE_DONT (could simplify the same way as done in render_gdk.c) * app/diagram_tree.c app/paginate_gdiprint.cpp app/sheets.c : * lib/prop_basic.c lib/prop_geomtypes.c lib/propdialgs.c lib/propobject.c : added which is now removed from charconv.h * lib/charconv.h : optional use infrastructure from glib-2.0 -> only five direct function mapping left * lib/charconv.c : avoid to build this with glib-2.0 * lib/font.c : no string conversion needed anymore when Dia and Gtk talk utf-8, also code adaptions for GLIB_CHECK_VERSION(2,0,0) * lib/libdia.def : removed charconv functions * lib/prop_inttypes.c : removed GTK_TALKS_UTF8_WE_DONT, replace charconv_unichar_to_utf8() with g_unichar_to_utf8() * lib/prop_text.c lib/prop_widgets.c lib/font.c : removed GTK_TALKS_UTF8_WE_DONT * lib/text.c : finally(?) fixed cursor ment for Umlauts. Also fixed char insertion, still wondering how this could ever work. Does realloc on Linux initialize the memory with zeros ? * objects/chronogram/chronoline_event.c objects/grafcet/boolequation.c : there is no uni_get_utf8 when building for glib-2.0. Replace with g_utf8_get_char() and g_utf8_next_char(). * objects/uml/stereotype.c (bracketted_to_string) : simplify while adding code for glib-2.0 build 2002-04-27 Lars Clausen > * app/diagram.h: Autosave field * app/diagram.c (diagram_set_modified): Sets autosave field. * objects/UML/usecase.c (usecase_update_data): * objects/flowchart/ellipse.c (ellipse_update_data): * objects/flowchart/parallelogram.c (pgram_update_data): * objects/flowchart/diamond.c (diamond_update_data): * objects/custom/custom_object.c (custom_update_data): * objects/UML/state.c (state_update_data): * objects/UML/small_package.c (smallpackage_update_data): * objects/UML/object.c (objet_update_data): * objects/UML/note.c (note_update_data): * objects/UML/node.c (node_update_data): * objects/UML/component.c (component_update_data): * objects/UML/classicon.c (classicon_update_data): * objects/UML/actor.c (actor_update_data): * objects/SADT/box.c (sadtbox_update_data): * objects/FS/function.c (function_update_data): All now update text boundaries from update_data. * lib/widgets.c (dia_font_selector_set_styles): Made the style set correctly. 2002-04-26 Hans Breuer * config.h.win32 : added VERSION definition here (and removed from makefile.msc's) * app/makefile.msc : added new files * app/app_procs.c (app_init): remove sheets_dialog_create() from start-up and ... * app/sheet.c (sheets_dialog_show_callback) : ... lazy create sheet_dialog here when it is really needed. #include "../lib/message.h", make sheets_dialog_create() return it's success or failing on (!custom_type_symbol). Although editing shapes is nice IMHO it isn't crucial enough to abort() Dia if it isn't possible. * app/sheet.h : adapt create_sheet_dialog() prototype * app/sheets_dialog.c : add #ifdef HAVE_UNISTD_H * app/sheets_dialog_callbacks.c : #ifdef HAVE_UNISTD_H and #ifdef HAVE_UTIME_H. Otherwise #include and name space corrections for utime() and utim_buf #ifdef G_OS_WIN32 * lib/libdia.def : export new sheet functions * lib/makefile.msc : added new files * lib/render.c : don't put draw_bezier_with_arrows() in the DrawLineWithArrowsFunc slot * objects/custom/custom_object.c : #include and export 'custom_type' via G_MODULE_EXPORT * objects/uml/class_dialog.c : removed 'incompatible types' warnings. Some refactoring while making it fit on screen with 800x600 again. * plug-ins/python/pydia-cpoint.h : add PyDiaConnectionPoint_Check * plug-ins/python/pydia-handle.h : extra parameter to PyDiaHandle_New to store the owner of the handle * plug-ins/python/pydia-handle.c : store handle owner on construction and use it in new method .connect() * plug-ins/python/pydia-object.c plug-ins/python/pydia-diagram.c : adapt to changed prototype 2002-04-24 Lars Clausen > * lib/text.c (text_calc_boundingbox): Will now return early if box passed is NULL. * objects/flowchart/box.c (box_update_data): Now updates text width info from update_data. 2002-04-23 Steffen Macke * plug-ins/xfig/xfig-import.c: fixed text import 2002-04-22 Lars Clausen > * app/export_png.c: Moved dialog functions to their own file. * app/dialogs.[ch]: New files with standard functions for creating small, transient dialogs (e.g. export options). * app/Makefile.am: Added dialogs.[ch] 2002-04-19 Steffen Macke * shapes/Misc/folder.*: * shapes/Misc/file.*: * shapes/Misc/Makefile.am: * shapes/Makefile.am: * sheets/Misc.sheet.in: * sheets/Makefile.am: * configure.in: added new Misc sheet containing filesystem shapes 2002-04-18 Lars Clausen > * app/lineprops_area.c: Arrow selector in toolbox changed to use standard arrowdraw code. Line is thinner to make some arrowheads distinguishable. 2002-04-18 Steffen Macke * sheets/network.sheet.in: * shapes/network/telephone.shape: * shapes/network/Makefile.am: added telephone shape 2002-04-16 Steffen Macke * sheets/EML.sheet.in: commented out unavailable shapes 2002-04-15 M.C. Nelson * app/sheets_dialog_callbacks.c: Fixed segfault caused by mis-ordered variable assignment. 2002-04-15 Steffen Macke * plug-ins/dxf/dxf-import.c: text import works again * shapes/Pneumatic/Makefile.am: added compush shape * sheets/Pneumatic.sheet.in: commented out unavailable shapes dist33 and dist53 2002-04-11 M.C. Nelson * All these modifications are for the 'Sheets and Objects' dialog (new feature): * app/pixmaps/line_break.xpm: new icon representing a line break. * app/pixmaps/n_a.xpm: new empty icon representing not available. * app/Makefile.am: added sheets_*.[ch] files to compile list. * app/menus.c: added GNOME and gtk menu items for 'Sheets and Objects' * app/sheets_dialog.c: [new file] definition of 'Sheets & Objects' dlgs * app/sheets_dialog.h: [new file] support for Sheets & Objects dlgs * app/app_procs.c: added call to sheets_dialog_create() in app_init() * app/sheets_dialog_callbacks.c: [new file] callbacks for S & O dialogs * app/sheets_dialog_callbacks.h: [new file] support for " " " * app/interface.c: added 'interface_current_sheet_name' global to fill_sheet_wbox(); made fill_sheet_menu() non-static * app/interface.h: added extern declaration for aboves. * app/sheets.c: [new file] instantiation and other funcs for S & O dlgs * app/sheets.h: [new file] declarations for backing store structures * lib/sheet.c: modification of new_sheet() parameters; introduction of USER and SYSTEM scope for sheets; procedure for sorting sheets; changes to load_register_sheet(). * lib/sheet.h: added 'user_data_type' field to SheetObject structure; added 'has_icon_on_sheet' flag to SheetObject structure; added 'filename', 'scope', 'shadowing' fields to Sheet structure. * lib/plug-ins.c: moved _PluginInfo declaration to header file where it belongs. * lib/plug-isn.h: see above. * lib/object.c: added 'sheet.h' to include list; added several functions to detect objects which are not found on any sheet (for future use) object_type_detect_nosheet_callback(), object_types_detect_nosheet(), object_type_get_sheet_name(), object_type_strip_sheet_from_name(). * lib/object.h: added public declarations for above functions where necessary. * objects/custom/custom.c: made custom_object_load() non-static so we can load and interpret .shape files from the Sheets & Objects dialog * objects/custom/custom_object.c: made 'custom_type' non-static so we can differentiate between SVG shapes and other types.a 2002-04-07 Hans Breuer * app/object_ops.c (object_list_align_v): Fix the 'Leak fix' from 2002-01-22 to not destroy diagram->data->selected. Avoids to crash on Objects/Align/Vertical/Top * app/render_eps.c (draw_string) : un-const buffer It isn't at all const (g_malloc(), assignment, g_free()). Doesn't gcc catch such ? * lib/arrows.h : prototype calculate_arrow_point() * lib/font.c (font_get_suckfont) : no need to special case gdk_draw_string() with GTK_TALKS_UTF8, cause all the parameter differences are handled above * lib/libdia.def : updated externals * lib/makefile.msc : removed string_prerenderer, added render * lib/render.c (draw_rect) : don't pass a Point** if a Point* is expected. [Sometimes it's good to read compiler warnings.] * objects/standard/image.c : simplified by use of g_strconcat() * plug-ins/python/makefile.msc : updated for Python 2.2 2002-04-03 Lars Clausen > * objects/standard/zigzagline.c (zigzagline_draw): Fixed directionality problem for zero-length line segments. 2002-03-28 Lars Clausen > * app/diagram.c (diagram_ungroup_selected) (diagram_update_menu_sensitivity): Now allows ungrouping of several groups at once. 2002-03-15 Lars Clausen > * lib/render.c, all renderers: Binary incompatibility, change to expandable renderops structure. 2002-03-15 Steffen Macke * objects/standard/Makefile.am: * objects/network/Makefile.am: * objects/UML/Makefile.am: * objects/ER/Makefile.am: * objects/FS/Makefile.am: * objects/flowchart/Makefile.am: * objects/custom/Makefile.am: * objects/GRAFCET/Makefile.am: * objects/chronogram/Makefile.am: * objects/SADT/Makefile.am: * plug-ins/cgm/Makefile.am: * plug-ins/pstricks/Makefile.am: * plug-ins/hpgl/Makefile.am: * plug-ins/wpg/Makefile.am: * plug-ins/svg/Makefile.am: * plug-ins/shape/Makefile.am: added $(UNICODE_CFLAGS) 2002-03-13 Lars Clausen > * app/render_eps.c: Support for dumping TrueType fonts (taken from ttfps). 2002-03-12 Lars Clausen > * lib/render.c: New abstract super class for renderers. 2002-03-07 Akira TAGOH * objects/ER/attribute.c (attribute_save): save a font property. (attribute_load): load a font property, and if can't load it, it's initialized. * objects/ER/entity.c (entity_save): save a font property. (entity_load): load a font property, and if can't load it, it's initialized. * objects/ER/relationship.c (relationship_save): save a font property. (relationship_load): load a font property, and if can't load it, it's initialized. * objects/UML/class.c (fill_in_fontdata): don't replace if it already has a vaule. (umlclass_save): save the font and the font size properties. (umlclass_load): load the font and the font size properties. 2002-03-05 Cyrille Chepelov * lib/string_prerenderer.[ch] (REMOVED): * lib/render.h: * lib/diagramdata.c: * lib/Makefile.am: * app/render_eps.c: got rid of the string-specific string prerenderer, transitioned its functionality towards Lars' two-phase rendering 2002-03-05 Lars Clausen > * configure.in: Using Freetypes own check for ver >= 1.0.5. You may need to rerun aclocal. 2002-03-04 Lars Clausen > * lib/font.c: First attempt at Unicodeness for Freetype. 2002-03-02 Lars Clausen * lib/font.c (font_string_width): Fixed font_string_width for freetype. BB is now almost right. 2002-03-01 Lars Clausen > * app/render_eps.h: * app/paginate_psprint.c (paginate_psprint): * lib/font.c: * app/render_eps.c: Support for dumping postscript fonts into postscript files with freetype. Fairly primitive, but works. Unicode version may have problems. 2002-02-28 Akira TAGOH * objects/UML/class_dialog.c (class_read_from_dialog) (class_fill_in_dialog), (class_create_page): add the font selector and the font size selector. * objects/UML/class.c (umlclass_draw): uses each font_height. (umlclass_calculate_data): ditto. (fill_in_fontdata): add initial value of new font_height. (umlclass_copy): add new font_height. 2002-02-27 Cyrille Chepelov Patch from Geoff Gerrietts : * lib/font.c: calculate font metrics properly and stop guessing at string widths. 2002-02-28 Akira TAGOH * configure.in: changed gtk_advancement value to dia_talks_utf8. right now Dia is working with UTF-8 internally. it means Dia probably support most languages also including the languages which heretofore didn't work correctly. 2002-02-26 Akira TAGOH * objects/FS/function.c: add related text properties. (function_get_props), (function_set_props): add handling attribute. * objects/FS/flow.c: add related text properties. (flow_get_props), (flow_set_props): add handling attribute. * objects/FS/flow-ortho.c: add related text properties. (orthflow_set_props), (orthflow_get_props): add handling attribute. * objects/ER/relationship.c: add PROP_STD_TEXT_FONT to property. * objects/ER/entity.c: ditto. * objects/ER/attribute.c: ditto. 2002-02-26 Cyrille Chepelov Patch contributed by Geoff Gerrietts : * autogen.sh: add a check for missing intltoolize. 2002-02-20 Akira TAGOH * lib/ps-utf8.c (unicode_to_ps_name): if this function calls with same charcode, it was registered the duplicate item to HashTable. fix. * app/render_gnomeprint.c (get_width_string): add new function. (draw_string): fix non-multibyte specific code. 2002-02-19 Cyrille Chepelov Patch contributed by Matthieu Sozeau : * lib/font.c: do not try to search paths that do not begin with '/', like X Font Server addresses. * objects/UML/message.c (message_draw): free mname when not message->text but CREATE or DESTROY. * objects/UML/uml.h: * objects/UML/uml.c: * objects/UML/class_dialog.c: added code to handle a stereotype attribute for operations. 2002-02-19 Akira TAGOH * lib/Makefile.am: add LIBART_CFLAGS. 2002-02-15 Hans Breuer * lib/font.c (font_get_suck_font): the black and white pixel values need to be taken from a 1 bit colormap rather than the default colormap. (fixed again, last time was 2000-05-26) Also handle the case where GTK_TALKS_UTF8 and expects all strings passed in to be in this encoding. * lib/libdia.def : export suck_font_free() * lib/text.c (text_draw) : avoid circular dependency to ../app at least for the !USE_XIM case, where it is unnecessary. 2002-02-15 Cyrille Chepelov Changes contributed by Matts Kivik : * shapes/Circuit/microphone_de.(shape|xpm) (NEW): * sheets/Circuit.sheet.in: added new shape microphone * shapes/Circuit/speaker_de.shape: Added a connection point. 2002-02-13 Akira TAGOH * app/render_libart.c (draw_string): fixed build issue for Win32. * lib/font.c (font_get_suckfont): fixed typo. it could't build under Win32. * configure.in: fixed testing gtk_advancement. * app/render_gnomeprint.c (draw_string): uses utfchar instead of char. 2002-02-12 Akira TAGOH * lib/text.c (text_draw): fixed XIM position, when menubar is shown for diagram window. 2002-02-11 Lars Clausen > * app/group.c (group_copy): Made new object properly initialized before copy. 2002-02-11 Steffen Macke * app/Makefile.am: added plug-ins to DIA_LIB_PATH in run_dia.sh 2002-02-10 Akira TAGOH * lib/text.c (text_draw): fixed XIM transaction. * app/interface.c (create_display_shell): add signal for size_allocate. * app/disp_callbacks.c (ddisplay_size_allocate): add new function for XIM transaction. (set_input_dialog): remove. (ddisplay_canvas_events): remove XIM transaction. it can't transact correctly on this function. 2002-02-10 Lars Clausen * app/app_procs.c: * app/export_png.c: Added checks for interactivity (maybe this should be a hook after all?). * app/filedlg.c (file_export_callback): Made export dialog add suffix when reopened. * app/export_png.c: Added dialog asking for export size. 2002-02-09 Lars Clausen * lib/widgets.c: Fixed font reselection problem and first font bogus warning. * objects/UML/actor.c (actor_update_data): Changed to have connection points below text. 2002-02-08 Akira TAGOH * lib/text.c (text_split_line): use g_strndup() instead of g_malloc() and memcpy(). 2002-02-07 Akira TAGOH * lib/font.c (font_get_suckfont): rewrited. generating suckfont from strings which is given. (suck_font): remove. it's any longer needed. * app/render_libart.c (set_font): don't get suckfont. (draw_string): get suckfont only which is needed for now. 2002-02-05 Lars Clausen * lib/text.c: Fixes for misunderstood width functions. 2002-02-05 Hans Breuer * lib/dia_xml.c : use g_strconcat() instead of malloc, strcpy, strcat dance * app/properties.c : same here and plug memory leak (gtk functions don't eat strings) * objects/UML/message.c : there is no g_sprintf() use g_strdup_printf() instead ... 2002-02-05 Akira TAGOH * lib/message.c (gtk_message_internal): doesn't need to convert to UTF-8. * app/render_libart.c (draw_string): fixed transaction for UTF-8 support. (get_text_width): ditto. * app/Makefile.am (EXTRA_DIST): s/paginate_gdiprint.c/paginate_gdiprint.cpp/ * app/render_gdk.c (gdk_freetype_copy_glyph): fixed build issue. This function needs ifdef HAVE_FREETYPE because don't use it for --disable-freetype 2002-02-04 Cyrille Chepelov * NEWS: updated with the new dependencies. Patch from Matthieu Sozeau : * objects/UML/class.h: * objects/UML/class.c: * objects/UML/class_dialog.c: added code to handle the UMLParameterKind property using a GtkMenu. Options are Undefined, In, Out, In & Out 2002-02-04 Lars Clausen > * app/render_libart.c: Slow but working libart freetype renderer, with color! 2002-02-03 Lars Clausen * app/render_gdk.c (draw_string): Fixed gc_function bug. * lib/widgets.c (dia_font_selector_init): Sorts the font list. * lib/font.c (freetype_render_string): * lib/font.h: * app/render_gdk.c: * app/render_gdk.h: Changed freetype_render_string to use callback. Rendering is broken. 2002-02-03 Cyrille Chepelov Patch from Matthieu Sozeau : * objects/UML/uml.h: * objects/UML/uml.c: added UMLInheritanceType and isQuery (constant) UML Operation attributes. UMLInheritanceType is either UML_ABSTRACT or UML_POLYMORPHIC or UML_LEAF. * objects/UML/class.h: * objects/UML/class.c: * objetcs/UML/class_dialog.c: added code to handle new UMLOperation attributes via a GtkMenu and a checkbox. 2002-02-03 Akira TAGOH * app/disp_callbacks.c (ddisplay_realize): fixed XIM issue. several client doesn't work with previous codes. 2002-02-01 Lars Clausen > * lib/font.c (freetype_render_string): Kerning. Very few fonts seem to use it. 2002-02-02 Akira TAGOH * app/disp_callbacks.c (ddisplay_canvas_events): fixed crashes, when doing the operation like invert the objects after active view is destroyed. when changes focus, it needs to set active_display. * app/layer_dialog.c (dia_layer_update_from_layer): (layer_dialog_edit_layer): need to convert to locale encoding if GTK_DOESNT_TALK_UTF8_WE_DO is defined. (edit_layer_ok_callback): need to convert to UTF8 if GTK_DOESNT_TALK_UTF8_WE_DO is defined. * lib/diagramdata.c (new_diagram_data): ditto. * app/layer_dialog.c (layer_dialog_new_callback): ditto. * lib/diagramdata.c (new_layer): use utfchar instead of char for argument. * lib/widgets.c: if HAVE_FREETYPE isn't defined, it can't build. fixed. (dia_font_selector_set_styles): when HAVE_FREETYPE is defined only, it's needed for now. also this function needs prototype declaration. 2002-01-31 Lars Clausen > * lib/widgets.c: Style now functional on font selector. Some leak possible, but doesn't show up under stress test. 2002-01-31 Akira TAGOH * app/plugin-manager.c (clist_select_row): name and description needs to convert to locale encoding, when GTK_DOESNT_TALK_UTF8_WE_DO is defined. (get_plugin_manager): ditto. * lib/plug-ins.c (dia_plugin_info_init): name needs to convert to UTF-8. * app/diagram_tree.c (get_object_name): fixed transaction for UTF-8 support. * lib/prop_text.c (stringprop_reset_widget): fixed crashes, when prop->string_data is NULL. 2002-01-30 Lars Clausen * lib/widgets.c: * lib/widgets.h: New font selector separating font and style. Style not functional yet. 2002-01-30 Lars Clausen > * lib/text.c: * app/render_gdk.c (draw_string): More freetype support, now renders text. Still broken is font selection and exporting. 2002-01-30 Akira TAGOH * objects/chronogram/chronoref.c (chronoref_create): missing gettextize for font. * objects/chronogram/chronoline.c (chronoline_create): ditto. * objects/UML/usecase.c (usecase_create): ditto. * objects/UML/state.c (state_create): ditto. * objects/UML/object.c (objet_create): ditto. * objects/UML/node.c (node_create): ditto. * objects/UML/message.c (message_create): ditto. * objects/UML/component.c (component_create): ditto. * objects/UML/classicon.c (classicon_create): ditto. * objects/UML/actor.c (actor_create): ditto. * objects/SADT/box.c (sadtbox_create): ditto. * objects/SADT/annotation.c (annotation_create): ditto. * objects/GRAFCET/transition.c (TRANSITION_FONT): ditto. * objects/GRAFCET/step.c (STEP_FONT): * (step_create): ditto. * objects/GRAFCET/condition.c (CONDITION_FONT): ditto. * objects/GRAFCET/action.c (ACTION_FONT): (action_create): ditto. * objects/FS/function.c (function_create): ditto. * objects/FS/flow.c (flow_create): (flow_load): (flow_apply_defaults): ditto. * objects/FS/flow-poly.c (flow_create): (flow_load): (flow_apply_defaults): ditto. * objects/FS/flow-ortho.c (orthflow_create): (orthflow_load): (orthflow_apply_defaults): ditto. * objects/ER/relationship.c: use utfchar instead of char for structure. (relationship_create): name needs to convert to UTF-8. * objects/ER/attribute.c: use utfchar instead of char for structure. (attribute_create): name needs to convert to UTF-8. * objects/ER/entity.c: use utfchar instead of char for structure. (entity_create): name needs to convert to UTF-8. * app/interface.c (fill_sheet_wbox): needs to convert UTF-8 to locale encoding for tooltips, if GTK_TALKS_UTF8 isn't defined. (fill_sheet_menu): needs to convert UTF-8 to locale encoding for menu items. if GTK_TALKS_UTF8 isn't defined. 2002-01-29 Akira TAGOH * objects/UML/class.c (umlclass_calculate_data): fixed malloc size. it was my careless mistake... * lib/attributes.c (attributes_set_default_font): temporarily gettextize a font name, because there are strings which isn't shown by "Courier". We need to consider a way to feel free to choose a font at runtime. * lib/render_object.c (render_object_load): ditto. * lib/text.c (data_text): ditto. * objects/EML/instantiation.c (instantiation_create): ditto. * objects/EML/interaction-ortho.c (interaction_ortho_create): (interaction_ortho_load): ditto. * objects/EML/interaction.c (interaction_create): (interaction_load): ditto. * objects/EML/process.c (fill_in_fontdata): ditto. * objects/ER/attribute.c (attribute_create): (attribute_load): ditto. * objects/ER/entity.c (entity_create): (entity_load): ditto. * objects/ER/relationship.c (relationship_create): (relationship_load): ditto. * objects/UML/association.c (association_create): (association_load): ditto. * objects/UML/class.c (fill_in_fontdata): ditto. * objects/UML/constraint.c (constraint_create): ditto. * objects/UML/dependency.c (dependency_create): ditto. * objects/UML/generalization.c (generalization_create): ditto. * objects/UML/implements.c (implements_create): ditto. * objects/UML/large_package.c (largepackage_create): ditto. * objects/UML/note.c (note_create): ditto. * objects/UML/realizes.c (realizes_create): ditto. * objects/UML/small_package.c (smallpackage_create): ditto. * objects/custom/shape_info.h (FONT_DEFAULT): ditto. * objects/custom/custom_object.c (custom_create): ditto. * objects/network/antenna.c (render_to_store): ditto. * objects/network/computer.c (render_to_store): ditto. * objects/network/disc.c (render_to_store): ditto. * objects/network/flash.c (render_to_store): ditto. * objects/network/hub.c (render_to_store): ditto. * objects/network/modem.c (render_to_store): ditto. * objects/network/modularswitch.c (render_to_store): ditto. * objects/network/monitor.c (render_to_store): ditto. * objects/network/printer.c (render_to_store): ditto. * objects/network/rj45plug.c (render_to_store): ditto. * objects/network/scead-plug.c (render_to_store): ditto. * objects/standard/textobj.c (textobj_load): ditto. * objects/sybase/client.c (render_to_store): ditto. * objects/sybase/dataserver.c (render_to_store): ditto. * objects/sybase/ltm.c (render_to_store): ditto. * objects/sybase/repserver.c (render_to_store): ditto. * objects/sybase/rsm.c (render_to_store): ditto. * objects/sybase/stableq.c (render_to_store): ditto. * plug-ins/dxf/dxf-import.c (read_entity_text_dxf): ditto. * objects/UML/uml.h (UML_STEREOTYPE_START): (UML_STEREOTYPE_END): changes default strings. 2002-01-28 Akira TAGOH * objects/UML/stereotype.c (string_to_bracketted): fixed transaction for UTF-8 support. if GTK+ and Dia don't handle UTF-8, all of characters which is given to arguments isn't UTF-8. so don't need to convert it. if GTK+ handle UTF-8, also don't need to convert it. (strend): remove. (bracketted_to_string): fixed transaction for UTF-8 support. also start/end bracket is not necessarily 1 character. so that when use strend(), it doesn't work correctly. (string_to_stereotype): use utfchar instead of char. (remove_stereotype_from_string): ditto. (stereotype_to_string): ditto. * objects/UML/stereotype.h: ditto. * objects/UML/message.c: use utfchar instead of char for structure. (MESSAGE_CREATE_LABEL, MESSAGE_DESTROY_LABEL): remove. * objects/UML/small_package.c: use utfchar instead of char for structure. * objects/UML/realizes.c: ditto. * objects/UML/object.c: ditto. * objects/UML/large_package.c: ditto. * objects/UML/implements.c: ditto. * objects/UML/generalization.c: ditto. * objects/UML/dependency.c: ditto. * objects/UML/constraint.c: ditto. * objects/UML/component.c: ditto. * objects/UML/class_dialog.c (attributes_get_current_values): (attributes_list_new_callback, attributes_fill_in_dialog): (parameters_set_values, parameters_get_values): (parameters_get_current_values, parameters_list_new_callback): (operations_set_values, operations_get_values): (operations_get_current_values, operations_list_new_callback): (operations_fill_in_dialog, templates_set_values): (templates_get_values, templates_get_current_values): (templates_list_new_callback, templates_fill_in_dialog): fixed transaction for UTF-8 support. 2002-01-27 Akira TAGOH * objects/UML/message.c (message_draw): fixed transaction for UTF-8 support. * objects/UML/class_dialog.c (class_read_from_dialog): (class_fill_in_dialog): (attributes_get_values): ditto. * objects/UML/actor.c (actor_create): ditto. * objects/UML/class.c (umlclass_calculate_data): ditto. * objects/UML/association.c (association_apply_properties): (fill_in_dialog): ditto. * objects/UML/uml.c (uml_get_attribute_string): (uml_get_operation_string): (uml_get_parameter_string): (uml_get_formalparameter_string): use utfchar instead of char. * objects/UML/uml.h: gettextize UML_STEREOTYPE_START and UML_STEREOTYPE_END. * objects/UML/class.h: use utfchar instead of char. * lib/dia_xml.c (data_add_string): ditto. * lib/text.c (text_insert_char): fixed characters# calculation when includes multibytes character in strings. 2002-01-26 Steffen Macke Patch from Richard Rowell : * app/lineprops_area.c: * lib/arrows.h: * lib/arrows.c: * lib/widgets.c: added crow foot arrow and cross arrow Patch from Frank Gevaerts : * plug-ins/svg/render_svg.c: fixed arcs, fill and text alignment 2002-01-26 Cyrille Chepelov * po/update.pl (REMOVED): * po/update.sh (REMOVED): * xml-i18n-merge.in.kg (REMOVED): * xml-i18n-update.in.kg (REMOVED): * sheets/Makefile.am: * Makefile.am: * autogen.sh: * configure.in: converted from xml-i18n-tools to intltools This looks like it fixes the build bugs of the snapshot tarballs, and it supersedes #69611. 2002-01-25 Akira TAGOH * lib/text.c (text_insert_char): fixed characters# calculation. it's not string length. * lib/plug-ins.c (dia_plugin_info_init): when GTK_DOESNT_TALK_UTF8_WE_DO is defined, needs to convert a description to UTF-8. * app/render_gdk.c (get_text_width): fixed transaction for UTF-8 support. also should uses gdk_text_width_wc() instead of gdk_text_width(). * app/render_gdk.c (draw_string): when GTK_DOESNT_TALK_UTF8_WE_DO is defined, needs to convert to locale encoding for display. Also use utfchar instead of char for argument. 2002-01-24 Hans Breuer * app/commands.c(edit_paste_callback and more) : call diagram_modified(ddisp->diagram) to fix #68083 (help_menu_callback) : plug a DIR leak * app/disp_callbacks.c(ddisplay_canvas_events) : handle GTK_TALKS_UTF8_WE_DONT * app/render_gdk.c(get_text_with) : it's a bad idea to use gdk_string_with() when GTK_TALKS_UTF8_WE_DONT instead of gdk_text_width(). The length value is still questionable ... * lib/charconv.c : use functions already available in early GLIB-1.3 days whiches API hasn't changed since, to avoid version problems with the win32 build * lib/font.c : finally fix #58045 and #68208 * lib/dia_xml.c (xmlDiaSaveFile) : gzdopen in binary mode 2002-01-24 Akira TAGOH * app/disp_callbacks.c (ddisplay_canvas_events): when event returned no strings, fixed transaction. * lib/charconv.h: fixed typo. * app/menus.c: fixed typo. * lib/charconv.c (charconv_utf8_strchr): remove. use uni_strchr instead. * objects/UML/object.c: attrib's type uses utfchar instead of char. * app/disp_callbacks.c (ddisplay_canvas_events): forget g_free() * lib/text.c (text_create_change): use unichar instead of char. * lib/text.c (data_add_text, data_text, apply_textstr_properties): use utfchar instead of char. * lib/text.c (text_insert_char, text_key_event): fixed transaction for UTF-8 support. * lib/charconv.c (charconv_utf8_get_char): add new function. 2002-01-23 Akira TAGOH * lib/text.c (text_delete_forward, text_delete_backward, text_split_line): fixed transaction for UTF-8 support. * lib/text.c (text_copy): when UNICODE_WORK_IN_PROGRESS is defined, strlen[] has string length for UTF-8, so has to use alloclen[]. * dia.pot: remove. * .cvsignore: add dia.pot. 2002-01-24 Stanislav Visnovsky * configure.in: Added "sk" to ALL_LINGUAS. 2002-01-22 Akira TAGOH * lib/text.c (text_set_string, new_text, text_copy, text_get_string_copy, text_join_lines): use utfchar instead of gchar for strings. * lib/text.c (set_string): use charconv_utf8_strchr() instead of strchr(). * lib/charconv.c (charconv_utf8_strchr): add new function. * lib/charconv.c (charconv_keyval_to_unicode): ditto. * lib/charconv.c (charconv_utf8_from_gtk_event_key): ditto. * app/disp_callbacks.c (ddisplay_canvas_events): needs to convert strings to the appropriate encoding. 2002-01-22 Lars Clausen > * app/object_ops.c (object_list_align_[hv]): Leak fix. * lib/Makefile.am (INCLUDES): Added debug flags. * app/object_ops.c: Fixed ordering problem of align equi-distant & adjacent. 2002-01-21 Akira TAGOH * lib/font.c (font_string_width): use gdk_text_width_wc() instead of gdk_string_width(). * objects/GRAFCET/boolequation.c: fixed invalid comment. * objects/UML/stereotype.c (string_to_bracketted): fixed build problem when defined UNICODE_WORK_IN_PROGRESS. * lib/dia_xml.c (data_add_string): fixed typo. 2002-01-20 Akira TAGOH * configure.in: fixed test gtk_advancement. 2002-01-019 Steffen Macke * plug-ins/svg/render_svg.c: fix for #69053, alignment of text exported to SVG Patch from M.C. Nelson : * app/recent_files.[ch]: reworked to support GNOME, accelerators, tool tips, preferences, and arbitrarily long ~/.dia/history * app/menus.c: made 'Plugins' consistantly spelled and accelerated; removed 'Open Recent'; added new separators for recent documents on File menu. * app/interface.[ch] (interface_get_toolbox_shell): new function * app/diagram.c: added new parameter to recent_file_history_add() call * app/preferences.[ch]: added new 'Recent documents list size' preferences item 2002-01-18 Akira TAGOH * lib/font.c (font_get_gdkfont_helper): use gdk_fontset_load (). if it failed, should be used gdk_font_load (). * lib/font.c (font_data): added the font entries for CJK. 2002-01-17 Steffen Macke Patch from M.C. Nelson : * app/menus.c: replaced GDK_F1 with "F1" to fix segfault on startup 2002-01-04 Cyrille Chepelov Patch from Martin Cracauer : * app/menus.c: add missing #include (useful in the non-GNOME case ?) 2002-01-01 Hans Breuer * app/command.c : optional use GDI printing on windoze * app/preferences.[hc] : add option 'prefer_psprint' to select the print engine to use (could be used for Dia/Gnome as well) * app/paginate_gdiprint.(h|cpp) : new files, which interlink the wmf plug-in with the common win32 print api. Now printing should work almost as expected from a windows program :-) * app/diagram.c app/menus.[hc] : rename _UpdatableMenuItems.delete to .edit_delete to avoid clashes with C++ * app/makefile.msc : updated for GDI printing * plug-ins/wmf/wmf.cpp : some small modifications to support GDI printing. Also swap R and B channel in draw_image() * app/makefile.am : added windows only files to EXTRA_DIST * objects/uml/class.c(umlclass_set_props) : force recalculation when applying properties * lib/charconv.c lib/dia_xml.c : temporary back-ported to glib-1.3.2 (for win32) IMHO causes recent cvs introduces too many incompatible changes (and would force a gtk update) * objects/makefile.msc : don't build C-Objects which are already available as 'pure shape' * plug-ins/makefile.msc : remove diaimport from build. It was only available via mailing-list and is broken since the StdProp overhaul. Patch from Jose A Ortega Ruiz * app/preferences.[hc] : tweaked preferences.c to make PREF_STRING work. Use it for 'diagram_tree_hidden'. Also added some more DiagramTree prefererences and their own notebook page. * app/diagram_tree.[hc] : allow to sort by object type or name and hide by type ... * app/diagram_tree_menu.[hc] : ... add respective menu entries ... * app/diagram_tree_menu_callbacks.[hc] : ... and callbacks. * app/diagram_tree_window.c : handle hidden types and window size restoring. 2001-12-20 Hans Breuer * plug-ins/python/Makefile.am : patch from Peter Moulder to make the python plug-in compile on *nix too. 2001-12-03 Cyrille Chepelov Patch from Alan : * app/menus.c: bind the F1 shortcut to the Help/_Manual function. 2001-11-20 Hans Breuer * app/makefile.msc : add new diagram_tree_menu(_callbacks).obj 2001-11-18 Jose A Ortega Ruiz * app/diagram_tree.[hc] : Added new functions and types for sorting diagram and objects, and attaching the popup menus. * app/preferences.h: Added more diagram tree preferences, using a DiagramTreeConfig struct in DiaPreferences. The new prefs are the height and width of the diagram tree window and the default sort orders for diagrams and objects. * app/preferences.c (prefs_data): Added new entries for the new diagram tree preferences. * app/preferences.c (prefs_tabs): New tab for diagram tree preferences. * app/diagram_tree_window.[hc] (create_diagram_tree_window): * app/diagram_tree_window.c (diagram_tree_window_new): * app/interface.c (create_tree_window): The diagram tree window is initialised using the DiagramTreeConfig part of prefs. 2001-11-14 Jose A Ortega Ruiz * app/diagram_tree_menu.[hc]: New files. Functions to create the diagram tree popup menus. * app/diagram_tree_menu_callbacks.[hc]: New files. Callbacks for the diagram tree popup menus. * app/Makefile.am (dia_core_files): diagram_tree_menu* files added. 2001-11-13 Jose A Ortega Ruiz * app/diagram_tree.c (double_click_callback, diagram_tree_new): double-clicking a diagram tree node raises the diagram window to the foreground (and, if a object node was clicked, selects the object in the diagram). * app/diagram_tree.c (select_tree_widget): selecting an object node with single click simply updates it (no raise). 2001-11-08 Jose A Ortega Ruiz These changes make the diagram tree lazy: it is not created unless the diagram tree window is requested. * app/diagram_tree_window.[hc] (create_diagram_tree_window): new function for creating the tree window. * app/interface.c (create_tree_window): call create_diagram_tree_window() instead of diagram_window(). * app/diagram_tree.c (diagram_tree_add, diagram_tree_remove) (diagram_tree_update, diagram_tree_update_name) (diagram_tree_add_object, diagram_tree_add_objects) (diagram_tree_remove_object, diagram_tree_remove_objects) (diagram_tree_update_object): accept a NULL tree as a nominal argument (and do nothing in this case!), so that the diagram tree is not initialised if not used. * app/diagram_tree_window.c (diagram_tree): do not create the diagram tree until diagram_window() or diagtree_show_callback() are invoked. 2001-10-31 Jose A Ortega Ruiz [slightly modified and applied from Hans Breuer ] * app/diagram_tree_window.[hc] : (new files) implementation of the diagram tree window, a container for a diagram tree. [Removed the horizontal scroll bar glitch by disableing it] * app/diagram_tree.[hc] : (new files) implementation of the diagram tree widget. [Don't rely on the layers GPtrArray to be NULL terminated, but use its ->len field] * app/Makefile.am (dia_core_files): added new files diagram_tree.[hc] and diagram_tree_window.[hc] * app/interface.[hc] : (create_tree_window): this function creates the new diagram tree window widget * app/undo.c (delete_objects_apply) (delete_objects_revert) (insert_objects_apply) (insert_objects_revert) (group_objects_apply) (ungroup_objects_apply) (ungroup_objects_revert): every time that an undoable command modifies a diagram adding/removing/(un)grouping objects, a diagram_tree_something() is invoked to keep the diagram tree window in sync * app/properties.c (properties_apply): call to diagram_object_modified(), which updates the diagram tree window when the properties of an object are modified * app/preferences.[hc] : new "show_diagram_tree" configuration option (whether the diagram tree window should be shown on dia startup) * app/menus.c : added '/File/Diagram Tree' entry * app/diagram.h (diagram_object_modified): callback notifying of a diagram object modification * app/diagram.c (diagram_load_into): added call to diagram_tree_add() to add newly loaded diagrams to the diagram tree window (diagram_destroy): call to diagram_tree_remove() to remove a destroyed diagram from the diagram tree window (diagram_add_object): call to diagram_tree_add_object() to add an object to the diagram tree window (diagram_add_object_list): as above, but with an object list (diagram_selected_break_external): deletion of objects from the diagram is detected here, and diagram_tree_remove_object() is invoked to remove the object from the diagram tree window (it would be nice to have a diagram_remove_object() in the Diagram interface) (diagram_set_filename): update the diagram tree window when a diagram's filename changes * app/commands.c (file_new_callback): added call to diagram_tree_add() to add newly created diagrams to the diagram tree window * app/app_procs.c (app_init): added call to create_tree_window() * app/makefile.msc : updated 2001-10-28 Hans Breuer * app/preferences.h (DiaPreferences): * app/preferences.c (prefs_data): new "show_diagram_tree" configuration option (whether the diagram tree window should be shown on dia startup) * app/menus.c: added the new "/View/Diagram tree" menu entry (both for GNOME and gtk) * app/diagram.h (diagram_object_modified): callback notifying of a diagram object modification * app/diagram.c (diagram_load_into): added call to diagram_tree_add() to add newly loaded diagrams to the diagram tree window (diagram_destroy): call to diagram_tree_remove() to remove a destroyed diagram from the diagram tree window (diagram_add_object): call to diagram_tree_add_object() to add an object to the diagram tree window (diagram_add_object_list): as above, but with an object list (diagram_selected_break_external): deletion of objects from the diagram is detected here, and diagram_tree_remove_object() is invoked to remove the object from the diagram tree window (it would be nice to have a diagram_remove_object() in the Diagram interface) (diagram_set_filename): update the diagram tree window when a diagram's filename changes * app/commands.c (file_new_callback): added call to diagram_tree_add() to add newly created diagrams to the diagram tree window * app/app_procs.c (app_init): added call to create_tree_window() 2001-10-28 Hans Breuer * plug-ins/python/pydia-property.c : apparently I missed to commit this last time. Now it has some more SetAttr support (apply from property) * plug-ins/python/pydia-properties.h : added PyDiaProperty_Check * plug-ins/python/pydia-text.[ch] : new files 2001-10-14 Hans Breuer * lib/charconv.c : g_locale_to_utf8() does not handle NULL strings. Use g_strdup() for these. libxml2 does not produce 'any extra indentation when saving a tree' [libxml2-2.4.2/doc/upgrade.html] anymore, which was the default with libxml(1). To get human readable XML some extra tweaking is required. It is enabled by setting 'pretty_formated_xml' to 'true' in 'diarc'. * lib/dia_xml.[hc] : provide and use 'DIAVAR pretty_formated_xml' * app/preferences.[ch] : initialize 'pretty_formated_xml' * lib/libdia.def : updated externals * lib/properties.h : add prototype for prop_list_from_single () * plug-ins/makefile.msc : build metapost plug-in * plug-ins/metapost/render_metapost.c : msvc does not like switch labels without operation 'default: }'. Added a noop. * plug-ins/python/pydia-text.[hc] : (new files) wrap DiaText * plug-ins/python/diamodule.c : added PyDiaText * plug-ins/python/makefile.msc : dito. Also added LIBXML_CFLAGS. Although the python plug-in does not use libxml at all, the headers are required to use the lib/prop*.h headers * plug-ins/python/pydia-diagramdata.c : added wrappers for update_extents and get_sorted_selected (should I duplicate more functions from PyDiaDiagram or should they be moved?) * plug-ins/python/pydia-properties.c : allow to set (some) properties through the dictionary api * plug-ins/python/pydia-property.h : declare PyDiaProperty_ApplyToObject * plug-ins/python/pydia-property.c : implement it (currently only string properties can be set) Reimplement PyDiaProperty_GetAttr by means of the new StdProp api. Quoting myself: 'Still not convinced that this is better than an integral property->type and some casting ... It is trading a straightforward 40 lines switch statement to this nice 'type safe' function mapping (about 125 lines)' (But now it works again, better than changing the News file :) 2001-10-14 Cyrille Chepelov patch from : * objects/UML/component.c: remember to set font in UML component object (fixes #62132) 2001-10-02 Lars Clausen > * plug-ins/metapost/metapost.c: * plug-ins/metapost/Makefile.am: * plug-ins/metapost/render_metapost.c: * plug-ins/metapost/render_metapost.h: Metapost renderer from Chris Sperandio 2001-09-14 Hans Breuer * app/render_gdk.c : reflect the fact, that GTK already talks UTF8 on win32, fixes #59982, #56100, (#55992 ?) ... * lib/font.c : * app/render_libart.c : trying to fix #58045 but it appears to be an Gdk/win32, too. * lib/charconv.c : handle utf8 conversion with the help of glib-1.3 even in the !HAVE_UNICODE case. * lib/dia_xml.c : reduce complaing about missing encoding, by detecting if the default (utf8) would break the file. 2001-09-13 Cyrille Chepelov * lib/charconv.c: (get_local_charset): at least please try to not silently change the logic, while avoiding crashes. * lib/font.c: (suck_font): put a #error, we have a nasty something to fix there before we switch to Gtk 2.0. 2001-09-09 Hans Breuer * **/makefile.mingw : Approach to compile Dia with mingw. Compiling mostly works but running does not (yet) ... * lib/geometry.h : - use G_OS_WIN32 instead of _MSC_VER to drag in isinf, etc. definitions. Apparently mingw needs it too. - enable 'normalization' of a null verctor. Otherwise the beziergon bounding box calculation would be broken at least with msvc. What's the mathematical correct result of 0.0/0.0 ? * lib/dia_xml.c : isinf() for mingw too. * lib/dia_dirs.c : use MAX_PATH instead of _MAX_PATH (works for mingw and msvc) * lib/charconv.c : still crashes if strcmp(NULL, "UTF-8"). Please don't do it. * lib/font.c : Trying to reflect that GTK_TALKS_UTF8_WE_DONT * lib/libdia.def : updated externals. Apparently mingw needs them to produce the right mangling. * plug-ins/shape/shape-exports.c : get prototypes for xmlStrdup and xmlDiaSaveFile 2001-09-08 Wang Jian * configure.in(ALL_LINGUAS): Renamed zh_CN.GB2312 to zh_CN 2001-09-07 Cyrille Chepelov * lib/dia_xml_libxml.h: * lib/dia_xml.c: (data_add_string), (xmlDiaSaveFile): Duplicated libxml1's code, to rework the output file before it gets committed to disk. This is rubbish, and will be removed when libxml2 switches from discouraged to mandatory. All in all, this fixes #60152. * lib/charconv.h: * lib/charconv.c: (charconv_unichar_to_utf8): made the type of the input parameter explicitly an unsigned long. * configure.in: Added a check for libz (we must now include it explicitly, for xmlDiaSaveFile). * app/load_save.c: (diagram_data_save): * lib/plug-ins.c: (ensure_pluginrc), (info_fill_from_pluginrc), (dia_pluginrc_write): * plug-ins/shape/shape-export.c: (new_shape_renderer), (end_render), (draw_string): * plug-ins/svg/render_svg.c: (new_svg_renderer), (end_render), (draw_string): Made sure we always write UTF-8 XML files, and through xmlDiaSaveFile(). * NEWS: documented that fact. 2001-09-07 James Henstridge * configure.in (found_libxml): refactor the check for libxml a little so that it handles finding both libxml1 and 2 better. 2001-09-03 Cyrille Chepelov * app/app_procs.c: removed a spurious } which caused a compilation error in the (!HAVE_GNOME && HAVE_POPT_H) case * lib/charconv.c: (get_local_charset): some versions of iconv(1) don't know what ANSI X3.4-1968 is. I didn't know until this day, but it's just plain old ASCII. Added a check to shield the poor XML library. Patches from : * lib/text.c: (text_calc_boundingbox) Bounding box now calculates the width and height of text before calculating bounds. Fixes #59928 * app/preferences.c: Moved grid related items into Grid Tab. 2001-09-02 Cyrille Chepelov * app/interface.c: (create_zoom_widget): connected one more signal to the Zoom selector combo's list. Fixes #59879. * app/app_procs.[ch]: (app_init) (do_convert) (build_output_file_name): brought back into the main executable the rare useful bits of the ill-fated diaconv. This means we have one new feature : --export-to-format (-t), which should make writing conversion scripts easier, and a crude implementation of -t and -e for the poptless argument parsing, which means the Win32 port should be able to take advantage of it (that should make resolving #58197 possible). * app/diaconv.c: kept the poor duck compiling (but that's about it). * plug-ins/svg/render_svg.c: updated the SVG DTD header (I hope I've got it right). * NEWS: updated about the new feature above, and documented the "missing encoding specification" complaint. 2001-09-01 Abel Cheung * configure.in: Rename zh_TW.Big5 -> zh_TW in ALL_LINGUAS. 2001-09-01 Cyrille Chepelov * objects/standard/bezier.c: used g_new0 instead of g_new, to take care of #59837. 2001-09-01 James Henstridge * */Makefile.am: various changes to include missing files, and fix sheets dir to handle building with builddir != srcdir. * autogen.sh: unconditionally pass the --enable-maintainer-mode and --enable-db2html flags so that builds from CVS work correctly. * configure.in: increment version number. Also add an --enable-db2html flag. Without the flag, db2html won't be run (if the flag is passed and db2html is not present, do nothing). 2001-08-30 Cyrille Chepelov * lib/poly_conn.c: (polyconn_copy): it's a wonder this routine even compiled. It's really too bad there is no lint tool easily available (or a more cautious, pedandic, paranoid and verbose compiler). Anyway, this fixes #59662. (this didn't affect 0.88.x) 2001-08-27 Cyrille Chepelov * app/load_save.c: * dia/lib/plug-ins.c: use g_strdup() instead of strdup(). Patch from . Fixes #59591. * app/menu.c: added ellipsis(...) to diagram properties menu item. * app/dia-props.c: diagram properties dialog contents did not represent current diagram settings. * app/dia-props.[ch]: * app/display.c: diagram properties contents now follows currently selected diagram. Patch also from , fixes #59409. * AUTHORS: added Robert Young. 2001-08-27 Cyrille Chepelov * app/modify_tool.c: (modify_button_release): Patch from . Fixes the remaining bit from #59090: if selection dragging was released outside of the window, artifacts of the selection box remained. 2001-08-25 Cyrille Chepelov * Objects/custom/shape_info.c: added missing #include 2001-08-19 Cyrille Chepelov * configure.in: * sheets/Makefile.am: prepared the terrain for the Version of xml-i18n-tools Which Comes After 0.9 (and which will feature at last a sane behaviour with XML files). Some reasonible delay before enforcing that version *will* be given. * xml-i18n-merge.in.kg: included the current CVS xml-i18n-merge.in * lib/plug-ins.c: defines xmlFree(), otherwise it becomes a nonexistent symbol. 2001-08-18 Hans Breuer * app/app_procs.c : made it compile without ENABLE_NLS * app/diap_callbacks.c : strcmp isn't guaranteed to work with NULL pointers * app/load_save.c : * lib/plug-ins.c : * objects/custom/shape_info.c : avoid mixing allocators and dealocators. It has to be : xmlGetProp, ... -> xmlFree malloc, strdup -> free g_new, g_malloc, g_strdup - > g_free * app/win32print.c : some more error checking, still not working on Win9x * lib/charconv.c : get_local_charset is used even with !HAVE_UNICODE * lib/dia_xml.c : msvc still has no unistd.h * lib/dia_xml.c : * lib/sheets.c : temporary resolved libxml include brokeness * plug-ins/python/pydia-*.c : reflect Font and StdProp api changes. Compiles again, but doesn't do anything useful anymore. (see THE_PROP_TYPE_IS_INTEGRAL) * **/makefile.msc : updated to use LIBXML2 * lib/libdia.def : reflect api changes 2001-08-17 Cyrille Chepelov * config.h.win32: added defines telling that gtk speaks UTF8. Hans, I believe this reflects what GTK on Win32 does. * app/app_procs.c: if GTK talks UTF8, we'll feed it UTF8 localised strings. * lib/prop_inttypes.c: * lib/prop_text.c: * lib/prop_widgets.c: fixed typos in the GTK_TALKS_UTF8_WE_DONT code path. * lib/plug-ins.c: (dia_register_plugins_in_dir): If there is a trailing // (or whatever (G_DIR_SEPARATOR * 2) is), a recursive search for plug-ins is done. * app/Makefile.am: made app/run_dia.sh use the // capability. No need to update this anymore if we get a new plug-in library (or remove one). * lib/dia_xml.c: #include was missing. * lib/properties.h: * lib/proplist.c: (pdtpp_defaults): Added a new flag, PROP_FLAG_NO_DEFAULTS. Will be used in the "automatic defaults" support. 2001-08-16 Cyrille Chepelov * sheets/civil.sheet: removed duplicate "Danish" entries. * autogen.sh: * configure.in: * .cvsignore: * sheets/Makefile.am: * po/POTFILES.in: * Makefile.am: applied the xml-i18n-tools README's instructions. * po/(da de fr hu nl nn no sl).po: merged the translations from the sheet files into the .po files. I hope I haven't mixed languages... * sheets/*.sheet (REMOVED): * sheets/*.sheet.in (NEW): moved the sheet files sans translations into .sheet.in files. * sheets/xml-i18n-unicodify: (NEW) included from xml-i18n-tools, because we don't yet want to force all translators to work using UTF-8 editors. We'll want to do that sometime (sooner rather than later). Okay, I sing a slightly different tune in po/ChangeLog... * dia.desktop (REMOVED): * dia.desktop.in (NEW): used also the x18t infrastructure for this too. * xml-i18n-update.in.kg (NEW): This one will stay in CVS until an "official" version of x18t with support for .sheet files is available. * xml-i18n-merge.in.kg (NEW): This one will stay in CVS until an "official" version of x18t which doesn't corrupt UTF-8 data in XML is available. ** yes, we are now using xml-i18n-tools to manage the sheet translations. For the Win32 build, Nemo stores snapshots of translated strings next to the CVS snapshots. ** * sheets/checktrans.py: suddenly, some sheets have lots of translations (objects which existed before sheets, mostly). Adapted the formatting. * po/README (REMOVED): this is obsolete ! It was ignored, anyway. * app/display.[ch]: (ddisplay_autoscroll), (ddisplay_scroll): * app/modify_tool.[ch]: (modify_motion): A (modified) patch from , to fix #59090. * app/display.c: (ddisplay_scroll): While at it, added some margin, so that autoscrolling can happen within a margin outside the diagram's extents. * app/tool.[ch]: * app/interface.c: * app/disp_callbacks.c: Robert "forced" me to go when I usually don't, namely the app/ directory. So while I was there, I scratched a long-time itch. If no object has focus, pressing the space bar will select back the tool which was selected before the current one (I find this especially useful with "reset after create" !) * lib/proplist.c: (prop_list_from_single): Renamed prop_list_singleton() to avoid confusion with the Singleton pattern (which it definitely is not). * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name): The "flags" parameter was not necessary. These don't return synthetic properties, but properties built from a real property description list; therefore, we don't call make_new_prop() but use the existing property descriptor, which has perfectly valid (and meaningful) flags. * lib/proplist.c: (pdtpp_synthetic), (pdtpp_from_object): These new predicates better reflect the reason why properties exist when they're created by make_new_prop() or object_prop_by_name(). * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name): * lib/prop_basic.c: (make_new_prop): used the new reasons instead of pdtpp_true(). * lib/properties.h: reflects all the above changes. * objects/SADT/arrow.c: * objects/SADT/annotation.c: * sheets/SADT.sheet: minor renamings to better match FIPS 183's IDEF0 terminology. 2001-08-15 Cyrille Chepelov * lib/properties.h: * lib/proplist.c: (prop_list_singleton): * lib/propobject.c: (object_prop_by_name_type), (object_prop_by_name): Added these, to simplify interactions of plug-ins with the StdProp core. * lib/Makefile.am: * lib/dia_xml.h: * lib/dia_xml_libxml.h (NEW): * app/load_save.c: * lib/dia_xml.c: * lib/plug-ins.c: * lib/sheet.c: * objects/custom/shape_info.c: A few prototypes were causing #include hell, because we generally attempt to not pull the whole libxml header set when we include dia_xml.h. Moved those prototypes away for the rare cases they're necessary. 2001-08-15 Hans Breuer * lib/font.c : made LARS_TRACE_MESSAGES Standard C conform * lib/libdia.def : * lib/makefile.msc : updated * lib/prop_basic.c : __FUNCTION__ is a gcc extension. Please use G_GNUC_FUNCTION instead. * lib/prop_inttypes.c : include for strtol() * objects/sadt/annotation.c : disable TEMPORARY_EVENT_TEST for msvc instead of cleaning missing includes * plug-ins/wmf/wmf.cpp : * plug-ins/wmf/wmf_gdi.h : fixed for Font to DiaFont renaming 2001-08-15 Cyrille Chepelov * app/app_procs.c: * app/load_save.c: * lib/dia_xml.c: * lib/plug-ins.c: * lib/sheet.c: * objects/custom/shape_info.c: * plug-ins/shape/shape-export.c: * plug-ins/svg/render_svg.c: used the libxml1/libxml2 compatibility macros as taught by http://xmlsoft.org/upgrade.html; removed xmlKeepBlanksDefault(0) in favour for proper xmlIsBlankNode() testing. Lots of other fixups to use the "libxml1.5" (libxml2 parser embedded in recent libxml1), and to make libxml1 output correct files. * configure.in: use libxml2 (>= 2.3.9) if it's found, or libxml1 (>= 1.8.14). Exactly one of these must be installed (devel packages). If both devel packages are found, the build will stop (Fredrik: please add a Build-Conflicts: on libxml2-dev for the moment) * lib/bezier_conn.c: (bezierconn_init): Lars, you forgot to allocate the first handle :-) * lib/object.c: (object_init): g_new() used instead of a cast and a sizeof. * objects/custom/custom_object.c: (custom_copy): don't call text_get_attrbutes if the shape has no text... (custom_update_data): The info->resize_with_text code was a bit directive; basically, the shape's bounding box was forced to be proportional to the text's bounding box.... This fixes #57187. * objects/custom/shape_info.c: (load_shape_info): Set an obvious default for info->aspect_ratio; unobfuscated a line about info->resize_with_text; 2001-08-15 Cyrille Chepelov * lib/properties.h: added comments next to the PROP_TYPEs to tell which C Property subclass to use. * plug-ins/dxf/dxf-import.c: (read_entity_line_dxf): Removed the cast-ridden form of setting properties in a list, in favour for the "local pointers" form. I'll take any better offer... 2001-08-14 Cyrille Chepelov * lib/font.c: fprintf(...) --> fprintf(format...) * configure.in: added a disabled versioned test for glib. * lib/prop_geomtypes.c: (bezpointprop_load), (bezpointprop_save), (bezpointarrayprop_load), (bezpointarrayprop_save): replaced g_critical() with a simple g_error(). Proper fix is to implement that stuff. * lib/properties.h: PROP_STD_TEXT is a PROP_TYPE_TEXT, not a PROP_TYPE_STRING. * lib/properties.h: * lib/propdesc.c: (prop_desc_list_calculate_quarks): * lib/proplist.c: (find_prop_by_name_and_type): * lib/prop_basic.c: (make_new_prop), (initialize_property): * lib/propoffsets.c: (do_set_props_from_offsets), (do_get_props_from_offsets), (prop_offset_list_calculate_quarks): Added a type_quark member to PropDescription, Property and PropOffset. Used it to implement a safety in do_[sg]et_props_from_offsets(). * objects/flowchart/diamond.c: the diamond's text was not saved, and thus not even copied (c&p). * objects/standard/textobj.c: ditto. Most of the above changes thanks to Robert Young's testing. Thanks ! 2001-08-14 Kjartan Maraas * sheets/*.sheet: Added some Norwegian translations (both nynorsk and bokmål). 2001-08-13 Cyrille Chepelov * lib/proplist.c (prop_list_from_descs): added a call to prop_desc_list_calculate_quarks(). (find_prop_by_name_and_type): too embarrassing to tell. * lib/propdesc.c (prop_desc_list_calculate_quarks): converted the while loop to a for loop, for symmetry with prop_offset_list_calculate_quarks(). * lib/geometry.h: new inline function, rectangle_equals. * lib/diagramdata.[ch]: refactored a bit the diagram extents computation logic, and changed it to always be the union of the visible layers' extents. This should close #58882 (Debian #107167), and fixes #55498. * app/display.c: made the initial visible box more coherent with the diagram being loaded's extents. * app/prop_attr.c: don't set the font (from offset) if font_data is NULL. Two brainos in colorprop_load() and fontprop_load(). 2001-08-13 Cyrille Chepelov * lib/properties.[ch]: split in a lot of pieces: * lib/prop_*.[ch] (NEW): all property types are now first-class objects, inheriting from the original abstract Property type. * lib/propdesc.c (NEW): property description handling routines * lib/propoffsets.c (NEW): property offset handling routines * lib/proplist.c (NEW): property list handling routines * lib/propobject.c (NEW): property list <-> object routines * lib/propregistry.c (NEW): holds the PropertyType-->PropertyOps relations. * lib/propinternals.h: prototypes for stuff not usually needed by the outside of StdProps. * lib/Makefile.am: a lot of new files have been added... THE ABOVE CHANGES ARE MAJOR CHANGES AND AFFECT THE WHOLE TREE, IN BOTH INTERFACES AND RUN-TIME STABILITY. * lib/plug-ins.h: bumped up DIA_PLUGIN_API_VERSION * lib/object.h: removed the incestuous relationship with properties.h' contents. Now a Property list is a GPtrArray --> object interface change ! * app/app_procs.c/app_init(): removed a disabled call to a non-existent routine. Added a call to stdprops_init(). * objects/Makefile.am: disabled the construction of EML. I'm not touching these until a certain issue is solved (or this module removed). * app/group.c: * objects/**/*.c except objects/EML/*: adapted all stdprop-using objects to the interface changes. * app/disp_callbacks.c: killed a warning. * lib/dia_xml.[ch]: sprinkled "const" modifiers. * app/commands.c: The macros PROP_VALUE_* have disappeared. Adapted to using the new interface. * plug-ins/dxf/dxf-import.c: * plug-ins/xfig/xfig-import.c: PROP_VALUE_* macros have been removed. Converted to the new API. * plug-ins/python/**/*: I gave up converting this; I can't compile --with-python (problems with object.h defined both by us and by Python). I'll gladly help whomever cares to fix it ! (or, fix it myself if someone tells me how to compile it). * configure.in: added the UNICODE-related progress defines. * configure.in: * lib/geometry.h: On Solaris and perhaps other systems, finite() is defined in ieeefp.h rather than in math.h. Patch from Andrew Halper with further modifications, isinf() is provided by -lsunmath (sunmath.h). * lib/font.c: conditionally disabled Lars' debugging messages. Bracketed the definition of DiaFontFamily with #ifdef HAVE_FREETYPE. 2001-08-11 Lars Clausen > * lib/bezier_conn.h: * objects/standard/bezier.c (bezierline_create): * lib/bezier_conn.c (bezierconn_init): Preparations for use of userdata for bezier lines. * objects/standard/polygon.c: * objects/standard/create.h: * lib/polyshape.c: * lib/polyshape.h: * plug-ins/xfig/xfig-import.c: Use of user_data for polygon as well, including adding polyshape_set_points. Include file for non-interactive creation of standard objects, objects/standard/create.h 2001-08-10 Lars Clausen > * app/render_gdk.c: * app/render_gdk.h: * lib/font.c: * lib/font.h: * lib/widgets.c: More preliminary freetype support. Not at all functional, crashes when rendering. * lib/poly_conn.h: * lib/poly_conn.c: * objects/standard/polyline.c: Support for creating polyline objects with more than two points. This includes an extra function and a prototype change in the poly_conn lib object. * lib/object.c (object_copy): Fixed memory leak of handles and connections. 2001-08-08 Abel Cheung * dia.desktop: added traditional Chinese strings 2001-08-04 Cyrille Chepelov * NEWS: updated to reflect build-time dependencies. * lib/properties.[ch]: wrote get_prop_descriptions() as a wrapper around obj->ops->describe_props(obj). Quarks are none of an object's business in the general case... * lib/text.c: Added an apply_textattr_properties() function to factor out some common code related to applying a dialog's text attribute properties to a (Text *) which wasn't edited there. Ditto for textstr, for the string part of an objet. * objects/GRAFCET/action.c: * objects/SADT/annotation.c: * objects/SADT/box.c: used apply_textattr_properties(). * objects/UML/actor.c: * objects/UML/branch.c: * objects/UML/component.c: * objects/UML/constraint.c: * objects/UML/small_package.c: * objects/UML/state.c: * objects/UML/usecase.c: * objects/UML/large_package.c: * objects/UML/note.c: * objects/UML/node.c: * objects/UML/message.c: * objects/UML/classicon.c: * objects/UML/object.c: * objects/UML/realizes.c: * objects/UML/dependency.c: * objects/UML/implements.c: slim-fast(tm) cure using more StdProps, and UTF-8 audit. (most objects were already using StdProps to some extent ; this systematises usage and removes some dead wood). * objects/UML/stereotype.[ch]: use UTF-8 internally. const police work. * objects/UML/uml.[ch]: audited for UTF-8. * objects/UML/class.c: the UML_STEREOTYPE_* strings defined by uml.h can be in UTF-8... this code isn't yet ready. Duplicating a private (ISO-8859-1) definition. * lib/charconv.c: Added a warning if we didn't run nl_langinfo(CODESET) but rely instead on a hardcoded default. 2001-08-02 Cyrille Chepelov * lib/diamenu.h: * app/disp_callbacks.c: added a way for an object to cause an already realised menu to be destroyed (for instance if it changes too much). * objects/custom/custom_object.c: used the above to fix #55073. 2001-08-01 Lars Clausen * configure.in: Remove 2.50 prereq. 2001-07-30 Cyrille Chepelov * po-checktrans.py: under some circumstances, there was one column more than what was supposed to be, thus breaking the formatting. 2001-07-29 Cyrille Chepelov * objects/SADT/annotation.c: forgot to add a #include * NEWS: updated with new stuff since 0.88 * shapes/network/antenna.shape: the text was misplaced ; fixed. * shapes/network/firewall.(shape|xpm) (NEW): a brick-wall looking firewall router (upon request from Cyril Lacoux ) * configure.in (didn't rename to configure.ac): autoconf 2.50 constructs were used ; added an AC_PREREQ call to guard against older autoconfs. 2001-07-27 Cyrille Chepelov * lib/properties.c: minor clean-ups with the event delivery code. * EML/instantiation.c: brought this object back from stone and ice age. * app/diaconv.c(NEW): added a command-line conversion tool. Still lacks a man page and correctness. In fact, it doesn't work. Please see #58196 if you want to finish it. * lib/message.[ch]: redefined things a little so that a different message_internal routine could be passed. applications can use that to fit themselves to the display model. 2001-07-26 Cyrille Chepelov * objects/SADT/box.c: * objects/GRAFCET/action.c: spelling in property descriptors (name field...) * objects/SADT/annotation.c: ditto, plus a temporary test of the event delivery code (try to click on the "click me !" button !). * app/group.c: * lib/properties.[ch]: improved (fixed) support for group event handlers. Fixed various things from yesterday's code to make it not too obviously crash. 2001-07-26 Cyrille Chepelov * app/group.c: added delivery of events to the first member of the group which is able to process it. * lib/properties.c(prop_desc_lists_intersection): properties don't match if they don't have identical event handler. * lib/properties.h: simplified the PropEventHandler signature. Event delivery code is still untested so far, but should be lurking harmless. 2001-07-25 Cyrille Chepelov * lib/properties.[ch]: Added (untested !) property event handler capability. Added a new PROP_TYPE_BUTTON, for the purpose of generating such events. This stuff compiles, and should lurk around silently as long as you don't declare property descriptors with events (AFAICT). In object_create_props_dialog() and friends: attached a single structure with lots of data instead of lots of little attachments of data to the dialog widget. * lib/object.h: fixed mild typedef breakage introduced by the above. 2001-07-17 Lars Clausen > * lots of files: Changed Font to DiaFont * */Makefile.am: Added FREETYPE_LIBS * plug-ins/xfig/xfig-export.c: Improved (working:) color handling 2001-07-13 Kjartan Maraas * configure.in: Added "nn" to ALL_LINGUAS. 2001-07-09 Alex Larsson * app/disp_callbacks.c: Add gdk_im_ready() calls to XIM code. 2001-07-04 Cyrille Chepelov * lib/properties.[ch]: splitted prop_get_widget() into prop_get_widget() (gives a widget but doesn't fill it) and prop_reset_widget() (fills an existing widget with a property's value). * lib/widgets.[ch]: const enforcement police work. * shapes/network/antenna.shape: added a connection point at top, upon request from . 2001-06-25 Cyrille Chepelov * intl/*: tested with gettext-0.10.38 * configure.in: moved a macro call around (AM_PROG_CC) to keep some of autogen.sh from complaining. * INSTALL: added a warning against gettext older than at least 0.10.36 2001-06-19 Cyrille Chepelov * configure.in: added explicit calls to AM_LANGINFO_CODESET and AM_ICONV (both provided by gettext) 2001-06-14 Cyrille Chepelov * lib/charconv.c: corrected the degraded mode for when !HAVE_UNICODE. Thanks to Ben A. Hetland for reporting this. * objects/chronoline/chronoline_events.c: UTF8 compliance. 2001-06-13 Cyrille Chepelov * lib/properties.[ch]: convenience macros around PROP_NOTEBOOKS ; new "eye candy" properties: PROP_MULTICOL_(BEGIN|PAGE|END) to lay widgets on several columns, PROP_FRAME_(BEGIN|END) to put widgets into a frame box. * objects/chronogram/chronoline.c: * objects/chronogram/chronoref.c: took advantage of the above to make nicer looking dialogs. * lib/charconv.[ch]: added charconv_unichar_to_utf8 ("inspired" from libunicode's internals). * lib/message.c: convert strings to local encoding prior to display (UNICODE_WORK_IN_PROGRESS) * lib/properties.[ch]: convert strings to local encoding prior to display, and back to UTF8 (UNICODE_WORK_IN_PROGRESS). * lib/render.h: tagged strings as (utfchar *) instead of (char *) * lib/stringprerenderer.[ch]: ditto (lib/text.c has been audited for UTF8, but the size of the changes make them inappropriate for commit before 0.89) 2001-06-12 Cyrille Chepelov * objects/boolequation.h (_boolequation): made the prototypes for match the .c file. * samples/grafcet.dia: minor non-conformance with IEC-848 fixed (in the transition from step 100 to step 101). * lib/properties.[ch]: added a flag (PROP_FLAG_DONT_MERGE) to disallow editing of properties if the object is part of a group. * objects/chronogram/chronoline.c: * objects/SADT/annotation.c: * objects/SADT/box.c: * objects/GRAFCET/step.c: * objects/GRAFCET/transition.c: * objects/GRAFCET/condition.c: took advantage of PROP_FLAG_DONT_MERGE. 2001-06-12 Hans Breuer * lib/libdia.def : removed lazyprop exports * lib/makefile.msc : removed lazyprop.obj * objects/custom/custom_objects.c : use HAVE_UNISTD_H and avoid crashes by always creating a custom->text, when (custom->info->has_text) * objects/makefile.msc : removed sybase from build * objects/GRAFCET/boolequation.c (_boolequation) : ObjectNode is a pointer already, which is what we want instead of a pointer pointer. * plug-ins/wmf/wmf.cpp : fixed problem with arc scaling and implemented working export for images * shapes/network/zip-disk.shape : added connection points 2001-06-12 Cyrille Chepelov * objects/SADT/box.c: removed lazyprops for standard props. * objects/chronograms/chronoline.c: removed lazyprops (phew !) * objects/chronograms/chronoref.c: ditto * lib/Makefile.am: * lib/dummy_dep.h: * lib/connpoint_line.c: * lib/lazyprops.[ch] (DELETED): good riddance (closes #55895) * lib/properties.[ch]: new property types: - PROP_TYPE_STATIC: static text to be displayed in the dialog. - PROP_TYPE_MULTISTRING: same as string, but renders as a multi-line entry box. - PROP_TYPE_NOTEBOOK_BEGIN,_PAGE,_END: stuff to make dialogs in a tabbed-notebook style (this is a bit complicated to use; see objects/chronograms/chronoline.c for an example). 2001-06-11 Cyrille Chepelov * objects/GRAFCET/boolequation.[ch]: zap lazyprops. Add standard props. * objects/GRAFCET/step.c: ditto. * objects/GRAFCET/vector.c: ditto. * objects/SADT/annotation.c: ditto. * objects/SADT/arrow.c: ditto (plus bounding box fixes). * lib/properties.[ch]: two more non-visible types (PROP_TYPE_ENUMARRAY and PROP_TYPE_INTARRAY). * lib/neworthconn.[ch]: * lib/orthconn.[ch]: added support for manipulation through standard properties. * configure.in: removed -fomit-frame-pointer, this seems to confuse recent gcc/gdb's, maybe we'll get better stack dumps in bugzilla. * charconv.[ch]: more functions from unicode.h. get_local_charset() wasn't working properly, fixed now. A subtle crashbug in charconv_utf8_to_local8() nailed (thanks to ElectricFence !) * objects/EML/process.h: pulled the bits of lazyprops.h it uses. * lib/lazyprops.[ch]: put a big fat warning in. * app/render_eps.c: one line mysteriously went away, causing a variable to be used uninitialised.... 2001-06-10 Cyrille Chepelov * app/app_procs.c: commented out the call to bind_textdomain_codeset(): it's premature. * lib/connpoint_line.c: a NULL point can be given to connpointline_adjust_count(), in case there's not really a clicked point. * lib/textattr.h(NEW): moved the definition of TextAttributes to sort #include order troubles. #included by lib/text.h, so there is no impact outside lib/. * lib/properties.[ch]: added support for CONNPOINT_LINE and (nonvisible) TEXT properties. * objects/GRAFCET/action.c: * objects/GRAFCET/vergent.c: dropped lazyprops for standard properties. * objects/UML/lifeline.c: pruned some legacy stuff (now pure standard properties code). Grafted a dynamic number of connection points (heavily inspired from what Vergent does). This is the real fix for #55863. * objects/GRAFCET/boolequation.[ch]: audited for UTF-8 * lib/fonts.c: some hardening (mostly g_assert()) 2001-06-09 Cyrille Chepelov * app/app_procs.c (app_init): added a call to bind_textdomain_codeset() so that gettext gives us UTF-8 strings (UNICODE_WORK_IN_PROGRESS). 2001-06-08 Cyrille Chepelov * plug-ins/xfig/xfig-import.c: corrected a typo (fixes #55910) * objects/UML/lifeline.c: patch from Marc (fixes #55863) : some clean-ups in the handling of connection points. Now the total number of connection points is just a #define (the proper solution is to retrofit the GRAFCET Vergent's dynamic behaviour wrt connection points). 2001-06-07 Cyrille Chepelov * app/app_procs.c (app_init): added a call to unicode_init() (only if HAVE_UNICODE, of course). * lib/charconv.c: simplified the code which detects the local charset. No need to use , libunicode already takes the burden of figuring that out. Also, if local charset is utf8, no conversion will take place. Exposed a way to get the current charset (similar to unicode_get_charset() but actually working, hopefully). * lib/charconv.h: Added a partial non-UTF8 implementation of unicode.h if !HAVE_UNICODE (actually, all the time for the moment). The UTF8 implementation is just macros on libunicode (use the functions prefixed by uni_, as defined by charconv.h, not unicode_, unless that code is to be compiled only if HAVE_UNICODE). From now on, all strings which don't *need* to be ASCII should be utfchar *, not gchar *. Just include charconv.h, let it sort out the details (such as: "is libunicode available and enabled?") * lib/ps-utf8.c: fixed a few name clashes. Used the charconv.h "API" instead of directly libunicode. Removed the now unnecessary speculative clustering of characters in encoding pages. * app/render_eps.c: made the local8->utf8 conversions dependent of !UNICODE_WORK_IN_PROGRESS (this is not where the local8/utf8 boundary will be when this WIP is done). * lib/dia_xml.c (data_point): fixed a format string typo. * po/POTFILES.in: added all C files from lib/ 2001-06-06 Cyrille Chepelov * app/disp_callbacks.c: make sure the objects' connected objects are updated when the objects' size changes after a keypress event (fixes #51222) * configure.in: added a big warning about the possible future non-optionality of --enable-unicode. * TODO: removed entries which look like done ; added a few ones (Bugzilla "enhancement" bugs may be a better way to keep track of this) 2001-06-05 Cyrille Chepelov * objects/UML/message.c: got rid of #55564 and of message_copy() by using more standard properties (are the message_state_*() functions still necessary ?) 2001-06-04 Fredrik Hallenberg * lib/plug-ins.c: * objecs/custom/shape_info.c: * plug-ins/shape/shape-export.c: * plug-ins/svg/render_svg.c: patch from obecian use xmlChar instead of obsolete CHAR. 2001-06-03 Hans Breuer * app/diagram.h : added prototype for diagram_update_menu_sensitivity() * app/commands.c : give the right number of parameters to diagram_update_menu_sensitivity () * app/preferences.c : do proper initialization for DiaPrefsData: render_bounding_boxes. It would be a real surprise if 'hidden' properties would have ever worked before. Don't try to access the widgets of hidden property, it does not have one. * lib/diagramdata.h : make render_bounding_boxes a DIAVAR, cause it is defined in libdia, but initialized from dia app, which otherwise gave nice start-up crashes. * lib/diagramdata.c : initialize the color for rendering bounding boxes in the Dia range (0 .. 1.0) * lib/libdia.def : added *_bbox functions for export * lib/makefile.msc : added new sources * objects/custom/custom_object.c : use HAVE_UNISTD_H 2001-05-30 Cyrille Chepelov * app/interface.c: * app/menus.c: patch from Hubert Figuiere ; removes a translation of menus (in a place where there shouldn't have been), which gets rid of a waterfall of warnings if LANG!=C, and a fix to #55047. 2001-05-29 Steffen Macke * lib/charconv.c : added #include * app/dia_embedd.c : updated menus_get_item_from_path usage 2001-05-27 Cyrille Chepelov * lib/ps-utf8.c: Strings in Symbol fonts were incorrectly rendered. Added a special case for Symbol strings, so that they're not re-encoded using the LN encoding (we use the bare Adobe encoding instead). * objects/custom/custom_object.c: Now that #52912 is fixed, I could remove the ugly hack I wrote to squash the shape bounding box problem shown by Ben A. Hetland a few months ago, and fix it properly this time. * lib/text.c: enlarged a little the bounding box to account for the cursor in rightmost position. * lib/diagramdata.c: draw bounding boxes only if the relevant variable is set (as before), but also only if the rendere is interactive (ie, don't bother rendering bounding boxes on Postscript...) Made the bounding box's line width a fixed value, 0.01 * lib/boundingbox.c: fixed the "pointy corners" code for polylines and assymmetric control beziers. Implemented ellipse_bbox(). * Makefile.am: incantations to get po/dia.pot build, as suggested by Hubert in #55075. * shapes/network/computer.shape: typo fixed. * shapes/network/antenna.shape: fixed #55074 (antenna is now properly translucent, except for its base where it makes sense. It doesn't look that ugly anymore if transparent mode is on). * configure.in: --enable-unicode is now the default. This still currently affects only printing. 2001-05-26 Cyrille Chepelov * lib/boundingbox.c: fixed a minor logic error wrt closed shapes. The overshoot code is buggy, and the bounding boxes for polyshapes looks a bit cheezy. To be done ASAP. 2001-05-26 James Henstridge * configure.in: call AM_PATH_PYTHON rather than AM_PATH_PYTHON_JH. This should clear up some of the build problems people have been having. * acinclude.m4: call AM_PATH_PYTHON_JH AM_PATH_PYTHON 2001-05-26 Cyrille Chepelov * lib/Makefile.am: * lib/boundingbox.[ch] (NEW): (some) refactoring of the bounding box code (beginning with lines, polylines and polybeziers), into a more generic facility. While at it, a better shot at correctly computing the bounding box of a Bezieroid (should take care of #53424, #51233 and of course is part 1 of #52912). * lib/diagramdata.c: turned the RENDER_BOUNDING_BOXES conditional into a hidden preference (set render_bounding_boxes in diarc). * app/preferences.[ch]: Added support for hidden preferences. * lib/geometry.[ch]: sprinkled with "const" modifiers. * lib/bezier_conn.[ch]: * lib/beziershape.[ch]: * lib/connection.[ch]: * lib/element.[ch]: * lib/poly_conn.[ch]: * lib/orth_conn.[ch]: * lib/neworth_conn.[ch]: * lib/polyshape.[ch]: adapted to take advantage of boundingbox.[ch] instead of relying on private (duplicate) code. * object/FS/flow.c: * object/GRAFCET/action.c: * objects/GRAFCET/condition.c: * objects/GRAFCET/vergent.c: * objects/GRAFCET/vector.c: * objects/SADT/annotation.c: * objects/SADT/arrow.c: * objects/ER/participation.c: * objects/UML/constraint.c: * objects/UML/implements.c: * objects/UML/lifeline.c: * objects/UML/message.c: * objects/UML/realizes.c: * objects/UML/generalization.c: * objects/UML/association.c: * objects/UML/dependency.c: * objects/FS/flow-ortho.c: * objects/network/bus.c: * objects/standard/arc.c: * objects/standard/bezier.c: * objects/standard/beziergon.c: * objects/standard/line.c: * objects/standard/polygon.c: * objects/standard/zigzagline.c: * objects/standard/polyline.c: Some *BBExtras structures changed names while moving to boundingbox.[ch]. A trivial mass-renaming. 2001-05-20 Cyrille Chepelov * app/disp_callbacks.c (ddisplay_canvas_events): Take into account wheel mouses for scrolling (from Patrick Sung ) * app/display.c (ddisplay_update_scrollbars): from Patrick's suggestion, remove the extra scrollable area (it was only visible to the scrollbars). This is experimental. * objects/custom/custom_object.c: If a shape's icon file doesn't exist, warn and substitute a default icon, instead of crashing. (fixes #52913) * objects/network/network.c: * shapes/network/modularswitch.(shape|xpm) (NEW): * shapes/network/printer.(shape|xpm) (NEW): * shapes/network/genmonitor.(shape|xpm) (NEW): * shapes/network/computer.(shape|xpm) (NEW): * shapes/network/Makefile.am: four less objects, four more shapes. These were the last known RenderObjects. (phew !) * lib/Makefile.am: * lib/dummy_dep.h: * objects/sybase/Makefile.am: * objects/network/Makefile.am: Removed the older Renderobjects from the build, and their infrastructure (not yet deleted, though). * shapes/network/sceadplug.shape: * shapes/network/antenna.shape: * shapes/network/modem.shape: * shapes/network/hub.shape: * shapes/network/rj45plug.shape: * shapes/sybase/client.shape: * shapes/sybase/dataserver.shape: * shapes/sybase/ltm.shape: * shapes/sybase/repserver.shape: * shapes/sybase/rsm.shape: * shapes/sybase/stableq.shape: Minor corrections (line widths were ten times too narrow). 2001-05-19 Cyrille Chepelov * objects/network/network.c: * shapes/network/sceadplug.(shape|xpm) (NEW): * shapes/network/antenna.(shape|xpm) (NEW): * shapes/network/modem.(shape|xpm) (NEW): * shapes/network/Makefile.am: four less objects, four more shapes. * lib/Makefile.am: * lib/diagramdata.c: * lib/render.h: * lib/string_prerenderer.[ch] (NEW): Add a new renderer primitive, predraw_string() (does nothing, to be used as a hook to optimise the character encodings if needed). Added a string pre-renderer, which can be viewed as a filter renderer (to route draw_string() to predraw_string() and ignore the rest, in a first rendering pass) * app/render_eps.c: Took advantage of the above to make wholly optimised Postscript encoding page(s), even (especially) with non-latin1 code (HAVE_UNICODE must be true). (#53512 in fact is wholly resolved). 2001-05-18 Cyrille Chepelov * lib/charconv.c: steps towards resolution of #53512 (inspired by Alexey Novodvorsky 's patch). * app/menus.c (dia_menu_signal_proxy): checked that the signal handler is not NULL before transferring control to it... (fixes #52836) * app/app_procs.c (app_init): removed non-constant initialiser (fixes #52950) * objects/custom/custom_object.c: * objects/custom/shape_info.[ch]: * objects/custom/test.xml: merged patch #53476 from Steven Hawkins . This add support for a shape element, and some related style properties (font, font height, alignment) * doc/custom_shapes: a precision about the meaning of case in a SVG path (closes #52364) * lib/dummy_dep.h: fix for SGI IRIX 6.2 (#53053, reported and fixed by ) 2001-05-17 Cyrille Chepelov * objects/network/network.c: * shapes/network/Makefile.am: * shapes/network/hub.(shape|xpm) (NEW): * shapes/network/flash.(shape|xpm) (NEW): * shapes/network/rj45plug.(shape|xpm) (NEW): More shapes, less renderobjects. 2001-05-16 Cyrille Chepelov * plug-ins/svg/render_svg.c: typo made exported ellipses corrupted (zero Y pseudo-radius). * objects/network/network.c: * objects/network/disc.c: * shapes/network/disc.(shape|xpm): Converted the first Renderobject into a shape. Normally, old diagrams should reload without problems (please check this against your diagrams). More flexibility should be gained that way. I intend to hunt and eradicate all renderobjects as I can commit cycles to that. * objects/Makefile.am: * configure.in: * app/Makefile.am: * objects/sybase/sybase.c: * shapes/sybase/Makefile.am(NEW): * shapes/sybase/client.(xpm|shape) (NEW): * shapes/sybase/dataserver.(xpm|shape) (NEW): * shapes/sybase/ltm.(xpm|shape) (NEW): * shapes/sybase/repserver.(xpm|shape) (NEW): * shapes/sybase/rsm.(xpm|shape) (NEW): * shapes/sybase/stableq.(xpm|shape) (NEW): converted Sybase renderobjects into shapes. The Sybase objects are now not compiled anymore, and ready to be nuked if nobody objects in the next few weeks. * app/commands.c: * app/diagram.[ch]: * app/disp_callbacks.c: * app/display.[ch]: * app/interface.[ch]: * app/menus.[ch]: * app/modify_tool.c: * app/preferences.[ch]: * app/recent_files.c: * app/select.c: Added patch #52364 from Hubert Figuiere. This adds a menu bar reflecting the popup menu, to each display window. This is optional (changing the preference currently doesn't affect already opened windows; a few other rough edges to cut). * plug-ins/wpg/wpg.c: * plug-ins/xfig/xfig-import.c: * plug-ins/python/pydia-property.c: * plug-ins/python/pydia-properties.c: * plug-ins/python/pydia-geometry.c: * plug-ins/pstricks/render_pstricks.c: * lib/arrows.c: * objects/EML/dbox.c: * lib/ps-utf8.c: paleolithic C compilers choke on //. Should fix #53054. * lib/ps-utf8.c: improved the clustering of alphabetic character definitions in custom encodings pages. 2001-05-02 Hans Breuer * lib/object.h : OBJECT_COMMON_PROPERTIES_OFFSETS correct type of 'obj_bb' to PROP_TYPE_RECT * objects/custom/custom_object.c : take all quarks into account, not only 4 as copy&paste suggests * objects/uml/objects.c : completed the implementation of the property api to avoid reading of totally bogus data. Removed the PROBABLY_DEAD_CODE. It actually was dead code, but not because there was too much but too less ... The above changes removed all known crashes (mentioned below) from the Property API. Property access is still incomplete though. * objects/flowchart/box.c : * objects/flowchart/diamond.c : * objects/flowchart/ellipse.c : * objects/flowchart/parallelogram.c : * objects/uml/classicon.c : * objects/uml/state.c : calculate number of quarks from quark array size instead of using hardcoded values for consistence and to avoid future bugs like the above * objects/eml/nlist.c : include for strcmp() * lib/dia_xml.c : relax g_warning for values, which appear to be too small. There is nothing which prevents them while saving * plug-ins/python/pydia-geometry.c : changed stringifying of geometry objects accept BezPoint back to %f, which does not crash anymore, because all the data is intialized now and it simply is more readable than %e ... * plug-ins/python/python-startup.py : removed dependency to PyGtk, because it isn't required here and probably won't in i.e.: export filters. * plug-ins/python/gtkcons.py : create the gtkoutfile even if sys.stderr.fileno() isn't supported * app/makefile.msc : make version 0.88 * plug-ins/makefile.msc : make version 0.88 an added new xfig files to build 2001-05-11 James Henstridge * NEWS: remember to add news items this time. * dia.spec: update spec file for 0.88 release. * configure.in: up version number to 0.88 * plug-ins/python/Makefile.am (EXTRA_DIST): fix up typo that was preventing any of the useful python scripts from being distributed. * sheets/Makefile.am (sheet-translation-report): fix bustage I introduced in my fixups for the 0.87 release :( 2001-05-10 Lars Clausen * plug-ins/xfig/xfig-import.c: Finally got groups working. 2001-05-09 Lars Clausen * plug-ins/xfig/xfig-import.c: Improvements to error handling and group manipulation. 2001-05-09 Cyrille Chepelov * lib/ps-utf8.[ch]: * lib/Makefile.am: fix makefile breakage which led to not including ps-utf8.[ch] in the released tarballs. 2001-05-09 James Henstridge * Makefile.am (core-translation-report): dist scripts needed for this target, and change to $(srcdir) before running. * sheets/Makefile.am (EXTRA_DIST): actually dist the sheets. DATA files aren't automatically included in the tarball by automake because they could be generated files. * objects/EML/Makefile.am (EXTRA_DIST): fix directory names. * doc/en/Makefile.am (install-data-hook): fix up where graphics are installed. * configure.in: up version number to 0.87 * plug-ins/python/*.py: no longer necessary to explicitly set sys.argv, as python.c does it for us now (like it should). * plug-ins/python/gtkcons.py: fix up so it plays nicely as a dia python plugin. * plug-ins/python/python-startup.py: startup script that imports all modules in $(datadir)/dia/python and ~/.dia/python. * plug-ins/python/python.c (dia_plugin_init): change so that it only runs the $(datadir)/dia/python-startup.py script. Make sure that sys.argv and __main__.__file__ are set when calling the startup script. * plug-ins/python/Makefile.am: update makefile. Make it install gtkcons.py plugin. I haven't set any other plugins to install, as they look like they are mainly for debugging purposes. * configure.in: add tests to detect if python is available, so we can build the python plugin. Only run if --with-python passed to configure. 2001-05-08 James Henstridge * acinclude.m4: add macros for detecting python. * app/menus.c (dia_gnome_menu_get_widget): handle paths that point at GNOME_APP_UI_SUBTREE entries. (menus_add_path): function to add a menu item to the menubars. Uses a hash table to keep track of extra menu items it adds. Also notifies the item factory about the entries so that accels can be saved for them. (menus_add_path): implement gtk only version. (menus_init): use menus_add_path() to add the menu. (plugin_callback): simplify. 2001-05-08 Steffen Macke * app/menu.c: removed #ifndef GNOME; GNOME build was broken 2001-05-08 Lars Clausen * plug-ins/xfig/xfig-export.c: * plug-ins/xfig/xfig-common.c: * plug-ins/xfig/xfig-import.c: * plug-ins/xfig/xfig.c: * plug-ins/xfig/xfig.h: * app/Makefile.am: Added support for exporting to Fig format (except splits, which are less powerful in Fig). Some refactoring along the way. 2001-05-02 Hans Breuer * plug-ins/python/debug_objects.py : added another test to get massive crashes from the Property API due to unintialized data. * app/menu.c : the callback_action wasn't incremented (should have checked my last optimization). Now more than one plug-in callback is supported again. * plug-ins/python/pydia-geometry.c : avoid crashes from glib, when trying to g_strdup_printf unintialized floats. * plug-ins/python/pydia-property.c : avoid crashes from because of string_data == NULL (PROP_TYPE_FILE, PROP_TYPE_STRING) 2001-05-01 Hans Breuer * objects/makefile.msc : added eml * objects/eml/instantiation.c : initialize 'inst' pointer before using, zero initialization for objects * objects/eml/interaction-ortho.c : * objects/eml/interaction.c : zero initialization for objects * app/menus.c : removed Gimp mru stuff which slipped in at 2000-08-15, was never activated and will never be needed, because of Steffens recent file list patch added at 2001-01-05. * objects/eml/*.c : some more zero initialization of objects to avoid infinite (uninitialized) bounding boxes Implemented a callback api which allows plug-ins to register menu call backs. Dia for Gnome should compile, but will need some extra tweaking to make it work because I can't test it. * plug-ins/python/pydia-error.h : * plug-ins/python/pydia-render.c : moved Pxthon function return value handling from pydia-render.c to pydia-error.h, to make it usable for * plug-ins/python/diamodule.c : implement callback function registration from and relaying to Python code * app/menus.c : register and use plug-in menu callbacks * lib/filter.[hc] : implement filter_register_callback() and filter_get_callbacks() for the above * lib/libdia.def : export them * plug-ins/python/debug_objects.py (new file): sample using the above 2001-04-27 Lars Clausen * plug-ins/shape/shape-export.c (new_shape_renderer): The name of a shape is now taken from the dir, to conform with standard naming. 2001-04-25 Lars Clausen > * app/properties.c (properties_show): Added title containing object type, plus (hopefully) fix of the ghost properties dialog. 2001-04-16 Cyrille Chepelov * app/display.c: remove the display idle handler in case we destroy the ddisplay (caused crashes in ddd, probably random crashes elsewhere). * autogen.sh: * configure.in: * Makefile.am: hack around gettext-0.10.36's new "features". * lib/properties.[ch]: added new function object_copy_props(). Added new property type PROP_TYPE_ENDPOINTS * lib/connection.h: added support for load/saving through the properties interface. * lib/object.[ch]: object_load/save/copy_using_properties() support functions (code factorisations). * objects/GRAFCET/boolequation.c: check against null values in boolequation_set_value() and boolequation_destroy(). * objects/GRAFCET/transition.c: Converted from lazyprops to standard properties. 31% less (x86) code ! * objects/GRAFCET/condition.c: also converted from lazyprops to standard properties. Also killed lots of code. 2001-04-13 Hans Breuer * plug-ins/wmf/wmf.cpp : changed text conversion from g_utf8_utf16 to g_convert usage. The latter function is already available in tml's last "official" Gtk+ version (2000-12-26). This change allows to use recent Dia with either the official version or the latest cvs "gtk-1-3-win32-production"-branch. 2001-04-14 Lars Clausen > * Patch from David S. Thompson : * app/disp_callbacks.c: - Allow submenus in DiaMenus. - Don't require DiaMenu.title to be non-null (so that submenus aren't required to have titles) * objects/FS/function.c: - object menu now has submenus, an almost complete list of standard-basis verbs, and a start on nouns. - box padding, dash length, and other visual attributes are scaled by the font size... eventually font height will be a function property. - draw functions with smaller font to make initial view hold a reasonable number of functions. 2001-04-13 Cyrille Chepelov * sheets/ER.sheet: * sheets/chronogram.sheet: * sheets/jigsaw.sheet: * sheets/sybase.sheet: Updated Dutch sheet translations from Dag Wieers 2001-04-13 Hans Breuer * app/app_procs.c (app_exit) : added g_return_if_fail (!app_exit_once) to ensure that all the deinitialization is only done once. Fixes recent app exit crash on win32 * lib/dia_xml.c : provide isinf() replacement for msc which does only have _finite() * lib/libdia.def : updated * objects/makefile.msc : added wanlink.c * objects/network/wanlink.c : added M_PI_2 definition for poor platforms which don't have one * objects/standard/arc.c : * objects/standard/zigzagline. c: part of ConectionBBExtras wasn't initialized which led to rather huge bounding boxes (try Ctrl^A on diagrams with Arcs or ZigZagLines). * objects/*/*.c : to avoid further bugs like the above changed all object initializations to g_malloc0 or g_new0 2001-04-09 Cyrille Chepelov * lib/paper.[ch]: get rid of "no previous prototype fo `foo'" by doing a s/T foo()/T foo(void)/ for all possible values of T and foo. * objects/UML/class.c: * objects/UML/usecase.c: * objects/UML/large_package.c: * objects/UML/message.c: * objects/UML/object.c: * objects/UML/lifeline.c: * objects/FS/flow.c: * objects/FS/flow-ortho.c: * objects/FS/function.c: * objects/custom/custom_object.c: * objects/GRAFCET/vergent.c: * objects/chronogram/chronoref.c: * objects/SADT/box.c: * objects/SADT/annotation.c: * plug-ins/dxf/dxf-import.c: * plug-ins/xfig/xfig-import.c: * plug-ins/wpg/wpg.c: * app/command.c: * app/app_procs.c: * app/display.c: /* certainly more WIP than dead code there */ Unused variables, unused static function definitions, forgotten or incomplete prototypes added or fixed, lack of const or unwanted const, etc. (mostly clean-ups of leftovers of the pre-properties era). Non-obvious cases bracketed by #define THIS_IS_PROBABLY_DEAD_CODE, please check these. * app/lineprops_area.c: More of the same. Missing prototypes added, and functions unused outside made static. * app/recent_files.c: * app/properties.c: * app/defaults.c: some variables are used only when doing a GNOME build. * app/magnify.c: missing #include . * app/paginate_gnomeprint.c: Unused variable; missing "message.h". These are a lot of clean-ups (by the way, this compiles and runs cleanly with "gcc-3.0 -O2 -Wall --std=gnu99" too !); please grep for DEAD_CODE, and if it's yours, judge it. 2001-04-07 Cyrille Chepelov * plug-ins/dxf-import.c: some progress with the arcs; still some clean-ups to do and line width scaling issues to figure out. * objects/standard/arc.c: start_point and end_point properties (duplicated from standard/line.c) * plug-ins/xfig/xfig-import.c: zip ! zap ! no more dead DXF import code there. 2001-04-06 Cyrille Chepelov * plug-ins/dxf-import.c: setlocale-related clean-ups and fixes ; preliminary support for arcs (doesn't work). Circles and ellipses are now transparent. Coordinate and width scaling are now a common static constant (probably before morphing into a preference). * sheet/checktrans.py: improved error reporting. Made checktrans count lack of as a lack of translation for language "code" (no, it's not a plot to bring down other language's scores !) * sheet/*.sheet: Ensured all sheets have an encoding="iso-8859-1" in the header, and have components. 2001-04-05 Cyrille Chepelov * objects/custom/custom_object.c: temporary hack to fix the shape bounding box reported by Ben A. Hetland. Proper fix isn't .87 material, see bugzilla #52912. 2001-04-05 Lars Clausen > * objects/standard/image.c (get_directory): Now uses G_SEPARATOR_CHAR_S instead of "/" * sheets/network.sheet: * sheets/Logic.sheet: * sheets/Flowchart.sheet: * sheets/Electric.sheet: * sheets/Circuit.sheet: * sheets/ER.sheet: * sheets/Pneumatic.sheet: * sheets/SDL.sheet: * sheets/UML.sheet: * sheets/GRAFCET.sheet: * sheets/MSE.sheet: * sheets/chronogram.sheet: * sheets/civil.sheet: * sheets/network.sheet: Danish translations. * objects/standard/image.c (get_directory): Changed get_directory to use g_dirname to find the directory part. 2001-04-05 Cyrille Chepelov * sheets/ER.sheet: * sheets/Electric.sheet: * sheets/Flowchart.sheet: * sheets/Logic.sheet: * sheets/network.sheet: More Dutch translations from Dag Wieers. 2001-04-04 Cyrille Chepelov * sheets/checktrans.py: now emits a warning when two descriptions for a single language code are found. * Makefile.am: * sheets/Makefile.am: -translation-reports now also depend on their checktrans.py 2001-04-04 Cyrille Chepelov * sheets/Circuit.sheet: * sheets/Contact.sheet: * sheets/Logic.sheet: * sheets/chronogram.sheet: * sheets/sybase.sheet: Dutch translations from Dag Wieers 2001-04-04 Cyrille Chepelov * po-checktrans.py: Now shows the detailed counts alongside the percentage of translations. 2001-04-03 Cyrille Chepelov * Makefile.am: * po-checktrans (NEW): * po-checktrans.py (NEW): builds core-translation-report: percentages of core (gettext) translations done [Not placed into po/ where that should belong, because of integration fear^Wissues with gettextize]. TO THE KIND ATTENTION OF PACKAGERS: core-translation-report and sheets/sheet-translation-report probably ought to be copied on the user's /usr/share/doc/dia (or equivalent) directory. * sheets/Makefile.am: sheet-translation-report now a simple EXTRA_DIST; make install won't install it by default. 2001-04-03 Cyrille Chepelov * app/preferences.c: changed the default grid colour to something less intrusive. * shapes/SDL/*.shape: * sheets/SDL.sheet: renamed all SDL shapes to conform to the "$LIBRARY - $NAME" convention. THIS REQUIRES FIXING THE EXISTING DIA FILES (well, for files using SDL), see the mailing list archive "SDL (ab)using the global shape namespace" for a script to do this conversion. * sheets/SDL.sheet: translated into French * sheets/network.sheet: fixed XML typos. Yay ! 100% :-) 2001-04-02 Cyrille Chepelov * lib/dia_xml.c: made data_point() more paranoid * sheets/Makefile.am: * sheets/checktrans (NEW): * sheets/checktrans.py: Made checktrans handle more gracefully the absence of python and python-xml packages, and made the error message more helpful. 2001-04-01 Lars Clausen > * lib/render_object.c (new_render_object): Made initial handles behave like on most other objects. * app/load_save.c (read_objects): Fixed premature free'ing ofr typestr causing garbage. 2001-04-01 Lars Clausen * objects/FS/flow-ortho.c: Fixed a crashbug causes by not accouting for handle ordering through copy and save. (#51479) 2001-03-31 Cyrille Chepelov * sheets/Circuit.sheet: Norwegian translation mistagged to German. 2001-03-31 Steffen Macke * sheets/Circuit.sheet * sheets/UML.sheet * sheets/network.sheet: Updated German translations 2001-03-30 Cyrille Chepelov * lib/arrows.[ch]: * lib/widgets.c: * app/lineprops_area.c: The return of the revenge of the arrow heads. Now all types covered by ISO 10303-201 should be covered. 2001-03-30 Cyrille Chepelov * sheets/Flowchart.sheet: translations in probably Hungarian were a victim of cut-n-paste from the German one. Fixed (hopefully). * sheet/UML.sheet: translation in probably Norwegian was a victim of cut-n-paste from the French one. Fixed (hopefully). * sheets/Logic.sheet: French translation not tagged with xml:lang="fr". * sheets/checktrans.py: * sheets/Makefile.am: new file, sheet-translation-report, to be installed along the sheets, show how much of them has been translated into which language (I wish the result was prettier...) * po/README: most translators don't read this file, but anyway... * sheets/.cvsignore: * objects/network/.cvsignore: the usual negotiation with CVS. 2001-03-30 Cyrille Chepelov * sheets/*.sheet: French translations 2001-03-28 Cyrille Chepelov Added patch #52363 from Hubert Figuiere : ** objects/network/network.c: ** objects/network/wanlink.c: ** objects/network/pixmaps/wanlink.c: ** sheets/network.sheet: ** objects/network/Makefile.am: a better object to use instead of the older WAN Connection. ** lib/geometry.[ch]: rotation matrix functions in geometry.c (derived from gimp) ** objects/GRAFCET/vector.c: renamed Vector to GRAFCETVector to avoid a name clash * objects/GRAFCET/vector.c: Re-renamed GRAFCETVector into Arc; kept the C file name (because CVS wouldn't like it), and still registering the older object name (but advertising the newer one in sheets/GRAFCET.sheet). 2001-03-24 Hans Breuer * app/dia.def : some plug-ins (currently only python, xfig) are using functions from the dia executable. To get them working these functions need to be explicit exported on win32. IMO the much cleaner way would be to move these functions to libdia, but that would require some long term restructuring ... * lib/libdia.def : updated * plug-ins/makefile.msc : build xfig plug-in 2001-03-24 Hans Breuer * app/diagram.c : g_strdup (dia->filename) because it will be g_free ()d * app/display.c : set ddisp->renderer to NULL after destruction. This may solve or help to identify erroneous access to it after destruction. * plug-ins/wmf/wmf.cpp : convert string from utf8 to wchar to get 'umlauts' working 2001-03-22 Cyrille Chepelov * object/chronogram/chronoline_event.c: stupid bug ; rises and falls were reversed... (look for the patch, and drink a beer to my stupidity) 2001-03-23 Hans Breuer * app/app_procs.c : don't g_error () if the config directory can't be created (at least not on windoze) because it's quite common that the user don't read or understand the FAQ ... * app/cursor.c : use ddisplay_active () instead of active_display from app/display.c * app/display.[hc] : made active_display var static and provide an accessor funtion ddisplay_active_diagram () * app/dia-props.c : don't store the active_diagram, but ask for it everytime it needed. * lib/properties.h : #include "intl.h" * lib/makefile.msc : need to take care of inclusion order to avoid clashes with gtk+2.0's gdk-pixbuf * objects/makefile.msc : added uml/stereotype.c to build 2001-03-23 Lars Clausen > * **/*.c: Added config.h to the remaining .c files, and changed all to be . 2001-03-22 Steffen Macke * lib/arrows.c * lib/arrows.h * lib/widgets.c * app/lineprops_area.c: added new arrow types with double heads 2001-03-20 Steffen Macke * shapes/Civil/civil_gas_bottle.xpm * shapes/Civil/civil_gas_bottle.shape * sheets/civil.sheet * shapes/Civil/Makefile.am: Added gas bottle shape by Arne Battermann 2001-03-20 Lars Clausen > * objects/custom/shape_info.c (load_shape_info): * objects/custom/shape_info.h: * objects/custom/custom_object.c (custom_update_data): Better support for text outside the box -- new attributes 'resize' and 'align' for text entity. Align not fully supported yet. * lib/text.c (text_calc_boundingbox): Adding BB for cursor width. 2001-03-20 James Henstridge * app/interface.c (display_data_received_callback): comment out status message. 2001-03-19 James Henstridge * app/GNOME_Dia.oaf: rename from GNOME_Dia.oafinfo. * objects/UML/realizes.c: similar here. * objects/UML/implements.c: similar here. * objects/UML/component.c: similar here. * objects/UML/generalization.c: same here. * objects/UML/dependency.c: allow NULL for ->name and ->stereotype. This fixes a number of problems in loading saved files. * lib/properties.c: various changes so that NULL string properties should work. * objects/standard/line.c (line_update_data): line->extra.start_long and line->extra.end_long were not being initialised. This fixes potential problems with the bounding box of "Standard - Line" objects. 2001-03-19 Hans Breuer * app/commands.c : added win32 specific code to display a html file. #include "text.h" for text_delete_all prototype. * app/dia.ico : * app/dia.rc : (new) to give Dia win32 an icon * app/win32print.[ch] : new files to support direct postscript file printing on win32. Beware: it *requires* a ps-printer! * app/paginate_psprint.c : disable the signal code for win32 build and added small specific changes to support win32print. * app/makefile.msc : added win32print and linking shell32.lib * lib/libdia.def : updated 2001-03-18 Kevin Breit * doc/en/dia-C.omf: Added file. Dia should now list in the Nautilus Help tabs. 2001-03-17 James Henstridge * app/paginate_psprint.c (diagram_print_ps): add code that traps SIGPIPEs during printing. This gets rid of a number of crashes caused by printing (eg. typing an incorrect print command). * dia.spec (%install): gzip the manpage. * lib/beziershape.c (beziershape_save): fix off by one error in beziershape save code, which was adding an extra segment to the object on save. * app/menus.c: add a separator in the gnome version of the help menu. * app/app_procs.c (app_init): add a --nosplash argument which disables the splash screen. * app/dia_embedd.c (main): don't leave the splash screen open for embeddable component. * app/splash.c (app_splash_init): the gtk_widget_show_now() call didn't seem to be showing the splash screen like expected, so I have replaced it with some code that calls gtk_main() until the first exposure of the window. 2001-03-16 James Henstridge * app/Makefile.am (EXTRA_DIST): add extra pixmaps. * objects/UML/Makefile.am (libuml_objects_la_SOURCES): add stereotype.h * lib/Makefile.am (libdia_a_SOURCES): add diavar.h here. * app/Makefile.am (dia_core_files): remove splash.h from file list, as it doesn't exist. * doc/en/Makefile.am (uninstall-local): remove the docdir on uninstall. * doc/Makefile.am (uninstall-local): target to remove the C symlink. * dia.spec (%files): include the documentation in the package. * app/menus.c (toolbox_menu_items): add menu item for manual, which calls help_manual_callback. * app/commands.c (help_manual_callback): find help file and load netscape to view it. * app/commands.h: add prototype for help_manual_callback() * doc/Makefile.am (helpdir): similar here. * doc/en/Makefile.am (helpdir): make the helpdir $(pkgdatadir)/help/en in the non gnome case. * configure.in (HAVE_GNOME): add conditional. * doc/en/Makefile.am: handle the graphics in a more general way, so it is easier for Kevin to add them to the build (just add them to the GRAPHICS var). * app/Makefile.am (embed_extra_print_files): make the case of building without gnome-print support but with bonobo support work. dia-embedd needs to be include the gnome-print 2001-03-09 Cyrille Chepelov * samples/Makefile.am: included all samples in the distribution.... 2001-03-09 Cyrille Chepelov * configure.in: removed premature test for DPS. Added -*- m4 -*- at the beginning. Made HAVE_UNICODE non-default. po/es_ES.po has vanished, removed it from ALL_LINGUAS. * lib/charconv.[ch] (NEW): a very small wrapper around unicode_iconv to convert strings between utf8 and local charset (actually, ISO-8859-1, though one can do CFLAGS="-DEFAULT_8BIT_CHARSET=\"ISO-8859-2\"" and the like). * lib/ps-utf8.[ch] (NEW): A PostScript Unicoder ; a smallish library to help build Postscript streams which use as many custom font encodings as necessary to correctly represent all characters used (testing from users with non-latin1 and/or more than 256 characters in routine use *very* welcome). * app/Makefile.am, lib/Makefile.am: integrated these into the build process. * shapes/Logic/.cvsignore (NEW): .cvsignore * app/render_eps.h: forwarded some changes Lars forgot to include. * app/render_eps.c: turned off ASCII85 and FILTERS, as this doesn't yet build. 2001-03-08 Kevin Breit * doc/en/home_network.png: Added file. * doc/en/line_props.png: Added file. * doc/en/usage-objects.sgml: Added two graphics to file. * doc/en/usage-quickstart.sgml: Added one graphic to file. 2001-03-06 Kjartan Maraas * app/grid.h: Place comment around text after #endif. * lib/bezier_conn.c: #include . * lib/beziershape.c: #include . * lib/connpoint_line.h: Comment after #endif. * lib/dia_dirs.c: #include . * lib/element.c: Same. * lib/lazyprops.c: #include and "intl.h". * lib/lazyprops.h: Comment out text after #endif. * lib/neworth_conn.c: #include * lib/orth_conn.c: Same here. * lib/poly_conn.c: Here too. * lib/polyshape.c: And here. * lib/properties.c: Remove #include "intl.h" from here and add an array of static strings to work around bug in gettext that makes it miss strings in a #define body. * objects/GRAFCET/action_text_draw.h: Comment out text after #endif. * objects/GRAFCET/boolequation.h: Same here. * objects/chronogram/chronoline_event.h: Add prototype for destroy_cle(). 2001-03-05 Lars Clausen * objects/FS/function.c: * objects/FS/flow.c: * objects/FS/flow-ortho.c: Updated to use properties. 2001-03-03 James Henstridge * lib/lazyprops.c (__propdlg_build_enum): translate the radio button labels when creating them. 2001-02-28 Lars Clausen * objects/UML/actor.c * objects/UML/realizes.c * objects/UML/implements.c * objects/UML/generalization.c * objects/UML/dependency.c * objects/UML/constraint.c Updated to use properties. * objects/UML/stereotype.c * objects/UML/stereotype.h Generalized to any kind of bracketting. 2001-02-28 James Henstridge * app/menus.c: add help entry to the help menu. Need to get this working for the non GNOME case as well (maybe put help under $(datadir)/dia/help for non GNOME?) * doc/en/topic.dat: add a topic.dat file for GNOME menus. * doc/en/dia-manual.sgml (legalnotice): add an id attribute to this element so that we get a meaningful filename in the html translation. * doc/Makefile.am, doc/en/Makefile.am: new makefiles to handle the documentation. * configure.in (DB2HTML): add a check for the db2html program, and set an automake conditional if it is found. * Makefile.am: remove EXTRA_DIST rules that cover doc/ directory, and descend into doc/ directory while building. * configure.in (AC_OUTPUT): add doc/ makefiles to output list, now we need more complex rules for building the docs. 2001-02-25 Hans Breuer * config.h.win32 : some cleanup * app/prefererences.c : g_scanner_(freeze|thaw)_symbol_table are deprecated since glib-1.3.2. Sorry needing to use them contionally, but there is no glib-1.2 for win32 * app/recent_files.c : use g_strescape (params) conditionally * lib/connection.c : include string.h for memcpy * lib/geometry.h : added some stuff for compatibility with msvc, which previously came from included config.h * lib/libdia.def : updated * objects/makefile.msc : updated * objects/GRAFCET/action.c(490) : fixed warning C4700: local variable 'extra' used without having been initialized * objects/network/bus.c(658) : initialize 'extra' * plug-ins/makefile.msc : updated * plug-ins/cgm/cgm.c : * plug-ins/pstricks/render_pstricks.c : g_free() memory allocated by dia_image_rgb_data(). Plugs possibly huge memory leaks. * plug-ins/python/python.c : use HAVE_DIRENT_H 2001-02-23 Lars Clausen * lib/connection.c (connection_update_boundingbox): Made the BB shrink on right and lower sides, too. 2001-02-23 Kjartan Maraas * */*.c: #incude at the top. * */*.h: Remove include of "config.h" since it should only be included in .c files and at the very top for things to work. * sheets/*.sheet: Updated Norwegian translations. 2001-02-22 Lars Clausen * objects/UML/small_package.c: * objects/UML/class.c: * objects/UML/node.c: * objects/UML/usecase.c: * objects/UML/lifeline.c: * objects/UML/message.c: Various cleanup of properties in particular. Now much more use of standard properties. * lib/diagramdata.c (layer_render): Visualization of bounding boxes, for debugging purpoises. 2001-02-22 Cyrille Chepelov * lib/geometry.h: * lib/connection.[ch]: * lib/poly_conn.[ch]: * lib/polyshape.[ch]: * lib/bezier_conn.[ch]: * lib/beziershape.[ch]: * lib/orth_conn.[ch]: * lib/neworth_conn.[ch]: * lib/element.[ch]: Changed a bit the _update_boundingbox() interface. Now the parent elements have an extra_spacing structure, which child objects just need to fill, to take care of most arrow & line width extra space needs. * objects/**/*.c: updated all objects to the new interface. While at it, killed all instances of (Object *) downcasts (phew !) * objects/GRAFCET/condition.c: removed the arrowhead, which IEC848 doesn't speak about. 2001-02-21 Lars Clausen * sheets/Logic.sheet: New sheet for Logic symbols. 2001-02-21 James Henstridge * app/menus.c (dia_gnome_menu_get_widget): new function to find a widget by its path name. Walks the GnomeUIInfo heirachy rather than widget tree, compares untranslated label names and ignores underscores in the labels. (menus_get_item_from_path): use dia_gnome_menu_get_widget so that lookups are not dependent on the current locale, as with gnome_app_find_menu_pos. * acconfig.h: guard against multiple inclusion of config.h. * app/select.c (select_style_callback): simply set the selection style to the value of action. * app/menus.c (menus_init): simplify the item factory based menu code a bit. It looks like it was using some code cut and pasted from the gimp, which looked a bit unnecessary. Things work fine without it. (selectmenu): set the action to the type of selection mode requested. (display_menu_items): use the symbolic enumeration values for the action field. * app/plugin-manager.c: * app/plugin-manager.h: * app/filedlg.c: * app/filedlg.h: * app/select.c: * app/select.h: change prototypes. * app/commands.c: update all callback prototypes, and get rid of some #ifdef GNOME's. * app/commands.h: change function prototypes. * app/dia_embedd.c (save_fn): s/ex_Bonobo_IOError/ex_BonoboStorage_IOError/ * app/menus.c (menus_init): for gnome menus, use gnome_app_fill_menu_custom and pass in a GnomeUIBuilderData structure that proxies the callbacks to have the same signature as GtkItemFactory type 1 callbacks. (menus_init): for GTK menus, change from callback type 2 to type 1. (display_menu_items): add back tearoffs. I don't know who removed these for the gtk menu case. 2001-02-20 Kevin Breit * doc/en/usage-objects-special.sgml: Fixed a few of the special object descriptions. More to come in the next few days. 2001-02-20 Lars Clausen > * app/render_eps.c: Fixed for internationalized floating point output. * objects/UML/note.c: Fixed properties -- was missing Get/ApplyPropertiesFunc. Also improved update to recalculate text position. 2001-02-19 Lars Clausen > * plug-ins/xfig/xfig-import.c: File added importing xfig files. Still very rough, but good enough to let others hack on it. 2001-02-07 Cyrille Chepelov * app/interface.c: * app/linewidth_area.c: * lib/lazyprops.c: * lib/properties.c: * lib/widgets.c: * objects/ER/attribute.c: * objects/ER/entity.c: * objects/ER/relationship.c: * objects/custom/custom_object.c: * objects/flowchart/box.c: * objects/flowchart/diamond.c: * objects/flowchart/ellipse.c: * objects/flowchart/parallelogram.c: * objects/standard/box.c: * objects/standard/textobj.c: per Vlad Harchev's request, made page sizes of gtk_adjustments different than their step sizes. When sensible values of page size weren't found (overwhelming majority of cases), page sizes were set to 10.0 * respective step size. 2001-02-07 Lars Clausen > * objects/network/hub.c: Patch from Hubert Figuiere applied, adding connection points. 2001-02-02 James Henstridge * app/display.c (new_display): set update id to 0 here. (ddisplay_update_handler): rename from ddisplay_flush, and set update_id to 0 at end of processing. (ddisplay_flush): new implementation that simply sets an idle handler to perform the actual drawing. * app/display.h: add structure member to hold the redraw idle handler id. 2001-01-31 Lars Clausen > * objects/standard/ellipse.c (ellipse_copy): * objects/standard/zigzagline.c (zigzagline_copy): Fix of copying provided by Martin Hawlisch. 2001-01-23 Kevin Breit * doc/en/graphics/: added directory * doc/en/graphics/greendots.png: added file * doc/en/*sgml: made minor and some major changes to prepare for 1.4 release. 2001-01-23 Kevin Breit * doc/en/*sgml: made some grammar changes and fixed a few markup bugs. thanks to John Fleck! 2001-01-21 Kevin Breit * doc/en/*sgml: made just minor changes to a few lines; nothing major. 2001-01-12 Michael Meeks * app/dia_embedd.c (init_server_factory): do a bonobo_activate so our POA gets setup properly. * app/paginate_gnomeprint.c (paginate_gnomeprint): g_free things we g_malloc. * configure.in: Use bonobox_print. * app/dia_embedd.c (embeddable_factory): add print interface. (object_print): impl. 2001-01-11 Michael Meeks * app/dia_embedd.c (embeddable_factory): aggregate PersistFile. (load_fn, save_fn): impl. (view_factory): hide modified status bar, & use activate fn. (refresh_view): force redraws of the views. (view_show_hide): split from (dia_view_activate): here. * app/diagram.c (diagram_load_into): split from diagram_load. (new_diagram): simplify bu splittin stuff into (diagram_init): here. 2001-01-10 Steffen Macke * shapes/jigsaw/*.shape: replaced #000000 with foreground and #ffffff with background 2001-01-08 Steffen Macke *configure.in: GTK+-build was broken due to missing have_bonobo=no 2001-01-06 Michael Meeks * app/dia_embedd.c (main): add running context support. (dia_embeddable_destroy): remove old running object counting. (embeddable_factory): ditto. (view_factory): comment out menu path hiding. * lib/sheet.c (load_register_sheet): use free to free stuff from libxml not g_free. * acconfig.h: kill cover for USE_BONOBOX and USE_OAF * configure.in: remove USE_OAF checks, check for a precice Bonobo version >= 0.31, revamp bits. * app/dia_embedd.c (init_server_factory): upd. (init_dia_factory): remove OAF conditionals, everything uses oaf now. * app/GNOME_Dia.oafinfo: rename OAFIIDs * app/Makefile.am: remove ancient gnorba code. rename dia.oafinfo to GNOME_Dia.oafinfo 2001-01-07 Hans Breuer * config.h.win32 * install.win32 * readme.win32 : some more files required or useful to build Dia on win32 * plug-ins/wmf/wmf.cpp : fixed open issues like fill_arc and fill_bezier implementation, boundary drawing in fill mode, etc. Next one complaining gets the source, uncommented ... * shapes/network/router-symbol.xpm * shapes/network/switch-atm-symbol.xpm * shapes/network/switch-symbol.xpm : removed "-*- picture -*- " from /* XPM */ header, cause it stopped Dia/gdk_pixbuf to detect the files as XPMs. Maybe the X versions of these functions are more tolerant ... 2001-01-06 Steffen Macke * plug-ins/python/Makefile.am: added libart path * plug-ins/python/python.c: added dirent.h * configure.in: added es_ES and pt_BR to ALL_LINGUAS 2001-01-06 Hans Breuer * objects/uml/actor.c * objects/uml/branch.c * objects/uml/class.c * objects/uml/classicon.c * objects/uml/component.c * objects/uml/large_package.c * objects/uml/node.c * objects/uml/note.c * objects/uml/object.c * objects/uml/small_package.c * objects/uml/state.c * objects/uml/usecase.c : started to implement the generic property interface for the uml objects. Would appreciate some help on how to implement properties which are list of properties themselves, e.g. member functions and their parameters of UMLClass. 2001-01-06 Hans Breuer * plug-ins/python/diamodule.c : finally ported to win32. Added new objects and implemented register_export function. * plug-ins/python/pydia-object.h * plug-ins/python/pydia-display.c * plug-ins/python/pydia-handle.c PyObject_HEAD_INIT needs some tweakink on win32. Done in pydia-object.h; others files simply using it. * plug-ins/python/pydia-layer.c : reflect layer_find_closest_connection(_)point renaming * plug-ins/python/pydia-object.c : add property properties. Also change bounding_box to DiaRectangle. * plug-ins/python/python.c : extended error reporting; use all *.py files from Dia's plug-in dir instead of hardcoded test.py. This sollution should be fine with Win32, but on Unix it may need some tweaking (dunno) ... * plug-ins/python/export-object.py * plug-ins/python/export-render.py : test and documentation implementations for export filter implementations in Python * plug-ins/python/pydia-color.[hc] * plug-ins/python/pydia-diagramdata.[hc] * plug-ins/python/pydia-error.[hc] * plug-ins/python/pydia-export.[hc] * plug-ins/python/pydia-font.[hc] * plug-ins/python/pydia-geometry.[hc] * plug-ins/python/pydia-image.[hc] * plug-ins/python/pydia-properties.[hc] * plug-ins/python/pydia-property.c * plug-ins/python/pydia-render.c : new objects in new files * plug-ins/python/makefile.am : added new files but can't test it * plug-ins/python/pydia.def * plug-ins/python/makefile.msc : for win32 build * plug-ins/cgm/cgm.c * plug-ins/dxf/dxf-import.c * plug-ins/dxf/dxf-export.c * plug-ins/hpgl/hpgl.c : reflect export API change * plug-ins/shape/shape-export.c : reflect export API change and check for libart (better the availibility of a png exporter) at run-time instead of compile-time. 2001-01-06 Steffen Macke * app/recent_files.h was missing from Hans's commit * plug-ins/shape/shape_export.c: shape export was broken due to interface changes 2001-01-05 Hans Breuer Applied Steffen's recent file list patch : * app/Makefile.am : added recent_files.[hc] * app/diagram.c : add files to recent file list * app/menus.c : add recent file menu * app/app_procs.c : changed initialization order to make recent file list work with command line processing. The Filter export()/import() functions have got an additional parameter to allow multiple filters via one C callback (required for Python bindings) * app/commands.[hc] : corrected the signature for gtk menu callback functions, which actually use the second or third parameter. This is the absolute minimum change to make these functions/menu entries work again. Using the other possible gtk menu callback signature would have required one more function to change. (see mailing list thread "Objects/Align/Equal Distance" for more information. * app/disp_callbacks.c : applied Gustavo J.A.M. Carneiro's zoom-combo focus patch * app/display.c * app/interface.c : wrapped the Zoom Combo code into #ifndef WITHOUT_ZOOM_COMBO because IHMO it isn't an useabilty improvement but cluttering the user interface. Also it wasn't compiling on Win32 anyway. The win32 version does define WITHOUT_ZOOM_COMBO to keep the old look. There are plans to use the statusbar to display size and placement of selected objects, whereas the Zoom Combo would need to get out of the way as well. Added "Save Changes?" to diagram close dialog. Hopefuly the Yes/No/Cancel option isn't too much windoze like. IHMO this is an useability improvement. * app/export_png.c * app/filedlg.c * app/load_save.c * app/layer_dialog.c * app/paginate_psprint.c * app/render_eps.c - reflect signature changing of filter->export function - replaced '/' with G_DIR_SEPARARTOR where appropriate * app/diaunitspinner.c * app/render_libart.c added misssing headers like * app/object_ops.c : fixed copy&paste bug in dialog string * app/splash.c : gdk_widget_show_now () does not ensure actual drawing of the splash screen, at least not on win32. Reuse the previous implementation with gtk_main_iteration() again. * */makefile.msc : make use of the build module (available in gnome-cvs/build. Updated for other source changes * lib/filter.h : added an user_data pointer to port() function signature and DiaportFilter to allow different filters to reuse the same callback function * lib/font.c : #include * lib/orth_conn.c * lib/poly_conn.c * lib/poly_shape.c * lib/neworth_conn.c * lib/text.c : don't mix allocator functions (g_)realloc, free, ... * */*.def : export function definition files required by win32 build * objects/custom/custom.c : #include * plug-ins/pstricks/render_pstricks.c * plug-ins/shape/shape_export.c * plug-ins/svg/render_svg.c reflect changes to filter export function signature * plug-ins/wmf/wmf.cpp : fixed indent and scaling. It now should mostly work as expected * plug-ins/wmf/wmf_gdi.[hc] : Updated comment. Still not used to build the wmf plug-in because on the one hand the GDI emulation isn't finished and on the other hand it isn't required when building for win32. Is there anybody out there, who wants to save WMF on non windoze platforms ? * plug-ins/wpg/wpg.cpp : fixed scaling to take axis dependent offset into account. 2001-01-02 Steffen Macke * app/Makefile.am: added missing plug-ins to run_dia.sh * lib/paper.c: added paper sizes A0, A1, A2 * objects/UML/class.c objects/UML/class.h objects/UML/class_dialog.c: added support for colored UML classes 2000-12-30 Kevin Breit * doc/en/usage-customization.sgml: added more content 2000-12-24 Kevin Breit * doc/en/usage-layers.sgml: added file, contributed by Remypsb 2000-12-24 Steffen Macke * added limiting lines to Civil Engineering sheet, fixed vertical pump icon 2000-12-20 Steffen Macke * updated/additional Civil Engineering shapes: better icons, shapes use foreground/background colors now and are filled 2000-12-03 Kevin Breit * doc/en/dia-manual.sgml Integrated a few diffs. New section should be the selection 2000-11-29 Fredrik Hallenberg * app/load_save.c (diagram_data_save): avoid using obsoleted libxml calls (only matters when compiling with libxml2) 2000-11-25 James Henstridge * app/disp_callbacks.c (ddisplay_drop_object): add a function to handle the tool drops on the canvas. * app/interface.c (display_data_received_callback): do the check to make sure that the drag is from a local toolbox here as well. * app/interface.c (create_tools): unref the pixmap/mask after creating the GtkPixmap. (tool_setup_drag_source): function to set up a drag source for create object tool buttons. (create_tools): setup drag source for CREATE_OBJECT_TOOL's. (fill_sheet_wbox): same here. (create_display_shell): set up the display canvas as a drag destination. (display_drop_callback, display_data_received_callback): functions to handle drops of tool buttons. * app/menus.c (menus_init): don't use gnome_popup_menu_new(). It does weird shit to the user_data pointer for a menu item. Object alignment should work again now. * app/splash.c (get_logo_pixmap): don't unref the bitmap if it is NULL, and mark this function static. (app_splash_init): use gtk_widget_show_now() instead of the gtk_main_iteration loop. (app_splash_init): connecting gtk_widget_destroy to the destroy signal of a widget seems pretty useless. 2000-11-23 Kevin Breit * doc/en/dia-manual.sgml: Added sect1 for advanced object types. Starting development on that part. 2000-11-18 Kevin Breit * doc/en/dia-manual.sgml: Stupid spelling fixes. 2000-11-18 Kevin Breit * doc/en/dia-manual.sgml: Just some small changes I made. Props to Greg LeBlanc on the recommendations. 2000-11-17 Alexander Larsson * app/display.c: (ddisplay_add_display_area): Clip input rectangle to the visible part of the display. (ddisplay_scroll): Optimization, don't scroll and redraw if moving to the same position as before. * app/render_libart.c (renderer_libart_copy_to_window): Removed sanity check. Now moved to ddisplay_add_display_area(). * lib/diavar.h: Added return at end of file. 2000-11-13 Kevin Breit * doc/en/dia-manual.sgml Commited manual changes from Henry House 2000-10-21 Hans Breuer * lib/beziershape.c : The previous code was accessing unowned memory due to IHMO wrong index calculation. Now it appears to be fixed. *Please Review!* * lib/makefile.msc * plug-ins/makefile.msc * objects/makefile.msc * app/makefile.msc: (new files) Makefiles for Dia on Win32, Micro$oft VC only. * plug-ins/pstricks/render_pstricks.c * plug-ins/dxf/dxf-import.c * plug-ins/shape/shape-export.c * plug-ins/svg/render_svg.c * app/commands.c * app/filedlg.c * app/preferences.c * app/render_eps.c * lib/sheet.c * lib/plug-ins.c * objects/custom/custom.c * objects/standard/image.c portability (not only win32): use HAVE_UNISTD_H, HAVE_DIRENT_H where appropriate, add missing prototypes like * plug-ins/wmf/wmf_gdi.cpp * plug-ins/wmf/wmf_gdi.h: start of wmf write functions for non Win32 platform. Not finished yet. The other way to get it working maybe to link the plug-in against wine libs. * plug-ins/wpg/wpg.c : add missing brace * app/load_save.c : Handling for unknown objects at load time. Previously Dia was crashing, if you try to load a file referencing objects whiches plug-ins aren't installed/available. Now it spits out a warning and ignores the unknown objects. * app/interface.c toolbox DND support for files like The Gimp does it. * app/main.c * app/app_procs.h Simple splash screen support and usage. * app/app_procs.c Splash screen, portability fixes, dont' g_error if there is g_get_homedir return NULL. This may remove the one and only FAQ for Win32. * app/menus.c : Make it compile without ENABLE_NLS * app/render_libart.c : Sanity check to avoid calling libart with wrong window coordinates. They come from the update handler. Direct Gdk is dealing nicely with coordinates out of range, libart does access un-owned memory in this case, mostly causing crashes. * app/winmain.c: (new file) Export the Win32 Gui version of the main function. This file is only required for Windoze. * app/splash.c: (new file) splash screen implementation * lib/color.h * lib/font.h * lib/diavar.h: (new file) moved special variable export code to diavar.h, because it is needed in color.h and font.h * lib/paper.c : M$VC cann't export inlined functions. Quick hack to let it link again. Probably the glib mechanics should be used here? * objects/UML/lifeline.c : initialize var before usage * objects/GRAFCET/step.c : removed unused var 2000-10-14 James Henstridge * app/render_gnomeprint.c (draw_image): change code so images don't get flipped when printing. * app/paginate_gnomeprint.c (diagram_print_gnome): check to make sure that the return value of gnome_print_context_new_with_paper_size is not NULL. * app/render_gnomeprint.c (draw_arc): add code to convert arcs into a series of bezier segments. (fill_arc): similar code to handle filled arc segments. 2000-10-12 Fredrik Hallenberg * app/app_procs.c * app/commands.c * app/dia-props.c * app/diagram.c * app/diagram.h * app/disp_callbacks.c * app/display.c * app/linewidth_area.c * app/paginate_psprint.c * app/preferences.c * app/undo.c * app/font.c * app/message.c * app/neworth_conn.c * app/orth_conn.c * objects/standard/box.c: various small changes to get rid of annoying warnings (eg faulty prototypes and unused variables) * app/disp_callbacks.c * app/cursor.h * app/magnify.c * app/magnify.h: update magnify tool icon when pressing/releasing shift. I will try to make something more general so that similar things can be used by other tools. * shapes/SDL/inout.shape * shapes/SDL/return.shape: fixed some typos 2000-10-09 James Henstridge * objects/custom/shape_info.c (parse_path): apply patch from Robert Young to fix bug #25221 2000-10-08 James Henstridge * objects/standard/image.c (image_set_props): if the file could not be loaded, show the broken image icon. * plug-ins/Makefile.am (SUBDIRS): add shape to the subdirs list. * plug-ins/shape/*: the shape export plugin by Steffen Macke. * app/interface.c (fill_sheet_wbox): use gdk-pixbuf to load the object icon when loading from a file. This allows you to have PNG icon files for shapes. 2000-10-07 James Henstridge * app/Makefile.am (dia_LDADD): remove GDK_IMLIB_LIBS reference. * lib/Makefile.am, app/Makefile.am (INCLUDES): remove GDK_IMLIB_CFLAGS reference. * app/commands.c (help_about_callback): remove imlib code. * lib/dia_image.c: only include the pixbuf version of the image routines. * acconfig.h: remove the HAVE_GDK_PIXBUF flag from here. * configure.in (CPPFLAGS): remove the check for imlib, as we now require gdk-pixbuf. * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): conditionally define \setfont as well. 2000-10-05 James Henstridge * plug-ins/pstricks/render_pstricks.c (new_pstricks_renderer): fix preamble so that we define \setlinejoinmode and \setlinecaps commands conditionally on them being undefined. This way, the pstricks output files should work without modification, and will support the commands when they are implemented in pstricks. 2000-10-05 Szabolcs Ban * dia.desktop: added hungarian translations to dia.desktop 2000-10-04 James Henstridge * sheets/UML.sheet: fix typo. * objects/custom/shape_info.c: use strtod instead of g_strtod. (parse_path): actually call setlocale around strtod calls. * lib/dia_xml.c: use strtod rather than g_strtod. We wrap each call in setlocale(LC_NUMERIC, "C"), so there is no reason to call the g_strtod wrapper. * shapes/SDL/: add SDL shapes from Rubens Ramos * acinclude.m4 (DIA_CHECK_CFLAG): fix up macro. * sheets/Makefile.am (SHEETS): add SDL.sheet to list. * shapes/MSE/: add Mobile Subscriber Equipment shapes from W. Michael Petullo . * sheets/Makefile.am (SHEETS): add civil.sheet (which got missed from the 0.86 tarball) and jigsaw.sheet. * configure.in: add shapes/jigsaw/Makefile to list of generated files. * shapes/jigsaw/: jigsaw shapes from Martin Hawlisch. * shapes/network/: add network-additional shapes here. * sheets/network.sheet: add the network-additional shapes from Martin Hawlisch to the main network sheet. 2000-09-30 Fredrik Hallenberg * configure.in: Updated ALL_LINGUAS * po/nl.po: Removed newline from translation 2000-09-17 Asbjorn Pettersen * app/commands.c (help_about_callback): Use G_DIR_SEPARATOR_S in logo filename generation. * lib/dia_dirs.c (dia_get_data_directory): Handle empty subdir better. Avoiding "//dia_logo.png". 2000-09-16 Asbjorn Pettersen * app/filedlg.c: add include to remove warning. (OS/2) 2000-09-13 Cyrille Chepelov * objects/chronogram/chronoline_event.c (reparse_clevent): the __checksum routine was simply bogus. Redone it in a slightly saner way (reported by Michael Farr ). 2000-09-10 Asbjorn Pettersen * app/create_object.c (create_object_button_press): * app/modify_tool.c (click_select_object): * lib/object.h: select renamed to selectf to prevent compiler problems with function select(). OS/2 version. 2000-09-08 Karsten Weiss * po/de.po: Updated. 2000-09-07 Karsten Weiss * dia.desktop: Added German translation * app/menus.c: "Diagram Propeties..." -> "Diagram Properties..." 2000-08-29 Manuel de Vega Barreiro * configure.in (ALL_LINGUAS): added "es" 2000-08-28 Lars Clausen * app/magnify.c: * app/cursor.h: * app/cursor.c: * app/scroll_tool.c: Standardized cursor function get_cursor(). Magnify now has looking-glass cursor with + and -. * app/create_object.c (create_object_button_press): Newly created connections now snap to connection points even when off the grid. 2000-08-17 Daniel Egger * app/menus.c: #ifdef'ed some code for the none GNOME case. * app/dia_embedd.c: Changed obvious hackery. Can anyone please have a look at the GNOME UI menu creation? The gnome-app-helper code is ages old and plainly broken! 2000-08-15 Daniel Egger * app/commands.c: * app/commands.h: * app/diagram.c: * app/display.c: * app/menus.c: * app/select.c: First big patch to get the menus working again in the international version. Copied some code written by Sven and me from GIMP and thus implemented automatic tearoffmenu creation and proper translation. I also removed that pseudo radiomenu hack and cleaned up several translation hacks which have never really worked. All in all this is part I of the big menu patch. Enjoy and tell me if you detect any problems. 2000-08-14 Daniel Egger * sheets/UML.sheet: Changed one German translation as suggested by Heribert Schuetz . 2000-08-10 Fredrik Hallenberg * app/diapagelayout.c: * lib/diagramdata.c: * lib/diagramdata.h: * lib/Makefile.am: * lib/paper.c: * lib/paper.h: honour PAPERCONF env variable and /etc/papersize when selecting paper size for a new diagram. TODO: Use libpaper if available and use gnome_paper-stuff if using GNOME. * sheets/Electric.sheet: fixed typo. 2000-08-08 James Henstridge * po/README: added a readme file to tell translators to translate the .sheet files as well. * app/commands.c (help_about_callback): fix small bug where we tried to gdk_bitmap_unref() the mask for the about box image, even though it was NULL. Now check for a NULL mask. 2000-08-07 Daniel Egger * sheets/*.sheet: Added translations for the name in the toolbar tab. Brushed up some descriptions and some translations a bit. 2000-08-06 James Henstridge * plug-ins/svg/render_svg.c (new_svg_renderer): update public identifier and dtd url for SVG output. (new_svg_renderer): fix the output of the viewBox output. The second two numbers are the width and height -- not the right and bottom sides of the box. * shapes/*/*.shape: update svg namespace URI. * objects/custom/shape_info.c (load_shape_info): change the namespace URI for custom shapes yet again to match the Candidate Recommedation. It looks like this one will probably be the final one. * app/display.c (new_display): remove the code that sets ic and ic_attr members to NULL, as one of the previous function calls causes the display to be realised. This means that the ic gets lost. Thanks to Yukihiro Nakai for finding this one. 2000-08-06 James Henstridge * shapes/Makefile.am (SUBDIRS): add Civil back to list. * NEWS: fixed date in NEWS file, as I will release today. * README: updated the README a little. Added note that Dia is now a GNU program. * dia.spec: fix up spec file. * plug-ins/wpg/wpg.c: changed DIAG_NOTE stuff here as well. * plug-ins/hpgl/hpgl.c: change Hans's DIAG_NOTE stuff so that we don't get heaps of warnings when you turn off debugging. Also made a few other warning fixes. 2000-08-02 James Henstridge * plug-ins/svg/Makefile.am (INCLUDES): add XML_CFLAGS to INCLUDES. * configure.in: update version number. 2000-08-01 James Henstridge * app/commands.c (help_about_callback): add Hans to about dialog. * doc/shape.dtd: dtd for shape file format. * doc/custom-shapes: update doc file about creating custom shapes. * shapes/*/*.shape: change namespace URI for the SVG portion to the one for the latest draft. * shapes/*/*.shape: fix up rect definitions. * objects/custom/shape_info.c (load_shape_info): recognise newer namespace tag for SVG. (parse_svg_node): the rect element should take attributes x, y, width and height -- not x1,y1,x2,y2. * plug-ins/svg/render_svg.c (new_svg_renderer): updated doctype output to use the newest draft DTD. * plug-ins/svg/svg.c: initialisation code for plugin. * plug-ins/svg/render_svg.c: move svg export code to a plugin. * plug-ins/svg/Makefile.am: makefile for svg plugin. * app/app_procs.c (internal_plugin_init): don't register the svg export filter here. * app/Makefile.am (dia_core_files): don't compile in render_svg.[ch] 2000-07-31 James Henstridge * objects/standard/textobj.c (textobj_get_defaults): * objects/standard/polygon.c (polygon_get_defaults): * objects/standard/image.c (image_get_defaults): * objects/standard/ellipse.c (ellipse_get_defaults): * objects/standard/box.c (box_get_defaults): * objects/standard/beziergon.c (beziergon_get_defaults): * objects/flowchart/parallelogram.c (pgram_get_defaults): * objects/flowchart/ellipse.c (ellipse_get_defaults): * objects/flowchart/diamond.c (diamond_get_defaults): * objects/flowchart/box.c (box_get_defaults): * objects/custom/custom_object.c (custom_get_defaults): * objects/FS/flow.c (flow_get_defaults): * objects/FS/flow-poly.c (flow_get_defaults): * objects/FS/flow-ortho.c (orthflow_get_defaults): ref and sink the defaults widget. * app/defaults.c (defaults_show): don't keep on ref'ing the defaults widgets for various object types. (create_dialog): ref and sink the no_defaults_dialog. * app/preferences.c (prefs_create_dialog): change gtk_container_border_width call to gtk_container_set_border_width. 2000-07-29 James Henstridge * app/commands.c (view_aa_callback): show a warning dialog if you start AA mode. * app/interface.c (fill_sheet_menu): don't add a menu item for empty sheets. 2000-07-26 James Henstridge * plug-ins/dxf/dxf-export.c: updates from Steffen to fix bug #18677 * app/menus.c: remove edit grid menu item. * app/commands.[ch] (view_edit_grid_callback): removed. * app/display.c (new_display): don't initialise removed Grid members. * app/grid.c: remove unused functions. * app/grid.h: remove dialog related stuff from Grid structure. Remove prototypes for dialog functions. * app/menus.c: add to menus * app/commands.[ch] (view_diagram_properties_callback): new command for showing the diagram properties dialog. * app/dia-props.[ch]: a new diagram properties dialog. To replace the edit grid dialog. 2000-07-25 James Henstridge * app/grid.c (grid_x_update): (grid_y_update): as the grid setting is stored with the diagram, update all displays when a change is made. * app/modify_tool.c (modify_motion): use new snap_to_grid sig. * app/create_object.c (create_object_button_press): (create_object_motion): use new snap_to_grid signature. * app/grid.c (grid_draw): use the grid settings in the DiagramData, and handle invisible grid lines. (snap_to_grid): use new grid settings. Also changed signature to take a DDisplay rather than Grid pointer. (grid_show_dialog): get the defaults from the correct place. * app/display.c (new_display): do not set ddisp->grid.width_[xy]. * app/diagram.c (new_diagram): set the grid size defaults from the user preferences. * app/load_save.c (diagram_data_save): save grid and guide info to diagram file. (diagram_data_load): add guide and grid load support. * lib/diagramdata.c (new_diagram_data): set the new DiagramData members. * lib/diagramdata.h: add members to DiagramData for grid and guide settings. * configure.in (BONOBO_LIBS): update configure scripts * app/dia.oafinfo: oafinfo file for dia embeddables. * app/dia_embedd.c: add OAF support. 2000-07-24 James Henstridge * plug-ins/wpg/Makefile.am: * plug-ins/pstricks/Makefile.am: * plug-ins/hpgl/Makefile.am: * plug-ins/dxf/Makefile.am: same here. * plug-ins/cgm/Makefile.am: remove LIBADD. Dia already links with the required libraries, and the link line was causing libtool not to build a shared library on some systems :( * plug-ins/cgm/cgm.c (write_real): the initial if statement should be checking x, not n. 2000-07-23 James Henstridge * app/preferences.c (prefs_data): set the "reset tools after create" preference to true by default. That seems to be what most people expect. * app/interface.c (create_sheets): instead of a notebook, use an option menu that updates the sheet tools. The notebook tabs were getting a bit unwieldly, so the option menu should fix that. This also reduces the number of widgets in the tools radio button group, which should make the UI a little more responsive. 2000-07-19 Fatih Demir * configure.in: Added tr to ALL_LINGUAS. [ Yeah, we're now having a Turkish translation, too. ] * dia.desktop: Added the Turkish entries. 2000-07-02 Fredrik Hallenberg * doc/diagram.dtd: changed string-element so it conforms to the output from dia. 2000-06-30 Fredrik Hallenberg * configure.in: added chinese. Use AM_PROG_LIBTOOL instead of AC_PROG_LIBTOOL. * app/app_procs.c: app/load_save.c: app/render_svg.c: lib/dia_xml.c: lib/plug-ins.c: lib/sheet.c: objects/custom/shape_info.c: shapes/Circuit/npn.shape: shapes/Circuit/pnp.shape: sheets/*.sheet: dia now works with libxml2. Libxml2 is a bit more picky when parsing xml and reported errors on all sheet files because they use non ascii characters (added encoding="iso-8859-1"). Also "xml:lang=en@layman" is not proper xml so I commented out these. 2000-06-30 Christopher R. Gabriel * configure.in (ALL_LINGUAS): added Italian 2000-06-27 Sung-Hyun Nam * configure.in (ALL_LINGUAS): added Korean 2000-06-25 James Henstridge * objects/flowchart/parallelogram.c (pgram_create): use default font and add properties interface support. * objects/flowchart/ellipse.c (ellipse_create): use default font and add properties interface support. * objects/flowchart/diamond.c (diamond_create): use default font and add properties interface code. * objects/flowchart/box.c (box_create): use default font. * objects/custom/custom_object.c (custom_create): use default font here too. * objects/standard/textobj.c (textobj_create): update to use default font. * lib/attributes.c: add implementations. * lib/attributes.h (attributes_[gs]et_default_font): add function prototypes for setting/getting a default font. 2000-06-24 James Henstridge * app/paginate_gnomeprint.h: updated prototype. * app/paginate_gnomeprint.c (paginate_gnomeprint): update to use diagram page settings. * objects/standard/beziergon.c (beziergon_copy): same here. * objects/standard/polygon.c (polygon_copy): copy the fill colour as well. * app/undo.h: * app/tool.h (tool_options_dialog_show): * app/scroll_tool.h (free_scroll_tool): * app/render_svg.h: * app/render_libart.h (renderer_libart_copy_to_window): * app/render_gdk.h (renderer_gdk_copy_to_window): * app/properties.h (properties_hide_if_shown): * app/preferences.h (prefs_load): * app/object_ops.h: * app/modify_tool.h (free_modify_tool): * app/magnify.h (free_magnify_tool): * app/linewidth_area.h (linewidth_area_create): * app/layer_dialog.h: * app/handle_ops.h (handle_is_clicked): * app/group.h: * app/grid.h (grid_destroy_dialog): * app/defaults.h (defaults_show): * app/cut_n_paste.h (cnp_exist_stored_objects): * app/create_object.h (free_create_object_tool): * app/connectionpoint_ops.h (diagram_unconnect_selected): * app/commands.h: * app/color_area.h (color_area_create): * app/app_procs.h (app_is_embedded): remove extern keyword from function prototypes. * lib/text.h: * lib/sheet.h (load_all_sheets): * lib/render_store.h: * lib/render_object.h (render_object_load): * lib/polyshape.h (polyshape_closest_segment): * lib/poly_conn.h (polyconn_closest_segment): * lib/orth_conn.h: * lib/object.h: * lib/objchange.h (new_object_state_change): * lib/neworth_conn.h (neworthconn_add_segment): * lib/message.h (message_error): * lib/lazyprops.h: * lib/geometry.h: * lib/font.h (font_descent): * lib/focus.h (remove_focus): * lib/element.h: * lib/diagramdata.h: * lib/dia_xml.h (data_add_composite): * lib/dia_image.h: * lib/connpoint_line.h: * lib/connection.h (connection_move_handle): * lib/color.h: * lib/attributes.h (attributes_set_default_line_style): * lib/arrows.h (arrow_draw): remove extern keyword from function definitions. It is not required for functions. * plug-ins/dxf/Makefile.am (INCLUDES): * plug-ins/pstricks/Makefile.am (INCLUDES): * plug-ins/cgm/Makefile.am (INCLUDES): * objects/SADT/Makefile.am (INCLUDES): * objects/chronogram/Makefile.am (INCLUDES): * objects/GRAFCET/Makefile.am (INCLUDES): * objects/flowchart/Makefile.am (INCLUDES): * objects/sybase/Makefile.am (INCLUDES): * objects/FS/Makefile.am (INCLUDES): * objects/standard/Makefile.am (INCLUDES): * objects/network/Makefile.am (INCLUDES): * objects/UML/Makefile.am (INCLUDES): same here. * objects/ER/Makefile.am: changed inclusion of some macros to variables. * lib/plug-ins.c (dia_register_plugins_in_dir): use a few defines to handle the plug in extension, rather than have all the #ifdef's in the code. * plug-ins/Makefile.am: add renderer.inc to dist. * plug-ins/dxf/dxf-import.c: Updates from Steffen Macke. 2000-06-11 Asbjorn Pettersen * lib/plug-ins.c: Handle OS/2 dll's too. 2000-06-07 James Henstridge * app/plugin-manager.c (get_plugin_manager): set some table packing options to make it look a little nicer. * plug-ins/hpgl/Makefile.am, plug-ins/wpg/Makefile.am: added makefiles for these plug-ins. * plug-ins/{hpgl,wmf,wpg}/*: removed dos style cariage returns. * configure.in: added hpgl and wpg directories to build. Added note about whether gnome-print support was enabled, and noted that it is not recommended. 2000-06-06 James Henstridge * plug-ins/{hpgl,wmf,wpg}/*: Hans Breuer's plug-ins. They still need a little work, but I am checking them in so I don't lose them. 2000-06-01 James Henstridge * objects/standard/arc.c: added extra properties. * lib/beziershape.c (beziershape_closest_handle): fix a bug where I was using the wrong index into the handles array. This gets corner type changing working correctly. * lib/properties.[ch]: add support for BezPoint's and BezPoint arrays to properties code (no editing or loading yet though). Also added support for point array manipulation through the offsets interfaces. * lib/Makefile.am (INCLUDES): added include of gdk-pixbuf * app/interface.c (origin_button_press): changes so the origin button doesn't grab the pointer when we pop up the menu. * app/commands.c (help_about_callback): fix small memory leak in about box code. * app/menus.c (menus_init): fixed breakage I introduced in the non gnome menus when I was doing the menu changes. The tearoffs work really nicely in plain gtk mode as well. * objects/standard/beziergon.c (beziergon_create): changed the returned handles to match the handle numbering changes. Now segment addition and removal works correctly with undo! * lib/beziershape.c: various changes to the code. Changed the numbering of handles, and fixed the segment removal code. 2000-05-31 James Henstridge * objects/standard/beziergon.c: remove connection point handling. There is still a bit of work to be done to get adding and removing of segments working correctly. * lib/beziershape.c: add connection point handling to beziershape. I set it for two connection points per segment. 2000-05-30 James Henstridge * objects/standard/polygon.c: don't do connectionpoint handling. * lib/polyshape.c: changed to handle connection points internally. Also, don't worry about connections to handles on polyshape, as all handles are non connectable. 2000-05-30 Ville Hautamaki * configure.in: Added finnish 2000-05-30 James Henstridge * sheets/*.sheet: translation updates to the .sheet files. * po/fr.po: updated po file from Christophe Merlet. * menus.h: removed prototypes for functions which have been removed. 2000-05-29 James Henstridge * app/layer_dialog.c (layer_dialog_set_diagram): set the selected item in the option menu when changing selected diagram. * app/dia_embedd.c (view_factory): fix up function to work with new menus API. * app/disp_callbacks.c (ddisplay_realize): remove call to display_set_active from here. (ddisplay_canvas_events): move call here. This gets rid of all the warnings, as the renderer has been fully set up correctly at this point. * app/menus.c (menus_init): add the tearoff item to the start of the right click menu. * app/app_procs.c (create_user_dirs): we don't need to create the menus directory anymore. * app/disp_callbacks.c (ddisplay_popup_menu): it should not be necessary to update the menu state here, as it was done when the active display was set. * app/display.c (display_set_active): update the menu state when changing active displays. * app/interface.c (origin_button_press): set the display as active when a click is made on the menu button. * app/menus.c (menus_init): set up a quit function to save the accels at exit. Add tearoff items for the non GNOME menus, add accelerators for several GNOME menus. * app/disp_callbacks.c (ddisplay_popup_menu): get the menu with menus_get_image_menu(). * app/menus.c (menus_get_item_from_path): use display_menus here rather than ddisp->popup. * app/display.h: remove the popup member in the DDisplay structure. * app/interface.c: remove option of not using wrap box. (create_toolbox): change to always use menus_get_toolbox_menubar even when using gnome menus. (create_display_shell): use menus_get_image_menu to load accelerators only -- not the actual popup menu. * app/menus.c (menus_init): new function to create the menus. (menus_get_toolbox_menubar): use this function whether gnome is in use or not. Changed to use menus_init. (menus_get_image_menu): same here. Also, now this function always returns the same menu, rather than a new one each time. (menus_init): read a menurc file to load accelerators here. 2000-05-28 James Henstridge * app/display.c (ddisplay_really_destroy): unset active display if active display is destroyed. (ddisplay_active): simplify function to return active_display as set by display_set_active. This allows using a pinned menu with any display -- not just the one it was popped up from. (display_set_active): notify the layer dialog of change of diagrams when active diagram changes. * app/disp_callbacks.c (ddisplay_canvas_events): set active display on button and key presses. (ddisplay_realize): set active display on realize. * app/display.c (display_set_active): simple implementation of this function. * app/display.h (display_set_active): add prototype for setting the active display. * app/interface.c (create_display_shell): don't give focus to the menu button. * app/menus.c: fix up menus for Beziergon. * app/interface.c (create_display_shell): make the widget in the top left corner a button that can be used to pop up the right click menu, like in gimp and sketch. * app/disp_callbacks.c (ddisplay_popup_menu): new function to popup the display menu. * objects/standard/beziergon.c (beziergon_set_corner_type_callback): add code to set corner types for beziergon. * lib/beziershape.c (beziershape_set_corner_type): fix up corner type setting code. (beziershape_move_handle): use the previous corner type for right controls. * app/interface.c (tool_data): add beziergon to toolbox. * objects/standard/standard.c (dia_plugin_init): initialise the new Beziergon object type. * objects/standard/beziergon.c: an object based on BezierShape. * lib/dummy_dep.h (dummy_dep): added to dummy_dep. * lib/beziershape.[ch]: new files implementing a bezier shape. 2000-05-26 James Henstridge * lib/text.c (text_key_event): handle multibyte inserts. (text_key_event): also add home and end keybindings. * app/interface.c (create_display_shell): connect handlers for focus_in_event, focus_out_event, realize and unrealize signals. * app/display.[ch] (new_display): initialise input context members. * app/disp_callbacks.[ch]: added XIM support here. * lib/font.c (suck_font): the black and white pixel values should be taken from a 1 bit colormap rather than the default colormap. Hans Breuer's Windows patches ... * lib/font.c: use Courier New for fixed width font on windows machines. * lib/dia_image.h: change to "struct _DiaImage". * lib/dia_image.c: change "struct DiaImage" to "struct _DiaImage" * app/disp_callbacks.c (ddisplay_canvas_events): allow ctrl+right mouse button for object menu. This will make two button mouse owners happier. 2000-05-25 James Henstridge * app/filedlg.c (file_open_ok_callback): use diagram_load here. * app/app_procs.c (app_init): add extra NULL argument to call of diagram_load. * app/load_save.h: remove prototype. * app/load_save.c: remove diagram_data function here. * app/diagram.h: added prototype. * app/diagram.c (diagram_load): new function here, which uses import filters. * plug-ins/dxf/dxf.c: register the import filter as well. * plug-ins/dxf/dxf-import.c: added (unfinished) DXF import filter from Steffen Macke * objects/standard/line.c: add start_point and end_point properties to standard line object. 2000-05-21 James Henstridge * app/paginate_psprint.c: added missing include of locale.h. * objects/custom/custom_object.c (custom_draw): use fabs rather than abs for scaling factors. (custom_distance_from): same here. * dia.spec: make sure rpm doesn't bomb out when LINGUAS isn't set. 2000-05-18 James Henstridge * po/POTFILES.in: updated POTFILES.in. * dia.spec: incremented version number in spec file. * NEWS: added (lots of) news items for the 0.85 release. * app/preferences.c (prefs_save): set LC_NUMERIC to C while writing the config file. * configure.in: updated version number here. * app/Makefile.am (run_dia.sh): include plug-ins in the lib path. 2000-05-17 James Henstridge * app/app_procs.c (internal_plugin_init): register the native import filter. * app/load_save.c (diagram_data_load, diagram_load): split this function into two -- one that does all the work on the DiagramData structure, and the other that provides compatibility with the old function. (dia_import_filter): use diagram_data_load to define an import filter. * app/diagram.h (new_diagram): added const to prototype. * app/filedlg.c (file_open_callback): change to use new import filter code. * lib/filter.c: added import filter management functions. * lib/filter.h: added prototypes for import filter interface. * app/commands.c (help_about_callback): updated about dialog to contain a few more names. 2000-05-16 James Henstridge * configure.in (Configuration): added a status message to the end of the configure script to give the user some idea of what was configured. * plug-ins/dxf/Makefile.am: Makefile for new plugin. * plug-ins/dxf/dxf.c (dia_plugin_init): added file to initialise the plugin. * plug-ins/dxf/dxf-export.c: new file -- Steffen Macke's DXF export filter for dia. * configure.in (AM_PATH_LIBART): use the check function provided with libart rather than our own code. It is more reliable, and it only requires that people who build out of CVS have libart.m4 installed (not necessarily all of libart). (AM_PATH_GDK_PIXBUF): same here for gdk-pixbuf. 2000-05-12 Andreas Hyden * dia.desktop: Added Swedish translation. 2000-05-09 James Henstridge * lib/dia_xml.c: you can't free a const pointer, so remove const from variable definitions. Explicitely set LC_NUMERIC where needed, as sometimes it isn't initialised correctly. * app/render_svg.c (export_svg): set locale to C. * app/paginate_psprint.c (paginate_psprint): set locale to C. * app/render_eps.c (export_eps): set locale to C for EPS export. * lib/dia_xml.c (data_add_real): change to C locale for snprintf call. (data_add_point): same here. (data_add_rectangle): same here. (data_real): use g_strtod to convert strings to real numbers, so that locales are taken into account. (data_point): same here. (data_rectangle): same here. * AUTHORS: added Henk and Jacek to authors file. Daniel Egger's code cleanups. * app/select.c (select_invert_callback): remove unused variable. * app/plugin-manager.c (get_plugin_manager): fix typo. * app/load_save.c (read_connections, write_objects): (write_connections): made some functions static. * app/interface.c (toolbox_delete, toolbox_destroy): made some functions static. * app/filedlg.c (file_export_callback): remove unused variable. * app/app_procs.c: various warning fixes. Integrating Jacek Pliszka's pstricks export filter. * plug-ins/pstricks/pstricks.c: code to initialise the plugin. * plug-ins/pstricks/render_pstricks.[ch]: Jacek Pliszka's pstricks renderer (with a few small modifications by me). * plug-ins/pstricks/Makefile.am: new makefile for pstricks plug-in. * plug-ins/Makefile.am (SUBDIRS): add pstricks subdirectory. 2000-05-07 Alexander Larsson * configure.in: * sheets/Makefile.am: * shapes/Makefile.am: * shapes/Civil/Makefile.am: * sheets/civil.sheet: * shapes/Civil/*: Added civil/hydraulic/structural engineering objects from sdteffen . 2000-05-07 Alexander Larsson * objects/FS/flow-poly.c: * objects/FS/flow.c: Fix division by zero in point_normalize(). Patch by David Thompson 2000-04-27 Lars Clausen > * lib/arrows.c: * lib/bezier_conn.c: * lib/connpoint_line.c: Added checks for zero-length lines before calls to point_normalize. 2000-04-24 Lars Clausen * app/preferences.c (prefs_data): Changed reversed_dragging_intersects to not make the dialog ridiculously wide. 2000-04-22 James Henstridge Hans's win32 patches: * app/export_png.c: include message.h * app/interface.c: include dia_dirs.h * app/linewidth_area.c: check for rint * app/main.c: include interface.h * app/paginate_psprint.c: remove unused variable. * app/preferences.c: include message.h * app/render_svg.c: include stdlib.h * app/select.c: include object_ops.h * lib/dia_dirs.c: miscelaneous fixes for win32. * lib/dia_image.c: include string.h * lib/plug-ins.c: look for .dll files rather than .la files on win32. * lib/properties.c: include stdlib.h * lib/properties.h: define extra data for standard properties as static variables on win32 (to get around dynamic linker problems). * objects/standard/polygon.c: polygon_create_change missing return statement. 2000-04-18 Pablo Saratxaga * configure.in (ALL_LINGUAS): added Catalan 2000-04-18 James Henstridge * objects/standard/bezier.c (bezierline_get_object_menu): add a separator to the object menu between the add/remove segment items and the corner type items. (bezierline_get_object_menu): add code to disable the menu item for the current corner type. Really just a cosmetic change. * app/disp_callbacks.c (create_object_menu): handle DiaMenuItems with a NULL for the label or with no associated callback. * objects/standard/bezier.c (bezierline_menu_items): use the enumeration values rather than numeric values for the corner types. * lib/bezier_conn.[ch]: added a corner_types member to the BezierConn structure, and add code to handle it. Also, don't save the corner types inline in the bez_points node. The way it is conditionally including the element just feels like it will break. * lib/geometry.h (BezPoint): removed the corner_type stuff from BezPoint. The corner type stuff is a user interface level idea rather than something required by the renderer, so should be taken care of at the object level. 2000-04-17 Lars Clausen * configure.in: Fixed some problems with the gdk-pixbuf/imlib checks. Weren't able to reproduce original bug, tough. 2000-04-16 Cyrille Chepelov * sheets/Electric.sheet: * sheets/Contact.sheet: * sheets/Pneumatic.sheet: * sheets/Circuit.sheet: sprayed some
's around. (added a few French translations in the last file) 2000-04-16 Lars Clausen * lib/geometry.h: * lib/bezier_conn.h: * objects/standard/bezier.c: * lib/bezier_conn.c: Support for cuspy, smooth and symmetric bezier points. Only one minor problem known: Menus are active for endpoints minor handles. 11:28: Save and load now works, too. (bezierconn_closest_major_handle): 12:03: New function to get the non-control point handle associated with the nearest control point. Also fixed the menu activation problem, and made remove_segment not remove the endpoint. 2000-04-15 Lars Clausen * configure.in: Added check for gdk-pixbuf being >= 0.7.0 since new API is in use. 2000-04-15 Asbjorn Pettersen * lib/plug-ins.c: Added and moved below . OS/2 patch. 2000-04-15 James Henstridge * objects/FS/flow-ortho.c, objects/FS/function.c: Applied David Thompson's patch that adds undo support to the function structure diagram objects. 2000-04-14 James Henstridge * objects/custom/custom_object.c (custom_distance_from): new implementation of distance algorithm that actually takes the display list into account when calculating the distance. Much nicer than a simple bounding box. 2000-04-13 Lars Clausen > * lib/geometry.c (line_crosses_ray): Fixed division by zero bug 2000-04-12 Lars Clausen * objects/standard/polygon.c: Start of polygons own changes (for connectionpoints). Need to do seperate changes in polyshape, too, rather than reuse the bezier changes. 2000-04-13 James Henstridge * lib/dia_image.c (dia_image_draw): use the new enumeration values from after the gdk-pixbuf cleanup. * lib/geometry.c (bez_point_distance_and_ray_crosses): fix up limit on for loop. Last set of coefficients were not beeing calculated, which caused a bit of breakage. * lib/bezier_conn.c (bezierconn_closest_segment): use the new functions in geometry.c for calculating the closest segment. (bezierconn_distance_from): use distance_bez_line_point to calculate the distance. * lib/geometry.c (distance_bez_line_point): new function to calculate the distance from an open bezier line to a point. (distance_bez_shape_point): new function to calculate the distance from a closed bezier shape. (distance_ellipse_point): new function to calculate the distance from a filled ellipse to a point. * lib/geometry.h (BezPoint): moved this structure here from render.h 2000-04-12 James Henstridge * lib/geometry.c (distance_bez_seg_point): new function to calculate the distance from a bezier segment. * lib/polyshape.c (polyshape_distance_from): use distance_polygon_point to calculate the distance from the object. * lib/geometry.c (distance_polygon_point): function for calculating the distance from a polygon to a point. 2000-04-12 Cyrille Chepelov * app/interface.c: * lib/sheet.[ch]: added a
tag in sheet files, so that line breaks can be inserted in the tool box. * doc/sheet.dtd: updated the DTD * sheets/GRAFCET.sheet: tried
on that sheet (more to come). 2000-04-12 James Henstridge * app/plugin-manager.c (get_plugin_manager): use the GTK_DIALOG macro if the dialog is a GtkDialog :( 2000-04-11 Lars Clausen * objects/standard/polygon.c: Connectionpoints now properly managed in a GList. As far as I can tell, this will not dieturb the order (but I have the nagging doubt...) * lib/polyshape.c: No longer knows about connectionpoints. 2000-04-11 James Henstridge * app/Makefile.am: fix makefile for bonobo build. * configure.in: fix checks for bonobo. * app/menus.c: added entries for the plugin manager. * app/Makefile.am (dia_core_files): added plugin manager to files list. * app/plugin-manager.[ch]: the plugin manager dialog. * app/display.c (display_update_menu_state): set the antialiased menu entry to the correct value. 2000-04-11 Cyrille Chepelov * objects/custom/custom_object.c: not all renderers like ellipses with negative dimensions. This could cause ellipses to disappear when using the flip_h and flip_v functions. * samples/grafcet.dia: fixed speling and correctness. 2000-04-11 James Henstridge * lib/plug-ins.[ch]: added more accessors for use by a plugins dialog. exposed the dia_plugin_load and dia_plugin_unload functions. * lib/plug-ins.c (plugin_load): change plugin_load to work on an already created PluginInfo structure. * app/app_procs.c (app_exit): call dia_pluginrc_write() to write the pluginrc file. * lib/sheet.c: fix up call to dia_config_filename. * lib/plug-ins.[ch]: started writing code for handling a pluginrc file. This would save information such as which plugins not to load during startup. 2000-04-09 James Henstridge * lib/sheet.c: use dia_config_filename to resolve file in ~/.dia. 2000-04-10 Alexander Larsson * lib/plug-ins.c (dia_register_plugins): Don't free the value returned from g_getenv. 2000-04-09 Anders Carlsson * app/preferences.h: Add reverse_rubberbanding_intersects preference variable. * app/preferences.c (prefs_data): Add reverse_rubberbanding_intersects preference data. * app/modify_tool.c (modify_button_release): If rubberbanding is done from right to left, select objects that intersect the rubberbanding rectangle instead of selecting objects that are in the rectangle. * lib/diagramdata.c (layer_find_objects_intersecting_rectangle): Add function. * lib/diagramdata.h: Likewise. 2000-04-09 James Henstridge * lib/plug-ins.[ch]: add copyright messages to files. * plug-ins/cgm/cgm.c (dia_plugin_init): convert plugin over to new plugin interface. * objects/sybase/sybase.c (dia_plugin_init): * objects/network/network.c (dia_plugin_init): * objects/flowchart/flowchart.c (dia_plugin_init): * objects/custom/custom.c (dia_plugin_init): * objects/chronogram/chronogram.c (dia_plugin_init): * objects/UML/uml.c (dia_plugin_init): * objects/SADT/sadt.c (dia_plugin_init): * objects/GRAFCET/grafcet.c (dia_plugin_init): * objects/FS/fs.c (dia_plugin_init): * objects/ER/er.c (dia_plugin_init): updated plugin load code for object libraries. * objects/standard/standard.c (dia_plugin_init): change over to new plugin interface. * lib/plug-ins.h (DIA_PLUGIN_CHECK_INIT): added a macro to define the version checker for plugins. * app/app_procs.c: remove plugin loading code from here, and use code from plug-ins.[ch]. Also move registration of internal objects/filters to a `builtin' plugin. * lib/Makefile.am (libdia_a_SOURCES): added plug-ins.[ch] to library. * configure.in: use AC_PROG_LIBTOOL rather than AM_PROG_LIBTOOL. * app/Makefile.am (EXTRA_DIST): you can't include a conditionally defined variable in EXTRA_DIST. * app/preferences.h: removed dia_config_filename from header. * app/preferences.c: removed dia_config_filename function. * lib/dia_dirs.c (dia_config_filename): moved function over to this file. Also changed implementation slightly so that it should work on the win32 port correctly (and use NT home directories). * lib/dia_dirs.h (dia_config_filename): move dia_config_filename where it should have been. * lib/plug-ins.[ch]: new plugin loading code. 2000-04-08 Lars Clausen * objects/standard/polygon.c: Fixed startup crash bug (do'h!). * lib/polyshape.c: Fix closest segment finding, exposes deeper bugs in adding corners to 'wraparound' segment. * objects/standard/polygon.c: Added connection points (fixed so far), set menu sensitivity. * lib/polyshape.c: Changed to box-style handles, fixed for start and ends not being special, added initial connections, * lib/dummy_dep.h: Added polyshape (gotcha!) * objects/standard/pixmaps/ellipse.xpm: * objects/standard/pixmaps/box.xpm: Filled element pixmaps with white. * lib/polyshape.c: * objects/standard/polygon.c: * lib/polyshape.h: * objects/standard/standard.c: * objects/standard/Makefile.am (libstandard_objects_la_SOURCES): * lib/Makefile.am (libdia_a_SOURCES): * app/menus.c: * app/interface.c (tool_data): Added Standard/Polygon object and PolyShape lib object. Still needs inside grab and connection points. * app/commands.c (help_about_callback): Now uses gdk-pixbuf if available. * configure.in: Made imlib a fallback if gdk-pixbuf is absent or not wanted. * app/app_procs.c (app_init): Moved gtk_init outside #ifdef, moved if (argv) outside ifdefs. 2000-04-04 Lars Clausen * objects/standard/image.c (image_set_props): Aspect ratio is back in town. * app/Makefile.am (dia_LDADD): * acconfig.h: * configure.in: Check for gdk_pixbuf (by default disabled, for now) * app/render_eps.c (draw_image): * app/render_libart.c (draw_image): * app/render_gnomeprint.c (draw_image): Support for alpha mask in rendering. Color postscript, too. * lib/dia_image.c: * lib/dia_image.h: Support for gdk_pixbuf and proper masking for exports. 2000-04-01 Kjartan Maraas * sheets/*.sheets: Updated Norwegian translations. 2000-03-30 Lars Clausen * lib/text.c (text_insert_char): * lib/render_store.c (add_data): Made realloc double the alloced space rather than add a fixed amount, to reduce memory stress. * app/select.c: Added new select method 'Transitive' that select every reachable (by connections) object. 2000-03-27 Kjartan Maraas * dia.desktop: Added Norwegian translation. 2000-03-26 Alexander Larsson * app/render_eps.c: * app/render_svg.c: Don't dereference NULL pointer if the renderer couldn't open the file. Fix by Lars Clausen. Bug reported by Martin Chisholm 2000-03-26 Alexander Larsson * dia.desktop: * po/pt.po: Updated pt translation from Pedro Morais 2000-03-25 Alexander Larsson * app/dia.gnorba (location_info): Changed to correct executable name. 2000-03-25 Alexander Larsson * app/app_procs.c: Don't do any argument parsing or initialization if argv==NULL. * app/dia_embedd.c: Call init_server_factroy before app_init. Call app_init with argv==NULL Now we don't get any critical error on startup. * configure.in: Add Electric and Pneumatic to makefile list. 2000-03-24 Cyrille Chepelov * shapes/Electric/*: * sheets/Electric.sheet: Add some Electric circuit shapes. * shapes/Pneumatic/*: * sheets/Pneumatic.sheet: Add some Pneumatic & Hydraulic circuit shapes (both sheets are still incomplete, though feature enough things for basic circuits). * shapes/Contact/l_*.(xpm|shape): * sheets/Contact.sheet * shapes/Contact/Makefile.am made the older electric circuit shapes in Contact obsolete (disabled them in the sheet, made that sheet Ladder only). Fixed the makefile for forgotten items. 2000-03-24 Alexander Larsson * app/Makefile.am: Add support for Dia bonobo component. Currently a bit raw, so it's commented out. * app/dia_embedd.c: * app/dia.gnorba: New files for embedding dia. The menu disabling hack is a bit gross. Esp. for GNOME. * app/app_procs.h: Add new function app_is_embedded(); * app/diagram.c: Don't destroy diagram when last display is destroyed if embedded. * app/display.c: Change initialization of display so it works with embedding. * app/display.h: Clarify comment about display destruction. * app/interface.[ch]: Added top_level_window argument to create_display_shell. Don't open a top-level window if embedding. Don't quit app if trying to close toolbox window when embedding. Add toolbox_show() and toolbox_hide(). * app/main.c: Added app_is_embedded() function (just returns false). Added toolbox_show() call in main(). * app/menus.c: Added code for getting toolbox menus. This is used to hide some menu items when running embedded. * app/app_procs.c: Include sheet.h to remove warning. * objects/UML/association.c: Clarify association direction text. 2000-03-16 Fredrik Hallenberg * dia.1 Fixed man page so whatis parsing works. 2000-03-12 Alexander Larsson * app/render_libart.c (new_libart_renderer): Fix from segg to compile without libart. I forgot to change the stub for new_libart_renderer when doing the interactive renderer stuff for libart. 2000-03-11 Alastair McKinstry * dia.desktop: Added Irish translation. * configure.in (ALL_LINGUAS): Added Irish (ga) translation. 2000-03-07 Asbjorn Pettersen * app/load_save.c (fchmod): OS/2 defines only. 2000-03-07 James Henstridge * lib/properties.c (prop_get_widget): set the position in the option menu correctly. 2000-03-06 Alexander Larsson * app/display.c: * app/export_png.c: * app/render_libart.[ch]: Don't export png:s with an interactive libart renderer. 2000-03-03 Asbjorn Pettersen * lib/arrows.c (finite): define finite(d) isfinite(d) for OS/2 2000-03-02 James Henstridge * dia.spec (%build): unset LINGUAS before running configure. This ensures that all translations get included in the RPM. * lib/properties.c (object_create_props_dialog): put in a check for a NULL return from the describe_props() object method. (prop_desc_lists_union): make sure that the returned array is not NULL. (prop_desc_lists_intersection): same here. 2000-02-29 Alexander Larsson * objects/ER/Makefile.am: * objects/FS/Makefile.am: * objects/UML/Makefile.am: Don't link object libs with gtk. 2000-02-29 James Henstridge * app/preferences.c (prefs_save): check to see if the file could be opened before writing the prefs. * app/disp_callbacks.c (popup_object_menu): pass the button event to gtk_menu_popup. This allows you to click and release to open the object menu. (ddisplay_canvas_events): same here. (create_object_menu): set the object type menu item in the object menu to be insensitive. * app/render_svg.c (draw_string): call xmlEncodeEntitiesReentrant, as we are now requiring a new version of libxml. * dia.spec: updated version number. Added requirement for libxml >= 1.8.5 * configure.in: incremented version number to 0.84. Added check for libxml >= 1.8.5. This will prevent some of the problems people have had with broken libxml versions. * NEWS: added news items. * app/interface.c (create_color_area): removed call to realize parent widget. Segg reported that it caused a warning, but I haven't seen it on my copy of dia. 2000-02-28 James Henstridge * app/export_png.c: added copyright notice, and made the band height a constant. 2000-02-27 Alexander Larsson * lib/font.c (suck_font): Fixed off-by one bug in font pixmap height. Fixes the problem with garbage at the bottom of some text in aa mode and in png exported files. 2000-02-27 James Henstridge * app/app_procs.c: add the png export filter if it was compiled in. * app/export_png.c (export_png): new PNG export filter. This requires the libart renderer to work as it needs a renderer that renders to a pixel buffer. * configure.in: add check for libpng. * lib/message.c (message_internal): use a GNOME dialog here as well. * app/display.c (ddisplay_close): use a GNOME dialog here. * app/render_eps.c (create_eps_renderer): use diagram scaling factor when exporting to EPS. This is because some people said the EPS output was too large 2000-02-26 James Henstridge * app/defaults.c (create_dialog): use a GNOME dialog for the defaults window. * app/app_procs.c (app_exit): use a GNOME dialog here. * app/preferences.c (prefs_create_dialog): if GNOME support is enabled, show a GNOME dialog. * app/grid.c (grid_draw): use preferences when drawing page break lines. * app/preferences.c: add page break preferences to dialog. * app/preferences.h: added page break preferences. 2000-02-25 James Henstridge * sheets/UML.sheet: added new objects. * objects/UML/uml.c: link in the two new objects. * objects/UML/node.c: * objects/UML/branch.c: new UML objects from Stfan Seefeld . 2000-02-24 James Henstridge * objects/custom/custom_object.c: converted to use the properties interface. In the future, it would be nice to add support for defining custom properties for custom objects, but that can wait. 2000-02-22 James Henstridge * sheets/Circuit.sheet: added new circuit shapes to sheet. * plug-ins/cgm/cgm.c: cgm plugin updates from Henk Jan Priester . Fixes number encoding, colour encoding, fonts and adds a few new features. 2000-02-21 Daniel Egger * sheets/*.sheets: Added German translations and made some corrections to the others. 2000-02-21 James Henstridge * shapes/Circuit/Makefile.am (SHAPES): added new shapes to list. * shapes/Circuit/...: added new shapes from Erik Janssens. 2000-02-20 James Henstridge * app/interface.c (create_color_area): realize the parent window first. * objects/standard/image.c: properties patch for standard image object, from Lars Clausen. * lib/properties.c: support for PROP_TYPE_FILE from Lars Clausen. * lib/properties.h (PropType): added file property type. * shapes/Circuit/speaker_de.xpm: changed size of pixmap to match other shapes. * app/interface.c: use wrap box for toolbox. * app/Makefile.am: added new files. * app/gtk*wrapbox.[ch]: added wrap box widget. 2000-02-19 James Henstridge * sheets/network.sheet: added extra shapes to networks sheet. * configure.in (AC_OUTPUT): added shapes/network/Makefile * shapes/network/*: added shapes that were posted to the list a while back. * shapes/Makefile.am (SUBDIRS): added network subdirectory * app/menus.c (toolbox_menu_items): don't right justify help menu for gtk+ version of menus. * app/properties.c (create_dialog): use a GnomeDialog if we happen to be using gnome. 2000-02-18 James Henstridge * objects/flowchart/box.c: set extra data for corner radius and text padding properties. * objects/standard/box.c: set extra data for corner radius property. * lib/properties.h: set extra data in some standard properties. * lib/properties.c (prop_get_widget): look at the extra data for int, real and enum property types. They now use GtkSpinButton and GtkOptionMenu respectively. * lib/properties.h: extra data members for creating property setting widgets. 2000-02-17 James Henstridge * objects/flowchart/box.c: reverted load/save functions back to previous implementations. Made box use standard property names. * plug-ins/cgm/cgm.c (set_linestyle): was missing a */ * app/grid.c: add more digits to the grid edit dialog. This patch was also from Lars Clausen. * objects/standard/zigzagline.c: * objects/standard/textobj.c: * objects/standard/polyline.c: * objects/standard/line.c: * objects/standard/ellipse.c: * objects/standard/box.c: * objects/standard/bezier.c: * objects/standard/arc.c: patches to add properties code to standard objects. Based on patches from Lars Clausen. I have also removed some dead code from the files. * lib/properties.h (PROP_STD_*): define a number of standard properties. Where appropriate, objects should include these properties in their PropDescription list. This way, the intersection of properties of two different shapes will be greater. 2000-02-14 James Henstridge * objects/flowchart/box.c (box_load, box_save): use property save routines. Make sure that any props not handled by object_load_props are loaded before calling object_load_props, or we get errors because update_data is called. * lib/properties.c (object_get_props_from_offsets): fixed an indexing error that could cause properties to be loaded incorrectly. (object_set_props_from_offsets): similar here. * lib/properties.[ch] (prop_{load,save}): functions for loading or saving a property in Dia's XML file format. (object_{load,save}_props): load or save some properties of an object. These functions should help simplify the load/save methods of objects that implement the properties interface. 2000-02-13 James Henstridge * objects/flowchart/box.c: use offset code to simplify property get/set routines. * lib/element.h (ELEMENT_COMMON_PROPERTIES): standard element properties. (ELEMENT_COMMON_PROPERTIES_OFFSETS): offsets. * lib/object.h (OBJECT_COMMON_PROPERTIES): list of standard object properties. (OBJECT_COMMON_PROPERTIES_OFFSETS): the offsets of the properties. * lib/properties.[ch] (object_{get,set}_props_from_offsets): new functions 2000-02-12 Alexander Larsson * app/Makefile.am: Add the custom object to DIA_LIB_PATH in run_dia.sh 2000-02-10 Cyrille Chepelov * sheets/Circuit.sheet: * shapes/l_sout* (NEW): * shapes/l_outj.* (NEW): added new outputs : jump, and the power-saved variants of simple, inverted, set and reset outputs. Still to do: all Schneider/Telemecanique TSX *7 function blocks ; probably a split of Contact and Ladder sheets. And then a major revamping of the Contact sheet. 2000-02-10 James Henstridge * app/Makefile.am (dia_LDADD): don't link with libcustom_objects. * app/app_procs.c (register_all_objects): don't explicitely register the custom objects library -- let it be loaded by the normal plugin loading methods. * lib/Makefile.am (libdia_a_SOURCES): don't include custom.h here. * objects/custom/Makefile.am: build libcustom_objects as a shared library again. * objects/custom/shape_info.[ch]: don't read the description field of custom shapes. It makes more sense to have these in the sheet file to localise the parts of dia that translators have to deal with. * objects/custom/custom_object.c (custom_object_new): do not create the sheet object for the new custom shape -- this is handled by the custom sheet code. * objects/custom/custom.c: change over to being a normal plug-in rather than being linked with the main dia executable. 2000-02-09 James Henstridge * sheets/Circuit.sheet: * sheets/Flowchart.sheet: * sheets/Contact.sheet: fixed up sheets. * objects/custom/custom_object.c (custom_object_new): set the extra ObjectType fields. * lib/sheet.c: use extra ObjectType fields when creating sheet objects. Give a warning if tags are found in a sheet file. Now the custom sheet code does not know about custom shapes -- they look like any other object type. * lib/object.h (ObjectType): added extra members 2000-02-08 Alexander Larsson * app/linewidth_area.c: Added code to set arbitrary line width. Patch by Lars Clausen 2000-02-08 Alexander Larsson * app/linewidth_area.c: * lib/font.[ch]: Add support for font-sucking. Implementation borrowed from gnome-canvas. * app/render_libart.[ch]: Implement text rendering. 2000-02-07 Alexander Larsson * app/properties.c (create_dialog): ref and sink no_properties_dialog. 2000-02-07 James Henstridge * app/group.c (group_describe_props): new function. Return the intersection of the properties of the contained objects that implement the describe_props interface. (group_get_props): implement by iterating through contained objects and calling their get_props method until all properties have been set. Maybe this should go through all objects all the time?? (group_set_props): implement by calling set_props method on all contained objects. (group_ops): use standard props dialog creation routines. * lib/properties.c (prop_desc_lists_intersection): fix implementation of intersection -- I was using i++ instead of i-- in a for loop :( * objects/custom/custom.c (custom_register_objects): fix usage of dia_get_data_directory again. * lib/sheet.c: fix up use of dia_get_data_directory, so that we actually read the sheets. 2000-02-06 Alexander Larsson Win32 port by Hans Breuer * app/Makefile.am: Remove DATADIR and LIBDIR defines. * lib/Makefile.am: Add dia_dirs.c and dia_dirs.h Added DATADIR and LIBDIR defines. * lib/dia_dirs.[ch]: New files for handling special directories. * app/app_procs.c: * app/commands.c: * lib/sheet.c: * objects/custom/custom.c: Fix warnings. Use directory functions. * app/diagram.h: Add prototype for diagram_redraw_all. * app/diaunitspinner.c: * app/filedlg.c: * app/interface.c: * app/preferences.c: Fix warning. * app/load_save.c: Win32 doesn't have mkstemp and fchmod. * app/paginate_psprint.c: Win32 calls popen _popen and pclose _pclose. * app/arrow.c: Win32 calls finite _finite. * lib/color.h: Win32 needs to dllexport the color vars. * objects/GRAFCET/step.c: * objects/chronogram/chronoref.c: snprintf -> g_snprintf 2000-02-05 James Henstridge * lib/properties.c: more fixes so that it doesn't crash when using properties. The undo/redo stuff also works!! * objects/flowchart/box.c (box_{describe, get, set}_props): test object where I have implemented the new properties interface complete with automatic properties dialog generation. * lib/properties.c (object_apply_props): fixed stupid error when creating the old_props array. Also, it no longer frees the props array -- you will have to do that yourself. 2000-02-04 James Henstridge * app/properties.c (properties_apply): pass object_part to apply_properties. * lib/object.h (ApplyPropertiesFunc): added widget argument. * lib/lazyprops.h (PROPDLG_CREATE): ref and sink properties dialogs created this way as well. * objects/*/*.c: ref and sink the properties dialog window for each widget. It can't rely on ref count being incremented by properties_show anymore. * app/properties.c (properties_show): don't ref the widget before removing it, or its ref count will increase each time you open the properties dialog. Don't unparent the widget, as container_remove does that for us. * lib/object.h: fixed up prototypes for new object methods. * lib/properties.[ch]: added functions for automatically creating a properties dialog from the output of describe_props, get_props and set_props. (object_apply_props): apply properties and return an ObjectChange structure that can be used for undo. 2000-02-03 Cyrille Chepelov * objects/GRAFCET/transition.c: minor leak plugged. * sheets/GRAFCET.sheet: * objects/GRAFCET/pixmaps/condition.xpm: (NEW) * objects/GRAFCET/condition.c: (NEW) added a new object type, action conditions. * objects/GRAFCET/Makefile.am: fixed incorrect dependencies, added new ones (for condition.c). * objects/GRAFCET/action.c: added connection points for the conditions. * samples/grafcet.dia: updated the sample to improve conformance to IEC 848 and take advantage of dia's new features. * lib/geometry.h: (point_get_normed) fixed a typo. 2000-02-02 James Henstridge * lib/object.h: added object functions describe_props, get_props and set_props. Do type definitions so that object.h doesn't need to include properties.h, since properties.h includes object.h. * lib/properties.[ch]: more hacking. * po/de.po: updated po file. 2000-01-30 James Henstridge * configure.in: don't add flags to CFLAGS unconditionally. Instead, check to see if the C compiler accepts the flag beforehand. * lib/properties.[ch]: start of properties code. * shapes/Contact/Makefile.am (SHAPES): fix up makefile. 2000-01-30 Cyrille Chepelov * sheets/GRAFCET.sheet: * sheets/GRAFCET/etapemc.xpm: (NEW) * sheets/GRAFCET/etapesp.xpm: (NEW) * objects/GRAFCET/step.c: Added the macro and sub-program call step types. * objects/GRAFCET/receptivity.[ch]: renamed to objects/GRAFCET/boolequation.[ch]. * objects/GRAFCET/transition.c: changed (Receptivity *) to (BoolEquation *) * lib/connpoint_line.[ch]: * objects/chronogram/chronoline.c: * objects/chronogram/chronoref.c: * objects/GRAFCET/vergent.c: * objects/standard/line.c: * objects/SADT/box.c: Minor CPL interface changes, factored out the point count adjustment code into the CPL object. 2000-01-29 Alexander Larsson * app/render_libart.c: Added support for images and bezier curves. Only text/fonts missing now. * app/render_gdk.c: Removed old erronous comment. 2000-01-29 Cyrille Chepelov * objects/chronogram/chronoline_event.c: removed references to lround(). Please don't insist, I'm already red of shame. 2000-01-29 Alexander Larsson * app/render_libart.[ch]: * app/Makefile.am: Non-finished libart renderer. * acconfig.h: Added HAVE_LIBART flag * configure.in: Added libart probe * app/app_procs.c: Call gdk_rbg_init(). * app/connectionpoint_ops.c: * app/disp_callbacks.c: * app/grid.c: * app/handle_ops.c: * app/magnify.c: * app/modify_tool.c: Change ddisp->renderer type from RendererGdk * to Renderer * Draw zoom and select rects in ddisp->canvas->window instead of ddisp->renderer->renderer->pixmap. * app/display.[ch]: Add aa_renderer to DDisplay, and support for it. New function ddisplay_set_renderer() for changing renderer. Add ddisplay_transform_coords_double() function, used by aa renderer. Change ddisp->renderer type from RendererGdk * to Renderer * * app/menus.c: Add antialias to menu. * app/commands.[ch]: add view_aa_callback function Change ddisp->renderer type from RendererGdk * to Renderer * * lib/geometry.[ch]: Added IntRectangle and int_rectangle_union. 2000-01-28 James Henstridge * app/commands.h: removed prototypes. * app/commands.c: removed the functions that have been moved to filedlg.c. * app/filedlg.h: added new prototypes. * app/filedlg.c (file_open_callback): move open dialog to this file. This implementation should remember the current directory between file loads. (file_save_as_callback): moved this dialog as well. (file_save_callback): moved this function here. * app/paginate_psprint.c (paginate_psprint): if not in fit to mode, align page boundaries to the origin. * app/diagram.c (diagram_update_extents): redraw the diagram if the scaling factor changes while updating the extents. This is so the page breaks get redrawn correctly. * app/pagesetup.c (pagesetup_apply): added diagram_flush call when applying changes. * app/grid.c (grid_draw): draw page breaks as well as grid lines. For normal mode, use (0,0) as the origin. For `fit to' mode, use the corner of the bounding box. * app/pagesetup.c (create_page_setup_dlg): load new paper attributes into page setup dialog. (pagesetup_apply): apply new `fit to' attributes to the diagram. * app/load_save.c (diagram_load): load new paper `fit to' attributes. (diagram_data_save): save `fit to' data. * lib/diagramdata.c (new_diagram_data): initialise `fit to' members. (data_update_extents): when in `fit to' mode, update scale factor when we update the extents. * lib/diagramdata.h (PaperInfo): added `fit to' members to PaperInfo structure. * .../.cvsignore: added some cvsignore files to quieten cvs. * app/pagesetup.c (pagesetup_changed): added code to change the scaling/fit to values as you change the options in the page setup dialog. I haven't added code so that the fit to options are saved though. * app/diapagelayout.[ch]: changed the scaling portion of the widget to make it easier to set a `fit to' style scaling factor. 2000-01-27 Cyrille Chepelov * lib/neworth_conn.[ch]: (NEW) Temporary (hopefully) fork of orth_conn, but connpoint_line-based, so that there's a connection point at the middle of each segment. Currently only the SADT arrow uses this. * objects/SADT/* (NEW): SADT (both idf0 and idf1) support. 2000-01-26 Cyrille Chepelov * lib/lazyprops.[ch]:(NEW) Added a bunch of macros for loading, saving and editing of properties (and default properties). See the new objects (GRAFCET, SADT, chonograms) for examples. For already too hairy stuff, see objects/chronogram/chronoline.c. * lib/connpoint_line.[ch] (NEW): This subobject manages a line of evenly spaced connection points, which the user can add or remove at will. An object can own several connection point lines. See the SADT Box, or the GRAFCET vergents for examples. * lib/dummy_dep.h: added dependencies to new files. Told gcc to keep quiet about unused stuff. * objects/GRAFCET (NEW): * samples/grafcet.dia (NEW): Added support for GRAFCET charts. * objects/chronogram (NEW): * samples/chronograms.dia (NEW): Added support for chronograms (feature requested by Ronald L. Chichest; I found I'd use it often, too). * objects/standard/line.c: Replace the middle connectionpoint by a whole connection point line, which defaults to one point (hint, hint). New Line object menu to take advantage of this. "Bothwards" compatibility is preserved (although you may loose connections if you load a newer file in a older dia). * app/lineprops_area.c: * lib/arrows.[ch]: * lib/widgets.c: Added hollow and filled ellipse arrow head type. (feature requested by Benjamin Kahn). Merged in Steffen Macke's slashed arrow head type. * app/Makefile.am (app/run_dia.sh actually): Added $DEBUGGER in front of dia's invocation, so that you can call "DEBUGGER=ddd app/run_dia.sh" (maybe naive, but useful). Added $(EFENCE) to app/dia's LDFLAGS, so that you can do "EFENCE=-lefence" to link with Electric Fence. * configure.in: Made gcc do more aggressive optimisations on i386, and enabled warnings. 2000-01-24 James Henstridge * lib/geometry.[ch]: added inline versions of functions. Used glib's G_INLINE_FUNC stuff, so it should still work on systems without inline funcs. * plug-ins/cgm/cgm.c (draw_ellipse, fill_ellipse): fixed up so that it outputs the correct element id for the ellipse objects. 2000-01-24 Cyrille Chepelov * lib/object.[ch]: added object_add_connectionpoint_at, similar to object_add_handle_at. Message typo fixed. * lib/sheet.c (load_register_sheet): potential bug fixed (warning hunt). * objects/custom/custom.c (custom_object_load): disabled an assertion which made dia abort upon failure to load a shape file. Fixed a subsequent crash. * objects/custom/shape_info.c (load_shape_info): Made the custom shape load code ignore XML comments between and the root object (mostly useful to put the emacs magic comments). * app/load_save.c: Made dia do backup copies of files when saving, and complain in case of failure. 2000-01-24 Cyrille Chepelov * AUTHORS: fixed my address (ISP thought it was a great idea to change the domain name) * configure.in: * shapes/Contact: * shapes/Contact/*: * sheets/Contact.sheet: * sheets/Makefile.am: Added support for Contact and LADDER charts. * dia.desktop: Added a French translation. 2000-01-23 James Henstridge * app/commands.c (help_about_callback): don't die if can't load logo image. * app/render_gdk.c (bezier_add_lines): sanity check to try to weed out NaN's when performing bezier curve subdivision. * objects/custom/custom_object.c: initialise memory of Custom structs to zero. * app/render_svg.c (draw_image): added image support to the XML output filter. The image is just referenced, rather than being included inline, so if you copy the SVG file somewhere else, you may need to move the images or fix up the links. * plug-ins/cgm/cgm.c (draw_string): output a text colour element, so the text is not just displayed in black all the time. 2000-01-15 Fredrik Hallenberg * configure.in: fixed libpopt test so we wont try to build with too old libpopt. 1999-12-18 Yuri Syrota * configure.in: Added "uk" to ALL_LINGUAS. 1999-12-24 James Henstridge * po/ru.po: updated russian translation from Valek Filippov. * app/render_svg.c (new_svg_renderer): make output use 19991203 version of SVG DTD. Use viewBox to set the extents of the view. * INSTALL (FONTS): updated locations of gnome-xml and imlib. List ftp.gnome.org as the download. * TODO (TODO): weeded out completed todo items and added a few extra. * Makefile.am (EXTRA_DIST): added documentation to EXTRA_DIST. * doc/sheet.dtd: first stab at a DTD for the sheet files. It would be good to get rid of the object/shape distinction and separate the custom shape code out from the main application. * objects/custom/README, diagram.dtd: moved to new doc directory. Renamed the custom shapes README to custom-shapes. Also updated custom shape docs a bit and removed the section on sheet files, as that has changed a bit. * plug-ins/cgm/cgm.c (draw_image): give an error if the row length of the image data is larger than the maximum cell array. I should add code to break scan lines down further in this case, but for now an error message is better than an infinite loop. * app/filedlg.c (file_export_ok_callback): show a dialog if we couldn't determine the export filter to use. * app/commands.c (help_about_callback): fixed up about box logo expose bug. Now just use a GtkPixmap widget rather than a GtkDrawingArea and calling gdk_imlib_paste_image. * app/Makefile.am (EXTRA_DIST): added print stuff to extra dist, because automake does not always get things right. * configure.in: updated version number to 0.83. * app/preferences.c (prefs_save): * app/render_svg.c (new_svg_renderer): "wt" is not a valid flag string for fopen. Text is the default file mode anyway. * app/commands.c (file_save_as_dialog_ok_callback, file_new_callback): * app/grid.c (grid_x_update, grid_y_update, grid_show_dialog): * app/load_save.c (write_objects, write_connections): * app/filedlg.c (file_export_ok_callback): * lib/dia_xml.c (data_add_int, data_add_enum, data_add_real): * lib/dia_xml.c (data_add_point, data_add_rectangle): * lib/font.c (init_x11_font, font_get_gdkfont): changed calls to snprintf to calls to g_snprintf. * plug-ins/cgm/cgm.c (export_cgm): write the original dia file name as the picture name. 1999-12-23 James Henstridge * plug-ins/cgm/cgm.c (write_int32, write_int16): fixed up output of negative numbers. This fixes the upside down text problem I was having previously. (draw_image): implemented the image code. It will try to split the image data up into bands if it is too big to fit into a single cgm cell array element. It will have problems if you try to insert an image wider than about 10,000 pixels though. * Makefile.am: use gnomedatadir for the files that need to be installed in gnome's datadir. This is mainly to help people doing packages for weird setups. 1999-12-22 James Henstridge * plug-ins/cgm/cgm.c: added support for text. Now only images and beziers are left to do. The text seems to be the wrong way up still. This is probably a problem with character orientation element, but I have used what the settings given in the standard. Other than this, the CGMs dia produces are readable (and displayable) by ralcgm and corel draw. (draw_string): subtract from the X coord rather than the Y coord for center and right aligned text. * plug-ins/cgm/cgm.c: a few fixups for the output. Use REALSIZE as the size of a real number, and changed name of write_double to write_real. Consider changing to fixed real encoding. Also, now all element headers are correct. Once the real number encoding is fixed, only text, beziers and images are left to do. 1999-12-21 James Henstridge * Makefile.am (SUBDIRS): recurse into plug-ins. * configure.in: add plug-ins directory makefiles to list. * plug-ins/cgm/cgm.c: start of cgm export filter. Beziers and text not done yet. Also, the output files are not quite correct. * app/render_eps.c (print_reencode_font): don't reencode the Symbol font. It doesn't work if you do. 1999-12-20 James Henstridge * app/app_procs.c (app_init): don't use diagram_export_to_eps to export the files. Instead, use filter_guess_export_filter to guess the correct format to save in and use the appropriate filter. It defaults to postscript for compatibility. * app/diagram.[ch] (diagram_export_to_eps): removed export to eps function. * app/commands.[ch]: removed export to eps functions. * app/menus.c: removed export to eps menu items. * app/app_procs.c: register new export filters. * app/load_save.[ch]: define dia native export filter. * app/render_eps.[ch]: define eps export filter. * lib/filter.h: added diafilename argument to the DiaExportFunc prototype. This is useful for putting the source of the diagram into the output file for instance. * app/app_procs.c (app_init): register the SVG export filter. Have to get EPS code converted to this API, and maybe also allow saving in DIA's native format from the export dialog. In fact, it is now possible to load an export filter from a shared library and it will integrate into the interface correctly. * app/menus.c: removed references to the SVG renderer. * app/commands.[ch]: removed svg stuff. * app/diagram.[ch]: removed diagram_export_to_svg function. * app/render_svg.[ch]: added a DiaExportFilter structure for this renderer. * app/filedlg.[ch]: code for the new export diagram dialog. Will probably move the open/save dialogs to this file as well. 1999-12-19 James Henstridge * lib/filter.[ch]: start of interface for generalised handling of filters. I have only done code for export filters so far. I still need to do the gui for this, and convert the current SVG and EPS filters to the new API. * lib/bezier_conn.c (bezierconn_copy): fix up copy operation. We weren't setting the last handle correctly. It was actually assigning to the wrong position in the handles array, so the last handle was left as NULL, which caused the segfault. * objects/standard/image.c (image_copy): modified routine so that it just adds a reference to the DiaImage structure in the new image object. This seems to have cleared up the problems with copying image objects. * dia.spec: spec file additions from John Gotts. 1999-12-12 James Henstridge * configure.in (GNOME_LIBS): updated version number to 0.82. 0.82 has not been released yet though. * Makefile.am (EXTRA_DIST): distribute diagram.dtd. The following based on a patch from Lars Clausen: * objects/standard/bezier.c (bezierline_move_handle): when performing the initial drag of the bezierline, move the control points to keep the line straight. * lib/bezier_conn.c (bezierconn_add_segment): when adding a segment, make the new control points a bit closer to the major point. * app/create_object.c (create_object_motion): use HANDLE_MOVE_CREATE as the reason for the move. (create_object_button_release): use HANDLE_MOVE_CREATE_FINAL as the move reason. * lib/handle.h: new handle move reasons. 1999-12-09 James Henstridge * dia.spec: include the new files in RPMs. * Makefile.am: install these new files. * dia.keys.in: file describing actions and icon for dia diagrams for use in the gnome file manager. * dia.mime: a file defining the application/x-dia-diagram mime type. * dia-diagram.png: an icon for dia diagrams. 1999-12-08 James Henstridge * plug-ins/python/pydia-diagram.c: added heaps of new methods. * plug-ins/python/pydia-display.[ch]: wrapper for display. * objects/standard/ellipse.c: applied Lars's patch to optionally not draw the background of the ellipse. * app/load_save.c (read_connections): do some sanity checking on the handle and connection point numbers before performing the object connection. * lib/bezier_conn.c (bezierconn_load): give the correct number of handles when loading a BezierConn. 1999-12-07 Kjartan Maraas * sheets/*.sheet: Finished Norwegian translations. 1999-12-07 James Henstridge * plug-ins/python/diamodule.c (PyDia_Load): load diagram function. (PyDia_GetObjectType): find object type function. * plug-ins/python/pydia-diagram.c (PyDiaDiagram_Save): added a save method for diagrams. * plug-ins/python/pydia-object.c: added methods for DiaObject and DiaObjectType. * AUTHORS: added Lars and Cyrille to the authors file. * objects/standard/bezier.c (bezierline_add_segment_callback): place new point correctly. * lib/bezier_conn.h (bezierconn_closest_segment): fixed prototype. * lib/bezier_conn.c: applied Lars's patch for placement of the new point when adding a segment to a BezierConn. 1999-12-06 James Henstridge * plug-ins/python/test.py: test script for the python plug-in. * plug-ins/python/python.c: this file contains the plug-in startup code for the python plugin. Right now, it just initialises the dia module and executes a script. * objects/standard/polyline.c (polyline_draw): fix start arrow size. * objects/standard/bezier.c (bezierline_draw): draw control lines for bezier curve if we are using an interactive renderer (ie. only if displaying to the screen). * lib/bezier_conn.[ch] (bezierconn_draw_control_lines): function to draw control lines on to a bezier curve. Based on implementation from Lars. * objects/standard/bezier.c (bezierline_delete_segment_callback): calculate segment number using closest_segment rather than closest_handle. Sometimes the closest handle is part of a different segment. (bezierline_draw): use correct size for start arrow. The next few entries are from Peter Moulder : * lib/geometry.c (distance_line_point): added notes to documentation in comment. * app/object_ops.c (object_list_align_v): (object_list_align_h): fix of by one error when calculating free space for equal distance alignment. * app/menus.c (objects_align_h, objects_align_v): include align adjacent menu items in the gnome version of the menus. * app/diagram.c (diagram_update_menu_sensitivity): set sensitivity on align adjacent menu items correctly. * lib/dummy_dep.h (dummy_dep): added bezierconn to dummy dependency table. * objects/standard/bezier.c: converted bezierline to use BezierConn. Still a few bugs. It crashes on deleting line segments. * lib/Makefile.am (libdia_a_SOURCES): added BezierConn to libdia. 1999-12-05 James Henstridge * lib/bezier_conn.[ch]: start of BezierConn object * app/interface.c: add bezierline to toolbox. * objects/standard/standard.c: initialise bezierline. * objects/standard/bezier.c: new object from Lars R. Clausen. I have made a few modifications to get it working nicely. It still needs a bit of work though. Maybe create a BezierConn object in lib. 1999-12-02 James Henstridge * plug-ins/python/pydia-*.c: fixed compile errors in these files. * plug-ins/python/Makefile.am: tried building everything. It is building as a library at the moment. I will have to convert it to a libtool library and add some initialisation code. * plug-ins/python/diamodule.c: start of the dia module, using the other object wrappers. Not complete. 1999-12-01 James Henstridge * plug-ins/python/pydia-object.c (PyDiaObject_GetAttr): implement the handles and connections attributes. * plug-ins/python/pydia-layer.c: added functions that use ConnectionPoint's. * plug-ins/python/pydia-handle.[ch]: wrapper for Handle's. * plug-ins/python/pydia-cpoint.[ch]: wrapper for ConnectionPoint's. * plug-ins/python/pydia-*.[ch]: starts of python scripting plug-in. I am currently wrapping the basic elements in the diagram in python objects -- nothing to see or play with yet. 1999-11-30 Alexander Larsson * AUTHORS: * HACKING: James Henstridge is now the maintainer of Dia. 1999-11-29 Alexander Larsson * configure.in: * po/ru.po: Added russian translation from Valek Filippov 1999-11-24 James Henstridge * sheets/UML/*: * sheet/ER/*: moved extra sheet pixmaps back to separate dirs as discussed with Alex. Also added extra makefiles so that make install works correctly. 1999-11-23 Alexander Larsson * app/preferences.[ch]: * app/display.c: Added snap to grid preference. Patch from Michael Leslie 1999-11-21 Alexander Larsson * app/load_save.c: * lib/dia_xml.c: * lib/sheet.c: * lib/text.c: * objects/custom/shape_info.c: All strings returned by libxml must be freed with free, not g_free, or there will be problems if you use memory debugging in glib. 1999-11-21 Alexander Larsson * app/create_object.[ch]: * app/menus.c: * app/tool.[ch]: * app/commands.[ch]: * app/pixmaps.h: * app/interface.[ch]: Reverted the tool menu patch. It has some 'issues'. I liked it though, so it'll probably return. 1999-11-21 Alexander Larsson Fixed a lot of memory leaks. Thanks to Bruce Mitchener for some purify runs and analysis. Also a great thank you to Owen Taylor for creating MemProf, a free memory leak detector that was used to find and verify a lot of these fixes. * app/diagram.c: * app/paginate_psprint.c: * app/render_eps.[ch]: * app/render_svg.[ch]: Free renderers. * app/interface.c: Don't add a reference to ddisp->shell. Why was this done in the first place? * app/load_save.c: * lib/dia_xml.c: * lib/sheet.c: * lib/text.c: Free all strings returned from xmlGetProp * app/modify_tool.c: Plug leak. * objects/custom/custom.c: Use closedir() after opendir(). * objects/custom/shape_info.c: User g_free() instead of "if (tmp) free(tmp)". * sheets/ER.sheet: Add newline at end of file. 1999-11-20 Alexander Larsson Based on patch from Patrick Reynolds Adds tool menu and keyboard shortcuts. * app/create_object.[ch]: Use tool_set() instead of tool_reset(). create_create_object_tool() takes extra type argument * menus.c: Add tools menu. * tool.[ch]: Moved tool_data here, export it. Add separate tool type for all create objects tools. new functions tool_set(). * commands.[ch]: New callback tool_set_callback. * pixmaps.h: Moved some pixmaps to interface.c. * interface.[ch]: Remove tool_data array (moved to tool.c). Use the tool_data from tool.c. Remove modify_tool_button global var. 1999-11-20 Alexander Larsson Patch from Patrick Reynolds * app/app_procs.c: Interprets command-line arguments as files to open even when HAVE_POPT is not defined. * app/magnify.c: Shift-clicking when zooming zooms out, like the Gimp. * app/menus.c: Has hotkeys for zoom-100% and snap-to-grid. 1999-11-17 James Henstridge * app/scroll_tool.c (scroll_motion): fixed shift style scrolling so that it is not jumpy. * app/Makefile.am (EXTRA_DIST): added extra files to extra dist list. * app/scroll_tool.c (scroll_motion): added `grabbing hand' type scrolling by pressing the shift key when using the scroll tool. * sheets/Makefile.am: fixed makefile so that install actually works if the directories $(pkgdatadir)/sheets/UML and $(pkgdatadir)/sheets/ER don't exist. (SHEETS): install Circuit.sheet 1999-11-15 Alexander Larsson Patch from Cyrille Chepelov * sheets/Circuit.sheet: * sheets/ER.sheet: * sheets/FS.sheet: * sheets/Flowchart.sheet: * sheets/UML.sheet: * sheets/network.sheet: * sheets/sybase.sheet: Changed name space * sheets/Circuit.sheet: added some missing French translations * lib/sheet.c: killed the temporary sheet namespace * objects/custom/custom.c: obsolete comment cleaned up 1999-11-12 Alexander Larsson * configure.in: * po/pt.po: Added portugese translation from Pedro Morais 1999-11-11 Alexander Larsson Changed all sheets to be specified in xml. All sheet objects removed from the C code. Patch from Cyrille Chepelov * Makefile.am: * configure.in: Adding shapes dir. Updated version to 0.81cvs. * app/Makefile.am: Update run_dia.sh with sheet-dir. * app/app_procs.c: Load all sheets on startup. Create sheet directory first time. Don't call custom_register_sheets(). * lib/Makefile.am: Add sheetdir define * lib/custom.h: Remove custom_register_sheets(). * lib/sheet.[ch]: Add sheet loading code. * sheet/Circuit.sheet: * sheet/ER.sheet: * sheet/FS.sheet: * sheet/Flowchart.sheet: * sheet/UML.sheet: * sheet/network.sheet: * sheet/sybase.sheet: Added sheet files. * sheet/ER/weakentity.xpm: * sheet/UML/aggregation.xpm * sheet/UML/umlclass_template.xpm Added sheet pixmaps. These are moved from their old places. * sheet/.cvsignore: Shut up cvs. * objects/*/*.c: Removed sheet objects and sheet registration. * objects/ER/Makefile.am: * objects/ER/pixmaps/weakentity.xpm: * objects/UML/Makefile.am: * objects/UML/pixmaps/aggregation.xpm: * objects/UML/pixmaps/umlclass_template.xpm: Removed alternative pixmaps. (Moved to sheet). * objects/custom/Makefile.am: * objects/custom/load_sheet.[ch]: Removed old sheet loading code. * objects/custom/custom.c: Load all shapes instead of sheets. Removed custom_register_sheets(). * objects/custom/custom_object.c: Added debug code. * objects/custom/shape_info.[ch]: Added shape_info_getbyname(). * objects/flowchart/Makefile.am: * objects/flowchart/collate.shape * objects/flowchart/delay.shape * objects/flowchart/display.shape * objects/flowchart/document.shape * objects/flowchart/extract.shape * objects/flowchart/flowchart.c * objects/flowchart/intstorage.shape * objects/flowchart/magdisk.shape * objects/flowchart/magdrum.shape * objects/flowchart/magtape.shape * objects/flowchart/manualinput.shape * objects/flowchart/manualop.shape * objects/flowchart/merge.shape * objects/flowchart/offlinestore.shape * objects/flowchart/offpageconn.shape * objects/flowchart/or.shape * objects/flowchart/predefdproc.shape * objects/flowchart/preparation.shape * objects/flowchart/punchedcard.shape * objects/flowchart/punchedtape.shape * objects/flowchart/sort.shape * objects/flowchart/sumjunction.shape * objects/flowchart/terminal.shape * objects/flowchart/transaction.shape * objects/flowchart/transmittape.shape * objects/flowchart/pixmaps/collate.xpm * objects/flowchart/pixmaps/delay.xpm * objects/flowchart/pixmaps/display.xpm * objects/flowchart/pixmaps/document.xpm * objects/flowchart/pixmaps/extract.xpm * objects/flowchart/pixmaps/intstorage.xpm * objects/flowchart/pixmaps/magdisk.xpm * objects/flowchart/pixmaps/magdrum.xpm * objects/flowchart/pixmaps/magtape.xpm * objects/flowchart/pixmaps/manualinput.xpm * objects/flowchart/pixmaps/manualop.xpm * objects/flowchart/pixmaps/merge.xpm * objects/flowchart/pixmaps/offlinestore.xpm * objects/flowchart/pixmaps/offpageconn.xpm * objects/flowchart/pixmaps/or.xpm * objects/flowchart/pixmaps/predefdproc.xpm * objects/flowchart/pixmaps/preparation.xpm * objects/flowchart/pixmaps/punchedcard.xpm * objects/flowchart/pixmaps/punchedtape.xpm * objects/flowchart/pixmaps/sort.xpm * objects/flowchart/pixmaps/sumjunction.xpm * objects/flowchart/pixmaps/terminal.xpm * objects/flowchart/pixmaps/transaction.xpm * objects/flowchart/pixmaps/transmittape.xpm Moved shapes and their pixmaps to shapes/flowchart * shapes/Circuit/Makefile.am: * shapes/Circuit/index.sheet: Removed index.sheet. * shapes/Makefile.am: * shapes/flowchart/Makefile.am: * shapes/flowchart/*.shape: * shapes/flowchart/*.xpm: Added flowchart shapes. (Moved from objects/flowchart) 1999-11-07 Fredrik Hallenberg * app/app_procs.c: Fixed popt stuff. 1999-11-01 James Henstridge * shapes/Circuit/[hv]led_de.{shape,xpm}: new circuit shapes from Andreas Scherf. 1999-10-31 Alexander Larsson * dia.spec: * configure.in: Update version to 0.81. * NEWS: Update with news for 0.81. * shapes/Circuit/*: * shapes/Circuit_eu/*: Moved european circuit objects to Circuit sheet. 1999-10-31 Alexander Larsson * lib/diagramdata.[ch]: Added layer_set_object_list() function. * app/undo.[ch]: Added support for undo of reordered objects. Fix the undo of delete to keep the right order on undo. * app/diagram.c: changed loop to object_add_updates_list() calls. Added undo support to bring to front/back. * app/disp_callbacks.c: * app/paginate_psprint.c: Remove warnings. 1999-10-30 Alexander Larsson This plugs some leaks. Thanks to Bruce Mitchener for running Dia through purify for me. * app/app_procs.c: Free displays and diagrams on exit. * app/modify_tool.c: Free gc when freeing tool. * lib/diagramdata.c: Free layer name. * app/display.c: Free update and display lists when destroying display. * lib/diagramdata.c: Don't leak layer name. * objects/custom/load_sheet.c: * objects/custom/shape_info.c: Free loaded xml documents. 1999-10-28 Alexander Larsson * app/commands.c: * app/object_ops.[ch]: Add undo handling to alignment ops. Based partially on patch by Dan Cohn . * objects/standard/image.c (image_move_handle): Don't divide by zero for small images. Patch by Dan Cohn . * objects/UML/class.c (umlclass_destroy): * objects/custom/custom_object.c (custom_destroy): Don't free connectionpoints before calling element_destroy which unconnects them. 1999-10-26 Alexander Larsson * objects/custom/custom_object.c: Load and save padding too. Fixes strange load crashes. * app/group.c (group_destroy): Don't unconnect already freed connectionpoints when destroying group. Probably fixes bug reported by Elliot Lee . * app/render_gdk.c: Don't crash on zero-size (broken) bezier curves. Different sort of fix. This should work on closed bezier curves too. * objects/standard/textobj.c: Activate default properties dialog for Text objects. * app/render_eps.c: * app/load_save.c: * app/preferences.c: * app/render_svg.c: fopen files in binary or text mode. 1999-10-26 Alexander Larsson * app/render_gdk.c (bezier_add_lines): Don't crash on zero-size (broken) bezier curves. Fixes a crashing bug. 1999-10-25 James Henstridge * app/Makefile.am (run_dia.sh): allow dia to find internal shape files before it is installed. * objects/flowchart/flowchart.c: use relative paths to find shapes. * objects/custom/custom.c (custom_object_load): take file names relative to $(pkgdatadir)/shape-internal, and check an environment variable for an alternative directory. * app/...: added copyright messages to the top of my new code. * app/paginate_psprint.c: some general clean ups. Also, give an error dialog if we can't open the command or output file for writing. * app/diapagelayout.c (dia_page_layout_set_orientation): fixed function so it would set orientation to landscape correctly. * app/paginate_psprint.c: use the paper settings that come with the diagram. Also implemented landscape printing. * app/render_eps.c (new_psprint_renderer): use diagram paper metrics in PS header. * app/commands.[ch] (file_pagesetup_callback): added callback for the page setup dialog. * app/menus.c: added page setup menu item. * app/pagesetup.[ch]: implementation of the page setup dialog. * app/diapagelayout.[ch]: added accessors for the scaling factor. * app/load_save.c (diagram_load): load paper information from save file. (diagram_save): save the paper info. * lib/diagramdata.c (new_diagram_data): initialise paper info section of DiagramData structure. (diagram_data_destroy): free the paper name. * lib/diagramdata.h: added a paper member to the DiagramData structure that holds the page layout info for a diagram. 1999-10-21 Alexander Larsson * objects/flowchart/box.c: * objects/flowchart/ellipse.c: * objects/flowchart/diamond.c: * objects/flowchart/parallelogram.c: Load and save padding too. Fixes strange load crashes. 1999-10-21 Alexander Larsson * app/app_procs.c (name_is_lib): .dll, .sl and .so.0.0.0 are also libraries. 1999-10-20 James Henstridge * configure.in: added extra makefile. * shapes/Circuit_eu/*: a new set of european circuit shapes from Andreas Scherf . Made a few small modifications (added fuses to makefile, fill the area of some of the components). 1999-10-19 Alexander Larsson * lib/Makefile.am: * app/Makefile.am: Add GDK_IMLIB_CFLAGS to includes. Changed --export-dynamic to -export-dynamic * lib/widgets.c: * objects/UML/message.c: Removed c++ comment. * lib/render_store.[ch]: Don't use empty structure. That is not Ansi C. 1999-10-19 James Henstridge * app/diapagelayout.c (dia_page_layout_init): use DiaUnitSpinner's for the margin entries, as they allow interpretation of units. (paper_size_change): display the current page dimensions. * app/diaunitspinner.[ch]: a widget derived from the standard GtkSpinButton that tries to take units into account. So if you enter "1in" into the entry, it will convert it to 2.54cm. 1999-10-18 Alexander Larsson * app/app_procs.c: Removed include of dlfcn.h 1999-10-18 James Henstridge * app/diapagelayout.c (paper_size_change, orient_changed): set upper bound on margin widths. It is set to the paper width/height. * objects/flowchart/diamond.c (diamond_distance_from): fixed distance routine for the diamond. This bug was found and fixed by Daniel Wang Sun Oct 17 19:46:36 1999 ape@gandalf.spacetec.no (Asbjorn Pettersen) * app/commands.c: Add before to remove warning (OS/2 version). 1999-10-17 Alexander Larsson * README: Put a pointer to objects/custom/README. 1999-10-17 Alexander Larsson * dia.spec: Updated version to 0.80 * configure.in: Updated version to 0.80cvs 1999-04-08 Alexander Larsson * Released Dia 0.80 Tag called DIA_0_80 1999-10-17 Fredrik Hallenberg * app/Makefile.am * lib/Makefile.am * objects/UML/Makefile.am * objects/ER/Makefile.am * objects/network/Makefile.am * objects/standard/Makefile.am * objects/FS/Makefile.am * objects/sybase/Makefile.am * objects/flowchart/Makefile.am * objects/custom/Makefile.am Added -I$(top_srcdir)/intl which is needed for --with-included-gettext. * POTFILES.in Updated. * po/sv.po Updated swedish translation. 1999-10-16 Alexander Larsson * configure.in: Updated version number to 0.80. * KNOWN_BUGS: New file. * TODO: Updated. Moved bugs to KNOWN_BUGS. * NEWS: Updated with 0.80 release notes. 1999-10-16 Alexander Larsson * lib/orth_conn.c: For backwards compatibility, make sure handle 0 and 1 are the first and last handle. Fixes compatibility with 0.41, breaks compatibility with cvs version. Fixed bug in undo/redo of adding deleting endpoint segments when the endpoint was connected. Start OrthConn objects with three segments. 1999-10-16 James Henstridge * objects/custom/custom_object.c (custom_update_data): changed resizing behaviour a bit so that shapes don't grow huge when you try to resize them to smaller than the size required by the text box. Also, now shapes will not grow with fixed aspect ratio when you enter text into them unless the shape has the fixed aspect ratio flag set. 1999-10-15 James Henstridge * objects/flowchart/flowchart.c: add new shapes to flowchart sheet. * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes. * objects/flowchart/magdrum.shape: * objects/flowchart/offlinestore.shape: * objects/flowchart/punchedtape.shape: * objects/flowchart/transmittape.shape: * objects/flowchart/punchedcard.shape: new shapes. * objects/flowchart/flowchart.c: add new shapes to flowchart sheet. * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes. * objects/flowchart/collate.shape: * objects/flowchart/delay.shape: * objects/flowchart/extract.shape: * objects/flowchart/intstorage.shape: * objects/flowchart/magdisk.shape: * objects/flowchart/magtape.shape: * objects/flowchart/merge.shape: * objects/flowchart/or.shape: * objects/flowchart/sort.shape: * objects/flowchart/sumjunction.shape: new shapes. 1999-10-15 Alexander Larsson * TODO (BUGS): Added bug: Entering an erronous command as print command crashes dia. * app/paginate_psprint.c: Save all print dialog values for next time. * app/Makefile.am: Remove custom lib from DIA_LIB_PATH. 1999-10-14 James Henstridge * objects/flowchart/flowchart.c: add new shapes to flowchart sheet. * object/flowchart/pixmaps/...: corresponding pixmaps for new shapes. * objects/flowchart/offpageconn.shape: * objects/flowchart/manualop.shape: * objects/flowchart/preparation.shape: * objects/flowchart/manualinput.shape: * objects/flowchart/predefdproc.shape: * objects/flowchart/terminal.shape: new shapes in the flowchart sheet. 1999-10-13 James Henstridge * app/diapagelayout.[ch]: added accessors to paper information. The widget should be just about complete now. * app/diapagelayout.[ch]: fleshed out the page setup widget a bit more. It actually does something now. 1999-10-12 James Henstridge * app/pixmaps/portrait.xpm, app/pixmaps/landscape.xpm: support pixmaps for the page layout widget. * app/diapagelayout.[ch]: start of page layout widget. Not actually built yet as it is not complete. * objects/flowchart/flowchart.c: added new shapes to sheet. * objects/flowchart/display.shape: * objects/flowchart/transaction.shape: new shapes. * AUTHORS: added my name to the spec file. * dia.spec: include the dia desktop entry to the spec file. * Makefile.am: install the dia.desktop file. * dia.desktop: added a gnome desktop entry so you can start dia from the gnome panel menu. 1999-10-11 James Henstridge * objects/custom/custom_object.c: * objects/custom/shape_info.c: warning fixes. * objects/flowchart/document.shape: a shape file for the `document' flowchart shape. * lib/custom.h: new header with the custom shape prototypes. * app/app_procs.c: register custom objects as well. (register_objects_in): close shared libraries if they don't load correctly, and call g_module_make_resident on libraries that load correctly. * app/Makefile.am (dia_LDADD): added libcustom_objects.a to link list. * objects/custom/custom.c: removed get_version, added custom_ prefix to register_objects and register_sheets. * objects/custom/Makefile.am: converted to a normal library. 1999-10-10 Alexander Larsson * app/lineprops_area.c: * app/render_svg.c: * lib/objchange.c: * objects/custom/shape_info.c: * objects/flowchart/box.c: * objects/flowchart/diamond.c: * objects/flowchart/ellipse.c: * objects/flowchart/parallelogram.c: * objects/network/flash.c: * objects/network/scead-plug.c: * objects/sybase/client.c: Removed -Wall warnings. * objects/network/bus.c: Removed unused functions. * objects/FS/flow-ortho.c: * objects/FS/flow-poly.c: * objects/FS/flow.c: * objects/FS/function.c: Implemented "non-implemented" undo for FS objects. Now at least it won't crash. 1999-10-10 Alexander Larsson * objects/network/bus.c: Implemented undo. Handles are now added and removed using the object menu. Default to 6 handles instead of 10. Changed name from "Standard - Bus" to "Network - Bus". Kept old name for backwards compatibility. * objects/network/network.c: Changed name from "Standard - Bus" to "Network - Bus". Kept old name for backwards compatibility. * app/properties.[ch]: * app/undo.c: Update properties in properties dialog if the shown object is part of and ObjectChange (undo or redo). * lib/poly_conn.c: Remove old known bugs list. * objects/UML/class_dialog.c: Removed debug printf's. 1999-10-10 James Henstridge * objects/custom/custom.c (custom_object_load): new function that provides a nice entry point to the custom shape code for when it gets used by other libraries. * configure.in: removed 11 makefiles from AC_OUTPUT list. This speeds builds up a bit. * */Makefile.am (EXTRA_DIST): include pixmaps in distribution. (SUBDIRS): do not descend into pixmaps subdirs. * */pixmaps/Makefile.am: removed -- incorporate into parent makefiles. This speeds up build process. * objects/custom/custom.c (sheets): made variable static. * objects/custom/custom_util.[ch] (custom_get_relative_filename): renamed function. * objects/custom/load_sheet.[ch] (custom_sheet_load): renamed function. * objects/custom/custom.c: look in ~/.shapes instead of ~/.dia_shapes as the per-user shapes directory. * app/preferences.c (prefs_save): save config to ~/.diarc. (prefs_load): load configuration from ~/.diarc. If the file does not exist, fallback on the old ~/.diarc location. * app/app_procs.c (create_user_dirs): create the ~/.dia directory on startup. (register_all_objects): look for user specific objects in ~/.objects rather than ~/.dia_libs. 1999-10-10 Fredrik Hallenberg * configure.in: * app_procs.c: * objects/flowchart/box.c * objects/flowchart/ellipse.c * objects/flowchart/flowchart.c Use gmodule for dynamic linking. As gmodule is using RTLD_GLOBAL i had to change flowchart box and ellipse so the typenames doesn't conflict with the standard box and ellipse. * message.c * commands.c Use button box to make dialogs look better. 1999-10-09 Alexander Larsson * objects/UML/class_dialog.c: * objects/UML/class.h: Implemented undo for "UML - Class" objects. Not 100% tested yet. * objects/UML/classicon.c: * objects/UML/constraint.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/implements.c: * objects/UML/large_package.c: * objects/UML/lifeline.c: * objects/UML/message.c: * objects/UML/object.c: * objects/UML/realizes.c: * objects/UML/state.c: * objects/UML/usecase.c: Removed warnings. * lib/connectionpoint.h: Fixed typo. 1999-10-09 James Henstridge * objects/custom/*.[ch]: added copyright notices to custom object files. * shapes/Circuit/hdiode.shape: * shapes/Circuit/hzener.shape: * shapes/Circuit/opamp.shape: * shapes/Circuit/vdiode.shape: * shapes/Circuit/vzener.shape: made adjustments to make the circuit shapes look nice after the custom shape code changes. * objects/custom/README: updated docs to cover changes to drawing code. * objects/custom/custom_object.c (custom_draw): honour the line properties when drawing the shape. * objects/custom/shape_info.[ch]: added support for setting line properties for individual drawing elements in a custom shape. You can set the dash style, dash length, cap style and join style. 1999-10-07 James Henstridge * objects/custom/shape_info.c (parse_style): added a few extra synonyms for foreground and background. * objects/custom/custom_object.c (custom_draw): use the new style information when drawing the object. * objects/custom/shape_info.[ch]: store all shape style info in the GraphicStyle structure. This makes adding support for extra CSS attributes easier -- we don't have to keep adding extra arguments to a lot of functions. 1999-10-05 James Henstridge * lib/intl.c (unalias_lang): merged in changes from the i18n code swiped from gnome-libs. 1999-10-03 Alexander Larsson * objects/standard/image.c (get_directory): Fix memleak. Found by Kjartan Maraas 1999-09-28 Alexander Larsson * lib/poly_conn.c (polyconn_destroy): Fix bug. Access of freed memory. Rememeber, you can't free the handles of an object before calling object_destroy(), as it unconnects the handles therefore referencing them. 1999-09-28 Alexander Larsson * app/undo.c: undo_clear() didn't set stack->depth to zero. This made other undo functions crash after this had been called on a "full" stack. * dia.xpm: Slightly modified by Chris Love 1999-09-19 Alexander Larsson * objects/UML/class.h: * objects/UML/class_dialog.c: Retrun NULL ObjectChange on class property change. This means no crashes, but "UML - Class" doesn't support undo yet. 1999-09-19 Alexander Larsson * lib/text.c: Indentation fix. * objects/UML/classicon.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/implements.c: * objects/UML/large_package.c: * objects/UML/lifeline.c: * objects/UML/message.c: * objects/UML/object.c: * objects/UML/realizes.c: * objects/UML/state.c: * objects/UML/usecase.c: Update to new undo (w. get/set_state). Add object menu to add/delete segments. 1999-09-17 Alexander Larsson * app/menus.c: Add equal distance alignment. * app/object_ops.c: Add equal distance alignment. Fix bug in adjacent alignment. 1999-09-16 Alexander Larsson * objects/UML/constraint.c: Update to new undo (w. get/set_state). 1999-09-15 Alexander Larsson * app/paginate_psprint.c: Save (parts, more todo) of the info in the print dialog to the next time it's opened. Patch from Yo Ric Dude 1999-09-14 Alexander Larsson * configure.in: Updated version string to 0.41cvs. * objects/UML/assocition.c: Update to new undo (w. get/set_state). Add object menu to add/delete segments. * app/app_procs.c: Added function debug_break() and called it after all objects and sheets are loaded. Place a breakpoint here if you want to debug objects. All symbols should be loaded. 1999-09-12 James Henstridge * app/menus.c (display_menu_items): added print menu item. (filemenu): always add print menu item -- even if gnome-print is not installed. * app/commands.h, app/commands.c (file_print_callback): the print menu item is now available for both gnome-print and non gnome-print setups. * app/paginate_psprint.c (diagram_print_ps): show a dialog to let you print with the non gnome-print driver. 1999-09-11 James Henstridge * app/paginate_gnomeprint.c (diagram_print_gnome): moved the gnome printer dialog code out of commands.c. * app/paginate_psprint.c: new file containing the pagination code for psprint. * app/render_eps.c: made a few modifications so as well as producing EPS files, this renderer can be set up to do postscript printing. This basically entailed adding an extra function to create a RenderEPS renderer which did not bother setting the viewport for the document. That was left for the pagination code. 1999-09-10 James Henstridge * app/render_gnomeprint.c (draw_ellipse, fill_ellipse): since gnome-print does not support elliptic arcs at the moment, approximate the ellipse with eight bezier curves. This gives a pretty good match to a true ellipse. 1999-09-09 James Henstridge * app/commands.c (file_gnome_print_callback): added support for scaling the diagram. Also fixed a few other bugs. * app/paginate_gnomeprint.c (print_page): added ability to scale document. Fixed up test to see if the page has no objects on it. This should prevent some blank pages being printed. Non square objects such as lines could still cause problems. 1999-09-08 James Henstridge * app/commands.c (file_gnome_print_callback): changed from using the standard printer selection dialog to one that also has a paper size selector as well. * commands.[ch]: added callbacks for the print menu item. Currently it only does A4 output. I will make it configurable soon. * app/menus.c: add a print diagram menu item if gnome-print support is enabled. * app/paginate_gnomeprint.c, app/paginate_gnomeprint.h: this is a bit higher level than the gnome-print renderer. It splits the diagram into page size chunks and then renders them. For each page, it only renders the objects whose bounding box intersects the page, and it sets the clip mask so that the diagram does not overlap the margins. * app/render_gnomeprint.c, app/render_gnomeprint.h: added a renderer that uses gnome-print as its back end. * configure.in: added a check for gnome-print. It is disabled by default because the code is not really working correctly yet. * app/menus.c: the delete object menu item was missing from the GnomeUIInfo style menus. 1999-09-07 Fredrik Hallenberg * configure.in Added japanese to ALL_LINGUAS. Fix for Linux on Alpha. 1999-09-07 Alexander Larsson * app/create_object.c (create_object_button_press): Always initialize tool->obj. Otherwise we store a null in the undo Change. * lib/text.c: Set linestyle before drawing cursor. Fix undo of backwards delete. 1999-09-05 James Henstridge * dia.spec: updated spec file to distribute $(prefix)/share/dia. * app/render_svg.c (draw_image): some fixes so that the appropriate style attributes are set. Before it was setting line styles on fill_* functions. Now it only does this for the draw_* variants. * app/Makefile.am (run_dia.sh): set the DIA_SHAPE_PATH environment variable so that custom shapes can be loaded. * shapes/: new directory for custom shapes. The Circuit sheet has been moved here. 1999-09-02 James Henstridge * TODO: removed a few todo items that have been implemented. * app/interface.c (create_sheets): enabled the popup page menu to the notebook. This can make it easier to select different sheets. * object/custom/Circuit/: added diode, zener diode, ground point and operational amplifier shapes. * objects/custom/Makefile.am: added a note about adding DEBUG_CUSTOM if you want the output. * objects/custom/shape_info.c (parse_path): same here. * objects/custom/load_sheet.c (load_with_readdir): don't print so much debugging output. To get the previous level of output, define DEBUG_CUSTOM. * objects/custom/shape_info.c (parse_svg_node): polygons were being recorded as polylines in the ShapeInfo structure. * objects/custom/README: some notes on writing new custom shapes. 1999-09-01 James Henstridge * objects/custom/Circuit/hinductor.*: * objects/custom/Circuit/vinductor.*: added inductor shapes that also test out the bezier curve and SVG path support. * objects/custom/custom_object.c (custom_draw): added support for drawing bezier paths and filled shapes. * objects/custom/shape_info.c (parse_path): new function to parse SVG path elements. It does not do quadratic beziers or elliptic arcs though. Only moves, lines and cubic beziers. (*): added support for paths. 1999-08-31 James Henstridge * objects/sybase/ltm.c (render_to_store): use the newer bezier API. * app/render_svg.c (draw_bezier, fill_bezier): updated renderer interface * app/render_eps.c (draw_bezier, fill_bezier): updated renderer interface * app/render_gdk.c (draw_bezier, fill_bezier): updated renderer interface. * lib/render_store.[ch]: use newer bezier functions. * lib/render.h: changed the bezier drawing functions to use an array of BezPoint structures instead of normal Point structures to allow lineto's mixed in with the curveto's. * objects/custom/Circuit/pnp.*: added pnp transistor shape. * objects/custom/Circuit/Makefile.am (SHAPES): added index.sheet and xpm images for different shapes to Makefile. * objects/custom/custom_object.c (custom_object_new): set the icon for the sheet button if there is one. Otherwise fall back on the default custom object icon. * objects/custom/shape_info.c (load_shape_info): read the sheet icon name from the shape file. * app/interface.c (create_sheet_page): if sheet_obj->pixmap == NULL, check the pixmap_file field for the name of a pixmap file to load for the tool. * lib/sheet.h (SheetObj): added pixmap_file field to structure. It is at the end of the structure, and it isn't used if the pixmap field is non NULL, so it should not break binary compatibility. * objects/custom/load_sheet.[ch]: moved sheet loading code here. Also added support for the use of an index.sheet file so you can specify the ordering of the shapes in the sheet, and also internationalise the sheet name and actually be able to give a description. The old readdir based sheet loading code acts as a fallback if an index.sheet file can not be found. * objects/custom/custom_util.[ch]: new file containing useful routines needed by the custom object code. Currently only contains a simple routine for resolving relative paths. * objects/custom/custom_object.c (custom_draw): fixed problem with drawing rectangles if the shape has been flipped. 1999-08-30 James Henstridge * objects/custom/custom_object.c (custom_get_object_menu): allow flipping of custom shapes. This uses the miggle click object menu. * objects/custom/Circuit/npn.shape: fix aspect ratio. * objects/custom/custom_object.c (custom_update_data): honour the aspect ratio constraints. * objects/custom/shape_info.c (load_shape_info): updated aspect ratio tag parsing, so you can specify a free, fixed or a range for aspect ratios for the shape. 1999-08-29 James Henstridge * objects/custom/test.xml, objects/custom/Circuit/*.shape: fixed up shape namespace tag. * objects/custom/shape_info.c (load_shape_info): check xml:lang attribute on elements to support i18n for custom shape descriptions. Also changed the shape namespace for custom shapes to something a little more sensible. * lib/dummy_dep.h (dummy_dep): added extra dummy dependency. * lib/intl.c: new file containing some functions for i18n stuff. * app/layer_dialog.c (create_button_box): fixed a warning. * objects/custom/custom_object.c: use current line style. Save dash length. * objects/flowchart/diamond.c: use current line style. Save dash length. * objects/flowchart/parallelogram.c: use current line style. Save dash length. * objects/flowchart/ellipse.c: use current line style. Save dash length. * objects/flowchart/box.c: use current line style. Save dash length. * objects/standard/ellipse.c: make ellipse use current line style. * objects/standard/box.c: use the line style set in the toolbox for new boxes, and remember the dash length. * app/commands.c (view_toggle_rulers_callback): fix reshowing of rulers. 1999-08-24 James Henstridge * objects/flowchart/ellipse.c (ellipse_update_data): made some changes to try to stop ellipse to get infinite width/height when we resize, while trying to keep the text inside the ellipse. * objects/flowchart/box.c, objects/flowchart/parallelogram.c, * objects/flowchart/diamond.c, objects/flowchart/ellipse.c: fixed resizing behaviour, so that you can't push objects round the screen with the resize handles. * app/lineprops_area.c (dia_arrow_chooser_init, dia_line_chooser_init): get the OK buttons in the dialogs to take default clicks. * objects/custom/custom_object.c: added code so that resizing the shape does not end up pushing it round the screen. 1999-08-23 Alexander Larsson * app/display.[ch]: Generate rectangle with the union of the damaged regions. This is used to optimize the grid paint and the object rendering. display_render_pixmap passes this info to grid_draw() and data_render(). * app/grid.[ch]: grid_draw doesn't draw grid lines outside of damaged rectangle. Sets dashlength when drawing non-solid grid. * lib/diagramdata.[ch]: data_render() and layer_render() takes an optional damaged rectangle argument. No objects not intersecting this are drawn. * app/diagram.c: Fix warning. Call data_render with NULL update rectangle. 1999-08-23 James Henstridge * objects/custom/custom_object.c (custom_update_data): if the aspect ratio is fixed, make sure the shape is not distorted. * object/custom/shape_info.h, objects/custom/shape_info.c: notice if a tag is given in the shape file. * objects/custom/shape_info.[ch], objects/custom/custom_object.c: added support for stroke-width, stroke and fill CSS attributes specified in style attributes of the SVG elements. The line width is relative to the user specified line width. The stroke and fill attributes can only be used to swap the foreground/background colours. * lib/widgets.c (dia_line_style_selector_set_linestyle): set the sensitivity on the dash length selector when this function is called. * objects/standard/arc.c: same. Also handle dash length. * objects/standard/zigzagline.c: same. * objects/standard/polyline.c: same. Also handle dash length. * objects/standard/line.c: use default arrow/line styles. * app/interface.c: added callbacks to set the default attributes. * lib/attributes.c: added implementations of these functions. * lib/attributes.h: added extra prototypes for the new line properties area in the toolbox. * app/interface.c (create_lineprops_area): added line properties area to bottom of toolbox. * app/lineprops_area.h: a header exporting a few routines of the line properties area widgets. * app/lineprops_area.c: new file containing a selector for arrows and line styles to go in the main toolbox. 1999-08-22 Alexander Larsson * HACKING: Update Gtk+ 1.0.5 comment to 1.2.0. * INSTALL: Demand libtool 1.3 * acconfig.h: Add HAVE_LIBPOPT * configure.in: Make sure we don't propagate -ldl and -lpopt to all LIBS by adding new var APP_LIBS that only app/dia links with. * app/Makefile.am: Update run_dia.sh to load custom and flowchart objects. * objects/ER/Makefile.am: * objects/FS/Makefile.am: * objects/UML/Makefile.am: * objects/network/Makefile.am: * objects/standard/Makefile.am: * objects/sybase/Makefile.am: Don't build versioned libs. 1999-08-22 James Henstridge * configure.in: added objects/custom/Circuit/Makefile to AC_OUTPUT list. * objects/Makefile.am (SUBDIRS): added custom to subdir list -- it should actually work a bit now. * objects/custom/Circuit/*: a test sheet for the custom shape code. It is a small collection of circuit elements. * objects/custom/shape_info.c: fixed up loading of polylines and polygons. Before it was removing negative signs :( * objects/custom/pixmaps/custom.xpm: drew the custom shape icon. A placeholder was here before. I still need to work out how to set icons for individual custom shapes. * objects/custom/custom.c: added code to load the shapes into sheets properly. The shape files should be arranged into directories, and each directory represents a different sheet in the toolbox. This will make it very easy to distribute a collection of dia shapes as a tarball. I still need to work out internationalisation, and maybe also shape ordering in the sheet. * objects/custom/custom_object.c: fixed up dialogs for these objects. (custom_create): fix for objects without text areas. * objects/custom/shape_info.h, objects/custom/custom_object.c: loading and saving of custom object works correctly now. 1999-08-21 James Henstridge * objects/flowchart/ellipse.c: * objects/flowchart/diamond.c: * objects/flowchart/parallelogram.c: * objects/flowchart/box.c: Fixed up a few bugs in these objects when copying or loading these object types. Not all the connection points would be initialised correctly. * objects/flowchart/Makefile.am (libflowchart_objects_la_LDFLAGS): similar here. * objects/custom/Makefile.am (libcustom_objects_la_LDFLAGS): do not build a versioned library. It will only ever be dlopen'd, so this is not a problem. * objects/custom/custom_object.c (custom_distance_from): allow selecting the object by clicking on the text. This fixes problems where the text box is outside the graphic. * objects/custom/shape_info.c (load_shape_info): fixed up reading of connections points. It should be possible to add connections to custom objects now. * objects/custom/custom_object.c (custom_update_data): fixed resizing due to changes to text. * configure.in: added extra makefiles. * objects/custom/shape_info.[ch]: * objects/custom/custom_object.c: * objects/custom/custom.c: the starts of custom shape support in dia. This is not built by default at the moment, since it is not quite complete. When it is, it will let you create more shapes for dia without writing a line of C. Its implementation includes buzzwords such as XML and SVG, so it must be good :) 1999-08-19 Karsten Weiss * app/app_procs.c (app_exit): Use button labels "Quit" and "Cancel" instead of "Yes" and "No". Set default action to "Cancel" instead of "Quit". 1999-08-19 James Henstridge * objects/flowchart/flowchart.c: added ellipse object. * objects/flowchart/ellipse.c: a new shape for the flowchart toolbox. 1999-08-18 James Henstridge d * app/color_area.c (color_area_edit): small fix to prevent dia from segfaulting when you try to change the default foreground/background. 1999-08-17 Alexander Larsson * app/diagram.[ch] (diagram_redraw_all): Added function that redraws all diagrams. * app/preferences.c (prefs_apply): Call diagram_redraw_all when prefs are changed. * app/render_svg.c: Don't use xmlEncodeEntitiesReentrant(). It doesn't exist on older libxml's, and the old version works good enought here. 1999-08-17 James Henstridge * lib/widgets.c: changed handlers that were connected to the GtkButton "pressed" signal to connect to the "clicked" signal. This removes the problem where dialogs are inactive until you click a mouse button after using a colour selector. * configure.in: added extra makefiles to AC_OUTPUT list. * objects/Makefile.am (SUBDIRS): added flowchart module * objects/flowchart/*: a collection of shapes for use in flowcharts. * app/color_area.c (color_area_events): similar here. * app/linewidth_area.c (linewidth_area_events): sometimes a configure event is recieved with event->width == 0, which causes a warning if we try to create a pixmap of that width. * app/preferences.c, app/preferences.h, app/grid.c: added code to allow you to configure the colour of the grid, and also lets you set the grid to use dotted lines instead of solid ones. * app/commands.c, app/commands.h, app/diagram.c, app/diagram.h, app/menus.c, app/Makefile.am: added menu entry for exporting SVG files. * app/render_svg.h, app/render_svg.c: an SVG (Scalable Vector Graphics) export filter. It is not quite complete, but for most shapes it works as expected. Fonts still need a bit of work. 1999-08-11 Robert Brady * configure.in: Added "en_GB" to ALL_LINGUAS. 1999-08-04 Fredrik Hallenberg * menus.c Added Undo and Redo to GNOME menus. * objects/ER/attribute.c: * objects/ER/entity.c: * objects/ER/participation.c: * objects/ER/relationship.c: Added get/set_state functions. * objects/ER/participation.c: Added add/delete segment. * po/sv.po Updated Swedish translation. 1999-07-25 Alexander Larsson * app/preferences.[hc]: Added undo_depth pref. * app/undo.[ch]: Never grow stack larger than pref.undo_depth. undo_depth == 0 means unlimited. Converted printfs to conditionally compiled DEBUG_PRINTFs. 1999-07-25 Alexander Larsson * app/diagram.c: * app/group.c: * lib/object.h: * lib/render_object.c: * objects/ER/attribute.c: * objects/ER/entity.c: * objects/ER/participation.c: * objects/ER/relationship.c: * objects/FS/flow-ortho.c: * objects/FS/flow-poly.c: * objects/FS/flow.c: * objects/FS/function.c: * objects/UML/actor.c: * objects/UML/association.c: * objects/UML/class.c: * objects/UML/classicon.c: * objects/UML/component.c: * objects/UML/constraint.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/implements.c: * objects/UML/large_package.c: * objects/UML/lifeline.c: * objects/UML/message.c: * objects/UML/note.c: * objects/UML/object.c: * objects/UML/realizes.c: * objects/UML/small_package.c: * objects/UML/state.c: * objects/UML/usecase.c: * objects/network/bus.c: * objects/standard/arc.c: * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/image.c: * objects/standard/line.c: * objects/standard/polyline.c: * objects/standard/textobj.c: * objects/standard/zigzagline.c: Removed all traces of is_empty(). It doesn't work in an Undo/Redo world. 1999-07-25 Alexander Larsson * app/diagram.c: * app/group.[ch]: * app/undo.[ch]: Undoable grouping and ungrouping. * app/layer_dialog.c: * lib/diagramdata.[ch]: Undoable layer ops. * app/modify_tool.c: Undoable unconnect on handle move. * lib/orth_conn.[ch]: Working undoable add/remove segment. Removed endpoint_handles from OrthConn, renamed midpoint_handles to handles and put the endpoint handles there. * objects/standard/zigzagline.c: * objects/ER/participation.c: * objects/UML/association.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/realizes.c: Update for the changes in OrthConn 1999-07-23 Karsten Weiss * configure.in: Added "de" to ALL_LINGUAS. 1999-07-17 Alexander Larsson * dia.1: Fixed typo. * app/display.c: * po/da.po: * po/fr.po: * po/hu.po: * po/no.po: * po/pl.po: * po/sv.po: Don't have the etc part of the menu strings i18n:ed. Patch from Fabrice.Bellet@imag.fr. * app/diagram.c: Don't have the etc part of the menu strings i18n:ed. Patch from Fabrice.Bellet@imag.fr. Don't remove is_empty() objects, that don't work with undo. * lib/objchange.[ch]: New files. Definition of ObjectChange. This is essentially an Change exported to the object libs. It encapsulates a change made to an objects internals. It can be applied, reverted and freed. There are also utility functions for doing ObjectChanges that only get/set the whole state of an object to store the change. This cannot be used when the object change deletes or adds a object which has references from other objects, eg. Handles which might be connected. * lib/Makefile.am: Added objchange.c and objchange.h. * lib/dia_image.c: Return NULL when loading fails. * lib/diamenu.h: Menu callbacks return an ObjectChange. * lib/dummy_dep.h: Reference objchange.o * lib/focus.h: Key events return ObjectChange if they modify the object. * lib/object.h: Added object_add_handle_at() function. Apply properties returns an ObjectChange. Remove ObjectState and the get/set state functions, these don't always work. Use the new ObjectChange instead. * lib/object.c: Added object_add_handle_at() function implementation. * lib/orth_conn.[ch]: Use ObjectChange. Not finished yet. Removed get/set/free state functions * lib/poly_conn.[ch]: Use ObjectChange. Don't remove segments that are small. Removed get/set/free state functions * lib/text.[ch]: Use ObjectChange. Added functions to get/set all text attributes. * objects/standard/arc.c: * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/image.c: * objects/standard/line.c: * objects/standard/polyline.c: * objects/standard/textobj.c: * objects/standard/zigzagline.c: Use ObjectChange. fixed bug in image_set_state. zigzagline.c not finished yet. * app/disp_callbacks.c: Use ObjectChange that are returned from menu callbacks and key_events for undo. * app/properties.c: Use ObjectChange that are returned from properties apply for undo. * app/undo.c: * app/undo.h: New undo type: ObjectChangeChange. This wraps a change to the internals of an object (and ObjectChange) in code that does app specific stuff (object_add_updates etc.) 1999-07-11 Alexander Larsson * lib/orth_conn.[ch]: Added code for add/delete segment. * objects/standard/zigzagline.c: Use the new orth_conn code. 1999-07-08 Fredrik Hallenberg * objects/FS/Makefile.am Removed fs.h from sources. * Makefile.am * dia.1 Added man page. 1999-07-07 Alexander Larsson * app/disp_callbacks.c (ddisplay_canvas_events): Fix for bug. Every other arrow-key press got lost. patch from Mr. Data Esq. * INSTALL: change automake.sh to autogen.sh 1999-06-24 Alexander Larsson * app/diagram.c: Don't remove 'empty' objects. This violent destruction of objects won't work with the new undo framework. * app/disp_callbacks.c: Save undo info for object menu calls and key_events. * app/properties.c: Save undo info on properties apply. * lib/dia_image.[ch]: Add refcounting for images. * app/render_eps.c: * app/render_gdk.c: * lib/render.h: DiaImage * -> DiaImage * app/undo.[ch]: Add undo functions for object state changes. * lib/focus.h: * lib/text.c: change of semntics for focus->key_event. Now returns TRUE if the object recieving the event was changed. * lib/object.h: Comment changes. * lib/orth_conn.[ch]: Don't automatically create and delete segments when handles are moved. This is incompatible with undo. Added state get, set and free functions. * lib/orth_conn.[ch]: Added state get, set and free functions. * objects/UML/object.c: * objects/UML/uml.c: Fixed typo "UML - Objet" -> "UML - Object". Saved old for backwards compatibility. * objects/standard/arc.c: * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/image.c: * objects/standard/line.c: * objects/standard/polyline.c: * objects/standard/textobj.c: * objects/standard/zigzagline.c: Added get/set state functions. Textobj has a redo crash-bug. Zigzagline needs object menus to add segments. 1999-06-20 Alexander Larsson * app/render_eps.c (set_dashlength): Don't generate eps files with zero dash-length. 1999-06-16 Alexander Larsson * app/commands.c: * app/create_object.c: * app/undo.[ch]: Finished undo for create and paste. * lib/object.h: Started properties undo. 1999-06-14 Alexander Larsson * TODO: Added resizeable groups. * app/app_procs.c: Removed unused variable. * app/commands.c: * app/undo.[ch]: Undo/redo for cut/delete done. * app/create_object.c: * app/modify_tool.c: * lib/diagramdata.[ch]: * app/diagram.[ch]: renamed diagram_add_selected -> diagram_select renamed diagram_remove_selected -> diagram_unselect * app/properties.[ch]: Added properties_hide_if_shown() function. 1999-06-13 Alexander Larsson * app/undo.[ch]: * app/Makefile.am: Undo functions. * app/commands.[ch] * app/modify_tool.[ch] * app/object_ops.[ch] * app/connectionpoint_ops.c * app/menus.c Use undo functions. WARNING: Not finished. Will break. Finished: move object, move handle. * app/diagram.[ch] Added diagram_selected_break_external() function. It removes all connections between selected objects and non-selected. Add undo stack to Diagram. * lib/diagramdata.[ch] Added layer_remove_objects() function 1999-06-11 Fredrik Hallenberg * objects/FS/Makefile.am * objects/sybase/Makefile.am Now uses GNOME_CFLAGS. * app/app_procs.c Now compiles with GNOME even if popt.h isn't available. 1999-06-10 Alexander Larsson * configure.in * objects/Makefile.am * objects/sybase/* First version of sybase objects from Brian Bruns 1999-06-10 Fredrik Hallenberg * configure.in Added fr to ALL_LINGUAS 1999-06-09 Fredrik Hallenberg * configure.in * app/app_procs.c Popt-code is activated if popt is available. 1999-06-08 Alexander Larsson This is a patch from David Thompson * lib/orth_conn.[ch]: Added orthconn_get_middle_handle() * lib/text.[ch]: Added text_set_cursor_at_end() * objects/FS/* Added first version of functions structure diagrams. 1999-05-24 Alexander Larsson * app/modify_tool.c: Include math.h to remove warning. * app/commands.c (dialogs_properties_callback): Bring up correct properties dialog when selected from menu. From Dan Cohn 1999-05-20 Alexander Larsson Patch from Lars R. Clausen * app/modify_tool.c: Changed abs to fabs. 1999-05-19 Alexander Larsson * INSTALL: * configure.in: Require Gtk+ 1.2.0 1999-05-18 Alexander Larsson Patches from Dan Cohn * app/commands.[ch]: * app/display.[ch]: * app/menus.c: * app/preferences.[ch]: Implements ability to turn on/off connection points in current drawing and in global prefs. 1999-05-18 Alexander Larsson * lib/widgets.c (dia_line_style_selector_init): Fixed warnings. * lib/diagramdata.c (layer_update_extents): Fixed uninitialized variable error. 1999-05-17 Alexander Larsson * lib/dia_image.c: Made some changes to the gdk_imlib visual+colormap setup. 1999-05-17 Alejandro Aguilar Sierra * objects/UML/usecase.c: * objects/UML/lifeline.c Fine tunning. * objects/UML/object.c: * objects/UML/message.c: Changed font from Courier to Helvetica. * lib/widgets.c: * lib/widgets.h: Added dash lenth to the LineStyle widget. * objects/standard/ellipse.c : * objects/standard/zigzagline.c: * objects/standard/line.c: Added dash lenght property. 1999-05-16 Alexander Larsson * app/render_eps.c: First shot at latin1 encoded eps files. Works, but the eps files get a bit large. 1999-05-16 Alexander Larsson * objects/UML/class.[ch]: * objects/UML/uml.[ch]: Reverted the line wrap changes. Some day this might return, but it has to be selectable and default to off for loaded objects, otherwise it breaks file format compatibility. There was also some complains about how it looked, so a making it selectable is good for this too. 1999-05-15 Alexander Larsson * objects/UML/class.[ch]: Some indentation cleanup. Added wrap_lines variable to class. I'll fix the line break stuff tomorrow. 1999-05-13 Alexander Larsson * lib/dummy_dep.h: Added ref to poly_conn.o. * objects/standard/polyline.c (polyline_draw): * objects/standard/zigzagline.c (zigzagline_draw): * objects/standard/arc.c (arc_draw): * objects/standard/line.c (line_draw): Draw lines before arrows. This makes hollow arrows not show the line. 1999-05-13 Alexander Larsson Changes from Kim Peasley * objects/UML/class.c: Break lines with long operations so classes won't be so wide. * objects/UML/uml.[ch]: Helperfunctions for the above. * objects/UML/objects.c: Fix bug that duplicated the text in the attributes textwidget each time the object was selected. 1999-05-12 Alexander Larsson Changes from Lars R. Clausen * app/modify_tool.c: * app/modify_tool.h: Control-drag is restricted to vertical/horizontal movement * lib/object.h: ModifierKeys argument added to object_move_handle * app/connectionpoint_ops.c: * app/create_object.c: * app/object_ops.c: * objects/ER/attribute.c: * objects/ER/entity.c: * objects/ER/participation.c: * objects/ER/relationship.c: * objects/UML/actor.c: * objects/UML/association.c: * objects/UML/class.c: * objects/UML/classicon.c: * objects/UML/component.c: * objects/UML/constraint.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/implements.c: * objects/UML/large_package.c: * objects/UML/lifeline.c: * objects/UML/message.c: * objects/UML/note.c: * objects/UML/object.c: * objects/UML/realizes.c: * objects/UML/small_package.c: * objects/UML/state.c: * objects/UML/usecase.c: * objects/network/bus.c: * objects/standard/arc.c: * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/image.c: * objects/standard/line.c: * objects/standard/polyline.c: * objects/standard/textobj.c: * objects/standard/zigzagline.c: Changed calls to move_handle to pass the new argument. * lib/widgets.c: * lib/widgets.h: Default line width, color etc #define'd * po/da.po: Updates of danish menus 1999-05-08 Fredrik Hallenberg * dia.xpm * dia_gnome_icon.png * dia_gnome_menu_icon.png * dia_logo.png Graphics by Toussaint Frédéric . * app/commands.c About dialog shows dia_logo.png. Removed the GNOME about dialog. * Makefile.am Distribute the icons and install logo in pkgdatadir. * app/Makefile.am Added DATADIR-define. 1999-04-28 Alexander Larsson Patches from Enrico Scholz * dia.spec: Updated version number, made setup quiet, can build from cvs, --enable-gnome, now using automake 1.4 DESTDIR feature, install-strip * lib/Makefile.am * objects/ER/Makefile.am * objects/UML/Makefile.am * objects/network/Makefile.am * objects/standard/Makefile.am now builds better with gnome * objects/UML/class_dialog.c Fixed typo -> po files must be updated too!! 1999-04-28 Alexander Larsson * lib/dummy_dep.h: Added reference so that widgets.o gets linked to the app. 1999-04-23 Alejandro Aguilar Sierra * objects/UML/classicon.c: Added object mode. * objects/UML/actor.c: Changed position of 'snap-to-grid' so connection points are in the grid. 1999-04-22 Alexander Larsson * objects/UML/classicon.c: Changed position of 'snap-to-grid'. By Alejandro Aguilar Sierra 1999-04-22 Alexander Larsson * objects/network/antenna.c * objects/network/flash.c * objects/network/hub.c * objects/network/modem.c * objects/network/modularswitch.c * objects/network/rj45plug.c * objects/network/scead-plug.c * objects/network/network.c * objects/network/Makefile.am * objects/network/pixmaps/antenna.xpm * objects/network/pixmaps/flash.xpm * objects/network/pixmaps/hub.xpm * objects/network/pixmaps/modem.xpm * objects/network/pixmaps/modularswitch.xpm * objects/network/pixmaps/rj45plug.xpm * objects/network/pixmaps/sceadplug.xpm * objects/network/pixmaps/Makefile.am Lots of new network objects from Roland Steinbach . 1999-04-15 Alejandro Aguilar Sierra * objects/UML/classicon.c: Fixed connection positions, saved type as int (it has 3 states), and other small fixes. 1999-04-14 Alexander Larsson * app/preferences.c: * app/load_save.c: Added preference compress_save. It lets dia save uncompressed xml files. * objects/UML/class.c: Fixed bug with size calculation on methods that had class scope. 1999-04-13 Alejandro Aguilar Sierra * objects/UML/usecase.c: Added collaboration mode Fixed connection points with text > ellipse bug and other small things * objects/UML/state.c: Fixed bug of bad position of text after being either end or begin, moved and returned to text 1999-04-12 Andreas Jaeger * app/preferences.c: Add prototype declaration for prefs_apply. 1999-04-11 Alexander Larsson * app/preferences.c: Added 'ok' button. Apply don't hide window. * app/properties.c: Add 'ok' button. * objects/UML/object.c: * objdcts/UML/state.c: Some data was not copied on copy. This patch is from Ben Hochstedler 1999-04-09 Alexander Larsson * app/Makefile.am: Changed link order between X and libxml. Some people had problems with an old libz in their x11 directory. 1999-04-09 Kjartan Maraas * po/no.po: updated translation. 1999-04-08 Lars R. Clausen * lib/message.c (message_error): Fixed small error. * app/commands.[ch]: * app/diagram.[ch]: Added begining of xfig importing 1999-04-08 Alejandro Aguilar Sierra * objects/UML/pixmaps/state.xpm: * objects/UML/state.c: New UML object state machine. * objects/UML/uml.c: * objects/UML/Makefile.am: * objects/UML/pixmaps/Makefile.am: Added the state object. 1999-04-08 Alejandro Aguilar Sierra * objects/UML/usecase.c: Added dialog to allow move text outside the ellipse. 1999-04-08 Alexander Larsson * Released Dia 0.41 Tag called DIA_0_41 * NEWS: Updates for 0.41. 1999-04-08 Alexander Larsson * configure.in: Updated version number to 0.41 * po/*.po: Update po-files 1999-04-04 Fredrik Hallenberg * app/app_procs.c Changed errormessage for --export-to-ps. Removed call to g_log_set_always_fatal(). * app/diagram.c * app/disp_callbacks.c * app/load_save.c (i18n) Removed gettext from some debugmessages. * app/menus.c Small fix in GNOME-menus. Added warning that will help track problems with translations. * po/sv.po (i18n) Updated swedish translation. 1999-04-02 Alexander Larsson * po/da.po: New updates 1999-04-01 Alexander Larsson * po/da.po: * po/no.po: Some fixes. 1999-04-01 Alexander Larsson * po/da.po: (i18n) Updated the danish translation. From Lars R. Clausen. 1999-04-01 Fredrik Hallenberg * app/menus.c (i18n) The popup menu is translated now. * po/sv.po (i18n) Updated swedish translation. 1999-03-29 Alexander Larsson * Released Dia 0.40 Tag called DIA_0_40 * NEWS: Updated for new release 1999-03-29 Alexander Larsson * objects/network/bus.c: Added initialization of properties dialog to NULL. * app/commands.c (edit_cut_callback): Update menu sensitivity when cut object. * app/modify_tool.c (click_select_object): * app/modify_tool.c (modify_button_release): Call diagram_update_menu_sensitivity() when selecting objects to update stuff that depends on selected/not selected. 1999-03-29 Alexander Larsson * Makefile.am: Change order of subdir so that libintl.a builds. Now passed make distcheck. 1999-03-28 Alexander Larsson * lib/font.c (init_x11_font): Stupid bug fixed. 1999-03-28 Alejandro Aguilar Sierra * objects/UML/pixmaps/classicon.xpm: * objects/UML/classicon.c: * objects/UML/uml.c: Added the class stereotype icon objects. * app/commands.c: Changed default ps extension from .ps to .eps. 1999-03-28 Alexander Larsson * lib/Makefile.am: Added diamenu.h and intl.h * lib/font.c: Stupid typo fix. * objects/UML/pixmaps/Makefile.am: Added message.xpm * objects/standard/pixmaps/Makefile.am: Added image.xpm 1999-03-28 Alexander Larsson * lib/font.c: Use a scalable font before fixed when real font not found. * app/commands.c: Removed warning. * objects/standard/image.c: Better handling of loading/saving of images. * INSTALL: Added some text about cvs, fonts and rewrote some parts. * TODO: Updated with new stuff. * configure.in: Bump up version number to 0.40. 1999-03-28 Alexander Larsson * app/display.c: Moved diagram_add_ddisplay() call into new_display(). Fixed new_display to not use uninitialized variables causing loaded files to show up as black (or garbage). * app/commands.c: * app/app_procs.c: Removed unneeded calls to diagram_add_ddisplay(). 1999-03-28 Alexander Larsson * objects/UML/lifeline.c: Fixed bug in copy. Patch from Andreas Jaeger . * objects/UML/message.c: Fixed bug loading messages with null-text. Patch from Andreas Jaeger . 1999-03-27 Fredrik Hallenberg * po/sv.po Updated swedish translation. * app/menus.c (GNOME) Removed help-browser from help menu. Fixed typo. * app/interface.c (GNOME) Accelerators in diagrams should work now. 1999-03-25 Fredrik Hallenberg * app/app_procs.c * app/commands.c * app/defaults.c * app/disp_callbacks.c * app/display.c * app/interface.c * app/menus.c * app/preferences.c * app/render_eps.c * lib/diagramdata.c * lib/font.c * lib/message.c * lib/widgets.c * objects/ER/*.c * objects/UML/*.c * objects/network/*.c * objects/standard/*.c * po/update_pofiles_in.sh * po/POFILES.in More i18n. All strings (expect rare debug messages) can be translated now. Moved intl.h from app to lib. Updated update_pofiles_in.sh to check all .c-files. 1999-03-23 Alexander Larsson * app/disp_callbacks.c (ddisplay_canvas_events): Don't drop keys while num-lock, scroll-lock etc is on. 1999-03-22 Alexander Larsson * app/render_eps.c (draw_image): Fixed exporting of images. Still not perfect, but not outright buggy. 1999-03-22 Alexander Larsson * configure.in: * po/hu.po: Added hungarian translation. By Shooby Ban . * app/Makefile.am: Added $* to the dia call in run_dia.sh 1999-03-22 Lars Clausen * lib/color.[ch]: Added color_equals() call. * objects/standard/arc.c: * objects/standard/line.c: Don't save unneccesary data. * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/image.c: * objects/standard/polyline.c: * objects/standard/zigzagline.c: Share properties dialog. Don't save unneccesary data. 1999-03-22 Seth Alves * app/menus.c: * app/diagram.c: * app/display.c: small changes so that gnome menus aren't broken 1999-03-22 Alexander Larsson * po/da.po: Added danish translation from lrclause@cs.uiuc.edu. * po/POFILES.in: Updated file. * po/update_pofiles_in.sh: Added script that updates POFILES.in. This should probably be run automatically from somewhere. 1999-03-19 Alexander Larsson * app/diagram.[ch]: Added function diagram_update_menu_sensitivity() which sets the sensitivity of some menu items. This function is called at each diagram state change (from diagram_modified()). This is needed because otherwise the keyboard accelerators don't work correctly. * app/display.[ch]: Changed display_set_menu_sensitivity() to display_update_menu_state(). Moved lots of code to diagram_update_menu_sensitivity() in diagram.c. Optimized to only look up menu-items from path:s once. * app/disp_callbacks.c: * app/interface.c: When we get a GDK_FOCUS_CHANGE, update menu sensitivity. Need to set GDK_FOCUS_CHANGE_MASK. * app/create_object.c: Call diagram_modified when an object has been created and selected so that the menu sensitivity is updated. * app/menus.[ch]: removed menus_set_sensitive() and menus_set_state(). Exported renamed function menus_get_item_from_path(). 1999-03-15 Alexander Larsson * app/disp_callbacks.c: Show (empty) object menus on object that has none. Show title on object menus. * app/display.c: Set zoom factor correctly when opening new displays. Better setting of scrollbars. * app/grid.c: * app/menus.h: Some reformating cleanup. * lib/diamenu.h: Added title to object menus. * objects/*/*.c: Added object menu method (NULL-valued) to all objects. * objects/standard/polyline.c: Added title to object menu. 1999-03-14 Alexander Larsson * app/preferences.[ch]: New files. Implements the preferences dialog and loading/saving of ~/.diarc. * app/Makefile.am: Added preferences.[ch]. * app/app_procs.c: Load preferences on startup. * app/commands.[ch]: Added file_preferences_callback to show the preferences dialog. * app/create_object.c: Update extents when creating object. Use the reset_tools_after_create preferences setting. * app/display.c: Use preferences when creating new display. * app/menus.c: Add preferences to menu. * app/defaults.c: * app/layer_dialog.c: * app/properties.c: Don't allow shrinking of dialog. Add i18n of some strings. 1999-03-11 Kjartan Maraas * po/no.po: Norwegian translation added. 1999-03-11 Alexander Larsson * objects/standard/line.c: * objects/standard/arc.c: * objects/standard/polyline.c: * objects/standard/zigzagline.c: Loading of arrow data fixed. 1999-03-09 Alexander Larsson * app/commands.c: Update extents when saving and exporting to postscript. Fixes a bug with postscript bounding-box being wrong. * app/defaults.c: Changed border width from 5 to 2. * app/group.c: Move grouped objects by the move-point of the first object. Fixes bug that made all objects in the group be off-grid when moving the group, even though all objects was on-grid. * app/layer_dialog.c: Update extents when changing layer. 1999-03-08 Alejandro Aguilar Sierra * objects/UML/uml.c: * objects/UML/component.c: * objects/UML/pixmaps/component.xpm: Added the UML component object 1999-03-04 Seth Alves * objects/UML/generalization.c (generalization_create): avoid math on uninitialized genlz->text_width (NaN causes sigfpe) * objects/UML/realizes.c (realizes_create): same * objects/UML/dependency.c (dependency_create): same 1999-03-01 Seth Alves * app/display.c (ddisplay_active): don't fly a warning panel if ddisplay_active is called when no views are open. * app/commands.c (set_default_file_selection_directory): set file selector's default directory if there is already a document open. 1999-02-28 Alexander Larsson * INSTALL: New info about imlib requirements. * Configure.in: Added lib/pixmaps/Makefile to created makefiles. * app/app_procs.c: * app/commands.c: Change from obsoleted to newer gtk calls. * load_save.c: Pass filename of the diagram when loading and saving. This creates better oportunities to handle filename saving. * lib/object.h: Pass filenames to load and save methods. * lib/dia_image.[ch]: Added dia_image_get_broken() call that returns a image which is used for 'broken' images. * lib/pixmaps/.cvsignore: * lib/pixmaps/Makefile.am: * lib/pixmaps/broken.xpm: New files for the broken image bitmap. * lib/widgets.c: Fixed bug with double destroyed filedialog. * objects/*/*.c: Updated load and save prototypes to use the new filename argument. * objects/image.c: Render broken image instead of line when got no image. Use the new filename in load and save to save (if possible) relative pathnames and to better try to find loaded images. 1999-02-28 Alexander Larsson * TODO: Some updates to the todo file. * app/menus.c: * app/display.c: Place over/place over => sent to back/bring to front. Added some keyboard shortcuts to menus. 1999-02-28 Alexander Larsson * lib/dia_xml.c: Changed string saving/loading to a new method. This should be much better att handling &,<,> and whitespaces. Loading strings of the old kind is still supported for backwards compatibility. * samples/ER-demo.dia: * samples/UML-demo.dia: Updated to use the new strings. * app/load_save.c: statusbar modified update fix. 1999-02-27 Seth Alves * app/app_procs.c (app_init): added a --export-to-ps option which will cause dia to load a dia file and save it as ps and then exit. this is a little bogus, because it still pops up a window. this option only shows up if --enable-gnome is used * app/display.c (display_set_menu_sensitivity): no Edit/Delete menu when built with --enable-gnome * app/interface.c (create_display_shell): build status bar even if --enable-gnome is used * app/menus.c: menu fixes for --enable-gnome * app/commands.c (file_open_dialog_ok_callback): fixed up menus when --enable-gnome is used (file_export_to_eps_callback): set a default file name when dialog is created 1999-02-27 Alexander Larsson * objects/UML/association.c (association_create): Fixed usage of not initialized variable. Pointed out by Seth Alves . 1999-02-24 Alexander Larsson * configure.in: Fixed detection of gnome-xml. From Valtteri Vuorikoski . * app/app_procs.c: Fixed error detection on dlsym calls. From Valtteri Vuorikoski . 1999-02-23 Alexander Larsson * objects/UML/message.c (fill_in_dialog): Fixed warnings. 1999-02-22 Lars Clausen * objects/standard/zigzagline.c: * objects/standard/polyline.c: * objects/standard/line.c: * objects/standard/arc.c: * lib/widgets.h: * lib/arrows.h: * lib/widgets.c: Support for sizeable arrows. * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/image.c: Changed creation handle to lower-right. Transparent box/ellipse. * objects/standard/image.c: Better layout of properties boxes. 1999-02-20 Alejandro Aguilar Sierra * objects/UML/message.c (fill_in_dialog): Fixed dialog fill in. Common dialog for all messages. * objects/UML/object.c: Added multiple instance. Dialog related bugs fixed. Common dialog for all instances. Completed copy and destroy. * objects/UML/lifeline.c (lifeline_load): Conn initialization bug fixed and few bad loading prevention flags. Common dialog for all lifeline objects. 1999-02-15 Alexander Larsson * lib/dia_image.[ch]: More work on the DiaImage abstraction. * app/app_procs.c: * app/render_eps.c: * app/render_gdk.c: * objects/standard/image.c: Use the new DiaImage calls. 1999-02-15 Alexander Larsson * app/menus.c: * app/display.c: Reversed the meaning of align horizontal/vertical. 1999-02-15 Alexander Larsson * app/load_save.c (diagram_load): Statusbar update fix. 1999-02-15 Alexander Larsson * app/interface.c (create_display_shell): Fixed status bar size. 1999-02-15 Alexander Larsson * lib/dia_image.[ch]: Added extern declaration for dia_image_release. Removed dia_image_draw, as it's not neseccary. 1999-02-14 Alejandro Aguilar Sierra * app/object_ops.c: * app/menus.c: Added equal distance alignment both vertical and horizontal. * objects/UML/object.c: Added a couple of attributes to load/read that were missing. * objects/UML/lifeline.c: Better handling of handles. Fixed another bug I forgot to add to my last patch. 1999-02-13 Alexander Larsson Patch from Lars Clausen * lib/dia_image.[ch]: * lib/Makefile.am: New files. DiaImage wraps the GdkImlibImage. * lib/render.h: * app/render_eps.c: * app/render_gdk.c: * lib/render_store.[ch]: * objects/standard/image.c: Use the new DiaImagetype. * lib/widgets.c: Removed unused variable to eliminate warning. 1999-02-11 Alexander Larsson * objects/standard/box.c: Added rounded corners on the box object. * lib/widgets.[ch]: Updated the DiaFileSelector widget. 1999-02-09 Alejandro Aguilar Sierra * objects/UML/object.c (objet_draw): Completed underlining of all object name lines. * objects/UML/message.c (fill_in_dialog): Fixed a bug that filled incorrectly the message's dialog. * objects/UML/lifeline.c (lifeline_load): Some cleanning and fixed a couple of bugs that caused crashes after reading diagrams with lifelines. * lib/text.c: Added flags to prevent crash with void strings 1999-02-07 Matthias Köster * app/display.[ch]: Added statusbar to the display widget. Currently shows the zoom factor and modified flag of the viewed diagram. The statusbar is updated upon calls to ddisplay_zoom and ddisplay_update_statusbar. This caused the following additions: * app/diagram.[ch]: Added function diagram_set_modified. Calls ddisplay_update_statusbar for all displays showing the modified diagram. Changed diagram_modified to call diagram_set_modified. * app/interface.c: Added the creation of the statusbar. * app/load_save.c: diagram_save now calls diagram_set_modified instead of setting dia->modified. Needed to force call to display_update_statusbar * app/commands.c: Changed the way view_show_all works. Now calls ddisplay_zoom instead of directly setting the zoom_factor, so the zoom factor is correctly shown in the statusbar. * app/magnify.c: Fixed rubberband zoom to use ddisplay_zoom(). 1999-02-07 Fredrik Hallenberg * app/app_procs.c Rudimentary GNOME session management. * app/disp_callbacks.c * app/interface.c * app/menus.c * app/menus.h GNOME menus. Problems: Callbacks doesn't get user_data. Weird warnings when creating popup menus. menus_set_sensitive(), menus_set_state() doesn't work. 1999-02-05 Lars Clausen * configure.in: Add AM_PATH_GDK_IMLIB() call. * app/Makefile.am: Add gdk_imlib to linking flags. * app/app_procs.c: Init gdk_imlib. Print library-loading error messages on stdout too. * app/interface.c: Add standard image to toolbox. * app/render_eps.c: Set a more reasonable dot length. Fixed missing initialization of dot length. Added draw_image methods. * app/render_gdk.c (new_gdk_renderer): Dot a bit wider. Looks good in normal mode now. * objects/standard/image.c: * objects/standard/pixmaps/image.xpm: New files. Standard object for images. * app/render_eps.c (set_linestyle): * app/render_gdk.c (set_linestyle): * lib/widgets.c (dia_line_style_selector_init): * lib/render.h: New line style DOTTED. * lib/render.h: * lib/render_store.c: Change DrawImage call to use gdk_imlib. * lib/widgets.[ch]: Added widgets for selecting files. Added dotted to the linestyle selector. 1999-02-06 Alexander Larsson * objects/network/printer.c: * objects/network/network.c: * objects/network/pixmaps/printer.xpm: * objects/network/.cvsignore: * objects/network/Makefile.am: * objects/network/pixmaps/Makefile.am: New printer object in network. From Martin Hawlisch * TODO: Added known XML bug. 1999-02-06 Alexander Larsson * app/load_save.c: * lib/dia_xml.c: Reverted back from #include to #include as this is fixed by the xml-config program. The former way broke for some people. Reported by blizzard@redhat.com. * objects/UML/lifeline.c: * objects/UML/message.c: * objects/UML/object.c: Removed some warnings. 1999-02-04 Alejandro Aguilar Sierra * objects/UML/lifeline.c: Fixed connection points over the life line when the focus of control is not drawn. * objects/UML/message.c: Now a recursive message can be freely resized using the handles. 1999-02-02 Alejandro Aguilar Sierra * objects/UML/lifeline.c: Added connection points. Added properties dialog with the option to draw/hide focus of control box and destruction mark. * objects/UML/object.c: Added properties dialog and stereotype, explicit state and attributes. It's also possible to mark the object as active. * objects/UML/pixmaps/object.xpm: Cosmetic change. * objects/UML/message.c: Added "recursive" message type (was not necessary to use OrthConn). 1999-02-02 Alexander Larsson * objects/standard/arc.c: Removed old debug code. Fixes a visual bug. From lrclause@cs.uiuc.edu. 1999-02-01 Alexander Larsson Patch from Lars R. Clausen * app/load_save.c: * lib/dia_xml.c: Update xml includes to gnome-xml/*.h. * objects/standard/arc.c: Only one property dialog per type. Fix arrows directions. * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/textobj.c Added default properties dialog. 1999-01-31 Alejandro Aguilar Sierra * objects/UML/Makefile.am: * objects/UML/uml.c: * objects/UML/lifeline.c: * objects/UML/object.c: * objects/UML/message.c: * objects/UML/pixmaps/lifeline.xpm: * objects/UML/pixmaps/object.xpm: * objects/UML/pixmaps/message.xpm: Added 3 new UML objects for dynamic modeling. To avoid internal conflicts, the name "objet" is used for object "object". * lib/arrows.[ch]: Added ARROW_HALF_HEAD arrow type to allow drawing asynchronous UML messages. 1999-01-30 Alexander Larsson * app/display.[ch]: * app/modify_tool.c: Added autoscrolling while doing rubber-band select. This patch from Matthias Köster (Matthias.Koester@Informatik.Uni-Oldenburg.DE) 1999-01-28 Alexander Larsson * app/defaults.[ch]: New files, deals with default properties dialog. * lib/diamenu.h: New file. Contains definitions for the new object menu. * lib/poly_conn.[ch]: New file. Base class for poly-line like objects. * objects/standard/polyline.c: * objects/standard/pixmaps/polyline.xpm: New files. Polyline object. * app/app_procs.c: Fixed bug with infinite loop when registering sheets. * app/commands.c: Removed unneccesary stuff. * app/disp_callbacks.c: Support for object menus. * app/interface.c: Added polyline to toolbox. Added call to tool_options_dialog_show() when double clicking on tool. * app/tool.[ch]: New function tool_options_dialog_show() for tool properties. * lib/arrows.[ch]: Added ARROW_NONE. * lib/object.h: Added ObjectType methods for handling object default dialogs. Added Object method for handling object_menu. Added unused methods to ObjectTypeOps for future binary compatibility. * lib/widgets.[ch]: Added DiaArrowTypeSelector widget. * objects/standard/arc.c: * objects/standard/zigzagline.c: Added support for default properties. * objects/standard/line.c: Added support for default properties. Just use one properties dialog for all line objects. NOTE: This seems to have a bug. We're working on it. * standard/standard.c: Add the polyline object. 1999-01-27 Alexander Larsson * app/modify_tool.c: Commented out buggy transitive select function. It wasn't really meant to go into cvs. 1999-01-25 Fredrik Hallenberg * autogen.sh: * acconfig.h: * configure.in: * Makefile.am: * app/Makefile.am: * po/POTFILES.in: * app/intl.h i18n-support. * po/sv.po: Swedish translation. Not completed. * configure.in: * acconfig.h: Added possibility to enable GNOME specific code with configure. * configure.in: Added possibility to set debug level with configure. * commands.[hc]: Added about dialog. * app_procs.c * commands.c * interface.c * menus.c Added some GNOME specific code. Not ready for use. 1999-01-24 Alexander Larsson * INSTALL: Added text about needing gtk 1.1.13 and gnome-xml. * NEWS: Described changes since last version (0.20). Released version 0.30, tagged DIA_0_30. 1999-01-22 Alexander Larsson * app/magnify.c (magnify_button_release): Fixed a problem when zooming in on a very small box would not release the grabbed pointer-focus. 1999-01-21 Alexander Larsson * app/load_save.c (diagram_load): Be somewhat more robust when loading files that are not diagrams. 1999-01-21 Alexander Larsson * app/app_procs.c: * objects/ER/er.c: * objects/UML/uml.c: * objects/network/network.c: * objects/standard/standard.c: Added versioning of object libraries. * app/create_object.c: Don't change tool when an object is created. * objects/network/network.c: * TODO: Update 1999-01-19 Alexander Larsson * configure.in: Updated gtk requirement to Gtk+ 1.1.13. * app/display.c: Always add one screenful of scrolling space on each side of a diagram window. 1999-01-19 Jeff Garzik * autogen.sh: Tell automake to auto-install missing files. * app/menus.c: Renamed deprecated Gtk+ function. 1999-01-16 Alexander Larsson * Makefile.am: * configure.in: * samples/Makefile.am: * samples/ER-demo.dia: * samples/UML-demo.dia: Added samples directory. Added samples for ER and UML. * app/commands.c: * app/disp_callbacks.c: * app/menus.c: Zoom is done by sqrt(2) instead of 2. Lots of more zoom options in the menu. * objects/ER/relationship.c: Relationships have 8 connectionpoints instead of 4. * objects/UML/class.c: UML class name font a bit smaller. Fixed stupid bug in the copy operation. * app/display.c: Displays are opened at 500x400 instead of 256x256. * app/load_save.c: Fixup of internal error message. * app/color_area.c: * app/diagram.c: * app/modify_tool.c: * lib/object.c: Removed debug printf's. * TODO (BUGS): Added new known bug. 1999-01-16 Alexander Larsson * app/interface.c: * app/menus.c: Fixed so accelerator groups work in all windows. Updated to new gtk function names. * TODO (BUGS): Removed fixed bug. * app/display.c: Updated to new gtk function names. Set sensitivity of the align menu items. * objects/ER/pixmaps/Makefile.am: * objects/UML/pixmaps/Makefile.am: * objects/network/pixmaps/Makefile.am: Fix so that make dist works. * app/app_procs.c: * app/color_area.c: * app/commands.c: * app/diagram.c: * app/grid.c: * app/layer_dialog.c: * app/load_save.c: * app/object_ops.c: * app/properties.c: * lib/diagramdata.[ch]: * lib/message.c: * lib/objects/ER/attribute.c: * lib/objects/ER/entity.c: * lib/objects/ER/participation.c: * lib/objects/ER/relationship.c: * lib/objects/ER/.c: * objects/UML/actor.c: * objects/UML/association.c: * objects/UML/class_dialog.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/large_package.c: * objects/UML/realizes.c: * objects/UML/.c: * objects/UML/.c: Updated to new gtk function names. Removed warnings. 1999-01-15 Alexander Larsson * TODO: Update TODO. * app/app_procs.c: Fixed loading of diagrams specified as arguments. * objects/ER/attribute.c: * objects/ER/entity.c: * objects/ER/er.c: * objects/ER/participation.c: * objects/ER/relationship.c: Updated the ER objects. 1999-01-14 Alexander Larsson * configure.in: * app/Makefile.am: * objects/Makefile.am: * objects/ER/attribute.c: * objects/ER/entity.c: * objects/ER/er.c: * objects/ER/participation.c: * objects/ER/relationship.c: * objects/ER/pixmaps/Makefile.am: * objects/ER/pixmaps/attribute.xpm: * objects/ER/pixmaps/entity.xpm: * objects/ER/pixmaps/participation.xpm: * objects/ER/pixmaps/relationship.xpm: * objects/ER/pixmaps/weakentity.xpm: First commit of entity relationship objects. These were done by hallon@lysator.liu.se. There are still stuff to do on these. 1999-01-14 Alexander Larsson * TODO: Updates. * app/diagram.[ch]: Change diagram_remove_all_selected to take new argument delete_empty. Empty objects are deleted only if it is TRUE. Removed call to close_eps_renderer. This is now done in end_render in the eps renderer. * app/create_object.c: * app/layer_dialog.c: Update calls to diagram_remove_all_selected. * app/commands.c: Update calls to diagram_remove_all_selected. Some code reformating. Changed order of adding updates i align_h and align_v. * app/modify_tool.c: Update calls to diagram_remove_all_selected. Added pointer grab when doing rubber-band selection, this fixes the bug when draging the box over to another window. * app/connectionpoint_ops.[ch]: diagram_update_connections_object changed to take an argument update_nonmoved. This lets connections that has not moved, but the stuff they're connected to has been moved work. Update calls to the new diagram_update_connections_object. * app/properties.c: Update calls to the new diagram_update_connections_object. Update extents when properties are applied. * app/disp_callbacks.c: Added support for zooming with the '+' and '-' keys. * app/menus.c: Removed old keyboard shortcuts for zoom. * lib/render.h: Added calls begin_render and end_render to renderer. These can be used for setup and cleanup. * lib/diagramdata.c: Added calls to begin_render and end_render in data_render. * app/render_gdk.c: Added begin_render and end_render. * app/render_eps.[ch]: Added begin_render and end_render. Moved close_eps_renderer code to end_render. Various fixes to the generated eps code. This fixes importing generated eps into LYX. 1999-01-12 Alexander Larsson * TODO: Update of todo. * app/menus.c: Menus for alignment updated. * app/object_ops.[ch]: Functions for object alignment updated. * app/commands.[ch]: Object alignment callbacks updated. New diagrams are called Untitled-. * app/layer_dialog.c: Active layer selected when showing layers from new diagram. * app/load_save.c: Compress xml files when saving. Use xml namespace 'dia'. * lib/object.h: Minor comment update. * objects/UML/class_dialog.c: Cleanup of the gkt_list_item moving code. Fixed bug with update of operation when moving parameters. 1999-01-10 Alexander Larsson * app/layer_dialog.[ch]: Fixed the rest of the layers dialog. * app/dialog.c: Added call to redo layer dialogs diagram list when changing diagram name. * lib/diagramdata.[ch]: Added data_raise_layer and data_lower_layer functions for raising/lowering layers. Added data_add_layer_at for adding a layer at a specified index. 1999-01-05 Alexander Larsson This is the asierra-990105 patch done by asierra@servidor.unam.mx. * app/app_procs.c: Added support for reading diagrams from the command line. 1998-12-21 Alexander Larsson This is the asierra-981220 patch done by asierra@servidor.unam.mx. * app/commands.[ch]: Added objects_align_callback(). * app/menus.c: Added align objects to menu. * app/object_ops.[ch]: Add object_list_align(). 1998-12-17 Alexander Larsson * app/layer_dialog.[ch]: New files. Handles the layers dialog. Needs a bugfix for glib to work. Sent patch to gtk-list. * app/pixmaps/new.xpm: * app/pixmaps/eye.xbm: * app/pixmaps/lower.xpm: * app/pixmaps/raise.xpm: * app/pixmaps/delete.xpm: New files. Images for the layer dialog buttons. * lib/diagramdata.h * lib/diagramdata.c New files for the DiagramData and Layer structures and functions. * app/app_procs.c: Added call to create_layer_dialog() on startup. * app/commands.[ch]: New callbacks for showing the properties and layout dialog. Changes for the new DiagramData structure. * app/connectionpoint_ops.c: * app/cut_n_paste.c: * app/diagram.[ch]: * app/display.[ch]: * app/group.c: * app/modify_tool.c: * app/object_ops.[ch]: * app/render_eps.c: * lib/object.[ch]: Changes for the new DiagramData structure. * app/interface.c: * app/properties.c: Set correct wmclasses. * app/load_save.c: Fix load and save of layers. * diagram.dtd: Update DTD for layers. * app/menus.c: New menus for dialogs. * TODO: Some updates. 1998-12-06 Alexander Larsson * TODO: Removed the gtk 1.1.5 stuff. * configure.in: Updated gtk check to version 1.1.5. Updated version from 0.20 to 0.30 * app/commands.[ch]: Updated some callbacks to be of type GtkItemFactoryCallback1. Not all are done yet, but it works anyway. * app/display.h: Removed Gtk 1.0.0 GtkAcceleratorTable references. * app/interface.c: * app/menus.[ch]: Update to Gtk 1.1.x functions. Use ItemFactory instead of MenuFactory. * app/render_gdk.c: Removed Gtk 1.0.0 references. * objects/UML/class_dialog.c: Scrolled window updates for Gtk 1.1.5. * lib/dia_xml.c: Removed ugly fix for gnome-xml bug. Make sure you get the newest version of gnome-xml from CVS. 1998-12-05 Alexander Larsson * TODO: Removed the xml load/save line. * lib/files.[ch]: Removed files. * lib/Makefile.am: Removed building of files.c * app/load_save.c: * lib/connection.c: * lib/element.c: * lib/object.c: * lib/orth_conn.c: * lib/render_object.c: * objects/UML/actor.c: * objects/UML/association.c: * objects/UML/class.c: * objects/UML/constraint.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/implements.c: * objects/UML/large_package.c: * objects/UML/note.c: * objects/UML/realizes.c: * objects/UML/small_package.c: * objects/UML/uml.c: * objects/UML/usecase.c: * objects/network/bus.c: * objects/standard/arc.c: * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/line.c: * objects/standard/textobj.c: * objects/standard/zigzagline.c: Removed all includes of files.h 1998-12-05 Alexander Larsson * dialog.dtd: Made the val property of string be implied. This makes it possible to save strings that are NULL. Just leave out val. * objects/lib/dia_xml.c: Fixed string so that it is possible to save strings that are NULL. Also made an ugly workaround of a bug in gnome-xml which removes empty properties. * objects/lib/orth_conn.c: Fixed a bug in saving. Forgot to step through the directions. * objects/UML/association.c: * objects/UML/class.c: * objects/UML/constraint.c: * objects/UML/dependency.c: * objects/UML/generalization.c: * objects/UML/implements.c: * objects/UML/large_package.c: * objects/UML/note.c: * objects/UML/small_package.c: * objects/UML/realizes.c: * objects/UML/usecase.c: * objects/UML/actor.c: Fixed UML objects to save as xml. The last two were done by asierra@servidor.unam.mx (asierra-981204) * objects/UML/uml.[ch]: Updated *_write() and *_read() functions to use xml. * objects/network/bus.c: * objects/network/computer.c: * objects/network/disc.c: * objects/network/monitor.c: Updated network diagrams to use xml. 1998-12-02 Alexander Larsson * dialog.dtd: New file. DTD that describes the xml file format dia uses. * lib/dia_xml.[ch]: New files. Support for saving object to xml files. * configure.in: * app/Makefile.am: * lib/Makefile.am: Added check for and usage of gnome-xml library. * app/load_save.c: Major chages. Now saves/loads diagrams as xml. * lib/object.[ch]: * lib/element.[ch]: * lib/connection.[ch]: * lib/orth_conn.[ch]: * lib/render_object.[ch]: * lib/text.[ch]: Updated object support load/save functions for xml: * object/standard/arc.c: * object/standard/box.c: * object/standard/ellipse.c: * object/standard/line.c: * object/standard/textobj.c: * object/standard/zigzagline.c: Updated all standard objects to use xml. NOTE NOTE NOTE Only the standard objects are converted right now, don't save or load uml or network diagrams yet. Also, since this is new code it is deemed a bit unstable. * TODO Added a know bug. 1998-12-01 Alexander Larsson * objects/UML/class.c: Changed classname font to Helvetica. Added more space above the classname * objects/UML/usecase.c: Correct placements of connectionpoints on ellipse. Better algorithm for deciding aspect ration on ellipse. These changes were made by Alejandro Aguilar Sierra . (asierra-981201) 1998-11-30 Alexander Larsson * objects/UML/actor.c: Changed the extents and alignment of the element and the text. * objects/UML/.cvsignore: Added usecase.lo and actor.lo. 1998-11-30 Alexander Larsson * objects/UML/actor.c: * objects/UML/usecase.c: * objects/UML/pixmaps/actor.xpm: * objects/UML/pixmaps/case.xpm: New files. Implements usecase and actor UML objects. These objects are done by Alejandro Aguilar Sierra . * objects/UML/Makefile.am: * objects/UML/pixmaps/Makefile.am: Added usecase and actor to makefile. * AUTHORS: Added Alejandro and Jerome to autors list. 1998-11-25 Alexander Larsson * objects/UML/class.c (umlclass_load): Fixed typo. Reported by Jerome.Abela@solsoft.fr 1998-11-24 Alexander Larsson * app/properties.c: Update connections when doing apply in the properties window. * objects/UML/uml.[ch]: * objects/UML/class.[ch]: * objects/UML/class_dialog.c: Added connection points on both sides of attributes and operations in UML classes. Based on idea from Jerome.Abela@solsoft.fr 1998-11-24 Alexander Larsson * README: Some new documentation about handles and connectionpoints. * lib/object.[ch]: Added functions object_add_connectionpoint and object_remove_connectionpoint for handling a dynamic number of connectionpoints. * objects/UML/class.c: Only reserve space for stereotype when it is shown. These changes are from Jerome Abela 1998-11-08 Alexander Larsson * app/connectionpoint_ops.c: * app/commands.c: * app/disp_callbacks.c: * app/display.[ch]: * app/grid.c: * app/handle_ops.c: * app/magnify.c: * app/modify_tool.c: * app/render_gdk.[ch]: * lib/render.h: Huge cleanup of internal rendering system. Moved a lot of data (pixmap, width, height & gc) into the GdkRenderer. This gives a few new methods for Interactive Renderers for setting clipping regions and drawing pixel based lines and rects. Updated the rest of the code to use the new stuff. * app/render_eps.c: Fixed warning. * lib/widgets.c: * objects/standard/zigzagline.c Fixed unused variable warnings. * lib/font.c: Fixedbug with stringwidth where width==0. * TODO: Added known bug. 1998-11-02 Alexander Larsson * lib/widgets.[ch]: Added suppot for setting the font of a DiaFontSelector widget. Also fixed some typos in the header. * lib/object.h: Added a comment about the GetPRoperties method call. You have to make sure to update widget state when this method is called. (Not all objects do this yet, to be fixed.) * TODO: Some small updates 1998-11-01 Alexander Larsson * lib/font.c Fixed problem with height of ascent and descent for fonts. It didn't use the whole height (==ascent+descent) when calculatine ascent_ratio and descent_ratio. * objects/standard/textobj.c: * objects/standard/box.c: * objects/standard/ellipse.c: * objects/standard/line.c: * objects/standard/arc.c: Updated and added property dialogs for these objects. Also added line width/color/style to those objects that didn't have it. This change breaks fileformat compatibility for these objects. * objects/standard/zigzagline.c: Changed zigzagline to be based on OrthConn, much nicer. Also added line style and color to properties. This change breaks fileformat compatibility for zigzagline. * lib/message.c: Fixed bug in message(). Forgot a pair of '&'. 1998-10-29 Alexander Larsson * lib/widgets.[ch]: Added DiaColorSelector widget. This is a colored button that pops up a color selection dialog when pressed. 1998-10-28 Alexander Larsson * lib/widgets.[ch]: * lib/Makefile.am: New files, added widgets for selecting fonts, alignment and line-style. Will be used later. 1998-10-12 Alexander Larsson * app/Makefile.am: * lib/Makefile.am: * objects/UML/Makefile.am: * objects/network/Makefile.am: * objects/standard/Makefile.am: Changed "CFLAGS = -Wall -g" to "CFLAGS = @CFLAGS@" in all Makefile.am. 1998-10-03 Alexander Larsson * app/handle_ops.c (handle_draw): connected HANDLE_MINOR_CONTROL also becomes red. 1998-10-02 Alexander Larsson * Makefile.am: removed -ldl from linking. This is added if needed by configure. * app/app_procs.c: Open dlls with RTLD_LAZY if it is defined. Some cleanups: char *error -> const char *error Added fprintf()'s to where we exited because of errors. * lib/files.c: Include 1998-10-01 Alexander Larsson * acconfig.h: * configure.in: * app/app_procs.c: Detect dlopen better. Detect wether dlopen needs an underscore in the identifier. This code was mostly borrowed from guile. * lib/sheet.[ch]: * app/app_procs.c: * objects/standard/standard.c: * objects/network/network.c: * objects/UML/uml.c: * most objects: Changed the way sheets reference objects to use just the name. Changed module loading to a two stage model: First register_objects() is called for all modules. Then register_sheets() is called. This means that sheets can safely include objects from other modules. 1998-09-30 Alexander Larsson * objects/network/bus.c: * objects/network/network.c: * objects/network/Makefile.am: New file bus.c. Added new object: Ethernet bus. * objects/standard/box.c: Added call to gtk_spin_button_set_numeric for linewidth spinner in property dialog. 1998-09-30 Alexander Larsson * app/connectionpoint_ops.c: * app/create_object.c: * app/group.c: * app/handle_ops.c: * app/modify_tool.c: * lib/connection.c: * lib/element.c: * lib/handle.h: * lib/object.c: * lib/orth_conn.c: * loads of objects: Changed handle->connectable to handle->connect_type. Now handles can be HANDLE_CONNECTABLE_NOBREAK, which means that their connections don't break when moving objects. * app/diagram.c: Always select the last handle in an object that has the closest distance. * lib/geometry.[ch]: Added rectangle_add_point function. 1998-09-27 Alexander Larsson * app/properties.[ch]: New files. Handles the new properties dialog. * app/modify_tool.c: Changed to use new properties dialog. * app/object_ops.[ch]: Removed object_changed_callback, as it's not needed anymore. This is now handled differently in properties.c * lib/object.[ch]: Changed the properties ops for objects. Removed typedefs ChangedObjectTime and ObjectChangedFunc needed for the old way. Added object_return_null function. * app/group.c: * lib/render_object.c: * objects/*/*.c: Changed objects to use the new properties dialog. 1998-09-14 Nuno Ferreira * */Makefile.am (INCLUDES): Changes to work with srcdir != builddir. * autogen.sh: New file. Copied from gtk and added a call to libtoolize. Anyone knows why this isn't done in gtk? * Removed autogenerated files. 1998-09-12 Alexander Larsson * Added call setlocale(LC_NUMERIC, "C") so that formating of floating-point numbers in postscript output will be correct. * Did some cleanup of generated postscript files. .