gimp/app/tools
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
..
.cvsignore configure.in app/Makefile.am moved all tool sources to app/tools 2001-01-22 01:46:28 +00:00
Makefile.am app/tools/Makefile.am removed this file which was moved to libgimptool in 2002-10-29 10:51:34 +00:00
airbrush_blob.c Makefile.am configure.in added stuff for the new library below. 2001-01-23 23:56:18 +00:00
airbrush_blob.h Update of the Xinput airbrush, fixed some bugs. It's a bit closer to a 1999-11-14 20:49:14 +00:00
gimpairbrushtool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpairbrushtool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpbezierselecttool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpbezierselecttool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpblendtool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpblendtool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpbrightnesscontrasttool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpbrightnesscontrasttool.h Color correction tool chopping: 2002-08-26 11:35:56 +00:00
gimpbrushtool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpbrushtool.h added back the handler which invalidates the display_title on dirty/clean. 2002-02-15 17:44:05 +00:00
gimpbucketfilltool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpbucketfilltool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpbycolorselecttool.c don't set paused_count to 0. 2003-01-03 13:59:23 +00:00
gimpbycolorselecttool.h bumped version number to 1.3.9 2002-08-22 12:49:01 +00:00
gimpclonetool.c app/paint/gimpairbrush.[ch] app/paint/gimpclone.[ch] 2002-11-27 22:55:03 +00:00
gimpclonetool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpcolorbalancetool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpcolorbalancetool.h More color correction stuff cleanup: 2002-09-04 15:25:15 +00:00
gimpcolorpickertool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpcolorpickertool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpconvolvetool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpconvolvetool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpcroptool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpcroptool.h GimpViewableDialogs everywhere, cleanup: 2002-09-01 08:44:57 +00:00
gimpcurvestool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpcurvestool.h More color correction stuff cleanup: 2002-09-04 15:25:15 +00:00
gimpdodgeburntool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpdodgeburntool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpdrawtool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpdrawtool.h massive tool plugin changes 2002-03-29 03:50:29 +00:00
gimpeditselectiontool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpeditselectiontool.h added enum GimpMotionMode which can be one of { EXACT, HINT, COMPRESS }. 2002-03-19 13:14:25 +00:00
gimpellipseselecttool.c Fix for #85201: 2002-06-16 17:13:39 +00:00
gimpellipseselecttool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimperasertool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimperasertool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpfliptool.c added utility functions gimp_get_mod_name_[shift|control|alt]() and 2002-12-19 16:33:29 +00:00
gimpfliptool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpfreeselecttool.c don't set paused_count to 0. 2003-01-03 13:59:23 +00:00
gimpfreeselecttool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpfuzzyselecttool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpfuzzyselecttool.h removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the 2002-06-26 22:16:59 +00:00
gimphistogramtool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimphistogramtool.h Histogram cleanup: 2002-09-07 17:27:32 +00:00
gimphuesaturationtool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimphuesaturationtool.h Color correction tool chopping: 2002-08-26 11:35:56 +00:00
gimpimagemaptool.c Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
gimpimagemaptool.h GimpViewableDialogs everywhere, cleanup: 2002-09-01 08:44:57 +00:00
gimpinktool-blob.c added app/display/ and app/plug-in/. Empty for now except for the types 2001-08-17 14:27:31 +00:00
gimpinktool-blob.h Michael Natterer <mitch@gimp.org> 2001-12-03 13:44:59 +00:00
gimpinktool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpinktool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpiscissorstool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpiscissorstool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimplevelstool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimplevelstool.h added the API for level correction using black, gray and white point. 2002-10-15 13:36:28 +00:00
gimpmagnifytool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpmagnifytool.h reverted Dave's change since this feature has already been implemented 2002-08-06 10:55:40 +00:00
gimpmeasuretool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpmeasuretool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpmovetool.c bumped the version number to 1.3.12. 2003-01-03 18:01:30 +00:00
gimpmovetool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimppaintbrushtool.c Fix for #85201: 2002-06-16 17:13:39 +00:00
gimppaintbrushtool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimppaintoptions-gui.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimppaintoptions-gui.h app/gimprc.[ch] app/gui/preferences-dialog.c 2002-03-12 21:02:10 +00:00
gimppainttool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimppainttool.h added back the handler which invalidates the display_title on dirty/clean. 2002-02-15 17:44:05 +00:00
gimppathtool.c don't set paused_count to 0. 2003-01-03 13:59:23 +00:00
gimppathtool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimppenciltool.c fixed documentation. 2002-05-15 18:23:17 +00:00
gimppenciltool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpperspectivetool.c removed public function gimp_transform_tool_transform_tiles() and made it 2002-11-18 13:10:04 +00:00
gimpperspectivetool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpposterizetool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpposterizetool.h Color correction tool chopping: 2002-08-26 11:35:56 +00:00
gimprectselecttool.c added enum GimpRectSelectMode which can be one of "free", "fixed-size" and 2003-01-06 16:25:04 +00:00
gimprectselecttool.h added enum GimpRectSelectMode which can be one of "free", "fixed-size" and 2003-01-06 16:25:04 +00:00
gimpregionselecttool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpregionselecttool.h removed gdisp->scale, gdisp->dot_for_dot, the scaling marcos and the 2002-06-26 22:16:59 +00:00
gimprotatetool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimprotatetool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpscaletool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpscaletool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpselectionoptions.c added enum GimpRectSelectMode which can be one of "free", "fixed-size" and 2003-01-06 16:25:04 +00:00
gimpselectionoptions.h added enum GimpRectSelectMode which can be one of "free", "fixed-size" and 2003-01-06 16:25:04 +00:00
gimpselectiontool.c devel-docs/Makefile.am new file documenting the core's include policy. 2002-05-03 12:45:22 +00:00
gimpselectiontool.h bumped version number to 1.3.1. Require Glib/GTK+-1.3.11 and Pango-0.22. 2001-11-22 23:46:13 +00:00
gimpsheartool.c removed public function gimp_transform_tool_transform_tiles() and made it 2002-11-18 13:10:04 +00:00
gimpsheartool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpsmudgetool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpsmudgetool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimpsourcetool.c app/paint/gimpairbrush.[ch] app/paint/gimpclone.[ch] 2002-11-27 22:55:03 +00:00
gimpsourcetool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimptexttool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimptexttool.h Finally landed the new GimpConfig based gimprc parser. It's not finished 2002-11-18 20:50:31 +00:00
gimpthresholdtool.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimpthresholdtool.h Histogram cleanup: 2002-09-07 17:27:32 +00:00
gimptool.c bumped the version number to 1.3.12. 2003-01-03 18:01:30 +00:00
gimptoolcontrol.c don't set paused_count to 0. 2003-01-03 13:59:23 +00:00
gimptoolcontrol.h devel-docs/Makefile.am new file documenting the core's include policy. 2002-05-03 12:45:22 +00:00
gimptoolmodule.c app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimptoolmodule.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
gimptransformoptions.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gimptransformoptions.h app/tools/gimptransformtool.c replaced the totally unclear (to the user) 2002-12-17 15:46:47 +00:00
gimptransformtool.c don't set paused_count to 0. 2003-01-03 13:59:23 +00:00
gimptransformtool.h removed public function gimp_transform_tool_transform_tiles() and made it 2002-11-18 13:10:04 +00:00
gimpvectortool.c create a new GimpVectors object if the tool has none. Cleanup. 2003-01-10 13:26:47 +00:00
gimpvectortool.h app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
makefile.msc updated 2002-09-06 22:25:19 +00:00
paint_options.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
paint_options.h app/gimprc.[ch] app/gui/preferences-dialog.c 2002-03-12 21:02:10 +00:00
path_tool.c app/tools/gimpairbrushtool.[ch] app/tools/gimpbezierselecttool.[ch] 2002-05-03 11:31:08 +00:00
path_tool.h use gimp_display_shell_[install|remove]_override_cursor() to set the 2001-11-12 14:45:58 +00:00
path_toolP.h Convert ugly comments into named structure fields. Much cleaner and less 2001-12-02 14:59:30 +00:00
selection_options.c added enum GimpRectSelectMode which can be one of "free", "fixed-size" and 2003-01-06 16:25:04 +00:00
selection_options.h added enum GimpRectSelectMode which can be one of "free", "fixed-size" and 2003-01-06 16:25:04 +00:00
tool_manager.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
tool_manager.h Separated tool_options creation from tool registration so we don't 2002-06-17 10:34:28 +00:00
tool_options.c added GimpToolRegisterFunc, GimpToolRegisterCallback and 2001-11-20 23:00:47 +00:00
tool_options.h added GimpToolRegisterFunc, GimpToolRegisterCallback and 2001-11-20 23:00:47 +00:00
tools-types.h devel-docs/Makefile.am new file documenting the core's include policy. 2002-05-03 12:45:22 +00:00
tools.c configure.in etc/Makefile.am etc/gimprc.in removed templates for gimprc 2002-12-29 18:58:24 +00:00
tools.h app/Makefile.am removed. 2001-07-07 12:17:23 +00:00
transform_options.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
transform_options.h app/tools/gimptransformtool.c replaced the totally unclear (to the user) 2002-12-17 15:46:47 +00:00