2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.c: don't do special stuff if a virtual
function doesn't exist. Instead, added default implementations
which do the special stuff and call the virtual functions
unconditionally.
* app/tools/gimppainttool.c: some stylistic cleanup.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.[ch] (gimp_paint_core_paste)
(gimp_paint_core_replace): replaced the "MaskBuf *paint_mask"
parameters by "PixelRegion *mask_bufPR", so subclasses can pass in
any kind of paint_mask buffer and are not restricted to MaskBufs.
Also removes implicit knowledge about the MaskBuf originating from
a brush in paint_mask_to_canvas_buf() and _to_canvas_tiles() which
don't need to offset the mask by width/2 height/2 any more.
Made gimp_paint_core_validate_undo_tiles() and
gimp_paint_core_validate_canvas_tiles() protected functions.
* app/paint/gimpbrushcore.c (gimp_brush_core_paste_canvas)
(gimp_brush_core_replace_canvas): create correctly positioned
PixelRegions from the MaskBufs before passing them to the
paint_core.
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/paint/gimppaintcore.[ch]: removed "gdouble scale" parameter
and added "GimpPaintOptions" in GimpPaintCore::get_paint_area().
Check if virtual functions exist befoe calling them.
* app/paint/gimpbrushcore.[ch]: added "gdouble scale" to GimpBrushCore
and "gboolean use_scale" to GimpBrushCoreClass (defaults to TRUE).
Set scale from paint_options in GimpPaintCore::get_paint_area().
Removed "scale" parameter from gimp_brush_core_paste_canvas()
and _replace_canvas().
* app/paint/gimpsmudge.c (gimp_smudge_class_init): set use_scale
to FALSE.
* app/paint/gimpclone.c
* app/paint/gimpconvolve.c
* app/paint/gimpdodgeburn.c
* app/paint/gimperaser.c
* app/paint/gimppaintbrush.c: removed all scale calculations and
simply pass paint_options to GimpPaintCore::get_paint_area().
2004-05-26 Michael Natterer <mitch@gimp.org>
* app/tools/gimppainttool.c (gimp_paint_tool_button_press): check
if the GimpPaintCore really is a GimpBrushCore before catsting and
fiddling with internaly.
2004-05-25 Michael Natterer <mitch@gimp.org>
* app/widgets/gimpitemtreeview.h: added GimpContext parameters
to GimpActivateItemFunc, GimpNewItemFunc and GimpEditItemFunc.
* app/widgets/gimpdrawabletreeview.c
* app/widgets/gimpitemtreeview.c: pass the view's context to
the functions.
* app/actions/actions.c (action_data_get_context): return
gimp_get_user_context() if "data" is a Gimp.
* app/actions/channels-commands.[ch]
* app/actions/layers-commands.[ch]
* app/actions/vectors-commands.[ch]: added GimpContext parameters
to the resp. activate, new and edit functions and use the passed
context instead of gimp_get_user_context().
* app/actions/layers-commands.[ch]: removed the merge and flatten
callbacks.
* app/actions/image-commands.[ch]: made public layer merge utility
function private and cleaned the whole file up a lot.
* app/actions/layers-actions.c: use the callbacks from
image-commands.c for merge and flatten.
* app/actions/edit-commands.c
* app/actions/file-commands.c
* app/actions/select-commands.c: use action_data_get_context()
instead of gimp_get_user_context().
* app/actions/edit-actions.c: some cleanup.
2004-05-25 Michael Natterer <mitch@gimp.org>
* app/actions/file-actions.c
* app/actions/file-commands.[ch]: removed action "file-new", added
action "file-open-from-image".
* app/actions/image-actions.c
* app/actions/image-commands.[ch]: added actions "image-new" and
"image-new-from-image".
* menus/image-menu.xml.in: use the "-from-image" variants of
the "new" and "open" actions so the dialogs are preconfigured
from the image they were invoked from (regression fix).
* menus/toolbox-menu.xml.in: s/file-new/image-new/.
2004-05-24 Michael Natterer <mitch@gimp.org>
* app/widgets/gimptoolbox.c (toolbox_create_tools): added an evil
hack as workaround for the missing gtk_action_get_accel_closure().
Re-enables accelerator display in the tool button labels.
2004-05-24 Michael Natterer <mitch@gimp.org>
* app/vectors/Makefile.am
* app/vectors/gimpcoordmath.[ch]: removed...
* app/core/Makefile.am
* app/core/gimpcoords.[ch]: ...and added without the "bezier"
namespace.
* app/vectors/gimpbezierstroke.c: changed accordingly.
* app/Makefile.am: force it to link gimpcoords.o
2004-05-24 Michael Natterer <mitch@gimp.org>
* app/config/gimpconfigwriter.c
* app/core/gimpstrokeoptions.c
* app/widgets/gimpactiongroup.c
* app/widgets/gimpcolorframe.h
* app/widgets/gimpcolorpanel.h
* app/widgets/gimpcontainerview.[ch]
* app/widgets/gimptooldialog.h
* app/widgets/gimpuimanager.c
* app/widgets/widgets-types.h: fixed various small issues I
stumbled across when updating the API reference for app/.
2004-05-24 Sven Neumann <sven@gimp.org>
* app/core/gimptoolinfo.[ch]: derive GimpToolInfo from
GimpViewable, it doesn't make sense for it to be a GimpData.
* app/widgets/gimptooloptionseditor.c
(gimp_tool_options_editor_get_title): do not append " Options" to
the tool name. Fixes bug #142280.
2004-05-24 Michael Natterer <mitch@gimp.org>
Long overdue core container cleanup:
* app/core/gimplist.[ch]: added "unique-names" and "sort-func"
properties and merged the resp. code from GimpDataList into
GimpList. Removed "policy" parameters from gimp_list_new() and
added "unique_names". Added new constructor gimp_list_new_weak().
Made public function gimp_list_uniquefy_name() private.
* app/core/Makefile.am
* app/core/core-types.h
* app/core/gimpdatalist.[ch]: removed. Its functionality is
entirely in GimpList now.
* app/core/gimpdata.[ch]: added gimp_data_name_compare() which
used to live in GimpDataList.
* app/core/gimp.c
* app/core/gimpdatafactory.c
* app/core/gimpimage.c
* app/core/gimptoolinfo.c
* app/core/gimpundostack.c
* app/paint/gimp-paint.c
* app/tools/gimp-tools.c
* app/widgets/gimpdevices.c
* app/widgets/gimptemplateeditor.c
* app/widgets/gimpundoeditor.c: changed list creation accordingly.
Made gimp->templates, gimp->named_buffers, tool_info->presets and
the image's lists of layers, channels and vectors automatically
ensure unique names.
* app/widgets/gimptemplateview.c
* app/actions/file-commands.c
* app/actions/templates-commands.c
* app/actions/tool-options-commands.c: removed calls to
gimp_list_uniquefy_name().
* app/core/gimpitem.c: removed major insanity where the items
themselves where ensuring their unique names. Bah!
* app/core/gimplayer.c (gimp_layer_name_changed): chain up
conditionally.
* app/core/gimplayermask.c (gimp_layer_mask_name_changed): removed
because there is no need any more to keep the parent
implementation from being invoked.
2004-05-23 Michael Natterer <mitch@gimp.org>
* app/widgets/widgets-types.h: reoedered to somehow reflect the
class hierarchy.
Some dockable context handling cleanup:
* app/widgets/gimpdocked.[ch]: removed "prev_context" parameter
from GimpDocked::set_context(). Widgets which need the old context
to disconnect from should remember it themselves.
* app/widgets/gimpdockable.c (gimp_dockable_set_context): don't
pass the old context to gimp_docked_set_context().
Some cleanup.
* app/widgets/gimpcontainerbox.c
* app/widgets/gimpcontainereditor.c: changed accordingly.
* app/display/gimpnavigationview.[ch]
* app/widgets/gimpimageeditor.[ch]
* app/widgets/gimpitemtreeview.[ch]: added a "context" member
which holds the context set by GimpDocked::set_context().
* app/widgets/gimpdrawabletreeview.c: use the view's context
instead of gimp_get_user_context().
* app/widgets/gimpcoloreditor.[ch]: removed separate API to
set the context because it implements the GimpDockedInterface.
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimperrorconsole.c: pass "menu-factory",
"menu-identifier" and "ui-path" to g_object_new() instead of
calling gimp_editor_create_menu() later.
Action cleanup partly related to the context stuff above:
* app/actions/actions.c (action_data_get_gimp): get the Gimp from
context->gimp, not gimage->gimp because gimage may be NULL.
(action_data_get_context): changed to use the new context members
added above.
* app/actions/channels-actions.c (channels_actions_update): cleanup.
* app/actions/edit-actions.c (edit_actions_update): fixed
sensitivity of "edit-undo-clear".
* app/actions/vectors-actions.c (vectors_actions_update): make
"vectors-merge-visible" sensitive only if there is more than one
GimpVectors in the image.
* app/actions/colormap-editor-actions.c
* app/actions/gradient-editor-actions.c
* app/actions/palette-editor-actions.c: added FG/BG color previews
to actions which take colors from them. Changed code to be safe
against "context" being NULL.
* app/actions/drawable-commands.c:
s/active_drawable/drawable/g. Makes the code more readable.
* app/actions/select-commands.[ch]
* app/actions/vectors-commands.[ch]: removed public stroke utility
functions and other stuff which is not needed any more because
dialog buttons invoke the correct actions now. Moved the
functions' code to the resp. action callbacks.
2004-05-21 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c (gimp_paint_core_interpolate): better
fix for bug #123811; patch provided by Philip Lafleur.
2004-05-21 Sven Neumann <sven@gimp.org>
* app/gui/preferences-dialog.c: added some GtkSizeGroups and
changed spacings to improve the dialog layout.
* app/gui/file-new-dialog.c
* app/widgets/gimpgrideditor.c
* app/widgets/gimptemplateeditor.c: minor changes for consistency.
2004-05-21 Michael Natterer <mitch@gimp.org>
* app/widgets/gimperrorconsole.c
(gimp_error_console_save_ext_clicked): use
gtk_widget_get_screen(), not window_get_screen() on a button.
2004-05-19 Michael Natterer <mitch@gimp.org>
* app/widgets/Makefile.am
* app/widgets/widgets-types.h
* app/widgets/gimpaction.[ch]: new GtkAction subclass which can
show either a color or viewable preview in GtkImageMenuItem
proxies.
* app/widgets/gimpenumaction.[ch]
* app/widgets/gimppluginaction.[ch]
* app/widgets/gimpstringaction.[ch]: derive them from GimpAction.
* app/widgets/gimpactiongroup.c (gimp_action_group_add_actions):
add GimpActions, not GtkActions.
(gimp_action_group_set_action_color)
(gimp_action_group_set_action_viewable): removed all hacks and
simply set the "color" or "viewable" properties of the GimpAction
to change. Fixes color/viewable previews in menus.
* app/actions/file-actions.c: show previews in the "Open Recent"
menu items.
Unrelated:
* app/widgets/widgets-types.h: removed GimpDockedInterface typedef...
* app/widgets/gimpdocked.h: ...and added it here. We don't have
class struct typedefs in the types header either.
* app/actions/edit-actions.c: added <Ctrl>+semicolon as shortcut
for "edit-fill-pattern".
* app/actions/gradient-editor-actions.c: added some stock IDs.
Please comment.
2004-05-19 Sven Neumann <sven@gimp.org>
* app/paint/gimppaintcore.c (gimp_paint_core_interpolate): make
sure that pressure never becomes negative. Fixes bug #123811;
thanks to Philip Lafleur for investigating this problem.
2004-05-18 Michael Natterer <mitch@gimp.org>
Allow plug-ins to register menu icons. Fixes bug #120500.
* app/core/core-enums.[ch]: added enum GimpIconType which can
be one of { STOCK_ID, IMAGE_FILE, INLINE_PIXBUF }.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_data)
* app/config/gimpscanner.[ch] (gimp_scanner_parse_data): new
functions which write/parse raw binary data. Needed for storing
inline pixbufs in pluginrc.
* app/config/gimpconfigwriter.[ch] (gimp_config_writer_identifier):
new function which writes out an unquoted and unescaped string.
* app/plug-in/plug-in-proc.[ch] (struct PlugInProcDef): added
new members "icon_type", "icon_data_length" and "icon_data".
Reordered members so file_proc specific stuff is at the end.
(plug_in_proc_def_get_stock_id)
(plug_in_proc_def_get_pixbuf): new functions to access the
procedure's icon.
* app/plug-in/plug-in-rc.c: save/restore the registered icons.
* app/actions/file-dialog-actions.c
* app/actions/plug-in-actions.c: set the action's stock ID from
the procedure's stock ID.
* app/widgets/gimppluginaction.c
(gimp_plug_in_action_connect_proxy): if the procedure provides a
pixbuf, set it as icon for the menu item.
* app/menus/file-dialog-menu.[ch]
* app/menus/file-open-menu.c
* app/menus/file-save-menu.c
* app/xcf/xcf.c: changed accordingly.
* tools/pdbgen/pdb/plug_in.pdb (plugin_icon_register): new PDB
function which can be called during query().
* tools/pdbgen/enums.pl
* app/pdb/internal_procs.c
* app/pdb/plug_in_cmds.c
* libgimp/gimpenums.h
* libgimp/gimpplugin_pdb.c
* libgimp/gimpplugin_pdb.h
* plug-ins/pygimp/gimpenums.py
* plug-ins/script-fu/script-fu-constants.c: regenerated.
* plug-ins/common/plugindetails.c
* plug-ins/common/uniteditor.c
* plug-ins/print/print.c: register stock_id icons.
* plug-ins/common/screenshot.c: register an inline_pixbuf icon for
testing purposes (used emblem-camera.png from gnome-icon-theme).
* app/actions/dialogs-actions.c
* app/actions/file-actions.c: unrelated: added some more icons
to menu items.
2004-05-18 Michael Natterer <mitch@gimp.org>
* app/core/gimptoolinfo.c: made the "visible" property serializable.
* app/tools/gimp-tools.c: store the tools' order and visibility
in a new config file called "toolrc".
2004-05-18 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-proc.[ch] (plug_in_proc_def_get_label): new
function which returns a newly allocated string which is the menu
item's name stripped of mnemonics an ellipses.
* app/actions/plug-in-actions.c (plug_in_actions_update)
* app/plug-in/plug-in.c (plug_in_get_undo_desc): use the function
instead of implementing the same twice slightly different.
2004-05-17 Michael Natterer <mitch@gimp.org>
* menus/menus.xsl: put the image popup menu into a dummy menubar
to work around the silly GtkUIManager restriction that popup menus
can't have tearoff items.
* app/menus/menus.c
* app/menus/image-menu.c
* app/display/gimpdisplayshell-callbacks.c
* app/gui/gui-vtable.c
* app/menus/plug-in-menus.c: changed accordingly.
* app/gui/gui.c (gui_restore_after_callback): connect to
"notify::tearoff-menus" of GimpGuiConfig and reconfigure the
global image UI manager accordingly.
* app/config/gimpguiconfig.c: removed GIMP_PARAM_RESTART from the
"tearoff-menus" property because GtkUIManager can change this on
the fly.
* app/display/gimpdisplayshell.[ch]: added the menubar to the
GimpDisplayShell struct. Some cleanup in gimp_display_shell_new().
* app/display/gimpdisplayshell-appearance.c
(gimp_display_shell_set_show_menubar): use shell->menubar instead
of asking the UI manager.
* app/widgets/gimpuimanager.[ch]: changed gimp_ui_manager_ui_get()
to transparently load the XML files even if a sub-widget was
requested. Reordered parameters of gimp_ui_manager_ui_popup().
Lots of internal cleanups.
* app/widgets/gimpdockable.c
* app/widgets/gimptooloptionseditor.c: simplified accordingly.
* app/widgets/gimpeditor.[ch]: added new function
gimp_editor_popup_menu() which takes a GimpMenuPositionFunc and
updates/shows the editor's menu.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcomponenteditor.c
* app/widgets/gimpcontainereditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpcontainertreeview.c
* app/widgets/gimperrorconsole.c
* app/widgets/gimpgradienteditor.c
* app/widgets/gimpitemtreeview.c
* app/widgets/gimppaletteeditor.c: use gimp_editor_popup_menu().
* app/widgets/gimptoolbox.c: moved all code from
gimp_toolbox_new() to GObject::constructor().
2004-05-17 Michael Natterer <mitch@gimp.org>
* app/actions/edit-actions.c (edit_actions_update): don't forget
to set the sensitivity of "edit-named-copy".
2004-05-17 Sven Neumann <sven@gimp.org>
* app/core/gimpimage.c (gimp_image_init): initialize the image
unit to GIMP_UNIT_PIXEL.
* app/pdb/image_cmds.c
* tools/pdbgen/pdb/image.pdb: allow GIMP_UNIT_PIXEL to be used
in the gimp_image_set_unit() PDB call.
2004-05-15 Sven Neumann <sven@gimp.org>
* app/tools/gimpcurvestool.c: fixed position of vertical line
indicating the picked color. Patch from William Skaggs and
Søren Wedel Nielsen; fixes bug #142506.
2004-05-15 Michael Natterer <mitch@gimp.org>
* app/plug-in/plug-in-params.c (plug_in_proc_args_check): changed
warnings to include the invalid menu path. Added check that makes
sure menu paths are either "<Prefix>" or "<Prefix>/foo" but *not*
"<Prefix>foo".
* app/actions/plug-in-actions.c: added function
plug_in_actions_check_translation() which validates both the
original and translated menu paths and spits detailed error
messages if any of them is broken. Made action creation simpler
(?) and more robust.
* app/menus/plug-in-menus.c: argh, the translated menu path must
be a sorting criteria *only*. Fixed the whole stuff to always use
the original menu path because translation is done entirely by
plug-in-actions.c. Fixes bad crashes for all locales. Added
boolean return value to plug_in_menus_build_path() and don't try
to create the menu item in an invalid location if creating the
submenus failed.
2004-05-14 Sven Neumann <sven@gimp.org>
* app/menus/file-dialog-menu.c: check if the file procedure
registered a menu path at all. The menu should probably be created
from the registered menu path, not from gimp->[load|save]_procs.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-ins.c: removed broken code that used to sort
the file procedures.
* plug-ins/common/CEL.c
* plug-ins/common/bz2.c
* plug-ins/common/gz.c
* plug-ins/common/pcx.c
* plug-ins/common/pix.c
* plug-ins/common/sunras.c
* plug-ins/sgi/sgi.c
* plug-ins/xjt/xjt.c: register a mimetype, set a translatable
action name (mostly taken from shared-mime-info) and register to
the <Load> and <Save> menus using gimp_plugin_menu_register().
2004-05-14 Michael Natterer <mitch@gimp.org>
* app/actions/select-actions.c (select_actions_update): don't
make "select-invert" insensitive if there is no selection.
2004-05-14 Sven Neumann <sven@gimp.org>
* tools/pdbgen/pdb/fileops.pdb: added new PDB function
gimp_register_file_handler_mime() that allows to associate a MIME
type with a file procecdurre.
* app/pdb/fileops_cmds.c
* app/pdb/internal_procs.c
* libgimp/gimpfileops_pdb.[ch]: regenerated.
* app/plug-in/plug-in-proc.[ch]
* app/plug-in/plug-in-rc.c
* app/plug-in/plug-ins.[ch]: store a mimetype with file procedures.
* app/actions/file-commands.c
* app/core/gimpdocumentlist.[ch]
* app/core/gimpimagefile.[ch]
* app/file/file-open.[ch]
* app/file/file-save.c: set the thumbnail's mimetype from the file
procedure used to load/save the image.
* app/xcf/xcf.c
* plug-ins/bmp/bmp.c
* plug-ins/common/csource.c
* plug-ins/common/dicom.c
* plug-ins/common/gif.c
* plug-ins/common/gifload.c
* plug-ins/common/jpeg.c
* plug-ins/common/mng.c
* plug-ins/common/png.c
* plug-ins/common/postscript.c
* plug-ins/common/psd.c
* plug-ins/common/psd_save.c
* plug-ins/common/sunras.c
* plug-ins/common/svg.c
* plug-ins/common/tga.c
* plug-ins/common/tiff.c
* plug-ins/common/wmf.c
* plug-ins/common/xbm.c
* plug-ins/common/xpm.c
* plug-ins/common/xwd.c
* plug-ins/faxg3/faxg3.c
* plug-ins/winicon/main.c: register a mimetype, set a translatable
action name (taken from shared-mime-info) and register to the <Load>
and <Save> menus using gimp_plugin_menu_register().
2004-05-13 Michael Natterer <mitch@gimp.org>
* menus/tool-options-menu.xml: added "name" attributes to all
submenus.
* app/menus/tool-options-menu.c: use the menu names instead of the
overly long action names.
* app/actions/colormap-editor-commands.c
* app/actions/tool-options-commands.c: added some callback
implementations.
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimptooloptionseditor.c: removed the callbacks here
and use action buttons.
* app/actions/actions.c
* app/actions/colormap-editor-actions.c
* app/actions/edit-actions.c: code review / cleanup.
2004-05-13 Michael Natterer <mitch@gimp.org>
* app/core/gimpcontainer.c (gimp_container_add_handler): don't
try to lookup detailed "notify::foo" signal specs.
2004-05-13 Michael Natterer <mitch@gimp.org>
* app/actions/tools-actions.c (tools_actions_update): don't use
action_data_get_context() to update the "tools" action group
because it may return NULL. Use gimp_get_user_context() instead
because the active tool is global regardless of the action group's
context. Fixes accidential tool hiding when closing the last
display.
2004-05-13 Michael Natterer <mitch@gimp.org>
Added GimpViewable infrastructure which enables migrating from
TempBuf to GdkPixbuf for both providing and getting previews:
* app/core/gimpviewable.[ch]: added new virtual functions
GimpViewable::get_pixbuf() and GimpViewable::get_new_pixbuf()
which are implemented exactly as get_preview() and
get_new_preview() except that get_new_pixbuf() has a default
implementation which creates the pixbuf from a TempBuf.
Renamed public functions _get_preview_pixbuf() and
_get_new_preview_pixbuf() to _get_pixbuf() and _get_new_pixbuf().
Added gimp_viewable_get_dummy_pixbuf() and use it from
gimp_viewable_get_dummy_preview().
* app/core/gimpimagefile.c (gimp_imagefile_save_thumb)
* app/display/gimpdisplayshell.c (gimp_display_shell_update_icon)
* app/gui/resize-dialog.c (resize_dialog_new): changed accordingly.
2004-05-13 Michael Natterer <mitch@gimp.org>
* app/menus/Makefile.am: added file-menu.[ch] and
file-dialog-menu.[ch]
* app/menus/menus.[ch]: removed menus_open_recent_add()...
* app/menus/file-menu.[ch]: ...and added it here as file_menu_setup().
* app/menus/image-menu.c
* app/menus/toolbox-menu.c: changed accordingly.
* app/menus/file-dialog-menu.[ch]: added factored out code from the
file-open and file-save menus as file_dialog_menu_setup().
* app/menus/file-open-menu.c
* app/menus/file-save-menu.c: call file_dialog_menu_setup().
2004-05-12 Michael Natterer <mitch@gimp.org>
* app/actions/documents-actions.c
* app/actions/documents-commands.c
* app/actions/edit-actions.c
* app/actions/edit-commands.[ch]
* app/actions/layers-actions.c
* app/actions/layers-commands.c
* app/actions/select-actions.c
* app/actions/select-commands.[ch]
* app/actions/vectors-actions.c
* app/actions/vectors-commands.[ch]: added tooltips for actions
which are now used for dialog buttons, added callback
implementations which formerly lived in various widgets, moved
some actions around and did some general cleanups.
* menus/image-menu.xml.in: s/edit-stroke/select-stroke/
* menus/Makefile.am
* menus/selection-editor-menu.xml: new popup menu.
* app/menus/menus.c: register <SelectionEditor> and <UndoEditor>
UI managers.
* app/widgets/gimpeditor.[ch]: added construct properties
"menu-factory", "menu-identifier", "ui-path" and "popup-data".
Implement GObject::constructor() and create the UI manager
if all needed properties were set. Enables creating action
buttons at widget construction time because they need a
UI manager.
(gimp_editor_add_action_button): changed to take a va_list of
"extended" actions which are invoked if the resp. button emits
"extended_clicked". Store the actions and their modifier masks in
a list attached to the button.
* app/widgets/gimpcontainerview.c
(gimp_container_view_item_selected): if the view has container
*and* context, simply change the context and return.
(gimp_container_view_context_changed): don't emit "select_item"
manually but simply call gimp_container_view_select_item().
(gimp_container_view_viewable_dropped): use
gimp_container_view_item_selected() instead of changing the
context directly.
* app/widgets/gimpcontainereditor.c
(gimp_container_editor_select_item): update the UI manager.
* app/widgets/gimpdockable.c: don't try to fiddle with the
dialog's menu if it doesn't have a ui_path (happens if the UI
manager is just a collection of actions for the dialog buttons and
has no menu registered).
* app/widgets/gimpimageeditor.c: connect to the image's "flush"
signal and update the UI manager in the callback.
* app/widgets/gimpitemtreeview.c: use GimpEditor's construct
properties to create the UI manager so GimpItemTreeView subclasses
can have action buttons. Update the UI manager in
gimp_item_tree_view_select_item().
* app/widgets/gimpbufferview.c
* app/widgets/gimpcolormapeditor.c
* app/widgets/gimpcontainergridview.c
* app/widgets/gimpdatafactoryview.c
* app/widgets/gimpfontview.c
* app/widgets/gimpimageview.c
* app/widgets/gimptemplateview.c
* app/widgets/gimptoolview.c: changed calls to
gimp_editor_add_action_button() accordingly and removed some
unneeded select_item() implementations.
* app/widgets/gimpchanneltreeview.c
* app/widgets/gimpvectorstreeview.[ch]
* app/widgets/gimpdocumentview.[ch]
* app/widgets/gimplayertreeview.c
* app/widgets/gimpselectioneditor.[ch]
* app/widgets/gimpundoeditor.[ch]: use action buttons and removed
lots of callbacks which went to the resp. action callbacks.
* app/widgets/widgets-types.h: removed some now unneeded function
prototypes.
* app/gui/dialogs-constructors.c: changed (simplified) many dialog
constructors accordingly.