Commit Graph

86 Commits

Author SHA1 Message Date
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
Sven Neumann cca470e093 open the new dock window at the mouse pointer position.
2008-03-27  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_detach): open the new
	dock window at the mouse pointer position.

svn path=/trunk/; revision=25262
2008-03-27 12:35:56 +00:00
Sven Neumann a355f1777b app/widgets/gimpdockable.c moved utility function for setting attributes
2008-03-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c
	* app/widgets/gimpwidgets-utils.[ch]: moved utility function for
	setting attributes on a PangoLayout out of gimpdockable.c.

	* app/display/gimpcanvas.c (gimp_canvas_draw_drop_zone): use a
	bold font and paint the layout with transparency.

svn path=/trunk/; revision=25116
2008-03-19 09:29:30 +00:00
Michael Natterer bc9424a2b5 app/actions/data-commands.c app/actions/debug-commands.c
2008-03-12  Michael Natterer  <mitch@gimp.org>

	* app/actions/data-commands.c
	* app/actions/debug-commands.c
	* app/actions/dockable-commands.c
	* app/dialogs/stroke-dialog.c
	* app/display/gimpdisplayshell-handlers.c
	* app/gui/gui-message.c
	* app/gui/gui.c
	* app/tools/gimpforegroundselectoptions.c
	* app/tools/gimpinkoptions-gui.c
	* app/widgets/gimpcolordialog.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpsessioninfo-book.c
	* app/widgets/gimpsessioninfo-dock.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimpunitcombobox.c
	* app/widgets/gimpviewablebox.c
	* libgimp/gimpexport.c
	* libgimpmodule/gimpmodule.h
	* libgimpwidgets/gimpenumwidgets.c
	* libgimpwidgets/gimpframe.c
	* libgimpwidgets/gimpoldwidgets.c
	* libgimpwidgets/gimpwidgets.c
	* plug-ins/MapObject/mapobject_ui.c
	* plug-ins/common/papertile.c
	* plug-ins/common/sinus.c
	* plug-ins/flame/flame.c
	* plug-ins/helpbrowser/gimpthrobber.c
	* plug-ins/script-fu/scheme-wrapper.c
	* plug-ins/script-fu/script-fu-console.c: use accessors instead of
	accessing GtkBin.child and GtkPaned.child1,2 directly.


svn path=/trunk/; revision=25095
2008-03-12 16:58:28 +00:00
Sven Neumann c317f937e1 app/widgets/gimpdockable.[ch] moved code for the drag widget to
2008-03-10  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdockbook.c: moved code for the drag widget to
	GimpDockable. Use semi-bold text for the drag widget also.

svn path=/trunk/; revision=25082
2008-03-10 16:01:48 +00:00
Sven Neumann 2cf19eacee Experimental attempt to gain a little more horizontal space for the tool
2008-03-08  Sven Neumann  <sven@gimp.org>

	Experimental attempt to gain a little more horizontal space for
	the tool options:
	
	* app/widgets/gimptooloptionseditor.c: removed the shadow from 
the
	viewport and the border from the vbox.

	* app/widgets/gimpdockable.c: use a semibold label for the 
title.


svn path=/trunk/; revision=25065
2008-03-08 14:33:16 +00:00
Michael Natterer 10ccddfb93 app/display/gimpcanvas.c free the cached PangoLayouts in
2007-11-14  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpcanvas.c
	* app/widgets/gimpcurveview.c: free the cached PangoLayouts in
	GtkWidget::style_set().

	* app/widgets/gimppaletteview.c: draw the focus rectangle in
	hardcoded black/white since we also hardcode the grid color to
	black.

	* app/display/gimpstatusbar.c
	* app/widgets/gimpdockable.c: small cleanups while reviewing
	layout code.


svn path=/trunk/; revision=24156
2007-11-14 14:42:05 +00:00
Michael Natterer 78be6549f1 renamed action "selection-editor-popup" to "selection-popup". Fixes bug
2007-07-08  Michael Natterer  <mitch@gimp.org>

	* app/actions/select-actions.c (select_actions): renamed action
	"selection-editor-popup" to "selection-popup". Fixes bug #454364.

	* app/widgets/gimpdockable.c (gimp_dockable_show_menu): warn when
	above bug happens instead of failing silently.


svn path=/trunk/; revision=22894
2007-07-08 12:23:44 +00:00
Sven Neumann 50ce4e92f6 unset show-border.
2007-05-17  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockbook.c (gimp_dockbook_init): unset 
show-border.

	* app/widgets/gimpdockable.c (gimp_dockable_expose_event): don't
	paint the extension; reduces visual clutter.


svn path=/trunk/; revision=22526
2007-05-17 14:09:50 +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 c09e7f5914 removed code that was special-casing RTL since
2006-07-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainertreeview.c
	(gimp_container_tree_view_button_press): removed code that was
	special-casing RTL since gtk_tree_view_get_path_at_pos() takes
	this correctly into account now. Fixes bug #348347.

	* app/widgets/gimpdockable.c (gimp_dockable_size_allocate): fix
	menu button positioning for RTL.
2006-07-26 09:47:05 +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 37da566934 app/core/gimpcontext.c app/core/gimpimage.c app/paint-funcs/paint-funcs.c
2006-04-06  Sven Neumann  <sven@gimp.org>

	* app/core/gimpcontext.c
	* app/core/gimpimage.c
	* app/paint-funcs/paint-funcs.c
	* app/widgets/gimpcontrollerkeyboard.c
	* app/widgets/gimpcontrollerwheel.c
	* app/widgets/gimpcursor.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimpdockseparator.c
	* libgimp/gimpbrushselect.c
	* libgimp/gimpfontselect.c
	* libgimp/gimpgradientselect.c
	* libgimp/gimppaletteselect.c
	* libgimp/gimppatternselect.c
	* libgimpwidgets/gimpchainbutton.c
	* libgimpwidgets/gimpcolorscales.c
	* libgimpwidgets/gimpcolorselect.c
	* libgimpwidgets/gimppickbutton.c
	* libgimpwidgets/gimpstock.c: sprinkled some const qualifiers.
2006-04-06 12:43:58 +00:00
Michael Natterer 87e7cb1fe6 always set dockable->blurb to NULL, also if its memory is shared with
2006-03-31  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_destroy): always set
	dockable->blurb to NULL, also if its memory is shared with
	dockable->name.
2006-03-31 10:08:02 +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 a52ad9d3c4 #define GIMP_DOCKABLE_DRAG_OFFSET publically.
2005-12-30  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: #define GIMP_DOCKABLE_DRAG_OFFSET
	publically.

	* app/widgets/gimpdockbook.c (gimp_dockbook_tab_drag_end): use the
	define to reset the dockable's drag offsets.
2005-12-30 01:37:35 +00:00
Sven Neumann 278b498e41 moved some code to an internal helper function.
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_expose_event): moved
	some code to an internal helper function.
2005-12-29 16:00:28 +00:00
Sven Neumann 850e7af79e only set the horizontal offset from the button press location 2005-12-29 04:45:41 +00:00
Sven Neumann 405c0e1234 invalidate stored coordinates on button release.
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.[ch]: invalidate stored coordinates on
	button release.
2005-12-29 04:28:41 +00:00
Sven Neumann 2723c2e790 store coordinates of last button press event.
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.[ch]: store coordinates of last button
	press event.

	* app/widgets/gimpdockbook.c (gimp_dockbook_tab_drag_begin): set
	the drag hotspot to the mouse position that started the drag.
2005-12-29 03:12:26 +00:00
Sven Neumann 59fa7c4e25 draw the standalone dockable like a notebook tab to indicate that it can
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_expose_event): draw the
	standalone dockable like a notebook tab to indicate that it can be
	dragged.
2005-12-29 02:27:32 +00:00
Sven Neumann 8798be7157 another small code cleanup 2005-12-28 23:51:39 +00:00
Sven Neumann 6af4b9b317 make sure the title area is cleared when the timeout is cancelled.
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c: make sure the title area is cleared
	when the timeout is cancelled.
2005-12-28 23:43:53 +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 04221fde4e create the title window as GDK_WINDOW_CHILD, not GDK_WINDOW_TEMP.
2005-10-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_realize): create the
	title window as GDK_WINDOW_CHILD, not GDK_WINDOW_TEMP.
2005-10-24 08:50:14 +00:00
Michael Natterer 153748330a added new public function gimp_dockable_blink_cancel() which stops title
2005-07-13  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: added new public function
	gimp_dockable_blink_cancel() which stops title blinking.

	* app/tools/gimpcolorpickertool.c (gimp_color_picker_tool_picked):
	cancel blinking when updating a picked color so the dockable
	doesn't flicker for each cursor movement.
2005-07-13 17:03:44 +00:00
Sven Neumann 93eab43eef Use the canonical form for signal names.
2005-05-27  Sven Neumann  <sven@gimp.org>

	* (lots of files): Use the canonical form for signal names.
2005-05-27 16:51:39 +00:00
Sven Neumann 8f141bcb08 ellipsize the dockable title if it is too wide.
2005-05-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c: ellipsize the dockable title if it
	is too wide.

	* app/widgets/gimpstrokeeditor.c: added mnemonic for the presets
	combo.
2005-05-25 09:45:06 +00:00
Sven Neumann e37143c28b removed Close button from dockables as suggested in bug #301348.
2005-04-22  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.[ch]: removed Close button from
	dockables as suggested in bug #301348.
2005-04-21 23:30:38 +00:00
Sven Neumann 21942731de initialize the tab style to a supported one. Fixes bug #171562.
2005-03-25  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_add): initialize the
	tab style to a supported one. Fixes bug #171562.
2005-03-25 21:58:48 +00:00
Sven Neumann 35d7fdfa5a app/widgets/gimpdockable.c added a tooltip and a help-id for the dockable
2005-02-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c
	* app/widgets/gimphelp-ids.h: added a tooltip and a help-id for the
	dockable menu.
2005-02-19 02:13:33 +00:00
Michael Natterer cb7f1dbe56 removed gimp_ui_manager_ui_get() and implement the new virtual functions
2005-02-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: removed gimp_ui_manager_ui_get()
	and implement the new virtual functions GtkUIManager::get_widget()
	and ::get_action() instead. Menu loading happens transparently now.

	* app/display/gimpdisplayshell.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c: use
	gtk_ui_manager_get_widget() instead of the removed
	gimp_ui_manager_ui_get().
2005-02-08 20:55:00 +00:00
Michael Natterer 5a2fb840a8 blink more correctly.
2005-01-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_expose_event): blink
	more correctly.
2005-01-18 20:03:11 +00:00
Michael Natterer 9f527b8255 added new function gimp_dockable_blink() which lets the dockable's
2005-01-18  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: added new function
	gimp_dockable_blink() which lets the dockable's title_area blink.

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factory_dialog_new_internal): let wilber blink at the
	user :) Fixes bug #164156.
2005-01-18 15:18:35 +00:00
Michael Natterer 841efd0e2e app/display/gimpdisplayshell-appearance.c app/display/gimpdisplayshell.c
2004-12-01  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimptexteditor.c
	* app/widgets/gimptoolbox.c: check if gimp_ui_manager_ui_get()
	actually returns something. Prevents crashes caused by missing
	ui manager xml files. Fixes bug #159346.
2004-12-01 00:13:48 +00:00
Sven Neumann cd4154e142 app/widgets/gimpdockable.c converted tabs to spaces.
2004-08-31  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c
	* libgimp/gimpdrawablepreview.c: converted tabs to spaces.
2004-08-31 21:29:30 +00:00
Sven Neumann 2d5ee4485d define GIMP_HELP_DOCK_SEPARATOR.
2004-08-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimphelp-ids.h: define GIMP_HELP_DOCK_SEPARATOR.

	* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c: help-ids are never used directly,
	use the defines from app/widgets/gimphelp-ids.h instead.
2004-08-18 09:53:38 +00:00
William Skaggs 8e36dd8ffb Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/widgets/gimpdock.c
	* app/widgets/gimpdockable.c: add help-ids.
2004-08-17 17:46:48 +00:00
Sven Neumann 62b59db976 app/display/gimpdisplayshell-scale.c app/gui/info-window.c
2004-06-02  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-scale.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpfiledialog.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphistogrambox.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpstrokeeditor.c: tweaked some spacings for
	consistency and better HIG compliance.
2004-06-02 17:56:02 +00:00
Michael Natterer f826916828 added a horrible hack that sets the paned's position after the first
2004-06-01  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpsessioninfo.c (gimp_session_info_restore): added
	a horrible hack that sets the paned's position after the first
	"size-allocate" after "map". Makes position remembering work for
	the toolbox and fixes bug #142697.

	* app/widgets/gimpdockable.[ch]: added new function
	gimp_dockable_set_tab_style()

	* app/actions/dockable-commands.c (dockable_tab_style_cmd_callback)
	* app/widgets/gimpsessioninfo.c (gimp_session_info_restore):
	use gimp_dockable_set_tab_style().
2004-06-01 12:31:44 +00:00
Michael Natterer 43cdd54dd1 reoedered to somehow reflect the class hierarchy.
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-23 10:04:41 +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 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
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
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
Sven Neumann 7f7440f03a suppress button_press events that reach the dockable widget but don't
2003-12-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_init): suppress
	button_press events that reach the dockable widget but don't
	originate from the title area.
2003-12-11 19:34:37 +00:00
Michael Natterer 964c83a82f Fixed intra-session position management for file dialogs and newly created
2003-11-24  Michael Natterer  <mitch@gimp.org>

	Fixed intra-session position management for file dialogs and newly
	created docks:

	* app/widgets/gimpdockable.c (gimp_dockable_detach)
	* app/gui/file-dialog-utils.c (file_dialog_new): don't call
	gtk_window_set_position() on session managed dialogs and docks.

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
	make sure new docks get GDK_HINT_USER_POS set so they remember
	their positions across hide/show.

	* app/widgets/gimpdock.c: removed unused disabled code.
2003-11-24 12:07:29 +00:00
Michael Natterer b62f8e9a75 To be multihead safe, each new window or menu needs to be associated with
2003-11-08  Michael Natterer  <mitch@gimp.org>

	To be multihead safe, each new window or menu needs to be
	associated with a GdkScreen or it will pop up on the default
	screen.

	* libgimpwidgets/gimpquerybox.[ch]
	* app/display/gimpdisplayshell-layer-select.[ch]
	* app/widgets/widgets-types.h
	* app/widgets/gimpitemfactory.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptooldialog.[ch]
	* app/widgets/gimpviewabledialog.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/edit-commands.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/image-commands.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/templates-commands.[ch]
	* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
	paramaters to all functions which create menus, popups or windows
	and pass "parent" to gimp_dialog_new() or one of the various
	wrappers around it. As a side effect, this fixes bug #61092.

	* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
	instead of "parent" here since there are no possible parent
	windows on startup.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_button_press): added a quick hack to
	send a display to another screen: click the origin button with the
	middle mouse button.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_screen_changed): don't chain up
	undonditionally (don't crash).

	* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
	dialog's screen from a non-GtkWidget parent widget. The rest of
	non-window parent widget handling is still unimplemented.

	* libgimpwidgets/gimpcolorbutton.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptoolbox-color-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpnavigationview.c
	* app/gui/module-browser.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/qmask-commands.c
	* app/gui/select-commands.c
	* app/gui/tool-options-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: changed accordingly. Changed all
	menu_position funcs to place the menu on the right screen.
2003-11-08 15:32:38 +00:00