Gimp/app
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
..
actions Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
arch/i386/mmx Fixed .type directives (would not compile on certain systems). 2002-05-07 07:59:21 +00:00
base cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
config fixed typo. 2003-01-09 12:45:25 +00:00
core Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
dialogs Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
display Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
file cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
gui Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
menus Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
paint cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
paint-funcs added "gboolean use_mmx" parameter to paint_funcs_setup(). Don't #include 2002-11-30 22:48:51 +00:00
pdb fixed typo. 2003-01-09 12:45:25 +00:00
plug-in Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
text optionally allow GIMP_UNIT_PIXEL as value for GimpUnit params. 2002-10-10 17:07:46 +00:00
tools Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
vectors cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
widgets Move away from creating all item_factories statically in menus_init() but 2003-01-10 17:55:53 +00:00
xcf cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
.cvsignore Makefile.am configure.in gimp-1.3.pc.in added pkg-config files for 2001-11-25 00:19:38 +00:00
airbrush.c prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
app_procs.c fixed typos. 2003-01-09 18:02:43 +00:00
app_procs.h when checking for 'excecutable' make sure it is a regular file too (on 2003-01-01 13:33:27 +00:00
appenv.h added -DGIMP_APP_GLUE_COMPILATION to AM_CPPFLAGS. 2002-12-04 12:26:39 +00:00
batch.c Cleaned up the exit process: 2002-12-05 15:49:59 +00:00
batch.h added -DGIMP_APP_GLUE_COMPILATION to AM_CPPFLAGS. 2002-12-04 12:26:39 +00:00
errors.c forgot a "return". 2001-12-01 22:59:48 +00:00
errors.h added -DGIMP_APP_GLUE_COMPILATION to AM_CPPFLAGS. 2002-12-04 12:26:39 +00:00
gimp.rc
gimp.sym Add the symbols used by libgimpwidgets. 2002-12-26 02:25:55 +00:00
libgimp_glue.c app/Makefile.am removed... 2002-05-05 19:17:41 +00:00
libgimp_glue.h added -DGIMP_APP_GLUE_COMPILATION to AM_CPPFLAGS. 2002-12-04 12:26:39 +00:00
main.c app/main.c (main) combined console output into single messages to allow 2003-01-09 11:01:01 +00:00
Makefile.am On Win32, create export file gimp.exp. (LDFLAGS): Add -mwindows. (LDADD): 2002-12-26 02:08:28 +00:00
makefile.mingw.in Mark as out-of-date. 2002-12-26 01:19:09 +00:00
makefile.msc when checking for 'excecutable' make sure it is a regular file too (on 2003-01-01 13:33:27 +00:00
ops_buttons.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
ops_buttons.h app/docindex.c more GObject porting. 2001-07-29 08:37:43 +00:00
paint_core.h prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
paint_options.h prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
path.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
path.h added app/display/ and app/plug-in/. Empty for now except for the types 2001-08-17 14:27:31 +00:00
path_bezier.c Cleanup weekend... 2001-10-29 11:47:11 +00:00
path_bezier.h app/Makefile.am app/apptypes.h app/path_bezier.[ch] app/path_curves.[ch] 2001-04-07 14:55:39 +00:00
path_curves.c changed gimp_image_mask_select_channel() to not take "drawable" and 2002-03-03 10:38:37 +00:00
path_curves.h app/path_curves.[ch] app/tools/gimpdrawtool.c app/tools/gimppathtool.[ch] 2001-04-11 13:28:53 +00:00
path_transform.h General undo cleanup: 2002-02-23 17:29:19 +00:00
pathP.h Michael Natterer <mitch@gimp.org> 2001-12-03 13:44:59 +00:00
plug_in_cmds.c Garry R. Osgood <grosgood@rcn.com> 2001-03-11 13:15:41 +00:00
transform_core.c prototype for an extension that allows gmodules as plugins. Known bug: 2001-02-14 04:55:21 +00:00
undo.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
undo.h Make sure the selection (gimpimage-mask.c) functionality is really built 2002-08-20 10:22:23 +00:00
undo_history.c cleanup, removed unecessary G_OBJECT() casts. Should do the same for 2003-01-05 22:07:10 +00:00
undo_history.h app/Makefile.am new file. 2001-01-29 02:45:02 +00:00
undo_types.h Make sure the selection (gimpimage-mask.c) functionality is really built 2002-08-20 10:22:23 +00:00
wilber.ico