2001-11-13 Sven Neumann <sven@gimp.org>
* app/base/temp-buf.c: added some safety checks.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpimagefilepreview.[ch]: a new class implementing
special GimpPreview methods for GimpImagefile.
* app/core/gimpimagefile.c: added code to load thumbnails according
to the proposed Thumbnail Managing Standard
(see http://triq.net/~pearl/thumbnail-spec/). Pretty much untested.
* app/widgets/gimpcontainerview-utils.c: plugged a memleak.
* app/widgets/gimpimagepreview.c: simplified.
* app/widgets/gimppreview.c: tell it about GimpImagefilePreview.
2001-10-29 Michael Natterer <mitch@gimp.org>
Cleanup weekend...
* app/app_procs.c: pass "no_interface" to gimp_new().
* app/core/gimp.[ch]: added "gboolean no_interface" and the
load_procs and save_procs GSLists.
* app/core/gimptoolinfo.[ch]: added a "Gimp" pointer to the
GimpToolInfo object so more functions find their context without
accessing the global "the_gimp" variable.
* app/display/display-types.h: removed the GDisplay -> GimpDisplay
typedef.
* app/display/gimpdisplay.c: look at gimp->no_interface, don't
include "appenv.h".
* app/file/file-open.[ch]
* app/file/file-save.[ch]: don't use "the_gimp" any more. Instead,
pass around lots of "Gimp" pointers. Removed the global load_procs
and save_procs variables here. Use access() to find out whether a
file is readable/writable, removed the manual voodoo and it's
Win32 wrappers. Added an optional (can be NULL) "PlunInProcDef"
parameter to file_save(), removed file_save_with_proc().
* app/gui/menus.c: Use the unused "gpointer data" parameter of the
GtkItemFactory callbacks to pass a "Gimp" pointer to all of them.
This reduces the usage of the global "the_gimp" hack to zero
in app/gui/... yeah.
* app/gui/channels-commands.c
* app/gui/edit-commands.c
* app/gui/file-commands.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/palettes-commands.c
* app/gui/select-commands.c
* app/gui/test-commands.c
* app/gui/tools-commands.c
* app/gui/view-commands.c: use the passed "Gimp" pointer.
* app/gui/color-area.[ch]
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/file-new-dialog.[ch]
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]
* app/gui/gui.c
* app/gui/info-window.[ch]
* app/gui/module-browser.[ch]
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.[ch]
* app/gui/paths-dialog.c
* app/gui/preferences-dialog.[ch]
* app/gui/resize-dialog.[ch]
* app/gui/tool-options-dialog.[ch]
* app/gui/toolbox.c: pass around lots more "Gimp" and
"GimpContext" pointers and don't use "the_gimp" any more.
* app/tools/gimptool.h: added a pointer to the corresponding
GimpToolInfo object (which in turn has a pointer to a Gimp).
* app/tools/tool_manager.[ch]: set the pointer after creating the
tool object. Removed tool_manager_get_info_by_tool() as there is a
tool->tool_info pointer now.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbrightnesscontrasttool.c
* app/tools/gimpclonetool.c
* app/tools/gimpcolorbalancetool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpconvolvetool.c
* app/tools/gimpcroptool.c
* app/tools/gimpcurvestool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpdrawtool.c
* app/tools/gimpeditselectiontool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimphistogramtool.c
* app/tools/gimphuesaturationtool.c
* app/tools/gimpinktool.c
* app/tools/gimplevelstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimpmovetool.c
* app/tools/gimppainttool.c
* app/tools/gimppathtool.c
* app/tools/gimpperspectivetool.c
* app/tools/gimpposterizetool.c
* app/tools/gimprectselecttool.c
* app/tools/gimprotatetool.c
* app/tools/gimpscaletool.c
* app/tools/gimpsheartool.c
* app/tools/gimptexttool.c
* app/tools/gimpthresholdtool.c
* app/tools/path_tool.c
* app/tools/xinput_airbrush.c: s/GDisplay/GimpDisplay/g.
Use tool->tool_info and tool_info->gimp in some places to get
rid of using "the_gimp".
Removing the remaining ones involves changing the tool options
system and is scheduled next...
* app/widgets/gimpdnd.c
* app/widgets/gimpdocumentview.c: pass a "Gimp" pointer to all
file_open_*() functions.
* app/gdisplay_color.[ch]
* app/gdisplay_color_ui.[ch]
* app/image_map.[ch]
* app/nav_window.[ch]
* app/path.c
* app/path_bezier.c
* app/path_transform.h
* app/qmask.[ch]: s/GDisplay/GimpDisplay/g
* tools/pdbgen/pdb/fileops.pdb: load_procs and save_procs are
members of the "Gimp" object now.
* tools/pdbgen/pdb/plug_in.pdb: use gimp->no_interface, don't
include "appenv.h".
* app/pdb/fileops_cmds.c
* app/pdb/plug_in_cmds.c: regenerated.
2001-10-25 Michael Natterer <mitch@gimp.org>
* configure.in: generate app/file/Makefile
* app/Makefile.am
* app/file-open.[ch]
* app/file-save.[ch]
* app/file-utils.[ch]: removed...
* app/file/Makefile.am
* app/file/file-open.[ch]
* app/file/file-save.[ch]
* app/file/file-utils.[ch]: ...and added here.
* app/gui/file-commands.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* tools/pdbgen/pdb/fileops.pdb: changed includes accordingly.
* app/app_procs.[ch]: removed app_exit_finish() and
app_exit_finish_done() from the public API, call gtk_main() here,
pass "no_data" to gimp_new() and "restore_session" to
gui_restore().
* app/main.c: removed global variable "double_speed", don't
call gtk_main() in main.c. Added some missing log domains.
* app/appenv.h: removed "double_speed".
* app/core/gimp.[ch]: added "gboolean no_data" property which
must be passed to gimp_new().
* app/display/gimpdisplay-foreach.[ch]: added gdisplays_set_busy()
and gdisplays_unset_busy().
* app/gui/about-dialog.c: don't include "appenv.h", declare
"double_speed" extern.
* app/gui/brush-select.[ch]
* app/gui/gradient-select.[ch]
* app/gui/palette-select.[ch]
* app/gui/pattern-select.[ch]: made the list of dialogs and the
global selection dialogs private. Added functions which get a
dialog by PDB callback_name. Pass a "Gimp" and the callback_name
to the constructors. Don't include "app_procs.h" for "the_gimp"
and "appenv.h" for "no_data" any more. Use the passed "Gimp"
instead and look at gimp->no_data.
* app/gui/toolbox.[ch]: pass a "Gimp" to the constructor.
* app/gui/gui.[ch]: use the new gdisplays_[un]set_busy() functions,
use the passed "Gimp" all over the place, don't include
"appenv.h" and "app_procs.h". gui_really_quit_dialog() takes
a "quit_func" callback now and calls it instead of calling
app_exit_finish() (which is now private) directly.
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/palette-import-dialog.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/pattern_select.pdb: changed accordingly.
* app/pdb/brush_select_cmds.c
* app/pdb/fileops_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/pattern_select_cmds.c: regenerated.
2001-10-25 Michael Natterer <mitch@gimp.org>
* POTFILES.in: app/file-*.c -> app/file/file-*.c
2001-10-24 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpbutton.[ch]: added
gimp_button_extended_clicked() which emits the resp. signal.
* app/gui/menus.[ch]: added new item factories "<Buffers>" and
"<Documents>".
* app/gui/Makefile.am
* app/gui/buffers-commands.[ch]
* app/gui/documents-commands.[ch]: new files for the callbacks.
* app/gui/dialogs-constructors.c: use them.
* app/gui/file-open-dialog.c: set the title to "Open Image",
not "Load Image".
2001-10-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/docindex.[ch]: removed.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpdocumentview.[ch]: new widget as replacement.
* app/core/gimpcontext.[ch]: added context->imagefile property.
* app/app_procs.c
* app/file-save.c
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gui.c
* app/gui/menus.c
* app/gui/test-commands.c: changed accordingly.
* app/widgets/gimpcontainerview.[ch]: added "gboolean reorderable"
property which needs to be set by subclasses.
* app/widgets/gimpdrawablelistview.c: removed the "insert_item"
implementation which was used to make the items reorderable.
* app/widgets/gimpcontainerlistview.[ch]: make the list items
reorderable depending on view->reorderable.
* app/widgets/gimpbufferview.c: made it reorderable.
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpdatafactoryview.c: changed accordingly.
2001-10-18 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/module_db.[ch]: removed.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpmoduleinfo.[ch]
* app/core/gimpmodules.[ch]: new files containing the module info
object and the module list handling code.
* app/gui/Makefile.am
* app/gui/module-browser.[ch]: new files containing the GUI.
* app/xcf/xcf.[ch]: pass a "Gimp" pointer to xcf_exit().
* app/core/gimp.[ch]: handle modules and xcf init/exit here too.
* app/app_procs.c: don't touch the modules and xcf stuff any more.
* app/gui/dialogs-constructors.c: changed accordingly.
2001-10-18 Michael Natterer <mitch@gimp.org>
* POTFILES.in: module_db.c has moved.
2001-08-17 Michael Natterer <mitch@gimp.org>
* configure.in: added app/display/ and app/plug-in/. Empty for
now except for the types files.
* app/Makefile.am
* app/appenums.h
* app/apptypes.h: removed.
* app/display/Makefile.am
* app/display/display-types.h
* app/plug-in/Makefile.am
* app/plug-in/plug-in-types.h
* app/gui/Makefile.am
* app/gui/gui-types.h
* app/pdb/Makefile.am
* app/pdb/pdb-types.h: new files for typedefs.
* app/appenv.h: added MessageHandlerType and StackTraceMode here.
* app/undo_types.h: moved undo struct typedefs here.
* app/tools/tools-types.h
* app/core/core-types.h: added some enums and Tattoo here
(renamed to GimpTattoo).
* app/gdisplay.h: temp_hack: #include "display/display-types.h"
* app/gimphelp.c: s/gtk_idle_add/g_idle_add/
* app/gimprc.c: don't use "gimprc" in token handlers but the
passed "val1p" and "val2p".
* app/image_map.[ch]: cleanup in preparation of making a GObject
out of it.
* app/base/pixel-region.[ch]: no need to pass the
PixelRegionIterator around as void pointer.
* app/core/gimp.[ch]
* app/core/gimpcontext.[ch]
* app/core/gimptoolinfo.[ch]
* app/tools/tool_manager.c
* app/widgets/gimpdnd.c: added the standard_tool_info to the Gimp
object.
* app/batch.c
* app/file-open.c
* app/file-save.c
* app/file-utils.c
* app/interface.c
* app/main.c
* app/path.[ch]
* app/pathP.h
* app/plug_in.h
* app/core/gimpdrawable.[ch]
* app/core/gimpimage-mask.c
* app/core/gimpimage.[ch]
* app/core/gimplayer.c
* app/gui/color-area.c
* app/gui/color-notebook.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/error-console-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/indicator-area.c
* app/gui/info-dialog.c
* app/gui/palette-editor.c
* app/gui/palette-select.c
* app/gui/pattern-select.c
* app/gui/session.c
* app/gui/splash.c
* app/gui/view-commands.c
* app/tools/gimpinktool-blob.c
* app/widgets/gimpcolorpanel.c
* app/widgets/gimpdockbook.c
* app/widgets/gimppreview.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/xcf/xcf.c: changed accordingly: s/Tattoo/GimpTattoo/, include
the new types files, include <glib-object.h> instead of >gtk/gtk.h>.
Bad hacks to get rid of SELECTION_OFF and friends in core/ (will
be replaced ba a signal soon).
* tools/pdbgen/Makefile.am: changed list of headers scanned for
enums accordingly.
* app/pdb/procedural_db.c
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/channel.pdb
* tools/pdbgen/pdb/display.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/pattern_select.pdb: same fixes as above, added
hacks to ensure that all foo-types.h files are included before all
other gimp internal includes, include "pdb-types.h" unconditionally.
* tools/pdbgen/enums.pl
* app/pdb/*_cmds.c: regenerated.
2001-08-14 Michael Natterer <mitch@gimp.org>
* app/gdisplay.h: an evil temp_hack which lets GimpContext managing
the active display withoug including "gdisplay.h". Will go away as
soon ad context properties are registered dynamically.
* app/module_db.c: cleaned up the object code in preparation of
moving it to core/.
* app/path.c: connect to GimpImage's
* app/core/gimpobject.[ch]: derive it from GObject, not from
GtkObject any more (yeah :-)
* app/core/*.c: #include <glib-object.h> instead of <gtk/gtk.h>,
removed some remaining GtkObject-isms.
(left in a few #include <gtk/gtk.h> where bigger changes are needed
to get rid of the UI dependency).
* app/core/core-types.h: #include <gdk-pixbuf/gdk-pixbuf.h> here
temporarily.
* app/core/gimp.c (gimp_create_display): unref the image after
creating it's first display.
* app/core/gimpbrush.[ch]: disabled the parts of the code which
depend on GimpPaintTool.
* app/core/gimpbrushgenerated.c
* app/core/gimpbrushpipe.c: changed accordingly.
* app/core/gimpcontext.[ch]: evil hack (see above) to manage the
active display without including "gdisplay.h"
* app/core/gimpimage-mask.[ch]: pass a context to
gimage_mask_stroke() and get the current tool's PDB string from
there.
* app/core/gimpedit.c: changed accordingly.
* app/core/gimpimage.c: use gimp_image_update() instead of
gdisplays_update_full().
* app/gui/color-area.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/edit-commands.c
* app/gui/image-commands.c
* app/gui/toolbox.c: changed accordingly (don't use Gtk methods on
GObjects).
* app/gui/menus.c: fix some const warnings by explicit casting.
* app/tools/*.[ch]: ported all tools to GObject, some minor
cleanup while i was on it.
* app/widgets/gimpdialogfactory.[ch]: ported to GObject.
* app/widgets/gimplayerlistview.h: added FOO_GET_CLASS() macro.
* tools/pdbgen/app.pl: added a "widgets_eek" hack like "tools_eek"
which inserts #include "widgets/widgets-types.h" before ordinary
includes.
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/edit.pdb
* app/pdb/brush_select_cmds.c
* app/pdb/edit_cmds.c: changed according to the stuff above.
2001-08-12 Michael Natterer <mitch@gimp.org>
Switched to GObject reference counting:
* app/core/gimpcontainer.c: only ref(), not ref()/sink() children
of strong containers. Reordered gimp_container_remove() so we
don't need to ref the object while removing it.
* app/core/gimpcontext.c: misc fixes. Needs to be badly tortured...
* app/app_procs.c
* app/gdisplay.c
* app/gimprc.c
* app/core/gimp.c
* app/core/gimpbrush.c
* app/core/gimpbrushpipe.c
* app/core/gimpdatafactory.c
* app/core/gimpdocuments.c
* app/core/gimpgradient.c
* app/core/gimpimage.c
* app/core/gimplayer.c
* app/core/gimplist.c
* app/core/gimpobject.c
* app/core/gimpparasite.c
* app/core/gimppattern.c
* app/core/gimpundostack.c
* app/gui/dialogs.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpfuzzyselecttool.c: changed accordingly: don't
ref()/sink() any more, unref all (??) objects after adding them to
strong containers, misc. minor fixes.
* app/gui/dialogs-constructors.c
* app/widgets/gimpwidgets.c: use g_object_add_weak_pointer()
instead of simply crashing because g_object_weak_ref() was used
with gtk_widget_destroyed, brrr.
* app/widgets/gimpdnd.c: removed unneeded g_return_if_fail()'s.
2001-08-11 Michael Natterer <mitch@gimp.org>
* configure.in: fsck^^^ -- lovely autofoo wants "changequote([,])dnl"
* app/core/gimpcontext.[ch]: lots of GObject porting.
* app/core/gimpobject.[ch]: added a "disconnect" signal, which
like gtk's "destroy" is emitted in dispose(). This is ugly but
I don't see another "clean" way to implement weak containers.
* app/core/gimpcontainer.c: connect to the "disconnect" signal of
the children of weak containes.
* app/core/gimpimage.[ch]: replaced the "destroy" implementation
with "dispose" + "finalize". Removed gimage->undo_history.
* app/devices.c
* app/gui/dialogs-constructors.c
* app/gui/tools-commands.c
* app/tools/tool_manager.c
* app/widgets/gimpimagedock.c: changed accordingly.
2001-08-11 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/gimpdocuments.[ch]: new file implementing the
docindex.* replacement.
* app/gimprc.c: added TT_XDOCUMENT to parse the new document
history.
* app/file-save.c
* app/gui/file-open-dialog.c: add opened & saved images to the
document history.
* app/core/gimp.c: call gimp_documents_init/exit() instead of
doing it here.
* app/core/gimpimagefile.[ch]: removed the "filename" attribute
and use GimpObject's "name" instead.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c: added a menu entry/dockable for the document
history.
* app/widgets/gimpdnd.[ch]: make it DND-able.
* app/widgets/gimppreview.c: fix preview rendering correctly this
itme.
2001-08-07 Michael Natterer <mitch@gimp.org>
* libgimpwidgets/gimpbutton.[ch]: cleanup.
* app/Makefile.am
* app/errorconsole.[ch]: removed...
* app/gui/Makefile.am
* app/gui/error-console-dialog.[ch]: ...added here. Lots of cleanup,
create a vbox instead of a dialog.
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c: added a dockable for the error console.
* app/errors.c
* app/gui/gui.c
* app/gui/menus.c: changed accordingly.
* app/widgets/gimpcontainerview.c: conntect "extended_clicked" to
the "extended_clicked" callback, not "clicked".
* app/widgets/gimplayerlistview.c: set the layer option box'
spacing in "style_set".
* app/widgets/gimplistitem.c: argh.
* themes/Default/gtkrc: changed the default theme to set a smaller
font only for the dockable because that's where saving screen
estate really makes sense. May need some further tweaking.
2001-07-30 Michael Natterer <mitch@gimp.org>
* gtkrc: set the width of the scrollbar slider to the same value
as our default font size so the sliders are nicely aligned with
their descriptive labels.
* libgimpwidgets/gimpdialog.[ch]
* libgimpwidgets/gimpquerybox.[ch]: use GLib-isms and create the
dialogs' action_area buttons with gtk_dialog_add_button() so we
can use the GTK_STOCK_FOO buttons and plug in our own icon factory
later.
* app/qmask.[ch]: fixed the qmask buttons by applying proper
GdkEvent callback conventions.
* libgimpwidgets/gimpcolorbutton.c: NULLify all pointers in
"destroy".
* app/gdisplay_ops.c
* app/gimphelp.c
* app/interface.c
* app/gui/brush-editor.c
* app/gui/color-notebook.c
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/file-commands.c
* app/gui/file-new-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/layers-commands.c
* app/gui/offset-dialog.c
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.c
* app/gui/resolution-calibrate-dialog.c
* app/gui/tool-options-dialog.c
* app/widgets/gimpwidgets-utils.c
* libgimpwidgets/gimpunitmenu.c: g_signal_* and GObject stuff,
use lots of GTK_STOCK_OK and friends instead of _("OK") etc.,
misc minor cleanups.
2001-07-24 Michael Natterer <mitch@gimp.org>
Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
* configure.in: require glib/gtk+ >= 1.3.7, commented out the
gtkxmhtml stuff.
From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
to hack or use GIMP HEAD.
Beware, it crashes randomly :)
* app/core/Makefile.am
* app/core/gimpmarshal.list: new file plus rules to generate
gimpmarshal.[ch] from it.
* app/core/*
* app/tools/*
* app/widgets/*
* libgimpwidgets/*: started to use the glib object system. All
core/ objects are still gtk objects however. All signals are
created using g_signal_new(). There are many gtk+ artefacts left.
Finally, we will _not_ use the gtk_signal_foo() wrappers and
friends any more.
* app/colormaps.c
* app/devices.[ch]
* app/disp_callbacks.c
* app/errorconsole.c
* app/file-save.[ch]
* app/interface.c
* app/module_db.c
* app/nav_window.c
* app/ops_buttons.c
* app/scroll.c
* app/user_install.c
* app/gui/about-dialog.c
* app/gui/brush-editor.c
* app/gui/brushes-commands.c
* app/gui/color-notebook.c
* app/gui/colormap-dialog.c
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.c
* app/gui/file-commands.c
* app/gui/file-dialog-utils.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradients-commands.c
* app/gui/image-commands.c
* app/gui/info-dialog.[ch]
* app/gui/layer-select.c
* app/gui/layers-commands.c
* app/gui/menus.c
* app/gui/offset-dialog.c
* app/gui/palette-editor.c
* app/gui/palettes-commands.c
* app/gui/patterns-commands.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.[ch]
* app/gui/splash.c
* app/gui/tips-dialog.c
* app/gui/tool-options-dialog.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* libgimp/gimpbrushmenu.c
* libgimp/gimpmenu.c
* libgimp/gimppatternmenu.c
* libgimp/gimpui.c
* libgimpbase/gimpenv.c: tons and tons of changes like "const
gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
and currently disables), lots of s/gtk_signal/g_signal/,
removal/replacement of deprecated stuff,
s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
while I was on it, zillions of warnings left...
* modules/Makefile.am: disabled the water color selector
temporarily (XInput issues).
* plug-ins/Makefile.am
* plug-ins/common/.cvsignore
* plug-ins/common/Makefile.am
* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
which did not build (including Script-Fu). They are trivial to
fix.
2001-07-17 Michael Natterer <mitch@gimp.org>
* app/path.[ch]: removed path_to_beziersel() so this file can be
safely included from core/.
* app/tools/gimpbezierselecttool.[ch]: added it here.
* app/core/core-types.h: added a GimpToolOptions typedef. Removes
deps into tools/ and will later be a core object anyway.
* app/tools/tools-types.h: removed the ToolOptions typedef here.
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimpimage.c
* app/core/gimptoolinfo.[ch]: removed deps into tools/, misc stuff.
* app/tools/tool_manager.[ch]: some ugly temp hacks. Please ignore.
* app/widgets/gimpdialogfactory.[ch]: added a "remember_if_open" field
to the GimpDialogFactoryEntry so we can manage dialogs which should
not be re-opened on startup.
* app/gui/dialogs-constructors.c
* app/gui/dialogs.c: register & create all editor dialog with the
"global_dialog_factory".
* app/gui/tool-options-dialog.c
* app/tools/*: s/ToolOptions/GimpToolOptions/
2001-07-15 Michael Natterer <mitch@gimp.org>
* app/core/gimp.c: don't use the global "the_gimp" variable.
* app/core/gimpimage-convert.c: don't update the display here.
* app/gui/gui.c: connect to the images' "mode_changed" signal
and update here.
* app/gui/brush-editor.[ch]
* app/gui/gradient-editor.[ch]
* app/gui/palette-editor.[ch]: pass a "Gimp" pointer to all
editors. Added an palette_name entry to the palette editor.
* app/gui/colormap-dialog.[ch]: removed all the dialog stuff and
made the constructor return a vbox so it can be integrated in a
dockable. Lots of cleanup and removal of anqiuqe aretfacts.
* app/gui/dialogs-constructors.[ch]: wrap the colormap dialog in
a dockable.
* app/gui/dialogs-commands.[ch]
* app/gui/dialogs.c
* app/gui/menus.c: integrate the new dockable, made the "Brushes.."
etc. menu entries create dockbles. Moved the old dialogs and the
test menu entries to "Old + Testing" and removed N_() so the .po
files stay cruft-free.
* app/gui/test-commands.[ch]: removed lots of stuff which is not
"testing" any more.
2001-07-09 Michael Natterer <mitch@gimp.org>
* app/core/gimp.[ch]: added a (commented out) function to open
files (to get rid of including gui/file-open-dialog.h)
* app/gui/file-open-dialog.[ch]
* app/gui/file-save-dialog.[ch]: renamed all functions because they
are no callbacks any more. Removed the _by_extension() callbacks.
* app/gui/file-commands.[ch]: added the
file_[open|save]_by_extension() callbaks here along with some
other stuff which has nothing to do with the file dialogs.
* app/gui/menus.c: added a helper function to create an item
factory, cleanup.
* app/gui/palette-editor.[ch]: contains only the editor for a
single palette now (removed the notebook and the palette list).
Renamed all functions to palette_editor_*(). Will be made a
dockable later.
* app/gui/palette-select.[ch]: made it work like the other
selection dialogs.
* app/app_procs.c
* app/docindex.c
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/gradient-select.c
* app/gui/gui.c
* app/widgets/gimpdnd.c: changed accordingly.
2001-07-08 Michael Natterer <mitch@gimp.org>
* app/disp_callbacks.c: the active_tool may change in the middle
of gdisplay_canvas_events(), so re-get it after using it for
cursor_update.
* app/base/boundary.c: made some global variables local.
* app/core/gimpdrawable.c: don't call gimp_drawable_set_visible()
in gimp_drawable_configure() because we don't want signal
emissions while configuring the drawable.
* app/gui/Makefile.am
* app/gui/brushes-commands.[ch]
* app/gui/data-commands.[ch]
* app/gui/gradients-commands.[ch]
* app/gui/palettes-commands.[ch]
* app/gui/patterns-commands.[ch]: new files for new new item
factories' callbacks.
* app/gui/menus.[ch]: added context menus for brushes, patterns, ...
* app/gui/gradient-editor.c
* app/gui/palette-editor.c: removed the "Save as POV", "Import
Palette" and "Merge Palattes" buttons as they are item factory
callbacks now.
* app/widgets/gimpbrushfactoryview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]
* app/widgets/gimpdatafactoryview.[ch]: pass a
"GimpContainerContextFunc" pointer to all GimpContainerEditor
subclasses' constructors. Use the function to show the context
menu.
* app/widgets/gimpcontainergridview.c: dispatch the previews'
"context" signal.
* app/widgets/gimppreview.[ch]: new signal "context" which is
emitted on right-click.
* app/gui/brush-select.c
* app/gui/dialogs-constructors.c
* app/gui/gradient-select.c
* app/gui/layers-commands.c
* app/gui/palette-select.c
* app/gui/pattern-select.c
* app/gui/test-commands.c: changed accordingly.
2001-07-07 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/context_manager.[ch]: removed.
* app/app_procs.c: call tool_mananger instead of context_manager
functions, pass "the_gimp" to some more functions.
* app/drawable.[ch]: pass a GimpContext to drawable_fill().
* app/errors.c: behave according to "stack_trace_mode" when using
the debugging signal handler.
* app/gimprc.[ch]: removed the core/ config variables.
* app/selection.c: set the selection's state to INVISIBLE in
selection_pause().
* app/core/Makefile.am
* app/core/gimpcoreconfig.[ch]: new files (the configuration
variables used by core/).
* app/core/gimpcontext.[ch]: removed the global contexts (user,
default, ...) and their functions. It's no longer possible to pass
NULL to the context functions to manipulate the current context
(gimpcontext.c doesn't know the current context any more).
* app/core/gimp.[ch]: added them here. The functions are now called
gimp_[set|get]_*_context(). Added gimp_create_context() which is
the only function to create contexts now.
* app/gui/dialogs.[ch]
* app/gui/gui.[ch]: pass "gimp" to all functions.
* app/tools/tool_manager.[ch]
* app/tools/tools.[ch]: pass "gimp" to lots of functions. Added
the "global_tool_context" logic and the global/non-global paint
options switching from the context_manager. Pass "gimp" to all
tools' "register" functions.
* app/tools/*: changed accordingly.
* app/devices.c
* app/disp_callbacks.c
* app/file-open.[ch]
* app/file-save.c
* app/gdisplay.c
* app/gimage.c
* app/libgimp_glue.c
* app/module_db.c
* app/nav_window.c
* app/plug_in.c
* app/qmask.c
* app/undo.c
* app/base/base-config.c
* app/core/gimpbrushpipe.c
* app/core/gimpdrawable-offset.c
* app/core/gimpgradient.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimpimage-new.c
* app/core/gimpimage.c
* app/core/gimppalette.c
* app/core/gimptoolinfo.[ch]
* app/core/gimpundo.c
* app/gui/brush-select.c
* app/gui/channels-commands.c
* app/gui/color-area.c
* app/gui/dialogs-constructors.c
* app/gui/file-new-dialog.c
* app/gui/file-open-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/info-window.c
* app/gui/layers-commands.c
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.c
* app/gui/palette-select.c
* app/gui/paths-dialog.c
* app/gui/pattern-select.c
* app/gui/preferences-dialog.c
* app/gui/resize-dialog.c
* app/gui/test-commands.c
* app/gui/tool-options-dialog.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* app/xcf/xcf-load.c
* app/xcf/xcf-save.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimpdnd.c
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimpimagedock.c
* app/widgets/gimplayerlistview.c
* app/pdb/brushes_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/gradient_select_cmds.c
* app/pdb/gradients_cmds.c
* app/pdb/palette_cmds.c
* app/pdb/patterns_cmds.c
* app/pdb/procedural_db.c
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/patterns.pdb: changed accordingly: remove usage
of gimp_context_[get|set]_*(NULL), create contexts with
gimp_create_context(). Get the user/current context with
gimp_get_[user|current]_context(). Added/removed access to the
global "the_gimp" variable in some places. Get the core's config
variables from "core_config".
2001-07-04 Michael Natterer <mitch@gimp.org>
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimp.[ch]: added an "application object" called Gimp.
Currently, it contains the image list, the clipboard, the data
factories, the procedural hashtable and the tool info list. It's
the toplevel object of the core object system. Finally, creating a
Gimp object will return a standalone gimp core engine instance
with no other global states/variables involved.
* app/app_procs.[ch]: allocate a "Gimp" instance called "the_gimp" :)
Removed stuff which is now done by the "Gimp" object. Merged
gimp_init() into app_init() because gimp_init() is taken now.
* app/context_manager.[ch]: removed stuff done by "Gimp".
* app/batch.[ch]
* app/gimage.[ch]
* app/xcf/xcf-load.[ch]
* app/xcf/xcf.[ch]
* app/core/gimpedit.[ch]
* app/tools/tool_manager.[ch]: pass around an additional "Gimp"
argument.
* app/pdb/procedural_db.[ch]: pass a "Gimp" pointer as first
parameter to all internal procedures and to all procedural_db_*
functions.
* app/core/gimpcontext.[ch]
* app/core/gimpimage.[ch]: added a "Gimp" pointer to the structs.
* app/devices.c
* app/errors.c
* app/file-open.c
* app/file-save.c
* app/gimphelp.c
* app/gimpunit.c
* app/image_new.c
* app/main.c
* app/nav_window.c
* app/plug_in.c
* app/base/base.c
* app/core/gimpdatafactory.c
* app/core/gimpimage-duplicate.c
* app/core/gimpimage-mask.c
* app/core/gimptoolinfo.[ch]
* app/gui/brush-select.c
* app/gui/convert-dialog.c
* app/gui/dialogs-constructors.c
* app/gui/edit-commands.c
* app/gui/file-open-dialog.c
* app/gui/file-save-dialog.c
* app/gui/gradient-editor.c
* app/gui/gradient-select.c
* app/gui/gui.c
* app/gui/image-commands.c
* app/gui/info-window.c
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/palette-import-dialog.c
* app/gui/palette-select.c
* app/gui/paths-dialog.c
* app/gui/pattern-select.c
* app/gui/preferences-dialog.c
* app/gui/test-commands.c
* app/gui/toolbox.c
* app/gui/tools-commands.c
* app/tools/gimpbezierselecttool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimppainttool.h
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.h
* app/widgets/gimpbufferview.c
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimpcursor.c
* app/widgets/gimpdnd.c
* app/widgets/gimpimagedock.c: changed accordingly. Cleaned up
lots of includes. Many files still access the global "the_gimp"
variable exported by app_procs.h.
* tools/pdbgen/app.pl
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/convert.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/pdb/fileops.pdb
* tools/pdbgen/pdb/gradient_select.pdb
* tools/pdbgen/pdb/gradients.pdb
* tools/pdbgen/pdb/image.pdb
* tools/pdbgen/pdb/palette.pdb
* tools/pdbgen/pdb/pattern_select.pdb
* tools/pdbgen/pdb/patterns.pdb
* tools/pdbgen/pdb/procedural_db.pdb: changed accordingly. Don't
use "the_gimp" here because all procedures get passed a "Gimp"
pointer now.
* app/pdb/*: regenerated.
2001-06-29 Michael Natterer <mitch@gimp.org>
* app/appenums.h: removed GimpFillType.
* app/gimprc.c: parse the session-info's new "aux-info" field.
* app/global_edit.[ch]: removed the old "Paste Named" dialog and
prefixed all functions with "gimp_".
* app/core/core-types.h: added GimpFillType.
* app/core/gimpbrush.[ch]: new signal "spacing_changed".
* app/gui/Makefile.am
* app/gui/tools-commands.[ch]: one more file cut out of commands.[ch].
* app/gui/commands.[ch]: removed the tools stuff here.
* app/gui/brush-select.[ch]
* app/gui/dialogs-constructors.c: use the new GimpBrushFactoryView
(see below).
* app/gui/dialogs-commands.[ch]
* app/gui/menus.[ch]:
- Made it 64bit safe again by passing the dialog factory's
identifiers as GQuarks, not as guints created by GPOINTER_TO_UINT().
- Added a "gchar *quark_string" field to GimpItemFactoryEntry
which gets transformed into a GQuark by menus_create_item().
- Added SEPARATOR() and BRANCH() macros which make the *_entries[]
arrays more readable.
- Added a menu item to show/hide GimpImageDock's image menu.
- Removed file_last_opened_cmd_callback().
* app/gui/edit-commands.c: the global_edit functions are "gimp_"
prefixed now.
* app/gui/file-commands.[ch]: added file_last_opened_cmd_callback()
here.
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpbrushfactoryview.[ch]: new widget: a
GimpDataFactory subclass with a "spacing" scale.
* app/widgets/gimpcontainereditor.[ch]:
- Connect to the GimpContainerView's "select_item",
"activate_item" and "context_item" signals here once instead of
in each subclass and dispatch them via new virtual functions.
- Added a convenience function which makes DND to the buttons much
less painful for subclasses.
* app/widgets/gimpbufferview.c
* app/widgets/gimpdatafactoryview.[ch]: changed accordingly.
* app/widgets/gimpdialogfactory.[ch]:
- Added gimp_dialog_factory_dialog_raise() which can raise
toplevel dialogs _and_ dockables (and creates them if they are
not open yet).
- Keep track of all created dialogs (not only toplevels).
- Added an "aux_info" field to GimpSessionInfo which is a GList of
gchar* and is saved in sessionrc.
- Remember if GimpImageDock's image menu is visible by using an
aux_info string.
- The code did not become nicer with all those new constraints. I
have to add comments before I forget how it works.
* app/widgets/gimpdockbook.c: set the state of the "Show Image Menu"
menu item before popping up the item factory.
* app/widgets/gimpimagedock.[ch]: added
gimp_image_dock_set_show_image_meu().
* plug-ins/gdyntext/gdyntext.c
* plug-ins/perl/examples/fit-text
* plug-ins/perl/examples/terral_text
* plug-ins/perl/examples/tex-to-float: register all text rendering
plug-ins under <Image>/Filters/Text
* app/pdb/brush_select_cmds.c
* app/pdb/drawable_cmds.c
* app/pdb/edit_cmds.c
* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/edit.pdb
* tools/pdbgen/enums.pl
* po/POTFILES.in: changed according to all the stuff above.
2001-06-26 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/color_transfer.[ch]: removed.
* app/tools/Makefile.am
* app/tools/gimpcolorbalancetool-transfer.[ch]: added.
* app/tools/gimpcolorbalancetool.c: changed accordingly.
* app/base/Makefile.am
* app/base/tile-manager-crop.[ch]: formerly known as crop_buffer().
* app/tools/gimptexttool.c: changed accordingly.
* app/context_manager.[ch]: added the global clipboard and the
named buffer list here.
* app/app_procs.c: don't call color_transfer_init() and don't free
the buffer stuff (done by the context manager now).
* app/errorconsole.c: don't #include "gui/commands.h"
* app/global_edit.[ch]: removed lots of stuff which is now done by
gui/edit-commands.* or the new GimpBuffer object. The "paste
named" dialog will go away and this file will be moved to core/
soon.
* app/image_new.c: no need to declare the global_buffer extern any
more.
* app/qmask.c: don't #include "global_edit.h"
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpbuffer.[ch]: new object (aka named buffer)
* app/core/gimpcontext.[ch]: added a GimpBuffer attribute.
* app/core/gimpimage.[ch]: one s/int/gboolean/.
* app/core/gimppattern.c: hmm...
* app/gui/commands.[ch]: split up in small files:
* app/gui/Makefile.am
* app/gui/edit-commands.[ch]
* app/gui/file-commands.[ch]
* app/gui/image-commands.[ch]
* app/gui/select-commands.[ch]
* app/gui/view-commands.[ch]: new files.
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: added the named buffer list & grid.
* app/gui/file-new-dialog.[ch]
* app/gui/menus.c
* app/gui/palette-editor.c
* app/gui/test-commands.c: changed accordingly.
* app/pdb/edit_cmds.c
* tools/pdbgen/pdb/edit.pdb: changed for the global_edit stuff.
* app/widgets/Makefile.am
* app/widgets/gimpbufferpreview.[ch]
* app/widgets/gimpbufferview.[ch]
* app/widgets/gimpcontainereditor.[ch]: new widgets.
* app/widgets/gimpcontainerview-utils.c
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdnd.[ch]
* app/widgets/gimpdrawablepreview.c
* app/widgets/gimplayerlistview.c
* app/widgets/gimppreview.c
* app/widgets/widgets-types.h: changed accordingly for the new
GimpBuffer object and it's views, misc. cleanups.
* pixmaps/Makefile.am
* pixmaps/paste-as-new.xpm
* pixmaps/paste-into.xpm
* pixmaps/paste.xpm: new pixmaps (they all look the same... Tigert? ;-)
* po/POTFILES.in: added the new files.
2001-05-13 Michael Natterer <mitch@gimp.org>
* TODO.xml: some percentage updates.
* autogen.sh: correctly parse latest autoconf's broken "--version"
string.
* app/widgets/Makefile.am
* app/widgets/gimpcontainerview-utils.[ch]: new files which
provide a set of built-in get_name_func()s for GimpContainerView
and GimpContainerMenu.
* app/widgets/gimpcontainermenu.c
* app/widgets/gimpcontainerview.c: use them.
* app/widgets/gimpimagedock.c
* app/gui/dialogs-constructors.c: removed the get_name_func()s here.
2001-05-13 Michael Natterer <mitch@gimp.org>
* app/apptypes.h: removed some forgotten tools types.
* app/tools/tools-types.h: and added them here.
* app/interface.c
* app/disp_callbacks.[ch]: ported dropping of drawables to the
new DND system.
* app/app_procs.c
* app/core/gimpdatafactory.c
* app/core/gimpimage-duplicate.c
* app/core/gimptoolinfo.h
* app/gui/gui.c
* app/tools/tool_options.c
* app/widgets/gimpchannellistview.c
* app/widgets/gimplayerlistview.c: removed/fixed includes.
* app/gui/brush-select.[ch]
* app/gui/pattern-select.[ch]: removed the display of the current
name (done by the grid view now).
* app/gui/palette-select.c: fixed palette preview size.
* app/gui/dialogs-constructors.c: added get_name() functions for
brushes, patterns, images and palettes.
* app/widgets/gimpcontainergridview.[ch]: added a label for the
name of the active item.
* app/widgets/gimpdnd.[ch]: removed the old drawable DND preview
icon code.
* tools/pdbgen/app.pl: braino: the $tool_eek hack has to be
initialized to 0 at the beginning of each file, otherwise we end
up including "tools/tools-types.h" everywhere.
* tools/pdbgen/pdb/color.pdb
* tools/pdbgen/pdb/text_tool.pdb
* tools/pdbgen/pdb/tools.pdb: add "tools/tools-types.h" where needed.
* app/pdb/color_cmds.c
* app/pdb/pattern_select_cmds.c
* app/pdb/patterns_cmds.c
* app/pdb/plug_in_cmds.c
* app/pdb/procedural_db_cmds.c
* app/pdb/selection_cmds.c
* app/pdb/undo_cmds.c
* app/pdb/unit_cmds.c: regenerated.
2001-05-11 Michael Natterer <mitch@gimp.org>
* app/Makefile.am
* app/lc_dialog.[ch]: taken behind the curtain and shot.
(famous words of Seth Burgess on #gimp)
* app/app_procs.c
* app/gdisplay.c
* app/gimage.c
* app/gui/commands.c
* app/gui/gui.c
* app/gui/menus.c
* app/gui/preferences-dialog.c: don't #include it or call it's
functions any more.
* app/gui/dialogs-commands.[ch]: added a constructor for a dock
which looks like the old L&C dialog (taken from test-commands.*)
* app/gui/test-commands.[ch]: removed here.
* app/gui/dialogs-constructors.[ch]: wrapped the old
paths-dialog.* stuff in a dockable which can be created only
once. Will go away as soon as the new path stuff is there.
* app/gui/dialogs.c: added the paths dockable, removed lc_dialog.
* app/gui/paths-dialog.c: some changes to make it work without the
lc_dialog around it. Will probably crash randomly and refuse to
update it's contents properly (scheduled for removal).
2001-05-08 Michael Natterer <mitch@gimp.org>
* app/appenums.h: added ChannelType.
* app/gimpimage.h: removed ChannelType.
* tools/pdbgen/enums.pl: regenerated.
* app/apptypes.h: don't include libgimpwidgets/gimpwidgetstypes.h
and widgets/widgets-types.h any more.
* app/devices.c
* app/gimpdnd.c
* app/gimprc.c
* app/lc_dialog.c
* app/gui/[many].c: include widgets/widgets-types.h
* app/tools/histogram_tool.h: include widgets/widgets-types.h here
because of an ugly dependency from pdb/color_cmds.c
* app/tools/tool_options_dialog.c
* app/widgets/widgets-types.h: include
libgimpwidgets/gimpwidgetstypes.h and apptypes.h so files in
widgets/ only have to include this file.
* app/widgets/*.c: include widgets-types.h instead of apptypes.h
* app/gimpdrawable-preview.c
* app/gui/gradient-editor.c: removed useless #includes.
2001-05-06 Michael Natterer <mitch@gimp.org>
* app/appenums.h: added GimpDropMode...
* app/gimpdnd.h: ...removed from here.
* app/gimpimage.[ch]:
- New signal "mode_changed".
- removed "const GimpImage*" from gimp_image_colormap_changed()
because a signal emission is never "const" for the object
which emits the signal.
- Fixed gimp_image_[set|get]_component_[active|visible]():
ALPHA_CHANNEL maps to ALPHA_PIX only in RGB mode, use
ALPHA_G_PIX/ALPHA_I_PIX in GRAY/INDEXED mode.
* app/gimpimage-convert.c
* app/undo.c: call gimp_image_mode_changed().
* app/gimpviewable.c: added an implementation of
"invalidate_preview" which frees the preview temp_buf which may be
attached to the viewable. Subclasses need to chain up now.
* app/gimpdrawable.c
* app/gimpimage.c: chain up in invalidate_preview().
* app/widgets/gimpchannellistview.c: connect to the image's
"mode_changed" signal and rebuild the channel list in the
callback.
* app/widgets/gimpcontainerview.h: indentation.
* app/widgets/gimpdockbook.c: set the dockable's context to NULL
in gimp_dockbook_remove()
* app/widgets/gimpimagedock.c: forgot to actually set the dock's
image in gimp_image_dock_new().
* app/gui/dialogs-constructors.c: added a get_name_func() for tool
views which returns the tool's "blurb". It's safe to assume now
that a dockable's context will exist as long as the dockable
exists unless it's explicitely set to NULL, so remove ugly hacks
handling context destruction.
* app/tools/gimptool.c: removed COMPAT_CRUFT and useless #include's.
2001-05-01 Michael Natterer <mitch@gimp.org>
* app/app_procs.c: removed more GUI initialisation code.
* app/color_transfer.c: removed useless includes.
* app/gui/brush-editor.[ch]
* app/gui/dialogs-constructors.c:
s/BrushEditGeneratedWindow/BrushEditor/, s/begw/brush_editor/, made
the brush preview of the editor autoresizing.
* app/gui/dialogs.h: removed "extern" declaration of non-existant
variable.
* app/gui/gui.[ch]: new function gui_post_init() which shows the
tips dialog.
* app/gui/tips-dialog.c: made signal handling nicer (clean up in a
"destroy" handler).
* app/gui/toolbox.[ch]: removed toolbox_raise(), removed the help
system (de)initialisation code which is now in gui.c, cleanup.
2001-04-29 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainerview.[ch]: added virtual method
context_item() which works like select_item() and activate_item()
and a function to trigger the signal from subclasses (marked as
"protected").
* app/widgets/gimpcontainerlistview.c: invoke context_item() on
right click.
* app/widgets/gimpdrawablelistview.[ch]: implement context_item()
and show a context menu. The functions to show the menu as well as
functions to create a new drawable and to edit it's attriutes must
be passed to the constructor now.
* app/gui/channels-commands.[ch]
* app/gui/layers-commands.[ch]: added functions which show the
layers and channels context menus. No accelerators supported yet.
Auto-destroy all dialogs when their drawable is removed from the
image.
* app/gui/dialogs-constructors.c: changed the calls to
gimp_drawable_list_view_new() accordingly.
* app/gui/menus.c
* app/gui/test-commands.[ch]: removed some test dialogs.
2001-04-26 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpcontainermenuimpl.c: only work around option
menu reference problems if the removed item was the active one.
* app/widgets/gimpimagedock.c: don't try to avoid a recursive
signal emission in gimp_image_dock_image_changed() but work around
it. This makes the image menu work finally.
* app/gui/dialogs-constructors.c: removed debugging output.
2001-04-24 Michael Natterer <mitch@gimp.org>
* app/authors.h: regenerated.
* app/gui/dialogs-constructors.c: call the drawable views's
set_context() function once explicitly after creation.
* app/gui/dialogs.c
* app/widgets/gimpdialogfactory.[ch]: session management correctly
remembers the dialogs' sizes again.
* app/widgets/gimpcontainermenuimpl.c: set the options menu's
history to "0" after removing a menu item (temp hack because
GtkOptionMenu doesn't handle the removal of the currently active
item correctly).
* app/widgets/gimpimagedock.c: another try to get dock->context's
signals handled correctly. Debugging output will disappear soon.
2001-04-23 Michael Natterer <mitch@gimp.org>
* app/gimpcontext.[ch]: some minor fixes / cleanup.
* app/gimpdata.c: forgot to gtk_object_class_add_signals() in
class_init().
* app/gui/dialogs-constructors.[ch]: added a tool_tab_func() so
the notebook tab shows a tool preview, pass a GimpContext to all
dialog constructors and added set_context() functions for all
dockable based dialogs so they can be configured to use the
context of the destination dock when dragging them around.
* app/widgets/gimpcontainermenuimpl.c: removed debugging output.
* app/widgets/gimpdialogfactory.[ch]: add a method to create
dockables (which gets passed the dock the dockable will be added
to) so the dockables can be created in the right context.
* app/widgets/gimpdock.[ch]: added a GimpContext attribute, remove
the dockbooks explicitely in destroy().
* app/widgets/gimpdockable.[ch]: dockables now know about their
set_context_func() and can thus be dragged between different
contexts.
* app/widgets/gimpdockbook.c: gimp_dockbook_add(): refuse to add
dockables to dockbooks which are not part of a dock, set the
dockable's context after adding it.
* app/widgets/gimpimagedock.[ch]: image docks now keep a pointer
to the global image list which is passed to them on construction
so they don't need to know about the global "image_context"
variable, added an "Auto" button like in L&C.
* app/gui/dialogs-commands.c: changed accordingly.
2001-04-22 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: cleanup.
* app/interface.c: #include "gimpui.h"
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c
* app/gui/menus.c
* app/gui/test-commands.[ch]: changes for the image menu below.
* app/apptypes.h
* app/widgets/Makefile.am
* app/widgets/gimpcontainermenu.[ch]
* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
implemtation lives in a separate file because
gimpcontainermenu.c's code is identical to gimpcontainerview.c's
except for the base class. This will become an interface with Gtk 2.0.
* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
pages still don't follow the context correctly.
* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.
* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
the constructor and provide a method to create a new dock within
this factory's context.
* app/widgets/gimpdock.[ch]: removed the constructor because we
create only image docks now. Put the vbox into a main_vbox (which
also contains the image menu).
* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
factory.
* app/gimpcontainer.[ch]
* app/gimpdata.[ch]
* app/gimpdatafactory.[ch]
* app/gimpdatalist.[ch]
* app/gimplist.[ch]
* app/gimpviewable.[ch]
* app/widgets/gimpbrushpreview.[ch]
* app/widgets/gimpcontainergridview.[ch]
* app/widgets/gimpcontainerlistview.[ch]
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimpdatafactoryview.[ch]
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdrawablelistitem.[ch]
* app/widgets/gimpdrawablelistview.[ch]
* app/widgets/gimpdrawablepreview.[ch]
* app/widgets/gimplayerlistitem.[ch]
* app/widgets/gimplayerlistview.[ch]
* app/widgets/gimplistitem.[ch]
* app/widgets/gimppalettepreview.[ch]
* app/widgets/gimppatternpreview.[ch]
* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
2001-04-20 Michael Natterer <mitch@gimp.org>
* app/main.c: set the message handler for all app log domains, not
only for "Gimp".
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-select.c: removed the "edit" callbacks.
* app/gui/dialogs-constructors.[ch]: Added the callbacks
here. Added layer and channel lists.
* app/gui/dialogs.c: register the new lists.
* app/gui/menus.c: their menu entries.
* app/widgets/gimpdock.c: set a minimal width of 280 pixels.
2001-04-18 Michael Natterer <mitch@gimp.org>
* app/devices.[ch]
* app/gui/about-dialog.[ch]
* app/gui/preferences-dialog.[ch]
* app/gui/tips-dialog.[ch]: return a GtkWidget from the constructor.
* app/gui/dialogs.c
* app/gui/dialogs-constructors.[ch]: register them with the dialog
factory.
* app/gui/commands.[ch]
* app/gui/menus.c: removed their old callbacks.
* app/gui/brush-select.c
* app/gui/gradient-select.c
* app/gui/palette-editor.[ch]: no need to show or raise the shell
(that's done by the dialog factory now).
* app/widgets/gimpdialogfactory.c: actually do what the
"singleton" and "session_managed" flags say.
2001-04-17 Michael Natterer <mitch@gimp.org>
* app/session.[ch]
* app/gimprc.c: removed the old dialog session management code...
* app/widgets/gimpdialogfactory.[ch]: ...and manage all dialogs here.
* app/gui/dialogs-constructors.[ch]: dialog factory compliant
constructors for all session managed toplevel dialogs.
* app/brush_select.[ch]
* app/devices.[ch]
* app/docindex.[ch]
* app/errorconsole.[ch]
* app/gradient_select.[ch]
* app/info_dialog.c
* app/lc_dialog.[ch]
* app/palette.[ch]
* app/pattern_select.[ch]
* app/toolbox.[ch]
* app/tools/tool_options_dialog.[ch]: all dialog constructors have
to return the dialog now (even the legacy ones that will go away).
Removed the session management code as this is now done for the
dialogs, not by them.
* app/app_procs.c
* app/color_select.c
* app/commands.[ch]
* app/indicator_area.c
* app/menus.c
* app/palette_select.c
* app/preferences_dialog.c
* app/gui/dialogs.c
* app/gui/dialogs-commands.[ch]
* app/gui/gui.c
* app/tools/gimptool.c
* app/widgets/gimpdock.c: changed accordingly.
2001-04-16 Michael Natterer <mitch@gimp.org>
First attempt to get the docks session managed:
* app/gimprc.c: new gimprc type "new-session-info" which will soon
replace the original one.
* app/menus.c
* app/gui/dialogs.c: s/_/-/g in all dialog identifier strings.
* app/session.[ch]: call the dialog factory's session functions.
* app/test_commands.c: use the dialog factory to create the tabs.
* app/gui/dialogs-commands.c
* app/gui/dialogs-constructors.[ch]: the constructors return widgets,
not dockables now.
* app/widgets/gimpdialogfactory.[ch]: maintain a list of dialog
factories in the class struct. Added ugly code to do the GimpDock
session management.
* app/gui/gui.c
* app/widgets/gimpdock.c: changed accordingly.
2001-04-15 Michael Natterer <mitch@gimp.org>
* app/Makefile.am: grouped the files together which will go to gui/.
* app/widgets/gimpdialogfactory.[ch]: maintain a list of open
GimpDocks for session management.
* app/widgets/gimpdock.c: register open docks with the dialog
factory.
* app/widgets/gimpdockable.[ch]
* app/widgets/gimpdockbook.c: pass a pointer to the GimpDockbook
to the GimpDockable's "get_tab" function because the function is
called before the dockable is added to the dockbook.
* app/test_commands.c
* app/gui/dialogs-constructors.[ch]
* app/gui/dialogs.c: changed accordingly.
2001-04-14 Michael Natterer <mitch@gimp.org>
* configure.in
* app/Makefile.am
* app/gui/Makefile.am: new directory which will contain all gui code
except widgets (I was tired off adding new files to app/).
* app/apptypes.h
* app/gui/gimpdialogfactory.[ch]: factory which produces dialogs
from string descriptions. Should maybe go to widgets/.
* app/gui/dialogs-commands.[ch]: callbacks for the new menu
factory below.
* app/gui/dialogs-constructors.[ch]: dialog constructors which are
registered with the dialog factory.
* app/gui/dialogs.[ch]: register the dialogs with the factory.
* app/app_procs.c: call dialogs_register().
* app/menus.[ch]: a new item factory for creating dialogs.
* app/test_commands.c
* app/widgets/gimpdock.[ch]: added a dialog factory pointer to the
GimpDock struct.
* app/widgets/gimpdockbook.[ch]: badly (badly!) fiddle around with
GtkNotebook's menu to get it integrated in the GtkItemFactory
which produces new dialogs.