Commit Graph

91 Commits

Author SHA1 Message Date
Michael Natterer 17475c5fec Applied patch from David Gowers which adds actions to select palette and
2006-05-28  Michael Natterer  <mitch@gimp.org>

	Applied patch from David Gowers which adds actions to select
	palette and colormap colors with actions. Modified the patch quite
	a bit. Fixes bug #130123.

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]: add functions get_index()
	which gets the currently selected color's index (optionally the
	index of a passed color), set_index() which sets the selected
	color by index, and max_index() which returns the maximum possible
	color index.

	* app/dialogs/dialogs-constructors.c: changed accordingly.

	* app/actions/context-actions.c
	* app/actions/context-commands.[ch]: actions and callbacks which
	use the new functions.
2006-05-28 19:45:52 +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 905fdfcbed did a global gimage -> image substitution.
2006-03-28  Sven Neumann  <sven@gimp.org>

	* app/*: did a global gimage -> image substitution.
2006-03-28 17:08:36 +00:00
Sven Neumann e59ece7cab code cleanup, use alloca in gimp_colormap_editor_clear().
2005-12-29  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolormapeditor.c: code cleanup, use alloca in
	gimp_colormap_editor_clear().
2005-12-29 00:11:09 +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
Sven Neumann c5237bac92 libgimpbase/gimpenv.c (gimp_toplevel_directory) plugged memory leaks.
2005-11-16  Sven Neumann  <sven@gimp.org>

	* libgimpbase/gimpenv.c (gimp_toplevel_directory)
	* app/widgets/gimpcolormapeditor.c (gimp_colormap_editor_draw_cell):
	plugged memory leaks.
2005-11-16 18:07:44 +00:00
Michael Natterer 19ea2a9db4 app/widgets/Makefile.am new files keeping the render acceleration check
2005-07-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/gimprender.[ch]: new files keeping the render
	acceleration check buffers.

	* app/display/gimpdisplayshell-render.[ch]: removed them here.

	* app/gui/gui.c: initialize/shutdown the new buffers.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpviewrenderer.c
	* app/widgets/gimpviewrenderergradient.c
	* app/actions/view-actions.c
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-draw.c
	* app/display/gimpdisplayshell.c: use the new stuff. Removes
	lots of broken widgets -> display dependencies.
2005-07-19 20:42:14 +00:00
Michael Natterer 7e11ba99b8 renamed member "palette" to "preview", cleanup.
2005-07-19  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.[ch]: renamed member "palette"
	to "preview", cleanup.
2005-07-19 19:37:07 +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 13bd5eabe5 use a GimpColorHexEntry widget.
2005-03-24  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolormapeditor.c: use a GimpColorHexEntry widget.
2005-03-24 15:29:48 +00:00
Michael Natterer e0f25134ca Applied modified patch from Ben Campbell which adds drop coordinates to
2004-12-31  Michael Natterer  <mitch@gimp.org>

	Applied modified patch from Ben Campbell which adds drop
	coordinates to the color drop callback and uses it to insert
	colors in the palette editor. Extended the patch to add drop
	coordinates to all drop callbacks.

	* app/core/gimppalette.[ch]: added gimp_palette_insert_entry().

	* app/display/gimpdisplayshell-dnd.[ch]: added drop coordinates
	to all drop callbacks.

	* app/dialogs/palette-import-dialog.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdnd.[ch]
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpfgbgeditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppropwidgets.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox-dnd.c
	* app/widgets/gimptoolbox-image-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptooloptionseditor.c
	* libgimpwidgets/gimpcolorselect.c: changed accordingly. The passed
	drop coordiantes are so far unused.

	* app/widgets/gimppaletteeditor.c: use the drop coordinates to
	insert the new color into the palette at the right place instead
	of always appending. Fixes bug #150030.
2004-12-31 14:36:30 +00:00
Michael Natterer cf4a649f38 renamed gimp_ui_manager_get_action() to gimp_ui_manager_find_action().
2004-12-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpuimanager.[ch]: renamed
	gimp_ui_manager_get_action() to gimp_ui_manager_find_action().

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/display/gimpdisplayshell-close.c: changed accordingly.

	(this change is quite useless as it stands, but will help keeping
	the diff between 2.2 and 2.3 small as soon as we're branched).

	* app/widgets/gimpcolormapeditor.c
	(gimp_colormap_preview_button_press): invoke the "edit-color", not
	"new-color" action upon double click.

	(palette_editor_select_entry): update the ui manager after
	selecting the entry so the entry-specific actions become sensitive
	if there was no entry selected before.
2004-12-08 13:52:28 +00:00
Michael Natterer 8afbb733c7 removed the "Edit Color" dialog callbacks and use
2004-10-24  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c: removed the "Edit Color"
	dialog callbacks and use gimp_editor_add_action_button() for
	the edit button. Removed button sensitivity logic. Hide the
	color dialog when the image's mode changes.

	* app/actions/colormap-editor-actions.c: added missing tooltip
	for the edit action.

	* app/actions/colormap-editor-commands.c: implement the dialog
	here.
2004-10-24 18:32:24 +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
Sven Neumann 341b6da981 app/actions/colormap-editor-actions.c app/actions/dialogs-actions.c
2004-10-22  Sven Neumann  <sven@gimp.org>

	* app/actions/colormap-editor-actions.c
	* app/actions/dialogs-actions.c
	* app/core/gimpimage-colormap.c
	* app/dialogs/convert-dialog.c
	* app/dialogs/dialogs.c
	* app/widgets/gimpcolormapeditor.c: use the term "Colormap"
	instead of "Indexed Palette". Fixes bug #155829.
2004-10-22 14:43:43 +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 28f7c94dbf app/widgets/gimpcolormapeditor.[ch] app/widgets/gimphistogrameditor.[ch]
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimphistogrameditor.[ch]
	* app/widgets/gimpselectioneditor.[ch]: removed redundant "gimage"
	parameters from public constructors. They are all GimpImageEditor
	widgets which get their image via gimp_docked_set_context() and
	gimp_image_editor_set_image() later anyway. Fixes uglyness as well
	as problems where the editors had an image but no context, causing
	strange behavior in their foo_actions_update() functions.

	* app/dialogs/dialogs-constructors.c: changed accordingly. Removed
	redundant calls to gimp_dockable_set_context() on newly created
	dockables because they will get a context when added to their
	containers.
2004-09-25 12:48:41 +00:00
Michael Natterer ed35eedb9f moved stuff from gimp_colormap_editor_new() to
2004-09-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c: moved stuff from
	gimp_colormap_editor_new() to
	gimp_colormap_editor_init(). Untabified.
2004-09-25 11:25:49 +00:00
Michael Natterer ee5354e4b7 app/dialogs/Makefile.am removed...
2004-09-23  Michael Natterer  <mitch@gimp.org>

	* app/dialogs/Makefile.am
	* app/dialogs/color-dialog.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcolordialog.[ch]: ...and added as widget.

	* app/core/gimpmarshal.list: new marshaller VOID__BOXED_ENUM.

	* app/widgets/widgets-enums.[ch]: new enum GimpColorDialogState.

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* app/actions/gradient-editor-commands.c
	* app/actions/view-commands.c: ported to GimpColorDialog. Removes
	a whole bunch of ugly widgets/ -> dialogs/ dependencies.
2004-09-23 20:41:40 +00:00
Michael Natterer 7d065360c7 configure.in added new directory app/dialogs and link libappdialogs.c into
2004-09-13  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/dialogs and link
	libappdialogs.c into the gimp binary.

	* app/gui/Makefile.am
	* app/gui/gui-types.h
	* app/gui/gui-vtable.c
	* app/gui/gui.c

	* app/gui/about-dialog.[ch]
	* app/gui/authors.h
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.[ch]
	* app/gui/file-dialog-utils.[ch]
	* app/gui/file-new-dialog.[ch]
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-open-location-dialog.[ch]
	* app/gui/file-save-dialog.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/info-window.[ch]
	* app/gui/module-browser.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/palette-import-dialog.[ch]
	* app/gui/preferences-dialog.[ch]
	* app/gui/quit-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/resolution-calibrate-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/tips-dialog.[ch]
	* app/gui/tips-parser.[ch]
	* app/gui/user-install-dialog.[ch]: removed these files...

	* app/dialogs/Makefile.am
	* app/dialogs/dialogs-types.h

	* app/dialogs/*.[ch]: ...and added them here. Changed some
	filenames like module-browser -> module-dialog.

	* app/app_procs.c
	* app/actions/actions-types.h
	* app/actions/actions.c
	* app/actions/dialogs-actions.c
	* app/actions/dialogs-commands.c
	* app/actions/dockable-commands.c
	* app/actions/drawable-commands.c
	* app/actions/edit-commands.c
	* app/actions/file-commands.c
	* app/actions/gradient-editor-commands.c
	* app/actions/image-commands.c
	* app/actions/layers-commands.c
	* app/actions/palettes-commands.c
	* app/actions/select-commands.c
	* app/actions/templates-commands.c
	* app/actions/templates-commands.h
	* app/actions/vectors-commands.c
	* app/actions/view-commands.c
	* app/display/gimpdisplayshell-cursor.c
	* app/display/gimpdisplayshell-title.c
	* app/display/gimpdisplayshell.[ch]
	* app/tools/gimpcroptool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptransformtool.[ch]
	* app/tools/gimpvectortool.c
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimppaletteeditor.[ch]
	* app/widgets/gimptoolbox-color-area.c
	* menus/toolbox-menu.xml.in
	* tools/authorsgen/authorsgen.pl: changed accordingly.
2004-09-13 15:15:23 +00:00
Michael Natterer 6cd5737257 added new function gimp_get_mod_string() which takes a GdkModifierType and
2004-06-29  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added new function
	gimp_get_mod_string() which takes a GdkModifierType and returns
	correctly formated strings for all shift,control,alt combinations.

	* 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/gimpmagnifyoptions.c
	* app/tools/gimpmoveoptions.c
	* app/tools/gimptransformoptions.c
	* app/tools/gimpvectoroptions.c
	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpthumbbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c: use the new function instead
	of gimp_get_mod_name_shift(),control(),alt(),separator(). This
	kindof addresses the issue of configurable modifier keys but is
	actually indended to ease translation of format strings ("%s" is
	easier to get right than "%s%s%s").
2004-06-28 23:30:57 +00:00
William Skaggs 63a4a72f79 Bill Skaggs <weskaggs@primate.ucdavis.edu>
* app/gui/*.c:
	* app/widgets/*.c:
	* etc/templaterc: HIGify capitalization.  Should finish bug #123699
	except for everything I missed or got wrong.
2004-06-23 22:44:04 +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 b8739d5901 added "name" attributes to all submenus.
2004-05-13  Michael Natterer  <mitch@gimp.org>

	* menus/tool-options-menu.xml: added "name" attributes to all
	submenus.

	* app/menus/tool-options-menu.c: use the menu names instead of the
	overly long action names.

	* app/actions/colormap-editor-commands.c
	* app/actions/tool-options-commands.c: added some callback
	implementations.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimptooloptionseditor.c: removed the callbacks here
	and use action buttons.

	* app/actions/actions.c
	* app/actions/colormap-editor-actions.c
	* app/actions/edit-actions.c: code review / cleanup.
2004-05-13 15:50:55 +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
Sven Neumann 6750667d87 libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal) left-align
2004-05-12  Sven Neumann  <sven@gimp.org>

	* libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal)
	* app/widgets/gimpwidgets-utils.c (gimp_table_attach_stock):
	left-align the label.

	* app/actions/channels-commands.c
	* app/actions/layers-commands.c
	* app/actions/qmask-commands.c
	* app/actions/vectors-commands.c
	* app/display/gimpdisplayshell-scale.c
	* app/gui/brush-select.c
	* app/gui/file-new-dialog.c
	* app/gui/info-dialog.c
	* app/gui/info-window.c
	* app/gui/module-browser.c
	* app/gui/offset-dialog.c
	* app/gui/palette-import-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpblendoptions.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimpsheartool.c
	* app/tools/gimptextoptions.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimpwidgets-utils.c: left-align labels as suggested
	by the HIG.
2004-05-12 11:37: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
Michael Natterer fdb8b0f9ab GDK_TYPE_MODIFIER_TYPE are flags, not enum values, use the right
2004-03-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c (gimp_colormap_editor_class_init):
	GDK_TYPE_MODIFIER_TYPE are flags, not enum values, use the
	right marshaller for the "selected" signal.
2004-03-03 14:44:34 +00:00
Michael Natterer 8312e82ad8 Make sure that non-indexed images never have a colormap. Fixes bug
2004-02-12  Michael Natterer  <mitch@gimp.org>

	Make sure that non-indexed images never have a colormap.
	Fixes bug #121033.

	* app/core/gimpimage-colormap.c (gimp_image_set_colormap): set
	image->cmap to NULL when called with a NULL colormap.

	* app/core/gimpimage-undo-push.c: made colormap undo/redo aware
	of NULL colormaps.

	* app/core/gimpimage-convert.c (gimp_image_convert): remove the
	colormap using gimp_image_set_colormap() instead of freeing it
	manually.

	* app/widgets/gimpcolormapeditor.c: always check if the image
	is INDEXED *and* has a colormap before accessing the colormap.

	(need this new check because the fixed behaviour of colormap undo
	produces undo groups which, when being popped, make the image have
	no colormap while still being INDEXED in the small time frame
	between the emission of "colormap_changed" and "mode_changed").
2004-02-12 12:13:21 +00:00
Sven Neumann 54720c1735 quick fix for bug #128285. This widget should be redone.
2003-12-01  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolormapeditor.c (gimp_colormap_adjustment_changed):
	quick fix for bug #128285. This widget should be redone.
2003-12-01 12:58:03 +00:00
Michael Natterer c5865e497c changed drag source stuff to allow multiple data types. Changed DND source
2003-11-20  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdnd.[ch]: changed drag source stuff to allow
	multiple data types. Changed DND source API to speak in terms of
	add()/remove() instead of set()/unset(). Added GimpDndDragFileFunc
	typedef and gimp_dnd_file_source_add().

	Unfortunately GTK+'s DND API lacks symmetry here (no GtkTargetList
	based API for drag sources), so we cannot really change drag
	sources on-the-fly and need to set GtkTargetEntry arrays manually.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppreview.c
	* app/widgets/gimptoolbox-color-area.c: changed accordingly.

	* app/widgets/gimpdocumentview.c: ditto. Additionally offer
	"text/uri-list" so it's possible to drag images from the document
	history to the file manager or browser.
2003-11-20 16:26:15 +00:00
Michael Natterer 372c253a7f removed color_notebook_new() and renamed color_notebook_viewable_new() to
2003-11-10  Michael Natterer  <mitch@gimp.org>

	* app/gui/color-notebook.[ch]: removed color_notebook_new() and
	renamed color_notebook_viewable_new() to color_notebook_new().

	* app/gui/gradient-editor-commands.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimptoolbox-color-area.c: changed accordingly.
2003-11-10 17:55:44 +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
Michael Natterer e13afaf260 Cleaned up all places which pick colors to work consistently: the concept
2003-09-26  Michael Natterer  <mitch@gimp.org>

	Cleaned up all places which pick colors to work consistently: the
	concept of an "active color" has disappeared, instead <ctrl> picks
	the BG color all over the place (fixes bug #122931).

	* app/tools/tools-enums.[ch]: added enum GimpColorPickMode which
	can be one of { FOREGROUND, BACKGROUND }. Reordered enums so
	non-registered ones are at the end of the file. Removed trailing
	whitespace.

	* app/tools/gimpcolorpickeroptions.[ch]: added a "pick-mode"
	property and a GUI for it. Renamed the "update-active" property to
	"update-toolbox".

	* app/tools/gimpcolorpickertool.c: honor the new option. Toggle
	pick-mode on <ctrl>.

	* app/tools/gimpcolortool.[ch]: added pick_mode member and change
	the cursor accordingly.

	* app/widgets/gimpcolormapeditor.[ch]: added "GdkModifierType
	state" to the "selected" signal. Removed the signal's default
	implementation.

	* app/gui/dialogs-constructors.c: fixed the signal handler which
	lives here and set BG if <ctrl> was pressed.

	* app/widgets/gimppaletteeditor.c: removed weird <ctrl> <->
	active_color interaction and pick BG on <ctrl>. Don't change the
	toolbox color when editing a color in the palette.

	* app/widgets/gimptoolbox-color-area.[ch]: made the whole
	active_color stuff private. Will remove these artefacts soon...

	* app/gui/colormap-editor-menu.c
	* app/gui/palette-editor-menu.c: added separate menu entries
	for adding a color from the current FG and BG.

	* app/gui/colormap-editor-commands.c
	* app/gui/palette-editor-commands.[ch]: changed callbacks
	accordingly.

	* cursors/background.xbm
	* cursors/background_mask.xbm
	* cursors/foreground.xbm
	* cursors/foreground_mask.xbm
	* cursors/gimp-tool-cursors.xcf: moved the FG/BG cursor modifiers
	closer to the upper right corner.

	* app/widgets/gimpcursor.c: ignore the cursor modifiers' hotspots
	since they are not relevant and I didn't save the hotspot in the
	updated cursor files for that reason.
2003-09-26 13:33:54 +00:00
Sven Neumann d6a606b9fc changed the hex entry to look and feel like the hex entry in the
2003-09-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolormapeditor.c: changed the hex entry to look
	and feel like the hex entry in the GimpColorScales widget. Fixes
	bug #122692.
2003-09-19 12:05:28 +00:00
Michael Natterer 9e7a2b2aeb Fix for bug #122695:
2003-09-19  Michael Natterer  <mitch@gimp.org>

	Fix for bug #122695:

	* app/widgets/gimpcolormapeditor.c
	(gimp_colormap_hex_entry_activate): call gimp_image_flush() after
	gimp_image_set_colormap_entry() so the projection gets updated.

	Cleanup / consistency with other dialogs:

	* app/widgets/gimphelp-ids.h: added help IDs for the colormap
	editor's menu items and buttons.

	* app/gui/colormap-editor-menu.c (colormap_editor_menu_entries):
	use the new help IDs.

	* app/widgets/gimpcolormapeditor.[ch]: added buttons for "Edit Color"
	and "Add Color" and moved the color_notebook code to this file.

	* app/gui/colormap-editor-commands.[ch]: removed almost all code
	and simply emit "clicked" from the editor's buttons so their
	callbacks are invoked.
2003-09-19 11:40:12 +00:00
Michael Natterer 69539fc5c4 added GimpMenuPositionFunc typedef.
2003-07-02  Michael Natterer  <mitch@gimp.org>

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

	* app/widgets/gimpwidgets-utils.[ch]: made gimp_menu_position()
	a GimpMenuPositionFunc.

	* app/widgets/gimpitemfactory.[ch]
	(gimp_item_factory_popup_with_data): added position_func and
	position_data parameters. Use gimp_menu_position() if no
	position_func is given.

	* app/display/gimpdisplayshell-callbacks.c: removed
	gimp_display_shell_origin_menu_popup() and call
	gimp_item_factory_popup_with_data() directly from
	gimp_display_shell_popup_menu(), using
	gimp_display_shell_origin_menu_position() as position_func.

	* app/widgets/gimpeditor.[ch]: added a GtkWidget::popup_menu()
	implementation so all context menus are keyboard accessible.
	Added "gpointer factory_data" member so the menu can be popped up
	in the right context.

	* app/gui/channels-menu.c
	* app/gui/layers-menu.c
	* app/gui/vectors-menu.c: make them work without an active image
	since they can be popped up at any time now.

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: cleanup.

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c: pass NULL, NULL as
	position_func and position_data so the default implementation is
	used.
2003-07-02 12:03:56 +00:00
Sven Neumann 28fddfd554 Makefile.am removed this header file.
2003-03-25  Sven Neumann  <sven@gimp.org>

	* Makefile.am
	* gimpintl.h: removed this header file.

	* gimpmiscui.c: include libgimp-intl.h.

	* gimp.c (gimp_main): call setlocale() and bind to the libgimp
	textdomain so that plug-ins don't need to do that explicitely.

	* libgimp/stdplugins-intl.h: added the functionality that used to
	live in gimpintl.h and removed the libgimp related stuff. Got rid
	of the INIT_I18N_UI() macro.

	* plug-ins/*/*.c: removed all occurances of INIT_I18N_UI().
	Plug-ins simply call INIT_I18N() once in their run() function.

	* plug-ins/script-fu/script-fu-intl.h: added the functionality
	that used to live in gimpintl.h and removed the libgimp related
	stuff.

	* app/Makefile.am
	* app/gimp-intl.h: new file that defines the gettext macros for
	the GIMP core.

	* app/*/*.c: include gimp-intl.h instead of libgimp/gimpintl.h.

	* plug-ins/script-fu/scripts/test-sphere.scm: fixed typos.
2003-03-25 16:38:19 +00:00
Michael Natterer 7f613b4783 added a GimpItemFactory to the GimpEditor struct. Added
2003-03-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpeditor.[ch]: added a GimpItemFactory to the
	GimpEditor struct. Added gimp_editor_create_menu().

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcomponenteditor.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpitemtreeview.[ch]: removed item_factory pointers
	and lots of inalizers which just unref'ed the item_factory.  Use
	gimp_editor_create_menu() instead.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppaletteeditor.c: changed accordingly.
2003-03-21 11:47:37 +00:00
Michael Natterer 94590602b0 Added an API for image colormap manupulation and made colormap changes
2003-03-18  Michael Natterer  <mitch@gimp.org>

	Added an API for image colormap manupulation and made colormap
	changes undoable (fixes bug #25963).

	* app/core/Makefile.am
	* app/core/gimpimage-colormap.[ch]: new files implementing
	colormap getters/setters. The setters push undos using the
	new function below.

	* app/core/core-enums.[ch]: added GIMP_UNDO_IMAGE_COLORMAP.

	* app/core/gimpimage-undo-push.[ch]: added
	gimp_image_undo_push_image_colormap(). Use GimpItemUndo even more
	often. Cleanup.

	* app/core/gimpimage.[ch]: removed gimp_image_get_colormap() here.

	* app/core/gimpimage-convert.c
	* app/gui/colormap-editor-commands.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimptoolbox.c
	* tools/pdbgen/pdb/image.pdb: use the new API.

	* app/pdb/image_cmds.c: regenerated.

	* plug-ins/common/vinvert.c: removed the comment about the bug,
	cosmetic cleanup.

	Unrelated:

	* app/gui/splash.c: added a frame around the splash. Please eek
	if it doesn't please you.
2003-03-18 13:49:02 +00:00
Sven Neumann 02427845c8 set the active color from GimpColormapEditor::selected so you can pick
2003-03-04  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpcolormapeditor.[ch]: set the active color from
	GimpColormapEditor::selected so you can pick colors from an
	indexed palette again.
2003-03-04 14:35:56 +00:00
Michael Natterer 94bdcbcc01 app/widgets/Makefile.am app/widgets/widgets-types.h new GimpEditor
2003-02-20  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpimageeditor.[ch]: new GimpEditor subclass adding
	a GimpImage pointer and a virtual set_image() function.

	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpselectioneditor.[ch]
	* app/widgets/gimpundoeditor.[ch]: derive them from GimpImageEditor.
	Removed the public set_image() functions.

	* app/gui/colormap-editor-commands.c
	* app/gui/colormap-editor-menu.c: changed accordingly.

	* app/gui/dialogs-constructors.c: removed lots of code duplication
	and use the uniform GimpImageEditor API. Misc cleanups.
2003-02-20 15:40:15 +00:00
Michael Natterer dd27eb1ec9 app/widgets/gimpcolormapeditor.c app/widgets/gimpcontainereditor.[ch] pass
2003-01-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.c: pass the editor widget as
	callback_data to GtkItemFactory callbacks, not a "Gimp" pointer.

	* app/gui/buffers-commands.c
	* app/gui/colormap-editor-commands.c
	* app/gui/data-commands.c
	* app/gui/documents-commands.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gradients-commands.c
	* app/gui/images-commands.c
	* app/gui/palette-editor-commands.c
	* app/gui/palettes-commands.c

	* app/gui/patterns-commands.c: simply cast the passed "data"
	pointer instead of calling gimp_widget_get_callback_context().
	Don't #include "widgets/gimpwidgets-utils.h".
2003-01-10 19:30:32 +00:00
Michael Natterer 8d86ec25e0 Move away from creating all item_factories statically in menus_init() but
2003-01-10  Michael Natterer  <mitch@gimp.org>

	Move away from creating all item_factories statically in
	menus_init() but create a new one for each place where one is
	needed:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpmenufactory.[ch]: new factory which creates and
	configures the GimpItemFactories it knows about on-the-fly.

	* app/widgets/gimpitemfactory.[ch]: added
	gimp_item_factory_update() which calls the "update_func". Added
	"gboolean update_on_popup" so item_factories can be configured to
	require manual updates (used for the <Image> factory).

	* app/gui/menus.[ch]: create a "global_menu_factory" and register
	all menus we have with it. Added various setup functions which
	do stuff like adding the "Open Recent" menu or reorder plug-in
	menu entries. Removed the debugging stuff...

	* app/gui/Makefile.am
	* app/gui/debug-commands.[ch]: ...and added it here.

	* app/gui/gui.c: create the <Toolbox>, the popup-<Image> and the
	<Paths> factories here because they are still global.

	* app/gui/plug-in-menus.[ch]: changed the "image_factory"
	parameters to "item_factory" and create/update the entries for the
	passed item_factory only. Makes the whole stuff much more
	straightforward.

	* app/plug-in/plug-ins.c: don't call plug_in_make_menu().

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: added "menu_factory" and
	"popup_factory" parameters to gimp_display_new() and
	gimp_display_shell_new(). Create the menubar_factory and the
	qmask_factory dynamically. Pass the shell, not a Gimp to the QMask
	callbacks. Changed gimp_display_shell_set_menu_sensitivity() to
	gimp_display_shell_menu_update() and don't call it directly (it's
	a GimpItemFactory update_func now). Call gimp_item_factory_update()
	on the resp. factories instead.

	* app/gui/qmask-commands.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/tools/gimpimagemaptool.c: changed accordingly.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcolormapeditor.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdialogfactory.[ch]
	* app/widgets/gimpdock.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpgradienteditor.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemlistview.[ch]
	* app/widgets/gimppaletteeditor.[ch]: pass around lots of
	GimpMenuFactory pointers and menu_identifiers so all views can
	create their item_factories themselves. Unref the factories when
	they are no longer needed because they belong to the views now.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/brush-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.

	* app/gui/file-dialog-utils.[ch] (file_dialog_new): require
	menu_factory and menu_identifier parameters.

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: removed file_*_dialog_menu_init()
	(they went to menus.c as setup_funcs). Added file_*_dialog_set_type()
	and moved the <Load> and <Save> factory callbacks to file-commands.c

	* app/gui/file-commands.[ch]: changed accordingly.

	* app/gui/view-commands.c: changed the statusbar, menubar, rulers
	and guides callbacks to do their job only if the setting has
	actually changed. Don't update whole item factories afterwards.
	Instead, just change the state of the items that actually need
	update.

	Unrelated:

	* app/core/gimpchannel.c (gimp_channel_init): set "bounds_known"
	and friends to FALSE since we don't know that the new channel will
	be empty (fixes QMask and probably other stuff).

	* app/gui/image-commands.c
	* app/gui/vectors-commands.c: cleanup.
2003-01-10 17:55:53 +00:00
Manish Singh 1a44f2126c cleanup, removed unecessary G_OBJECT() casts. Should do the same for
2003-01-05  Manish Singh  <yosh@gimp.org>

        * many files in app, modules and libgimp*: cleanup, removed unecessary
        G_OBJECT() casts. Should do the same for plug-ins, when more of them
        get undeprecated.
2003-01-05 22:07:10 +00:00
Michael Natterer c5d4b7020b DND cleanup part 1:
2002-09-02  Michael Natterer  <mitch@gimp.org>

	DND cleanup part 1:

	* app/widgets/gimpdnd.[ch]: changed all gimp_dnd_*_dest_set() and
	_unset() functions to _dest_add() and _dest_remove(). Switch from
	using static arrays of GtkTargetEntries to dynamic GtkTargetLists.
	The _add() and _remove() functions configure the drag dest
	automatically if not already done, so there is no need to call
	gtk_drag_dest_set() on the widget any more. Drag source cleanup
	will follow...

	Renamed silly function names gimp_gtk_* to gimp_dnd_*

	* app/display/gimpdisplayshell.c
	* app/tools/gimpblendtool.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimplistitem.c
	* app/widgets/gimpmenuitem.c
	* app/widgets/gimppreview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimptoolbox-color-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c
	* app/gui/about-dialog.c
	* app/gui/color-select.c
	* app/gui/device-status-dialog.c
	* app/gui/tool-options-dialog.c: changed accordingly. Removed
	all calls to gtk_drag_dest_set() and their GtkTargetEntry tables.

	* app/widgets/gimpchannellistitem.c: enabled some commented out
	dnd code (which will not work since dnd needs more love...)

	* app/widgets/gimpitemlistview.[ch]: added a third
	"gboolean interactive" parameter to GimpItemNewFunc.

	* app/gui/channels-commands.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/vectors-commands.[ch]: if the new_item_func is called
	with "interactive == FALSE", don't pop up a dialog but silently
	create a new item of the image's size.

	* app/widgets/gimpdrawablelistview.c: use the new feature to allow
	color and pattern drops to the "New" button, which creates a new
	layer/channel filled with the color/pattern.
	(special feature for drc ;-)

	* app/widgets/gimppaletteeditor.c: fixed event handling so we see
	the context menu again. Also, don't redraw on "expose", since
	GtkPreview does that for us.
2002-09-02 14:39:08 +00:00
Michael Natterer 71d19cfd33 app/widgets/gimpcolormapeditor.c return FALSE from button press event
2002-05-31  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimppaletteeditor.c: return FALSE from button press
	event callbacks so the color drag handlers work again. Cleaned up
	the palette editor a bit.
2002-05-31 21:50:52 +00:00
Michael Natterer 5a024d973b Added a comment to explain why the "correct" size calculation is commented
2002-05-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcolormapeditor.c: Added a comment to explain why
	the "correct" size calculation is commented out and put back the
	old buffer size so we don't crash. Made the code robust against
	whether we render only the color cells or the whole widget's
	allocation->width.

	* app/widgets/gimpdialogfactory.c: Don't try to #define DEBUG(...)
	but wrap the whole g_print(...) statement in a debugging macro.
2002-05-11 13:25:45 +00:00