1. 19 Jul, 2005 2 commits
    • Michael Natterer's avatar
      app/widgets/Makefile.am new files keeping the render acceleration check · 19ea2a9d
      Michael Natterer authored
      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.
      19ea2a9d
    • Michael Natterer's avatar
      renamed member "palette" to "preview", cleanup. · 7e11ba99
      Michael Natterer authored
      2005-07-19  Michael Natterer  <mitch@gimp.org>
      
      	* app/widgets/gimpcolormapeditor.[ch]: renamed member "palette"
      	to "preview", cleanup.
      7e11ba99
  2. 27 May, 2005 1 commit
  3. 24 Mar, 2005 1 commit
  4. 31 Dec, 2004 1 commit
    • Michael Natterer's avatar
      Applied modified patch from Ben Campbell which adds drop coordinates to · e0f25134
      Michael Natterer authored
      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.
      e0f25134
  5. 08 Dec, 2004 1 commit
    • Michael Natterer's avatar
      renamed gimp_ui_manager_get_action() to gimp_ui_manager_find_action(). · cf4a649f
      Michael Natterer authored
      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.
      cf4a649f
  6. 24 Oct, 2004 1 commit
    • Michael Natterer's avatar
      removed the "Edit Color" dialog callbacks and use · 8afbb733
      Michael Natterer authored
      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.
      8afbb733
  7. 22 Oct, 2004 2 commits
    • Michael Natterer's avatar
      make sure the button_box is always interted at the very bottom of the · 59bd4305
      Michael Natterer authored
      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.
      59bd4305
    • Sven Neumann's avatar
      app/actions/colormap-editor-actions.c app/actions/dialogs-actions.c · 341b6da9
      Sven Neumann authored
      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.
      341b6da9
  8. 16 Oct, 2004 1 commit
    • Michael Natterer's avatar
      app/actions/channels-actions.c app/actions/colormap-editor-actions.c · f4d7260c
      Michael Natterer authored
      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().
      f4d7260c
  9. 25 Sep, 2004 2 commits
    • Michael Natterer's avatar
      app/widgets/gimpcolormapeditor.[ch] app/widgets/gimphistogrameditor.[ch] · 28f7c94d
      Michael Natterer authored
      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.
      28f7c94d
    • Michael Natterer's avatar
      moved stuff from gimp_colormap_editor_new() to · ed35eedb
      Michael Natterer authored
      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.
      ed35eedb
  10. 23 Sep, 2004 1 commit
    • Michael Natterer's avatar
      app/dialogs/Makefile.am removed... · ee5354e4
      Michael Natterer authored
      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.
      ee5354e4
  11. 13 Sep, 2004 1 commit
    • Michael Natterer's avatar
      configure.in added new directory app/dialogs and link libappdialogs.c into · 7d065360
      Michael Natterer authored
      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.
      7d065360
  12. 28 Jun, 2004 1 commit
    • Michael Natterer's avatar
      added new function gimp_get_mod_string() which takes a GdkModifierType and · 6cd57372
      Michael Natterer authored
      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").
      6cd57372
  13. 23 Jun, 2004 1 commit
  14. 17 May, 2004 1 commit
    • Michael Natterer's avatar
      put the image popup menu into a dummy menubar to work around the silly · cf3533ba
      Michael Natterer authored
      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().
      cf3533ba
  15. 13 May, 2004 1 commit
    • Michael Natterer's avatar
      added "name" attributes to all submenus. · b8739d59
      Michael Natterer authored
      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.
      b8739d59
  16. 12 May, 2004 2 commits
    • Michael Natterer's avatar
      app/actions/documents-actions.c app/actions/documents-commands.c · 2632cd8f
      Michael Natterer authored
      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.
      2632cd8f
    • Sven Neumann's avatar
      libgimpwidgets/gimpwidgets.c (gimp_scale_entry_new_internal) left-align · 6750667d
      Sven Neumann authored
      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.
      6750667d
  17. 29 Apr, 2004 1 commit
    • Michael Natterer's avatar
      Switch from GtkItemFactory to GtkUIManager. The migration is almost · 46542801
      Michael Natterer authored
      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.
      46542801
  18. 22 Apr, 2004 1 commit
    • Michael Natterer's avatar
      remember and ref the created widgets. Added gimp_ui_manager_ui_popup() · 10718425
      Michael Natterer authored
      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.
      10718425
  19. 21 Apr, 2004 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager · 0b8c4b3e
      Michael Natterer authored
      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.
      0b8c4b3e
  20. 03 Mar, 2004 1 commit
  21. 12 Feb, 2004 1 commit
    • Michael Natterer's avatar
      Make sure that non-indexed images never have a colormap. Fixes bug · 8312e82a
      Michael Natterer authored
      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").
      8312e82a
  22. 01 Dec, 2003 1 commit
  23. 20 Nov, 2003 1 commit
    • Michael Natterer's avatar
      changed drag source stuff to allow multiple data types. Changed DND source · c5865e49
      Michael Natterer authored
      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.
      c5865e49
  24. 10 Nov, 2003 1 commit
    • Michael Natterer's avatar
      removed color_notebook_new() and renamed color_notebook_viewable_new() to · 372c253a
      Michael Natterer authored
      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.
      372c253a
  25. 08 Nov, 2003 1 commit
    • Michael Natterer's avatar
      To be multihead safe, each new window or menu needs to be associated with · b62f8e9a
      Michael Natterer authored
      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.
      b62f8e9a
  26. 26 Sep, 2003 1 commit
    • Michael Natterer's avatar
      Cleaned up all places which pick colors to work consistently: the concept · e13afaf2
      Michael Natterer authored
      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.
      e13afaf2
  27. 19 Sep, 2003 2 commits
    • Sven Neumann's avatar
      changed the hex entry to look and feel like the hex entry in the · d6a606b9
      Sven Neumann authored
      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.
      d6a606b9
    • Michael Natterer's avatar
      Fix for bug #122695: · 9e7a2b2a
      Michael Natterer authored
      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.
      9e7a2b2a
  28. 02 Jul, 2003 1 commit
    • Michael Natterer's avatar
      added GimpMenuPositionFunc typedef. · 69539fc5
      Michael Natterer authored
      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.
      69539fc5
  29. 25 Mar, 2003 1 commit
    • Sven Neumann's avatar
      Makefile.am removed this header file. · 28fddfd5
      Sven Neumann authored
      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.
      28fddfd5
  30. 21 Mar, 2003 1 commit
    • Michael Natterer's avatar
      added a GimpItemFactory to the GimpEditor struct. Added · 7f613b47
      Michael Natterer authored
      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.
      7f613b47
  31. 18 Mar, 2003 1 commit
    • Michael Natterer's avatar
      Added an API for image colormap manupulation and made colormap changes · 94590602
      Michael Natterer authored
      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 splas...
      94590602
  32. 04 Mar, 2003 1 commit
  33. 20 Feb, 2003 1 commit
    • Michael Natterer's avatar
      app/widgets/Makefile.am app/widgets/widgets-types.h new GimpEditor · 94bdcbcc
      Michael Natterer authored
      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.
      94bdcbcc
  34. 10 Jan, 2003 2 commits
    • Michael Natterer's avatar
      app/widgets/gimpcolormapeditor.c app/widgets/gimpcontainereditor.[ch] pass · dd27eb1e
      Michael Natterer authored
      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".
      dd27eb1e
    • Michael Natterer's avatar
      Move away from creating all item_factories statically in menus_init() but · 8d86ec25
      Michael Natterer authored
      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.
      8d86ec25