Commit Graph

67 Commits

Author SHA1 Message Date
Michael Natterer 908f727f0a Chain up unconditionally in GObject::constructed()
It's supported since GLib 2.28.
2012-11-12 21:51:22 +01:00
Michael Natterer 4fbf01baef app: get the help_id from the right action in gimp_editor_add_action_button() 2012-06-12 22:51:32 +02:00
Michael Natterer fbd746f95a app: don't rely on gtk_container_remove() to always destroy the child
Instead, either destroy the child instead of removing it, or remove
*and* destroy it in cases where the remove() api on the "parent"
doesn't match GTK+'s parent/child relation (like with all our dock
widgets). We can't rely on remove() to implicitly detstroy, because
there might be arbitrary other code holding references, such as
accessibility modules and whatnot. Most likely fixes unclear crashes
in accessibility code and other crashes we blamed GTK+ for.
2012-02-21 00:36:18 +01:00
Michael Natterer 6d1b5c4241 app: pull virtual modifier replacement into gimp_get_mod_string()
and remove it from all other places. We only want to have the virtual
modifiers when displaying a modifier string (and in some other cases,
but these are all handled internally by GTK+).
2011-10-06 22:56:05 +02:00
Michael Natterer 16d4d6fa94 app: replace virtual modifiers before displaying them as GimpEditor tooltip 2011-10-05 19:26:53 +02:00
Michael Natterer 3e336199b9 app: use gtk_box_new() 2011-09-30 11:29:11 +02:00
Martin Nordholts 27ac2a3c38 app: Make GimpEditor instance members private 2011-04-10 12:12:01 +02:00
Michael Natterer 202124c438 app: implement GObject::constructed() instead of ::constructor() 2011-01-14 09:38:46 +01:00
Michael Natterer b9a7c121a4 app: don't inherit from GtkHBox or GtkVBox
Instead, inherit from GtkBox directly and set the orientation in
init().  Replace more gtk_container_add() by gtk_box_pack_start() in
the reparented classes.
2010-10-30 15:44:46 +02:00
Michael Natterer b69eea8cd6 app: implement GObject::dispose() instead of GtkObject::destroy() 2010-10-15 14:08:36 +02:00
Martin Nordholts eb6bef33e4 Use gtk_widget_set_visible()
In places where the pattern

  if (show)
    gtk_widget_show (widget);
  else
    gtk_widget_hide (widget);

is used, change to

  gtk_widget_set_visible (widget, show);

Also do some other minor cleanups.
2009-10-17 15:07:34 +02:00
Michael Natterer efd5018420 gimp_editor_set_box_style(): small optimization
Don't set set icon again if the icon size has not actually changed.
2009-09-03 13:24:30 +02:00
Michael Natterer b793146bde Remove redundant call to gtk_toggle_button_set_mode()
No need to call that function on an actual GtkToggleButton, because
they never have check indicators anyway.
2009-08-21 13:52:29 +02:00
Michael Natterer c9674b4603 Use the new GtkAction accessors instead of g_object_get()/set() 2009-05-24 22:29:18 +02:00
Manish Singh 7d76f25e26 Use gtk_activatable_set_related_action() instead of deprecated
gtk_action_connect_proxy()
2009-05-24 10:38:09 -07:00
Michael Natterer d9b5207aa2 Change licence to GPLv3 (and to LGPLv3 for libgimp).
2009-01-17  Michael Natterer  <mitch@gimp.org>

	* all files with a GPL header and all COPYING files:

	Change licence to GPLv3 (and to LGPLv3 for libgimp).

	Cleaned up some copyright headers and regenerated the parsers in
	the ImageMap plugin.


svn path=/trunk/; revision=27913
2009-01-17 22:28:01 +00:00
Sven Neumann dcbe611b8e app/widgets/gimpcontrollerinfo.c app/widgets/gimpcontrollerlist.c
2008-07-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontrollerinfo.c
	* app/widgets/gimpcontrollerlist.c
	* app/widgets/gimpdasheditor.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimppdbdialog.c
	* app/widgets/gimppluginaction.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptemplateeditor.c
	* libgimpwidgets/gimpcolorprofilecombobox.c: no need to cast the
	return value of g_value_dup_object().


svn path=/trunk/; revision=26290
2008-07-23 07:47:10 +00:00
Michael Natterer 8088b64c72 app/display/gimpcanvas.c app/widgets/gimpcoloreditor.c
2008-03-30  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpcursorview.c
	* app/widgets/gimpcurveview.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimpdockseparator.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpmenudock.c
	* app/widgets/gimpsamplepointeditor.c
	* app/widgets/gimptoolbox.c: chain up unconditionally in
	GtkWidget::style_set() because there is has a default
	implementation.


svn path=/trunk/; revision=25307
2008-03-29 23:43:39 +00:00
Michael Natterer 3c5edcacbd add button-relief style property which defaults to NONE.
2008-02-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpeditor.c: add button-relief style property which
	defaults to NONE.


svn path=/trunk/; revision=24853
2008-02-10 20:50:21 +00:00
William Skaggs 5533bec51e Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimpeditor.c: draw editor buttons without
	relief, see bug #515621.

svn path=/trunk/; revision=24852
2008-02-10 20:38:15 +00:00
Sven Neumann dc5d601675 use gtk_widget_set_tooltip_text() from gimp_help_set_help() and added
2007-11-22  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: use
	gtk_widget_set_tooltip_text() from gimp_help_set_help() and added
	gimp_help_set_help_data_with_markup() for the cases where markup
	is needed.

	* libgimpwidgets/gimpwidgets.def: updated.

	* app/tools/gimpselectionoptions.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpwidgets-utils.c: use the new function where markup
	in tooltips is being used.

	* app/widgets/gimptoolbox-color-area.c: no need to escape the
	ampersand any longer.

svn path=/trunk/; revision=24217
2007-11-22 13:59:06 +00:00
Michael Natterer a446f3d7fb use the new tooltip API instead of the old deprecated one. Removed
2007-11-09  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimphelpui.[ch]: use the new tooltip API instead
	of the old deprecated one. Removed _gimp_help_init(). Remember
	whether tooltips are enabled or not in a local variable that can
	only be altered at startup time and not after. The API now expects
	markup instead of plain text which might cause warnings and
	perhaps needs to be changed.

	* libgimpwidgets/gimpwidgets-private.c: don't call _gimp_help_init().

	* app/config/gimpguiconfig.c: made show-tooltips a
	GIMP_CONFIG_PARAM_RESTART property.

	* app/widgets/gimptoolbox-color-area.c: don't add the tooltip here...

	* app/widgets/gimptoolbox.c: ...but here (as for all other
	indicators). Also escape '&' properly because we now use markup.

	* app/tools/gimpselectionoptions.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpwidgets-utils.c: print modifiers and
	shortcuts in bold instead of in ().

	* app/widgets/gimpcontainertreeview.c: show tooltips on rows if
	gimp_viewable_get_description() returns a tip.

	* app/dialogs/preferences-dialog.c
	* plug-ins/jpeg/jpeg-save.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/Lighting/lighting_ui.c
	* plug-ins/common/animationplay.c
	* plug-ins/common/warp.c: no need to add event boxes just to have
	tooltips, the new ones work on all widgets.


svn path=/trunk/; revision=24093
2007-11-09 11:17:00 +00:00
Sven Neumann b3d3f4f291 app/widgets/gimpcontrollers.c app/widgets/gimpdevices.c
2007-05-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcontrollers.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpeditor.c: allocate structs using GSlice.

svn path=/trunk/; revision=22575
2007-05-22 16:18:32 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Michael Natterer 6feb7bb82c depend on glib >= 2.10.2, gtk+ >= 2.8.18 and pango >= 1.12.3. Define
2006-07-05  Michael Natterer  <mitch@gimp.org>

	* configure.in: depend on glib >= 2.10.2, gtk+ >= 2.8.18
	and pango >= 1.12.3. Define FOO_DISABLE_DEPRECATED also for
	glib 2.12, gtk+ 2.10 and pango 2.14

	* app/sanity.c
	* app/gui/gui.c: adjusted sanity checks accordingly.

	* app/dialogs/stroke-dialog.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpuimanager.c
	* libgimpwidgets/gimphelpui.c
	* libgimpwidgets/gimpmemsizeentry.c
	* plug-ins/helpbrowser/gimpthrobber.c: replace gtk_object_sink()
	by combinations of g_object_ref_sink() and g_object_unref().
2006-07-05 13:40:47 +00:00
Michael Natterer 10c8c709d3 simply use gimp_button_new() instead of g_object_new(). Don't set the
2006-06-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpeditor.c (gimp_editor_add_action_button): simply
	use gimp_button_new() instead of g_object_new(). Don't set the
	"use-stock" property and reordered some code. Keeps GtkButton from
	thinking that is has constructed the button's child itself and
	thus makes the function more rubust against changes in GtkButton.
2006-06-10 17:48:33 +00:00
Sven Neumann 6ebcf700d1 removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15  Sven Neumann  <sven@gimp.org>

	* app/*/*.c:
	* lib*/*.c: removed erroneous semicolon after G_DEFINE_TYPE macros.
2006-05-15 09:46:31 +00:00
Sven Neumann 049872b361 app/*.[ch] converted tabs to spaces.
2006-04-12  Sven Neumann  <sven@gimp.org>

	* app/*.[ch]
	* app/*/*.[ch]: converted tabs to spaces.
2006-04-12 12:49:29 +00:00
Michael Natterer e1ceed5147 define GIMP_PARAM_STATIC_STRINGS which is G_PARAM_STATIC_NAME|NICK|BLURB.
2006-01-18  Michael Natterer  <mitch@gimp.org>

	* app/config/config-types.c: define GIMP_PARAM_STATIC_STRINGS
	which is G_PARAM_STATIC_NAME|NICK|BLURB. Also define
	GIMP_PARAM_READABLE, _WRITABLE and _READWRITE which include
	GIMP_PARAM_STATIC_STRINGS.

	* app/*/*.c: use them for all object properties so their
	strings are not copied.
2006-01-18 20:29:40 +00:00
Michael Natterer 61df53ec54 port to G_DEFINE_TYPE() and friends. Some related cleanup.
2005-12-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/*.c: port to G_DEFINE_TYPE() and friends. Some
	related cleanup.
2005-12-19 22:37:49 +00:00
Michael Natterer 534fd971c4 set the "use-stock" property on the created buttons so changes of the
2005-11-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpeditor.c (gimp_editor_add_button)
	(gimp_editor_add_action_button): set the "use-stock" property on
	the created buttons so changes of the underlying action's name
	don't affect change the button's icon to a string.
2005-11-29 23:02:20 +00:00
Michael Natterer a14a317722 removed "<>" around modifiers.
2005-09-14  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpwidgets-utils.c (gimp_get_mod_name_*): removed
	"<>" around modifiers.

	* app/tools/gimpbucketfilloptions.c
	* app/tools/gimpcolorpickeroptions.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcropoptions.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpflipoptions.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmagnifyoptions.c
	* app/tools/gimpmoveoptions.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptransformoptions.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpthumbbox.c: added "()" around the whole modifier
	string where appropriate.

	* app/widgets/gimptoolbox.c (gimp_toolbox_button_accel_changed):
	use gimp_get_mod_string() instead of homebrewn variant of the same
	code.

	* app/widgets/gimpcontrollerkeyboard.c: replaced tons of static
	translatable strings containing modifiers by generated ones using
	gimp_get_mod_string() (traded for some more memory consumption).
2005-09-13 22:17:05 +00:00
Michael Natterer 32d875d070 app/dialogs/module-dialog.c app/dialogs/palette-import-dialog.c
2005-08-03  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/module-dialog.c
	* app/dialogs/palette-import-dialog.c
	* app/gui/gui.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpaction.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainerbox.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcursorview.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpenumaction.c
	* app/widgets/gimperrordialog.c
	* app/widgets/gimpfileprocview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpmenudock.c
	* app/widgets/gimpmessagebox.c
	* app/widgets/gimpmessagedialog.c
	* app/widgets/gimppluginaction.c
	* app/widgets/gimpprogressdialog.c
	* app/widgets/gimpsamplepointeditor.c
	* app/widgets/gimpstringaction.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptoolbox-image-area.c
	* app/widgets/gimptoolbox.c: use canonical names for signals and
	properties.
2005-08-03 09:34:55 +00:00
Sven Neumann e09ee5e501 app/widgets/gimpcoloreditor.c app/widgets/gimpcursorview.c
2005-06-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcursorview.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimppaletteeditor.c: peek at the default interface to
	get the parent interface. Unconditionally chain up in get_aux_info()
	and set_aux_info() methods.
2005-06-04 22:49:53 +00:00
Sven Neumann f173198669 app/widgets/gimpdocked.[ch] moved button-bar API to the GimpDocked
2005-06-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdocked.[ch]
	* app/widgets/gimpeditor.[ch]: moved button-bar API to the
	GimpDocked interface.

	* app/widgets/gimpcontainereditor.c: implement the new interface
	methods and proxy them to the embedded docked.

	* app/actions/dockable-actions.c
	* app/actions/dockable-commands.c: changed accordingly.
2005-06-04 22:32:31 +00:00
Sven Neumann 5412fac02b app/actions/dockable-actions.c app/actions/dockable-commands.[ch]
2005-06-04  Sven Neumann  <sven@gimp.org>

	* app/actions/dockable-actions.c
	* app/actions/dockable-commands.[ch]
	* app/widgets/gimpeditor.[ch]
	* app/widgets/gimphelp-ids.h
	* menus/dockable-menu.xml.in: allow to show/hide the button-bar in
	GimpEditor. Should be merged into the GimpDocked interface.
2005-06-04 21:00:48 +00:00
Sven Neumann 684591f81c added a name label (with properties to show/hide and to set it).
2005-05-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpeditor.[ch]: added a name label (with properties
	to show/hide and to set it).

	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimphistogrameditor.[ch]: removed the label here and
	use the functionality now provided by GimpEditor instead.

	* app/widgets/gimpcontainerpopup.c: changed accordingly.
2005-05-27 11:40:06 +00:00
William Skaggs 6d74b06daf Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimpenumwidgets.c
	* app/widgets/gimpenumwidgets.h: magic-moved from here...

	* libgimpwidgets/gimpenumwidgets.c
	* libgimpwidgets/gimpenumwidgets.h: ...to here.

	* app/dialogs/convert-dialog.c
	* app/dialogs/layer-add-mask-dialog.c
	* app/dialogs/layer-options-dialog.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/Makefile.am
	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimptemplateeditor.c
	* libgimpwidgets/Makefile.am
	* libgimpwidgets/gimpwidgets.def
	* libgimpwidgets/gimpwidgets.h: all changed accordingly.
	Still need to do devel-docs.
2005-01-29 01:08:20 +00:00
Michael Natterer c568322c43 app/display/gimpscalecombobox.c (gimp_scale_combo_box_mru_remove_last)
2004-11-03  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpscalecombobox.c
	(gimp_scale_combo_box_mru_remove_last)
	* app/widgets/gimpeditor.c (gimp_editor_add_action_button)
	* app/xcf/xcf-load.c (xcf_load_old_path): plugged some small leaks.
2004-11-03 11:50:37 +00:00
Michael Natterer 59bd430526 make sure the button_box is always interted at the very bottom of the
2004-10-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpeditor.c (gimp_editor_ensure_button_box): make
	sure the button_box is always interted at the very bottom of the
	editor.

	* app/widgets/gimpviewabledialog.c: changed the "description"
	property from CONSTRUCT_ONLY to CONSTRUCT.

	* app/widgets/gimpcolormapeditor.c: show the index of the edited
	color in the color dialog and use the correct icon. Replaced label
	"Hex triplet" by "HTML notation" to be consistent with the color
	dialog. Removed wrong 2 pixel border around the table below the
	preview.
2004-10-22 15:41:03 +00:00
Michael Natterer f4d7260c64 app/actions/channels-actions.c app/actions/colormap-editor-actions.c
2004-10-16  Michael Natterer  <mitch@gimp.org>

	* app/actions/channels-actions.c
	* app/actions/colormap-editor-actions.c
	* app/actions/documents-actions.c
	* app/actions/tool-options-actions.c
	* app/actions/vectors-actions.c: added more tooltips for actions
	which are used as extended dialog button callbacks.

	* app/widgets/gimpeditor.c (gimp_editor_add_action_button): keep
	the list of extended actions in reverse order.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c: don't set the tooltips
	manually. Removes another bunch of insane translatable multiline
	format strings. Pass the extended actions in the right order
	to gimp_editor_add_action_button().
2004-10-16 17:10:04 +00:00
Michael Natterer 8effb0cfaf Ported the layers, channels and paths dialogs from
2004-10-16  Michael Natterer  <mitch@gimp.org>

	Ported the layers, channels and paths dialogs from
	gimp_editor_add_button() to gimp_editor_add_action_button(),
	removing a massive amount of duplicated code, sensitivity logic
	and confusing utility functions.

	* app/actions/channels-actions.c
	* app/actions/channels-commands.[ch]
	* app/actions/layers-actions.c
	* app/actions/layers-commands.[ch]
	* app/actions/vectors-actions.c
	* app/actions/vectors-commands.[ch]: added "foo-new-default"
	actions and callbacks which create items without a dialog,
	optionally using default values from a passed template. Removed
	all public utility function that were passed as function pointers
	to widget construtors. Added tooltips to all actions which are now
	used for dialog buttons.

	* app/widgets/gimpeditor.c (gimp_editor_add_action_button):
	automatically create multi-line tooltips showing the modifiers for
	extended action buttons. Removes the need for lots of insane
	format strings that need to be translated correctly.

	* app/widgets/gimpitemtreeview.[ch] (struct GimpItemTreeViewClass):
	replaced tooltip and help_id strings by action names.

	(struct GimpItemTreeView)
	(gimp_item_tree_view_new): removed "edit", "new" and "activate"
	function pointers.

	(gimp_item_tree_view_constructor): create all buttons
	with gimp_editor_add_action_button(), using the action names
	from GimpItemTreeViewClass.

	Removed tons of "clicked" callbacks and all code which sets the
	buttons' sensitivity. They are not needed any longer.

	Require all subclasses to implement GimpItemTreeView::new_item(),
	a new virtual function which creates a plain new item without
	showing a dialog.

	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c: fill in the action names and
	implement GimpItemTreeView::new_item(). Removed all button
	sensitivity logic.

	* app/dialogs/dialogs-constructors.c: changed accordingly. Doesn't
	include anything from actions/ any more.
2004-10-16 15:48:23 +00:00
Michael Natterer b4ea222c23 Ported GimpNavigationView to use actions for its buttons:
2004-09-26  Michael Natterer  <mitch@gimp.org>

	Ported GimpNavigationView to use actions for its buttons:

	* app/menus/menus.c (menus_init): register a <GimpNaviagaionEditor>
	UI manager containing the "view" action group.

	* app/actions/actions.c (action_data_get_foo): handle "data" being
	a GimpNavigationEditor.

	* app/actions/view-actions.c (view_actions): added tooltips for
	the actions used in the editor.

	(view_actions_update): use action_data_get_display() instead of
	checking the type of "data" manually.

	* app/widgets/gimpeditor.c (gimp_editor_add_action_button): use
	a GtkToggleButton instead of GimpButton for GtkToggleActions.

	* app/display/gimpnavigationeditor.[ch]: added a GimpMenuFactory
	parameter to the public constructor and removed all other
	parameters. Simplified gimp_navigation_editor_new_private() and
	use gimp_editor_add_action_button() instead of just add_button()
	for creating the buttons. Made gimp_navigation_view_set_shell()
	private. Update the UI manager when the shell zooms or scrolls.

	* app/dialogs/dialogs-constructors.c (dialogs_navigation_view_new):
	pass the menu_factory to gimp_navigation_editor_new().

	Removed #includes which are not needed any more.
2004-09-26 15:21:44 +00:00
Michael Natterer cf3533ba9c put the image popup menu into a dummy menubar to work around the silly
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 13:38:03 +00:00
Michael Natterer 2632cd8f64 app/actions/documents-actions.c app/actions/documents-commands.c
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.
2004-05-12 18:36:33 +00:00
Michael Natterer 11fa092588 added action_data_get_context() and macro return_if_no_context().
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* app/actions/actions.[ch]: added action_data_get_context() and
	macro return_if_no_context().

	* app/actions/brushes-actions.c
	* app/actions/buffers-actions.c
	* app/actions/buffers-commands.c
	* app/actions/data-commands.c
	* app/actions/fonts-actions.c
	* app/actions/fonts-commands.c
	* app/actions/gradients-actions.c
	* app/actions/images-actions.c
	* app/actions/images-commands.c
	* app/actions/palettes-actions.c
	* app/actions/patterns-actions.c
	* app/actions/templates-actions.c
	* app/actions/templates-commands.[ch]
	* app/actions/tools-actions.c
	* app/actions/tools-commands.c: moved lots of code from widgets/
	to the resp. action callbacks.

	* app/widgets/gimpeditor.[ch]: added gimp_editor_add_action_button()
	which creates a GtkButton connected to the resp. action.

	* app/widgets/gimpdatafactoryview.[ch]: added "action_group"
	parameters so we can distinguish brushes, patterns etc. actions.

	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptoolview.c: removed tons of GtkButton::clicked()
	callbacks and use gimp_editor_add_action_button() instead
	of simply _add_button().

	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.
2004-05-11 16:05:21 +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 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
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
Sven Neumann 89cf45541a app/widgets/Makefile.am app/widgets/widgets-types.h removed GimpEnumMenu.
2004-04-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenummenu.[ch]: removed GimpEnumMenu.

	* app/widgets/gimpenumwidgets.[ch]: moved widget constructors that
	don't use GimpEnumMenu from gimpenummenu.[ch] to these new files.

	* app/widgets/gimpenumcombobox.[ch]: added a GtkComboBox widget
	using GimpEnumStore; replaces GimpEnumMenu.

	* app/widgets/gimpenumstore.[ch]: added new function
	gimp_enum_store_lookup_by_value().

	* app/widgets/gimppropwidgets.[ch]: replaced
	gimp_prop_enum_option_menu_new() with gimp_prop_enum_combo_box_new().

	* app/gui/brush-select.[ch]
	* app/gui/convert-dialog.c
	* app/gui/layers-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpblendoptions.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptransformoptions.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptexteditor.c: ported to GimpEnumComboBox.
2004-04-18 15:12:42 +00:00