Commit Graph

8088 Commits

Author SHA1 Message Date
Michael Natterer d745841e4d added some utility functions to get a Gimp, GimpImage, GimpDisplay and
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* app/actions/actions.[ch]: added some utility functions to get a
	Gimp, GimpImage, GimpDisplay and GtkWidget from the "data" pointer
	passed to action callbacks.

	* app/actions/channels-actions.c
	* app/actions/channels-commands.c
	* app/actions/drawable-actions.c
	* app/actions/drawable-commands.c
	* app/actions/edit-actions.c
	* app/actions/edit-commands.c
	* app/actions/file-actions.c
	* app/actions/file-commands.c
	* app/actions/help-commands.c
	* app/actions/image-actions.c
	* app/actions/image-commands.c
	* app/actions/layers-actions.c
	* app/actions/layers-commands.c
	* app/actions/plug-in-actions.c
	* app/actions/plug-in-commands.c
	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c
	* app/actions/select-actions.c
	* app/actions/select-commands.c
	* app/actions/tools-commands.c
	* app/actions/vectors-actions.c
	* app/actions/vectors-commands.c
	* app/actions/view-commands.c: use the new functions instead of
	duplicating insane macros and if() constructs over and over again.
2004-05-03 14:03:51 +00:00
Sven Neumann 2aae5bb850 use a GimpFrame for gimp_radio_group_new() and friends.
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.c: use a GimpFrame for
	gimp_radio_group_new() and friends.

	* themes/Default/gtkrc
	* themes/Small/gtkrc: set a smaller label_spacing for GimpFrame
	widgets in GimpDockables. Lame hack to keep the tool options
	compact.

	* app/actions/image-commands.c: changed spacing.

	* app/gui/offset-dialog.c: merged check and radio buttons into a
	single radio button group; changed spacing.
2004-05-03 00:10:24 +00:00
Sven Neumann 96ab019dd9 respect the frame's border width.
2004-05-03  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_size_allocate): respect
	the frame's border width.

	* app/widgets/gimpcolorframe.[ch]: derive from GimpFrame.

	* app/gui/convert-dialog.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/resize-dialog.c: use GimpFrames, changed some spacings.
2004-05-02 22:33:33 +00:00
Michael Natterer 80cc1c0ef4 truncate the passed dialog identifier at the first '|'. Fixes creating
2004-05-03  Michael Natterer  <mitch@gimp.org>

	* app/actions/dockable-commands.c (dockable_add_tab_cmd_callback):
	truncate the passed dialog identifier at the first '|'. Fixes
	creating brushes, paterns etc. dialogs from the dockables'
	"Add Tab" menu.
2004-05-02 22:23:26 +00:00
Sven Neumann ea5e1a72ea take the left margin into account.
2004-05-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpframe.c (gimp_frame_size_request): take the
	left margin into account.

	* app/widgets/gimpgrideditor.c
	* app/widgets/gimptemplateeditor.c: removed container borders that
	aren't needed any longer.
2004-05-02 21:42:52 +00:00
Sven Neumann 522154d35b app/widgets/gimpenumwidgets.c app/widgets/gimpgrideditor.c use the
2004-05-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpenumwidgets.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimptemplateeditor.c: use the GimpFrame widget,
	changed some spacings to better comply with the HIG.
2004-05-02 21:13:51 +00:00
Sven Neumann 06631e959e libgimpwidgets/Makefile.am libgimpwidgets/gimpwidgets.h
2004-05-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.h
	* libgimpwidgets/gimpwidgetstypes.h
	* libgimpwidgets/gimpframe.[ch]: added new widget GimpFrame, a HIG
	compliant variant of GtkFrame.

	* app/gui/preferences-dialog.c: enable the HIG compliant mode by
	default and use the new GimpFrame widget for it.

	* themes/Small/gtkrc: set a smaller spacing between the GimpFrame
	title label and the frame content.

2004-05-02  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/libgimpwidgets-docs.sgml
	* libgimpwidgets/libgimpwidgets-sections.txt
	* libgimpwidgets/libgimpwidgets.types
	* libgimpwidgets/tmpl/gimpframe.sgml: added docs for GimpFrame.

	* */tmpl/*.sgml: regenerated using gtk-doc-tools version 1.2.
2004-05-02 20:30:41 +00:00
Michael Natterer 8895917db2 renamed action "qmask-toggle" to "qmask-active" and added new action
2004-05-02  Michael Natterer  <mitch@gimp.org>

	* app/actions/qmask-actions.c: renamed action "qmask-toggle" to
	"qmask-active" and added new action "qmask-toggle" with a label
	and shortcut suited for the "Select" menu.

	* app/actions/select-actions.c: removed "select-toggle-qmask".

	* app/actions/select-commands.[ch]: removed callback
	select_toggle_quickmask_cmd_callback().

	* app/actions/channels-actions.c (channels_actions_update)
	* app/actions/vectors-actions.c (vectors_actions_update): handle
	"data" being both GimpDisplay and GimpDisplayShell so the actions
	can be used in the image menu.

	* menus/image-menu.xml.in: s/select-toggle-qmask/qmask-toggle/.

	* menus/qmask-menu.xml: s/qmask-toggle/qmask-active/.
2004-05-02 19:37:17 +00:00
Sven Neumann b9b3134a12 menus/image-menu.xml.in menus/tool-options-menu.xml use empty elements for
2004-05-02  Sven Neumann  <sven@gimp.org>

	* menus/image-menu.xml.in
	* menus/tool-options-menu.xml
	* menus/toolbox-menu.xml.in: use empty elements for empty menus.
	Makes the XML somewhat easier to read.
2004-05-02 13:48:27 +00:00
Sven Neumann 2fb04d1e1a menus/Makefile.am new file that holds menuitems that appear in several
2004-05-02  Sven Neumann  <sven@gimp.org>

	* menus/Makefile.am
	* menus/dialogs-menuitems.xml: new file that holds menuitems that
	appear in several places.

	* menus/dockable-menu.xml.in: new file used to generate
	dockable-menu.xml.

	* menus/toolbox-menu.xml.in: new file used to generate
	toolbox-menu.xml.

	* menus/image-menu.xml.in: include dialogs-menuitems.xml.

	* menus/menus.xsl: allow inclusion of menuitems using XInclude.
2004-05-02 10:41:28 +00:00
Michael Natterer bdec5cc5da app/actions/Makefile.am new files containing factored out code to set up
2004-05-02  Michael Natterer  <mitch@convergence.de>

	* app/actions/Makefile.am
	* app/actions/file-dialog-actions.[ch]: new files containing
	factored out code to set up the <Load> and <Save> actions.
	Use GimpPlugInActions instead of just GtkActions.

	* app/actions/file-dialog-commands.[ch]: new files containing
	file_dialog_type_cmd_callback() which is a
	GimpPlugInAction::selected() callback now.

	* app/actions/file-commands.[ch]: removed the callback here.

	* app/actions/file-open-actions.c
	* app/actions/file-save-actions.c: removed code duplication and
	use file_dialog_actions_setup() instead.
2004-05-02 10:34:04 +00:00
Michael Natterer 9377b26ebc added help IDs to all actions representing the toplevel popups and menus
2004-05-02  Michael Natterer  <mitch@gimp.org>

	* app/actions/*-actions.c: added help IDs to all actions
	representing the toplevel popups and menus (as fallbacks for the
	still-to-be-written help system intrgration of GimpUIManager).

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
	call to gtk_ui_manager_ensure_update() because that's done by
	gimp_ui_manager_ui_get() now.

	* app/widgets/gimpmenufactory.[ch]: removed API to register and
	create item factories.

	* app/gui/menus.c: changed accordingly.

	* app/gui/dialogs.c
	* app/actions/plug-in-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpitemtreeview.c: removed leftover item factory
	cruft.

	* app/widgets/widgets-types.h: removed item factory typedefs...

	* app/widgets/gimpitemfactory.h: ...and added them here.

	* app/widgets/gimpactiongroup.[ch]: added new function
	gimp_action_group_add_plug_in_actions().

	* app/actions/plug-in-actions.c: use it here instead of adding
	the actions manually.

	* app/widgets/gimptoolbox.c: ported the code which dynamically
	updates the tool button tooltips on accelerator changes to
	GtkAction. Disabled the whole stuff because GTK+ lacks
	gtk_action_get_accel_closure().
2004-05-02 08:56:07 +00:00
Sven Neumann 41a9add7da added a rule to generate gtkuimanager XML files using an XSL
2004-05-02  Sven Neumann  <sven@gimp.org>

	* menus/Makefile.am: added a rule to generate gtkuimanager XML
	files using an XSL transformation.

	* menus/menus.xsl: a simple XSLT to generate a menubar and a popup
	menu with identical content.

	* menus/image-menu.xml: removed this file from CVS ...

	* menus/image-menu.xml.in: ... and added this instead.

	* HACKING: xsltproc is now needed to build from CVS.
2004-05-01 22:43:15 +00:00
Sven Neumann 4936e9a993 check for xmllint and xsltproc but don't require these tools.
2004-05-01  Sven Neumann  <sven@gimp.org>

	* configure.in: check for xmllint and xsltproc but don't require
	these tools.

	* menus/Makefile.am
	* tips/Makefile.am: simplified "validate" targets.
2004-05-01 17:45:33 +00:00
Pedro Gimeno c8d982c1bf Cleanups. (gimp_rect_select_tool_coords_to_integer): Undo my bogus fix for
2004-04-30  Pedro Gimeno  <pggimeno@wanadoo.es>

	* app/tools/gimprectselecttool.c: Cleanups.
	(gimp_rect_select_tool_coords_to_integer): Undo my bogus fix for
	bug #138103, which led to bug #140649.

	* app/pdb/procedural_db.c (procedural_db_init_procs): Add missing
	compat procs: gimp_channel_ops_duplicate, gimp_channel_ops_offset.
2004-04-30 19:14:37 +00:00
Sven Neumann 8766f89e02 added casts to please the compiler.
2004-04-30  Sven Neumann  <sven@gimp.org>

	* app/gui/tool-options-menu.c: added casts to please the compiler.
2004-04-30 17:11:07 +00:00
Michael Natterer 7d7ef188fa added signal "update" which is G_SIGNAL_RUN_LAST, so handlers can hook in
2004-04-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: added signal "update" which
	is G_SIGNAL_RUN_LAST, so handlers can hook in before and after
	the default implementation. Update the action groups
	in the default implementations.

	(gimp_ui_manager_ui_get): make sure we always return a widget
	by calling gtk_ui_manager_ensure_update().

	* app/widgets/gimpdockable.c (gimp_dockable_show_menu): make
	sure the dockable menu is loaded before trying to access its
	widgets/actions.

	Resurrected the dynamic tool options menus:

	* app/actions/tool-options-actions.c: dynamically destroy/create
	actions for the tool options' presets.

	* app/actions/tool-options-commands.[ch]: all callbacks are
	GimpEnumAction::selected() callbacks now.

	* app/gui/tool-options-menu.[ch]: connect and connect_after to
	GimpUIManager::update(). Remove the old preset menu items
	in the former callback, create the new ones in the latter.
	Removed the last item factory entries.

	* app/gui/menus.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.
2004-04-30 15:29:11 +00:00
Simon Budig 656795fac0 when glibc is used, call mallopt, so that memory chunks >= 4k (= 64*64
2004-04-29  Simon Budig  <simon@gimp.org>

	* app/main.c: when glibc is used, call mallopt, so that memory
	chunks >= 4k (= 64*64 pixels, 1bpp - the smallest full tile)
	get allocated via mmap. This ensures that after closing an image
	the memory allocated for image data gets returned to the system.

	Thanks to Phil Blundell <pb@nexus.co.uk> for bringing mallopt
	to my attention.

	Please watch closely for performance problems.
2004-04-29 19:47:24 +00:00
Michael Natterer 0e1af3ee5a app/actions/Makefile.am app/actions/file-open-actions.[ch] actions for the
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* app/actions/Makefile.am
	* app/actions/file-open-actions.[ch]
	* app/actions/file-save-actions.[ch]: actions for the <Load> and
	<Save> menus...

	* menus/Makefile.am
	* menus/file-open-menu.xml
	* menus/file-save-menu.xml: ...and the menus.

	* app/gui/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]: ported to UI Manager.

	* app/widgets/gimpfiledialog.[ch]: ditto.

	* app/actions/actions.c
	* app/gui/menus.c
	* app/gui/file-open-dialog.c
	* app/gui/file-save-dialog.c: changed accordingly.

	* app/widgets/gimpuimanager.c: removed debugging code which
	automatically loaded all registered menus. They are now loaded on
2004-04-29 17:47:53 +00:00
Michael Natterer d79ed2a040 new function which does the opposite of gimp_strip_uline().
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* libgimpbase/gimputils.[ch] (gimp_escape_uline): new function
	which does the opposite of gimp_strip_uline().

	* app/actions/file-actions.c (file_actions_last_opened_update):
	escape ulines in filenames so they don't end up as mnemonics.
	Spotted by Pedro Gimeno.
2004-04-29 16:47:53 +00:00
Manish Singh 3d293ea0f7 Quick fix to make uppercase tags work properly.
2004-04-29  Manish Singh  <yosh@gimp.org>

        * plug-ins/pygimp/plug-ins/py-slice.py: Quick fix to make uppercase
        tags work properly.
2004-04-29 16:09:09 +00:00
Michael Natterer 2a84015e39 stripped the menu paths from the "menu_path". Will be renamed to
2004-04-29  Michael Natterer  <mitch@gimp.org>

	* app/tools/gimp*tool.c (gimp_*_tool_register): stripped the menu
	paths from the "menu_path". Will be renamed to "action_name" or
	something soon...

	* plug-ins/dbbrowser/dbbrowser.c
	* plug-ins/common/plugindetails.c
	* plug-ins/common/uniteditor.c: register under the new
	"Extensions" placeholder.
2004-04-29 13:19:28 +00:00
Michael Natterer 4654280114 Switch from GtkItemFactory to GtkUIManager. The migration is almost
2004-04-29  Michael Natterer  <mitch@gimp.org>

	Switch from GtkItemFactory to GtkUIManager. The migration is
	almost complete, still stuff missing/incomplete, definitely added
	a bunch of new bugs...

	* app/actions/*-commands.[ch]: converted all callback from
	GtkItemFactory callbacks to GtkAction callbacks.

	* app/actions/debug-actions.c
	* app/actions/gradient-editor-actions.c
	* app/actions/help-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/qmask-actions.c
	* app/actions/tool-options-actions.c: various fixes.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell-appearance.[ch]
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell.[ch]: move everything from
	GtkItemFactory to GtkUIManager.

	* app/gui/dialogs.[ch]: added new function dialogs_get_toolbox().
	Needed because the action callbacks don't have a widget parameter
	and sometimes we need a parent window for showing dialogs.

	* app/gui/Makefile.am
	* app/gui/brushes-menu.[ch]
	* app/gui/buffers-menu.[ch]
	* app/gui/channels-menu.[ch]
	* app/gui/colormap-editor-menu.[ch]
	* app/gui/dialogs-menu.[ch]
	* app/gui/documents-menu.[ch]
	* app/gui/error-console-menu.[ch]
	* app/gui/fonts-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/images-menu.[ch]
	* app/gui/layers-menu.[ch]
	* app/gui/palette-editor-menu.[ch]
	* app/gui/palettes-menu.[ch]
	* app/gui/patterns-menu.[ch]
	* app/gui/qmask-menu.[ch]
	* app/gui/templates-menu.[ch]
	* app/gui/vectors-menu.[ch]: removed these files.

	* app/gui/gui.c: create a global UI manager for the image popup
	menu and the toolbox menubar.

	* app/gui/menus.[ch]: removed all GtkItemFactory code.

	* app/gui/image-menu.[ch]
	* app/gui/toolbox-menu.[ch]: removed everything except the trivial
	setup_funcs.

	* app/gui/file-open-menu.c
	* app/gui/file-save-menu.c
	* app/gui/tool-options-menu.c: don't use the macros from menus.h
	any more, they are gone.

	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: create/destroy the dynamic plug-in
	menu entries.

	* app/tools/gimpimagemaptool.c: s/gimp_item_factory_update/
	gimp_ui_manager_update/g

	* app/widgets/gimpuimanager.[ch]: added API to get an action
	group by name.

	* app/widgets/gimpmenufactory.c: don't choke on the item_factory
	entries being NULL.

	* app/widgets/gimpactiongroup.c: make sure booleans set using
	g_object_set() only have TRUE or FALSE values.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: removed all GtkItemFactory
	code and enable the #if 0'ed UI manager stuff.

	* menus/gradient-editor-menu.xml: fixed typos.

	* menus/image-menu.xml: duplicate everything so we have both
	an image menubar and an image popup menu. Badly cries for an
	XSL processor.

	* menus/toolbox-menu.xml: added an "Extensions" placeholder.
2004-04-29 12:52:29 +00:00
Michael Natterer aae726ee94 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkAction subclass
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppluginaction.[ch]: new GtkAction subclass which
	remembers the PlugInProcDef.

	* app/widgets/gimpactiongroup.[ch]: added "gpointer user_data" to
	the GimpActionGroup struct and to gimp_action_group_new(). Removed
	the user_data parameter from gimp_action_group_add_*_actions().

	* app/widgets/gimpactionfactory.[ch]: changed accordingly.

	* app/actions/*-actions.[ch]: removed user_data from all setup_funcs.

	* app/actions/plug-in-actions.c: use a GimpPlugInAction and
	finally use the right user_data for the callback so plug-in
	callbacks have a proper context.

	* app/gui/plug-in-menus.[ch]: renamed plug_in_menus_create2() to
	plug_in_menus_setup().

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: changed accordingly.
2004-04-27 13:55:26 +00:00
Michael Natterer a5130581db removed "translation-domain" property and simply use gettext(). Plug-In
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: removed "translation-domain"
	property and simply use gettext(). Plug-In domains are handled
	by plug-in-actions.c

	The following change finally starts breaking the old menu system
	while the new one is not fully in place yet. Have fun:

	* menus/image-menu.xml: added several <placeholder>s for plug-ins
	to register their menu entries in the middle of already existing
	menus.

	* app/gui/menus.c
	* plug-ins/common/mail.c
	* plug-ins/print/print.c
	* plug-ins/script-fu/scripts/copy-visible.scm: use the new
	placeholders to register menu entries.
2004-04-27 12:51:08 +00:00
Michael Natterer 4e8105c12f Correctly translated & sorted plug-in actions & menu entries:
2004-04-27  Michael Natterer  <mitch@gimp.org>

	Correctly translated & sorted plug-in actions & menu entries:

	* app/widgets/gimpuimanager.[ch]: added a "gchar *name" property
	and a hash table which keeps all created UI managers (similar to
	GimpActionGroup's hash table). Added function
	gimp_ui_managers_from_name() which returns a list of all managers
	with the given name.

	* app/widgets/gimpmenufactory.c: register a name per UI manager
	and pass the name to gimp_ui_manager_new().

	* app/actions/plug-in-actions.c: added code which correctly
	translates the created plug-in actions and also creates translated
	menu actions for the plug-in's menu_path elements.

	* app/gui/plug-in-menus.[ch]: sort the plug-ins' menu entries
	using a GTree. For each entry, recursivlely create submenus
	from the dynamic menu actions created above before creating
	the plug-in's menu entry itself.

	* app/gui/image-menu.c (image_menu_setup2)
	* app/gui/toolbox-menu.c (toolbox_menu_setup2): call
	plug_in_menus_create2().

	* app/gui/gui-vtable.c (gui_menus_create_entry)
	(gui_menus_delete_entry): added some uglyness which maps old <Prefix>
	menu identifiers to new-style UI manager plus ui_path tuples and
	call plug_in_menus_add,remove_proc() accordingly.

	* menus/image-menu.xml
	* menus/toolbox-menu.xml: added name="Foo" attributes to all menus
	so plug-in entries find their place.
2004-04-27 12:28:27 +00:00
Michael Natterer 11309f8e5e call actions_init() (gui_exit_after_callback): call actions_exit().
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/gui/gui.c (gui_restore_callback): call actions_init()
	(gui_exit_after_callback): call actions_exit().

	* app/gui/menus.c (menus_init)
	(menu_exit): don't call them here.
2004-04-27 10:23:35 +00:00
Michael Natterer bb0f359ac4 added GimpUIManagerSetupFunc typedef.
2004-04-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h: added GimpUIManagerSetupFunc typedef.

	* app/widgets/gimpuimanager.[ch]: added the setup_func to the
	GimpUIManagerUIEntry struct and to gimp_ui_manager_ui_register().
	Call the setup_func after creating the UI. Replaced the term
	"identifier" by "ui_path".

	* app/widgets/gimpmenufactory.c: ditto.

	* app/gui/menus.c (menus_init): register the new setup_funcs below.

	* app/gui/menus.[ch] (menus_open_recent_add)
	* app/gui/image-menu.[ch] (image_menu_setup2)
	* app/gui/toolbox-menu.[ch] (toolbox_menu_setup2): new setup_funcs
	which add the "Open Recent" menu items.

	* app/actions/file-actions.c: removed "file-open-recent-empty"
	action because it's not needed.

	* menus/image-menu.xml
	* menus/toolbox-menu.xml: removed "file-open-recent-empty" menu
	items and added <placeholder>s for the "Open Recent" menu items.
2004-04-26 15:51:21 +00:00
Michael Natterer b69ddb3993 removed "locale_domain" and "help_domain" parameters from
2004-04-26  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: removed "locale_domain" and "help_domain"
	parameters from GimpMenusCreateFunc.

	* app/plug-in/plug-ins.c (plug_ins_temp_proc_def_add)
	* app/actions/plug-in-actions.[ch] (plug_in_actions_add_proc_def):
	changed accordingly.

	* app/widgets/gimpactiongroup.[ch]: remember all created action
	groups is a hash table in GimpActionGroupClass.  Added
	gimp_action_groups_from_name() which returns a GList of all groups
	with the given name.

	* app/actions/plug-in-actions.[ch] (plug_in_actions_setup):
	removed the tree sorting code. Actions don't need to be ordered
	alphabetically.

	(plug_in_actions_update): copied & ported plug_in_menus_update().

	* app/gui/gui-vtable.c (gui_menus_create,delete_entry):
	dynamically add/remove plug-in actions in all "plug-in" action
	groups.
2004-04-26 15:01:00 +00:00
Michael Natterer af517f93aa changed GimpMenusDeleteFunc to take a PlugInProcDef* instead of a const
2004-04-25  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.[ch]: changed GimpMenusDeleteFunc to take
	a PlugInProcDef* instead of a const gchar*.

	* app/plug-in/plug-ins.c
	* app/gui/gui-vtable.c
	* app/gui/plug-in-menus.[ch]: changed accordingly.
2004-04-25 08:22:22 +00:00
Sven Neumann f49c37d459 some UI improvements based on a patch by William Skaggs (bug #140079).
2004-04-25  Sven Neumann  <sven@gimp.org>

	* plug-ins/common/AlienMap2.c: some UI improvements based on a
	patch by William Skaggs (bug #140079).
2004-04-24 22:18:47 +00:00
Sven Neumann 1afe796075 app/gui/dialogs-constructors.c silent the compiler.
2004-04-22  Sven Neumann  <sven@gimp.org>

	* app/gui/dialogs-constructors.c
	* app/gui/preferences-dialog.c: silent the compiler.

	* plug-ins/winicon/icodialog.c: simplified by using a
	GimpIntComboBox.
2004-04-22 17:38:14 +00:00
Michael Natterer 1071842535 remember and ref the created widgets. Added gimp_ui_manager_ui_popup()
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: remember and ref the created
	widgets.  Added gimp_ui_manager_ui_popup() which pops up a GtkMenu
	with a custom GimpMenuPositionFunc and a GtkDestroyNotify which is
	called on popdown.

	* app/widgets/gimpmenufactory.c (gimp_menu_factory_finalize):
	don't forget to free the list of managed UIs.

	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]: added GimpUIManager stuff parallel
	to the to-be-removed GtkItemFactory stuff.

	* 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
	* app/widgets/gimptooloptionseditor.c: changed accordingly and added
	#if 0'ed code which actually uses all the UI managers.

	* app/display/gimpdisplay.c
	* app/display/gimpdisplayshell.c
	* app/gui/gui-vtable.c: disabled some gimp_ui_manager_update()
	calls because they were invoking toggle and radio callbacks
	which still have the wrong signature.
2004-04-22 17:14:22 +00:00
Sven Neumann 505698be0a ported the last plug-in from GtkOptionMenu to GimpIntComboBox.
2004-04-22  Sven Neumann  <sven@gimp.org>

	* plug-ins/gflare/gflare.c: ported the last plug-in from
	GtkOptionMenu to GimpIntComboBox.

	* plug-ins/common/newsprint.c: changed a comment that was still
	talking about option menus.
2004-04-22 16:56:27 +00:00
Michael Natterer 1f7a5870cc fixed some typos in the UI Manager registration code.
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/gui/menus.c (menus_init): fixed some typos in the UI Manager
	registration code.
2004-04-22 16:18:40 +00:00
Michael Natterer 42f79826a9 implemented gimp_action_group_set_action_color() and
2004-04-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpactiongroup.[ch]: implemented
	gimp_action_group_set_action_color() and
	gimp_action_group_set_action_viewable().

	* app/actions/*-actions.c: added stock IDs to all actions which
	represent toplevel popup menus. Fixed typos.

	* menus/brushes-menu.xml
	* menus/colormap-editor-menu.xml
	* menus/dockable-menu.xml
	* menus/gradients-menu.xml
	* menus/patterns-menu.xml
	* menus/toolbox-menu.xml: fixed typos.
2004-04-22 16:16:43 +00:00
Sven Neumann c6c1688ec9 plug-ins/rcm/rcm_callback.[ch] ported from GtkOptionMenu to
2004-04-22  Sven Neumann  <sven@gimp.org>

	* plug-ins/rcm/rcm_callback.[ch]
	* plug-ins/rcm/rcm_dialog.c: ported from GtkOptionMenu to
	GimpIntComboBox.
2004-04-22 15:54:59 +00:00
Sven Neumann 52a42769e2 automatically add an "(Empty)" item if the store is empty and remove it as
2004-04-22  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintstore.[ch]: automatically add an "(Empty)"
	item if the store is empty and remove it as soon as other items
	are being added.

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c: removed handling of the empty list;
	the store does this for us now.
2004-04-22 15:25:01 +00:00
Sven Neumann 53b00093cb removed the check for first_label != NULL. Passing a NULL label makes a
2004-04-22  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintcombobox.c (gimp_int_combo_box_new):
	removed the check for first_label != NULL. Passing a NULL label
	makes a perfect empty combo_box.

	* plug-ins/common/newsprint.c
	* plug-ins/common/spheredesigner.c: ported from GtkOptioMenu to
	GimpIntComboBox.
2004-04-22 01:27:30 +00:00
Sven Neumann e72a025671 plug-ins/flame/flame.c ported the last two users of gimpmenu.h to
2004-04-22  Sven Neumann  <sven@gimp.org>

	* plug-ins/flame/flame.c
	* plug-ins/gimpressionist/brush.c: ported the last two users of
	gimpmenu.h to GimpDrawableComboBox.

	* libgimp/gimpmenu.[ch]: declared the functions found here as
	deprecated.

	* plug-ins/common/plugindetails.c
	* plug-ins/ifscompose/ifscompose.c: silent the compiler.
2004-04-21 23:09:16 +00:00
Sven Neumann 36dc39becb libgimp/gimpdrawablecombobox.c libgimp/gimpimagecombobox.c changed the
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c
	* libgimp/gimpmenu.c: changed the label for the empty menu from
	"None" to "Empty" since that's what GTK+ uses.

	* libgimpwidgets/gimpintcombobox.[ch]: added convenience function
	gimp_int_combo_box_connect().

	* plug-ins/common/bumpmap.c
	* plug-ins/common/compose.c
	* plug-ins/common/depthmerge.c
	* plug-ins/common/displace.c
	* plug-ins/common/lic.c
	* plug-ins/common/warp.c: ported to GimpDrawableComboBox.

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/sample_colorize.c: use
	gimp_int_combo_box_connect(). This restores the correct behaviour
	of setting the drawable_ID to the first drawable from the list if
	it's invalid.
2004-04-21 16:50:13 +00:00
Michael Natterer 0b8c4b3ec9 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
	API to update all action groups and knows which UIs it can create
	from which XML files.

	* app/widgets/gimpmenufactory.[ch]: register the XML file
	basenames along with path of their toplevel menus. Create
	GimpUIManagers instead of GtkUIManagers and register the
	XML files and menu paths with them.

	* app/gui/menus.c: register all XML files and their toplevel
	menu paths.

	* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
	creating the GtkItemFactory. Added "const gchar *ui_identifier"
	parameter to gimp_editor_create_menu().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
	parameters to all constructors.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: pass UI identifiers to the changed
	functions above.

	* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
	the menubar (menubar creating code still commented out).

	* app/display/gimpdisplay.c
	* app/gui/gui-vtable.c: update the ui manager.
2004-04-21 16:33:17 +00:00
Michael Natterer 2c601c7dc3 forgot to register the "patterns" actions.
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/actions/actions.c: forgot to register the "patterns" actions.

	* app/actions/*-actions.c: added actions representing the toplevel
	menus (popups and menubars). Fixed some typos.

	* menus/*-menu.xml: added action="foo" attributes to all toplevel
	menus. Fixed typos here too.

	* menus/gtkuimanager.dtd: fixed possible attributes.
2004-04-21 16:10:00 +00:00
Sven Neumann 8abf38f7d9 use the same label as in the new combo_box widgets.
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpmenu.c (gimp_menu_add_none): use the same label as
	in the new combo_box widgets.

	* libgimpwidgets/gimpintcombobox.[ch]
	* libgimpwidgets/gimpintstore.[ch]: use LibGIMP copyright headers.
2004-04-21 12:14:01 +00:00
Sven Neumann c15dc68d2a libgimp/gimpdrawablecombobox.c libgimp/gimpimagecombobox.c
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimp/gimpdrawablecombobox.c
	* libgimp/gimpimagecombobox.c
	* libgimp/gimppixbuf.c
	* libgimpwidgets/gimpintcombobox.c
	* libgimpwidgets/gimpintstore.c: API documentation.
2004-04-21 11:51:21 +00:00
Sven Neumann 7d965d4213 typos 2004-04-21 11:21:51 +00:00
Sven Neumann 9dd7f2571c added new functions gimp_int_combo_box_[prepend|append}.
2004-04-21  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpintcombobox.[ch]: added new functions
	gimp_int_combo_box_[prepend|append}.

	* plug-ins/common/sample_colorize.c: ported to GimpDrawableComboBox.
2004-04-21 11:09:03 +00:00
Michael Natterer 62dcfaecbf app/actions/qmask-actions.c prepared qmask_actions_update() and the qmask
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/actions/qmask-actions.c
	* app/actions/qmask-commands.c: prepared qmask_actions_update()
	and the qmask callbacks to be merged into the image ui manager.

	* app/actions/dialogs-actions.c
	* app/actions/edit-actions.c
	* app/actions/file-actions.c
	* app/actions/image-actions.c
	* app/actions/layers-actions.c
	* app/actions/plug-in-actions.c
	* app/actions/tools-actions.c
	* app/actions/view-actions.c: fixed lots of typos and buglets
	spotted in my first test run.

	* app/gui/menus.c: register the needed action groups with the
	<Image> menu.

	* app/tools/gimp-tools.c
	* app/tools/gimpdodgeburntool.[ch]
	* app/tools/gimppaintoptions-gui.c: s/dodgeburn/dodge_burn/g.

	* app/widgets/gimpactionfactory.c
	* app/widgets/gimpmenufactory.[ch]: s/G_GNUC_FUNCTION/G_STRFUNC/g,
	updated copyright header.

	* menus/image-menu.xml: fixed typos and added the "Filters"
	submenus.
2004-04-21 10:55:45 +00:00
Michael Natterer 27a2c8c0e6 More unused action stuff:
2004-04-21  Michael Natterer  <mitch@gimp.org>

	More unused action stuff:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactionfactory.[ch]: added a simple factory which
	produces GimpActionGroups.

	* app/widgets/gimpactiongroup.[ch]: added an "update_func" member
	to the GimpActionGroup struct. Added it as parameter to
	gimp_action_group_new(). Added function gimp_action_group_update().

	* app/widgets/gimpmenufactory.[ch]: added an "action_factory"
	member and constructor parameter. Added code to create
	GtkUIManagers from registered action group identifiers.

	* app/actions/Makefile.am
	* app/actions/actions.[ch]: new files: create a
	"global_action_factory" and register all action groups with it.

	* app/actions/edit-actions.c: s/edit_action_update/edit_actions_update/

	* app/actions/plug-in-actions.[ch]: added API to add/remove
	plug-in procedure actions dynamically (unfinished).

	* app/gui/menus.c (menus_init): call actions_init().
	(menus_exit): call actions_exit().
2004-04-20 23:04:50 +00:00
Sven Neumann 732fc05fa7 plug-ins/Lighting/lighting_ui.c ported to the new API.
2004-04-21  Sven Neumann  <sven@gimp.org>

	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/MapObject/mapobject_ui.c: ported to the new API.
2004-04-20 23:01:03 +00:00