Commit Graph

29 Commits

Author SHA1 Message Date
Michael Natterer 6fabca2e17 Added configurable styles for dockable tabs (fixes bug #87376):
2003-07-08  Michael Natterer  <mitch@gimp.org>

	Added configurable styles for dockable tabs (fixes bug #87376):

	* app/widgets/widgets-enums.[ch]: added new enum GimpTabStyle
	which can be one on { ICON, NAME, ICON_NAME, ICON_BLURB }.

	* app/widgets/gimpdockable.[ch]: added a GimpTabStyle member to
	the GimpDockable struct which defaults to GIMP_TAB_STYLE_ICON.
	Renamed "short_name" to "name" and "name" to "blurb". Renamed
	GimpDockableGetTabFunc to GimpDockableGetIconFunc. Implemented all
	tab styles in gimp_dockable_real_get_tab_widget() and use the
	"get_icon_func" only for creating the tab's icon, not the entire
	tab widget.

	* app/widgets/gimpdockbook.[ch]: changed accordingly. Create the
	menu widgets and the DND icon using gimp_dockable_get_tab_widget()
	with tab_style == GIMP_TAB_STYLE_ICON_BLURB instead of duplicating
	tons of code. Made gimp_dockbook_get_tab_widget() public because
	it's needed for exchanging tabs on-the-fly.

	* app/widgets/gimpimagedock.c: changed accordingly.

	* app/widgets/gimpdialogfactory.c: remember the dockables' tab
	style in sessionrc.

	* app/gui/dialogs-menu.c: added a submenu to select the tab style
	for each dockable.

	* app/gui/dialogs-commands.[ch]: new callback
	dialogs_tab_style_cmd_callback().

	* app/gui/dialogs-constructors.[ch]: added stock_ids to all
	dockables, swapped the "name" and "blurb" parameters, reordered
	functions, cleanup.

	* app/gui/dialogs-menu.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: use GIMP_STOCK_DEFAULT_COLORS for the
	color editor dockable and renamed it to "FG/BG Color".
2003-07-08 15:07:56 +00:00
Michael Natterer ef30cf315d app/gui/image-menu.c moved the convenience items which create new docks
2003-06-06  Michael Natterer  <mitch@gimp.org>

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: moved the convenience items which
	create new docks from the "Dialogs/" level to a new
	"Dialogs/Create New Dock/" sub-menu.  Fixes bug #111278.

	* app/gui/dialogs-commands.[ch] (dialogs_create_data_cmd_callback):
	new convenience constructor callback. Factored out duplicated
	code to the new dialogs_create_dock() utility function.
2003-06-06 12:16:13 +00:00
Michael Natterer f20e559bbf app/widgets/gimpbrushfactoryview.[ch] app/widgets/gimpbufferview.[ch]
2003-04-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpimageview.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimptemplateview.[ch]: removed "min_item_x" and
	"min_item_y" parameters all over the place. Added
	"preview_border_width" instead.

	* app/widgets/gimpmenuitem.c: ensure that all menu items have the
	same height.

	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpundoeditor.c
	* app/gui/brush-select.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: changed accordingly.

	* app/gui/dialogs-constructors.c: removed the borders from the tool
	and template lists.
2003-04-08 12:39:02 +00:00
Michael Natterer c1dffc05e0 Removed deprecated and broken list views based on GtkList[Item] (fixes bug
2003-03-20  Michael Natterer  <mitch@gimp.org>

	Removed deprecated and broken list views
	based on GtkList[Item] (fixes bug #90965):

	* app/widgets/gimpchannellistitem.[ch]
	* app/widgets/gimpchannellistview.[ch]
	* app/widgets/gimpcontainerlistview.[ch]
	* app/widgets/gimpdrawablelistitem.[ch]
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimpitemlistitem.[ch]
	* app/widgets/gimpitemlistview.[ch]
	* app/widgets/gimplayerlistitem.[ch]
	* app/widgets/gimplayerlistview.[ch]
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimpvectorslistview.[ch]: removed.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/widgets-enums.h
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainerview-utils.c
	* app/widgets/gimpdatafactoryview.c
	* app/gui/channels-commands.c
	* app/gui/channels-menu.c
	* app/gui/drawable-commands.c
	* app/gui/layers-commands.c
	* app/gui/layers-menu.c
	* app/gui/palettes-commands.c
	* app/gui/test-commands.c
	* app/gui/vectors-commands.c
	* app/gui/vectors-menu.c: changed accordingly.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c: removed the term "tree" from all user visible
	places and create tree views when lists are requested.

2003-03-20  Michael Natterer  <mitch@gimp.org>

	* POTFILES.in: app/widgets/*list* -> *tree*
2003-03-20 13:05:52 +00:00
Michael Natterer 034d9d3e49 fixed strstr() call so we can switch back from tree views again.
2003-02-24  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs-commands.c (dialogs_toggle_view_cmd_callback):
	fixed strstr() call so we can switch back from tree views again.
2003-02-24 12:40:55 +00:00
Michael Natterer 9ee632a656 Started migration from GtkList to GtkTreeView:
2003-02-21  Michael Natterer  <mitch@gimp.org>

	Started migration from GtkList to GtkTreeView:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainertreeview.[ch]; new GimpContainerView
	subclass using GtkListStore/GtkTreeView.

	* app/widgets/widgets-enums.h: added GIMP_VIEW_TYPE_TREE to
	thje GimpViewType enum.

	* app/widgets/gimpcontainereditor.c: added GimpContainerTreeView
	to the switch() which selects the view type.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs-menu.c
	* app/gui/dialogs.c: added tree view versions of many dialogs.

	* app/widgets/gimppreview.[ch]: removed the get_size() virtual
	function and gimp_preview_calc_size().

	* app/core/gimpviewable.[ch]: added virtual function
	get_preview_size() and gimp_viewable_calc_preview_size().

	* app/core/gimpbuffer.c
	* app/core/gimpdrawable-preview.[ch]
	* app/core/gimpdrawable.c
	* app/core/gimpgradient.c
	* app/core/gimpimage.c
	* app/core/gimppalette.c: added get_preview_size() implementations.

	* app/widgets/gimpbufferpreview.c
	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpgradientpreview.c
	* app/widgets/gimpimagepreview.c
	* app/widgets/gimppalettepreview.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpundopreview.c
	* app/display/gimpnavigationview.c: changed accordingly, removed
	get_size() implementations.

	* app/widgets/widgets-types.h: changed the first param of
	GimpItemGetNameFunc from GtkWidget to GObject.

	* app/widgets/gimpcontainerview-utils.c: accept a GimpViewable as
	object in the built-in get_name funcs.

	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimplistitem.c
	* app/widgets/gimpmenuitem.c: changed accordingly.
2003-02-21 19:03:19 +00:00
Michael Natterer 6f29b766e8 app/gui/brushes-menu.[ch] app/gui/buffers-menu.[ch]
2003-01-13  Michael Natterer  <mitch@gimp.org>

	* 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/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]
	* app/gui/gradient-editor-menu.[ch]
	* app/gui/gradients-menu.[ch]
	* app/gui/image-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/toolbox-menu.[ch]
	* app/gui/vectors-menu.[ch]: new files, one per GimpItemFactory,
	containing the menu entries and their setup and update funcs.

	* app/gui/brushes-commands.[ch]
	* app/gui/patterns-commands.[ch]: removed because they contained
	only update funcs.

	* app/gui/Makefile.am: changed accordingly. Split the huge
	SOURCES list in smaller ones for menus and dialogs.

	* app/gui/menus.[ch]: removed the menu entries and setup funcs.
	Added MENU_SEPARATOR() and MENU_BRANCH() macros to the header.
	Made some utility functions public.

	* app/display/gimpdisplayshell.[ch]
	* app/gui/buffers-commands.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/colormap-editor-commands.[ch]
	* app/gui/dialogs-commands.[ch]
	* app/gui/documents-commands.[ch]
	* app/gui/gradient-editor-commands.[ch]
	* app/gui/gradients-commands.[ch]
	* app/gui/images-commands.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/palette-editor-commands.[ch]
	* app/gui/palettes-commands.[ch]
	* app/gui/qmask-commands.[ch]
	* app/gui/vectors-commands.[ch]: removed the update funcs.

	* app/gui/plug-in-menus.[ch]: renamed plug_in_set_menu_sensitivity()
	to plug_in_menus_update(). Cleanup.

	* app/gui/paths-dialog.[ch]: added the <Paths> entries here
	so they will go away together with these files.

	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c: removed useless #includes.
2003-01-13 14:08:10 +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
Michael Natterer b1ebd9cddf The unbelievable happened: a menu bar per display (optionally)
2002-12-10  Michael Natterer  <mitch@gimp.org>

	The unbelievable happened: a menu bar per display (optionally)

	* app/widgets/gimpitemfactory.[ch]: Added the possibility to have
	more than one item factory per <Prefix>. Added
	gimp_item_factories_set_foobar() variants of all functions which
	set menu item properties (label, sensitive, ...). Removed
	the #ifndef ENABLE_NLS code since that's no longer possible.

	* app/widgets/gimptoolbox.c: made it robust againt the <Image>
	factory not existing at the time of toolbox creation.

	* app/config/gimpconfig-blurbs.h
	* app/config/gimpdisplayconfig.[ch]: added boolean
	"menu_bar_per_display" property.

	* app/gui/preferences-dialog.c: added a toggle for the new option.

	* app/gui/menus.[ch]: added menus_get_new_image_factory() as
	temporary solution. Will add a GimpMenuFactory which creates the
	item factories soon.

	* app/display/gimpdisplayshell.c: add the menu bar if requested.
	Changed widget packing slightly for the menu bar case.

	* app/display/gimpdisplayshell-callbacks.c: changed accordingly.
	Currently there is no right-click popup menu when we have a menu
	bar. This will change soon.

	* app/gui/file-dialog-utils.c
	* app/gui/gui.c: use gimp_item_factories_set_foo().

	* app/gui/channels-commands.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/image-commands.c
	* app/gui/layers-commands.c
	* app/gui/plug-in-commands.c
	* app/gui/select-commands.c
	* app/gui/tools-commands.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c: per-display item factories pass the
	GimpDisplay as user_data to callbacks, not a Gimp. Changed all
	return_if_no_foo() macros to handle both cases.

	Cleaned up the plug-in menu stuff:

	* app/plug-in/plug-in-types.h: removed PlugInMenuEntry type.

	* app/plug-in/plug-ins.[ch]: added plug_ins_proc_def_add() as
	counterpart to plug_ins_proc_def_remove(). Added
	plug_ins_locale_domain() as counterpart to plug_ins_help_path().
	Remember the locale domains just as the help paths. Changed
	plug-in initialization so that their menus can be created multiple
	times.

	* app/plug-in/plug-in.[ch]: use plug_ins_proc_def_add() instead of
	doing it manually.

	* app/gui/plug-in-menus.[ch]: added plug_in_menus_init() which
	just registers the locale domains. Changed plug_in_make_menu() to
	take a list of proc_defs, not plug_ins_defs so it can be used
	after plug-in query.
2002-12-10 16:38:16 +00:00
Michael Natterer b5d27fc4ac app/display/gimpdisplayshell.c app/gui/about-dialog.c
2002-10-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c
	* app/gui/about-dialog.c
	* app/gui/convert-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/file-commands.c
	* app/gui/palette-import-dialog.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdialogfactory.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimpwidgets-utils.c
	* libgimpwidgets/gimpfileselection.c
	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/common/AlienMap.c
	* plug-ins/common/AlienMap2.c
	* plug-ins/common/spheredesigner.c
	* plug-ins/flame/flame.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gimpressionist/general.c
	* plug-ins/gimpressionist/gimpressionist.c: replaced all sorts of
	gtk_widget_show()/gdk_window_rise() combinations by
	gtk_window_present().
2002-10-25 01:11:24 +00:00
Michael Natterer 359990db33 added a read-only property for the display's image, so it can be retreived
2002-05-10  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplay.c: added a read-only property for the
	display's image, so it can be retreived by the core, which
	treats displays as simple GimpObjects.

	* app/core/gimpcontext.c: made context->display an object
	property, not just gpointer. Connect to the "remove" signal of
	gimp->displays to get notified of disappearing displays. Removed
	the EEKWrapper and get the display's gimage with g_object_get().

	* app/widgets/gimpimagedock.[ch]: added image_dock->display_container
	and require it being passed in the constructor. Do voodoo things
	in the "image_changed" and "display_changed" callbacks to ensure
	that the dock doesn't end up with no display even if the active
	image has one. Added a style property for the image menu's preview
	size.

	* app/gui/dialogs-commands.c (dialogs_menu_update): set the
	"View as List" and "View as Grid" items insensitive if the
	other view type doesn't exist. Hide them if the view cannot
	be classified as "list" or "grid" at all. Also hide the
	"Preview Size" submenu if it's pointless for the view.

	* app/gui/dialogs-constructors.c: added a special tab for the
	navigation dialog. Will propbaby add dockable->stock_id to
	generalize this kind of tab. Pass gimp->displays to
	gimp_image_dock_new().

	* app/gui/menus.c: reordered the "<Dialogs>" factory entries,
	added more stock icons, cleanup.

	* etc/gtkrc_user
	* themes/Default/gtkrc: document usage of GimpImageDock's
	"menu_preview_height" property.
2002-05-10 13:09:19 +00:00
Michael Natterer ffcb0bfa3f ./mitch --sanitize-identifier-namespace
2002-03-20  Michael Natterer  <mitch@gimp.org>

	./mitch --sanitize-identifier-namespace

	* app/core/gimpcontext.c
	* app/display/gimpdisplayshell-callbacks.c
	* app/display/gimpdisplayshell-dnd.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs.c
	* app/gui/edit-commands.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/vectors-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppathtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpperspectivetool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpscaletool.c
	* app/tools/gimpsheartool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimpthresholdtool.c
	* app/tools/gimpvectortool.c
	* app/widgets/gimpdnd.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c: s/gimp:/gimp-/g and s/_/-/g for all
	identifier strings (e.g. gimp:eraser_tool -> gimp-eraser-tool,
	gimp:layer-list -> gimp-layer-list, ...)

	* plug-ins/tools/common/gimpbrushselecttool.c:
	s/gimp:brush_select_tool/gimp-brush-select-tool-module/

	Don't quite remember why I introduced the "gimp:" prefix in the
	first place, but we can always add it back if we need it (for
	whatever reason)

	You may want to edit your ~/.gimp-1.3/sessionrc and devicerc or
	all session settings will be lost due to parse errors.
2002-03-21 12:17:17 +00:00
Michael Natterer b879840890 g_strdup() the stock_id passed to gimp_tool_info_new() because the
2002-03-14  Michael Natterer  <mitch@gimp.org>

	* app/core/gimptoolinfo.c: g_strdup() the stock_id passed to
	gimp_tool_info_new() because the caller's memory may disappear
	after registering the tool (tool modules).

	Made a GimpDock out of the toolbox:

	* app/gui/Makefile.am
	* app/gui/color-area.[ch]
	* app/gui/indicator-area.[ch]
	* app/gui/toolbox.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptoolbox-color-area.[ch]
	* app/widgets/gimptoolbox-indicator-area.[ch]
	* app/widgets/gimptoolbox.[ch]: ...and added here.

	* app/widgets/gimpdock.[ch]: don't set a minimal width. Added a
	"destroy_if_empty" boolean so we can prevent destruction of the
	toolbox if it's last dockable is removed. Added gimp_dock_construct()
	which is called from GimpImageDock and GimpToolbox.

	* app/widgets/gimpimagedock.[ch]: Default to not showing the image
	menu, set a minimal width here, misc. minor cleanup.

	* app/widgets/gimpdockbook.c: some more GIMP_IS_IMAGE_DOCK()
	checks, fixed dnd widget creation.

	* app/widgets/gimpdialogfactory.[ch]: changed
	gimp_dialog_factories_toggle() to take just the toolbox_factory as
	parameter. When restoring the session use the created dock's
	dialog factory to create dockables, not the the factory we
	created the dock from (for the toolbox).

	* app/display/gimpdisplayshell-callbacks.c: changed accordingly.

	* app/gui/dialogs.[ch]: create an own dialog factory for the toolbox
	and set dialogs_toolbox_new() as it's new_dock_func.

	* app/gui/dialogs-constructors.[ch]: changed dialogs_toolbox_get()
	accordingly.

	* app/gui/dialogs-commands.[ch]: added dialogs_show_toolbox(), ckeck
	if a dock is really a GimpImageDock before casting.

	* app/gui/gui.c
	* app/gui/menus.c
	* app/widgets/gimppaletteeditor.c: changed accordingly.

	* app/gui/color-notebook.c
	* app/gui/color-select.c
	* app/gui/colormap-dialog.c
	* app/gui/palette-editor-commands.c: removed useless inclusion of
	"gui/color-area.h".

	* themes/Default/gtkrc: set "gimp-dock-style" for GimpToolbox widgets.
2002-03-14 17:07:02 +00:00
Michael Natterer 780b93d96e themes/Default/images/stock-button-stroke.png
2002-02-27  Michael Natterer  <mitch@gimp.org>

	* themes/Default/images/stock-button-stroke.png
	* themes/Default/images/stock-button-to-path.png
	* themes/Default/images/stock-button-to-selection.png: removed.

	* themes/Default/images/stock-button-path-stroke.png
	* themes/Default/images/stock-button-selection-stroke.png
	* themes/Default/images/stock-button-selection-to-path.png: new ones.

	* themes/Default/Makefile.am
	* themes/Default/images/Makefile.am
	* libgimpwidgets/gimpstock.[ch]: changed accordingly.

	* themes/Default/images/stock-button-selection-add.png
	* themes/Default/images/stock-button-selection-intersect.png
	* themes/Default/images/stock-button-selection-replace.png
	* themes/Default/images/stock-button-selection-subtract.png: cropped.

	* themes/Default/images/tools/stock-tool-button-brightness-contrast.png:
	a nicer one from Ville Pätsi.

	* app/gui/menus.c
	* app/widgets/gimpvectorslistview.c: use the new stock items.

	* app/gui/dialogs-commands.c: create the new paths dialog, not the
	old one in dialogs_lc_cmd_callback().

	* app/gui/vectors-commands.c: some more s/Vectors/Path/ in
	user-visible strings.

	* app/app_procs.c: some test code for the filename -> uri migration.
2002-02-27 17:10:42 +00:00
Michael Natterer bba8413773 app/core/Makefile.am new files: the QMask stuff stripped from GUI code.
2001-11-30  Michael Natterer  <mitch@gimp.org>

	* app/core/Makefile.am
	* app/core/gimpimage-qmask.[ch]: new files: the QMask stuff
	stripped from GUI code. Added gimp_image_qmask_invert().

	* app/core/gimpimage.[ch]: removed the QMask functions.

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-qmask.[ch]: removed.

	* app/gui/Makefile.am
	* app/gui/qmask-commands.[ch]: new files for the new QMask item
	factory callbacks and the qmask query dialog.

	* app/gui/menus.c: added a context menu for the QMask button.

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-handlers.c: don't include the qmask
	stuff.

	* app/display/gimpdisplayshell-callbacks.[ch]: Moved the 2 qmask
	callbacks here. Don't popup the dialog on double_click. Show
	the contect menu on right-click.

	* app/display/gimpdisplayshell-callbacks.[ch]:
	gimp_display_shell_canvas_events(): removed the hack of
	conntecting "key_press_event" to gtk_true() while a tool is
	active. Instead, check for (event & GDK_BUTTON1_MASK) in the
	key_press and key_release handlers and stop signal emission. Save
	the modifier state on "button_press" and restore it after
	"button_release".

	Changed the way context menus are updated/shown:

	- removed GimpContainerContextFunc.
	- pass around item factory identifiers (e.g. "<Brushes>")
	- added voodoo to update the menus before showing them.

	* app/widgets/gimpitemfactory.[ch]: gimp_item_factory_new(): take
	a GimpItemFactoryUpdateFunc parameter, attach it as data to the
	factory and use it to update the menu in
	gimp_item_factory_popup_with_date().

	* app/widgets/gimpwidgets-utils.[ch]: removed
	gimp_item_factory_popup_with_data() here.

	* app/widgets/gimpbrushfactoryview.[ch]
	* app/widgets/gimpbufferview.[ch]
	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdocumentview.[ch]
	* app/widgets/gimpdrawablelistview.[ch]: use item_factory
	identifier strings all over the place.

	* app/widgets/gimpdockbook.c: removed the menu update code, it's
	now in gui/dialogs-commands.c.

	* app/gui/brushes-commands.[ch]
	* app/gui/buffers-commands.[c]
	* app/gui/channels-commands.[ch]
	* app/gui/dialogs-commands.[ch]
	* app/gui/documents-commands.[ch]
	* app/gui/gradient-editor-commands.[ch]
	* app/gui/gradients-commands.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/palettes-commands.[ch]
	* app/gui/patterns-commands.[ch]: removed all show_context_menu()
	functions and made the update functions public. Changed all
	update functions to use the gimp_item_factory_set_foo() methods
	instead of gimp_menu_item_set_foo().

	* app/gui/menus.c: pass the update functions to the
	gimp_item_factory_new().

	* app/gui/dialogs-constructors.c: pass item factory identifiers to
	all view constructors.

	* app/gui/gradient-editor.c: show the context menu using the new
	method.

	* app/gui/toolbox.c: no need to include "dialogs-commands.h".
2001-11-30 14:41:56 +00:00
Michael Natterer b017fa1538 put the last_opened menu entries in a submenu called "Open Recent", added
2001-11-29  Michael Natterer  <mitch@gimp.org>

	* app/gui/menus.c: put the last_opened menu entries in a
	submenu called "Open Recent", added items to create a dock
	with some useful tabs in it ("Brushes, Patterns & Stuff..."),

	* app/gui/dialogs-commands.[ch]: added a callback for the new
	"Stuff" menu entry.

	* app/gui/dialogs-constructors.h: removed dialogs_lc_get()
	declaration because it doesn't exist.
2001-11-29 18:11:31 +00:00
Michael Natterer d463a5efdf removed a useless g_return_if_fail().
2001-11-23  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontainer.c: removed a useless g_return_if_fail().

	* app/widgets/gimpcontainereditor.h: removed GimpViewType enum.

	* app/widgets/widgets-types.h: added it here.

	* app/widgets/gimpcontainerview-utils.[ch]: added a utility function
	which gets the GimpContainerView out of a GimpDockable.

	* app/widgets/gimpdialogfactory.[ch]: added support for saving and
	loading of each GimpDockable's preview size. Store the dialog's
	default preview size in the GimpDialogFactoryEntry.  Pass the
	preview_size to each created dialog.

	* app/gui/menus.c: added menu items for setting the preview_size
	and switching between list and grid view. Removed the item
	overkill in the "Add Tab" submenu.

	* app/gui/dialogs-commands.[ch]: added callbacks for the new items.

	* app/widgets/gimpdockbook.c: set the item's state before showing
	the menu.

	* app/errors.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/edit-commands.c
	* app/gui/gui.c
	* app/gui/indicator-area.c
	* app/gui/toolbox.c: changed accordingly.

	* app/tools/selection_options.[ch]: cleaned up the selection
	options and added some tooltips. Much more to do...
2001-11-23 16:25:01 +00:00
Michael Natterer 01b780d682 added app/display/ and app/plug-in/. Empty for now except for the types
2001-08-17  Michael Natterer  <mitch@gimp.org>

	* configure.in: added app/display/ and app/plug-in/. Empty for
	now except for the types files.

	* app/Makefile.am
	* app/appenums.h
	* app/apptypes.h: removed.

	* app/display/Makefile.am
	* app/display/display-types.h
	* app/plug-in/Makefile.am
	* app/plug-in/plug-in-types.h
	* app/gui/Makefile.am
	* app/gui/gui-types.h
	* app/pdb/Makefile.am
	* app/pdb/pdb-types.h: new files for typedefs.

	* app/appenv.h: added MessageHandlerType and StackTraceMode here.

	* app/undo_types.h: moved undo struct typedefs here.

	* app/tools/tools-types.h
	* app/core/core-types.h: added some enums and Tattoo here
	(renamed to GimpTattoo).

	* app/gdisplay.h: temp_hack: #include "display/display-types.h"

	* app/gimphelp.c: s/gtk_idle_add/g_idle_add/

	* app/gimprc.c: don't use "gimprc" in token handlers but the
	passed "val1p" and "val2p".

	* app/image_map.[ch]: cleanup in preparation of making a GObject
	out of it.

	* app/base/pixel-region.[ch]: no need to pass the
	PixelRegionIterator around as void pointer.

	* app/core/gimp.[ch]
	* app/core/gimpcontext.[ch]
	* app/core/gimptoolinfo.[ch]
	* app/tools/tool_manager.c
	* app/widgets/gimpdnd.c: added the standard_tool_info to the Gimp
	object.

	* app/batch.c
	* app/file-open.c
	* app/file-save.c
	* app/file-utils.c
	* app/interface.c
	* app/main.c
	* app/path.[ch]
	* app/pathP.h
	* app/plug_in.h
	* app/core/gimpdrawable.[ch]
	* app/core/gimpimage-mask.c
	* app/core/gimpimage.[ch]
	* app/core/gimplayer.c
	* app/gui/color-area.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/error-console-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradient-select.c
	* app/gui/indicator-area.c
	* app/gui/info-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/gui/session.c
	* app/gui/splash.c
	* app/gui/view-commands.c
	* app/tools/gimpinktool-blob.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimppreview.c
	* app/xcf/xcf-load.c
	* app/xcf/xcf-save.c
	* app/xcf/xcf.c: changed accordingly: s/Tattoo/GimpTattoo/, include
	the new types files, include <glib-object.h> instead of >gtk/gtk.h>.
	Bad hacks to get rid of SELECTION_OFF and friends in core/ (will
	be replaced ba a signal soon).

	* tools/pdbgen/Makefile.am: changed list of headers scanned for
	enums accordingly.

	* app/pdb/procedural_db.c
	* tools/pdbgen/app.pl
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb: same fixes as above, added
	hacks to ensure that all foo-types.h files are included before all
	other gimp internal includes, include "pdb-types.h" unconditionally.

	* tools/pdbgen/enums.pl
	* app/pdb/*_cmds.c: regenerated.
2001-08-17 14:27:31 +00:00
Michael Natterer 06b16890ba Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)
2001-07-24  Michael Natterer  <mitch@gimp.org>

	Port to glib/gtk+ 2.0 episode I (every segfault has it's beginning)

	* configure.in: require glib/gtk+ >= 1.3.7, commented out the
	gtkxmhtml stuff.

	From now on, you will need glib, pango, atk and gtk+ HEAD from CVS
	to hack or use GIMP HEAD.

	Beware, it crashes randomly :)

	* app/core/Makefile.am
	* app/core/gimpmarshal.list: new file plus rules to generate
	gimpmarshal.[ch] from it.

	* app/core/*
	* app/tools/*
	* app/widgets/*
	* libgimpwidgets/*: started to use the glib object system. All
	core/ objects are still gtk objects however. All signals are
	created using g_signal_new(). There are many gtk+ artefacts left.
	Finally, we will _not_ use the gtk_signal_foo() wrappers and
	friends any more.

	* app/colormaps.c
	* app/devices.[ch]
	* app/disp_callbacks.c
	* app/errorconsole.c
	* app/file-save.[ch]
	* app/interface.c
	* app/module_db.c
	* app/nav_window.c
	* app/ops_buttons.c
	* app/scroll.c
	* app/user_install.c
	* app/gui/about-dialog.c
	* app/gui/brush-editor.c
	* app/gui/brushes-commands.c
	* app/gui/color-notebook.c
	* app/gui/colormap-dialog.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-new-dialog.c
	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor.c
	* app/gui/gradients-commands.c
	* app/gui/image-commands.c
	* app/gui/info-dialog.[ch]
	* app/gui/layer-select.c
	* app/gui/layers-commands.c
	* app/gui/menus.c
	* app/gui/offset-dialog.c
	* app/gui/palette-editor.c
	* app/gui/palettes-commands.c
	* app/gui/patterns-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.[ch]
	* app/gui/splash.c
	* app/gui/tips-dialog.c
	* app/gui/tool-options-dialog.c
	* app/gui/toolbox.c
	* app/gui/tools-commands.c
	* libgimp/gimpbrushmenu.c
	* libgimp/gimpmenu.c
	* libgimp/gimppatternmenu.c
	* libgimp/gimpui.c
	* libgimpbase/gimpenv.c: tons and tons of changes like "const
	gchar*", switch from GdkDeviceInfo to GdkDevice (very incomplete
	and currently disables), lots of s/gtk_signal/g_signal/,
	removal/replacement of deprecated stuff,
	s/GtkSignalFunc/GCallback/ and lots of small changes and fixes
	while I was on it, zillions of warnings left...

	* modules/Makefile.am: disabled the water color selector
	temporarily (XInput issues).

	* plug-ins/Makefile.am
	* plug-ins/common/.cvsignore
	* plug-ins/common/Makefile.am
	* plug-ins/common/plugin-defs.pl: simply excluded all plug-ins
	which did not build (including Script-Fu). They are trivial to
	fix.
2001-07-24 21:27:11 +00:00
Michael Natterer b280b493c7 don't use the global "the_gimp" variable.
2001-07-15  Michael Natterer  <mitch@gimp.org>

	* app/core/gimp.c: don't use the global "the_gimp" variable.

	* app/core/gimpimage-convert.c: don't update the display here.

	* app/gui/gui.c: connect to the images' "mode_changed" signal
	and update here.

	* app/gui/brush-editor.[ch]
	* app/gui/gradient-editor.[ch]
	* app/gui/palette-editor.[ch]: pass a "Gimp" pointer to all
	editors. Added an palette_name entry to the palette editor.

	* app/gui/colormap-dialog.[ch]: removed all the dialog stuff and
	made the constructor return a vbox so it can be integrated in a
	dockable. Lots of cleanup and removal of anqiuqe aretfacts.

	* app/gui/dialogs-constructors.[ch]: wrap the colormap dialog in
	a dockable.

	* app/gui/dialogs-commands.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c: integrate the new dockable, made the "Brushes.."
	etc. menu entries create dockbles. Moved the old dialogs and the
	test menu entries to "Old + Testing" and removed N_() so the .po
	files stay cruft-free.

	* app/gui/test-commands.[ch]: removed lots of stuff which is not
	"testing" any more.
2001-07-15 14:32:44 +00:00
Michael Natterer 8a6f5a104d app/gui/dialogs-commands.[ch] added dialogs_toggle_auto_cmd_callback()
2001-07-02  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs-commands.[ch]
	* app/gui/menus.c: added dialogs_toggle_auto_cmd_callback() which
	toggles GimpImageDock's "Auto" button.

	* app/gui/dialogs.c: ref/sink the global dialog factories.

	* app/widgets/gimpdialogfactory.[ch]: added some comments, some
	cleanups and additional checks. Factored out the "aux-info" stuff
	to separate functions.

	* app/widgets/gimpdockbook.c: set the state of the "Auto Follow
	Active Image" menu item.

	* app/widgets/gimpimagedock.[ch]: added a gboolean for
	"show_image_menu" so we don't need to fiddle around with the
	widgets to get this info. Added
	gimp_image_dock_set_auto_follow_active().
2001-07-02 14:58:02 +00:00
Michael Natterer d81b47ce70 removed GimpFillType.
2001-06-29  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: removed GimpFillType.

	* app/gimprc.c: parse the session-info's new "aux-info" field.

	* app/global_edit.[ch]: removed the old "Paste Named" dialog and
	prefixed all functions with "gimp_".

	* app/core/core-types.h: added GimpFillType.

	* app/core/gimpbrush.[ch]: new signal "spacing_changed".

	* app/gui/Makefile.am
	* app/gui/tools-commands.[ch]: one more file cut out of commands.[ch].

	* app/gui/commands.[ch]: removed the tools stuff here.

	* app/gui/brush-select.[ch]
	* app/gui/dialogs-constructors.c: use the new GimpBrushFactoryView
	(see below).

	* app/gui/dialogs-commands.[ch]
	* app/gui/menus.[ch]:

	- Made it 64bit safe again by passing the dialog factory's
	  identifiers as GQuarks, not as guints created by GPOINTER_TO_UINT().
	- Added a "gchar *quark_string" field to GimpItemFactoryEntry
	  which gets transformed into a GQuark by menus_create_item().
	- Added SEPARATOR() and BRANCH() macros which make the *_entries[]
	  arrays more readable.
	- Added a menu item to show/hide GimpImageDock's image menu.
	- Removed file_last_opened_cmd_callback().

	* app/gui/edit-commands.c: the global_edit functions are "gimp_"
	prefixed now.

	* app/gui/file-commands.[ch]: added file_last_opened_cmd_callback()
	here.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpbrushfactoryview.[ch]: new widget: a
	GimpDataFactory subclass with a "spacing" scale.

	* app/widgets/gimpcontainereditor.[ch]:

	- Connect to the GimpContainerView's "select_item",
	  "activate_item" and "context_item" signals here once instead of
	  in each subclass and dispatch them via new virtual functions.
	- Added a convenience function which makes DND to the buttons much
	  less painful for subclasses.

	* app/widgets/gimpbufferview.c
	* app/widgets/gimpdatafactoryview.[ch]: changed accordingly.

	* app/widgets/gimpdialogfactory.[ch]:

	- Added gimp_dialog_factory_dialog_raise() which can raise
	  toplevel dialogs _and_ dockables (and creates them if they are
	  not open yet).
	- Keep track of all created dialogs (not only toplevels).
	- Added an "aux_info" field to GimpSessionInfo which is a GList of
	  gchar* and is saved in sessionrc.
	- Remember if GimpImageDock's image menu is visible by using an
	  aux_info string.
	- The code did not become nicer with all those new constraints. I
	  have to add comments before I forget how it works.

	* app/widgets/gimpdockbook.c: set the state of the "Show Image Menu"
	menu item before popping up the item factory.

	* app/widgets/gimpimagedock.[ch]: added
	gimp_image_dock_set_show_image_meu().

	* plug-ins/gdyntext/gdyntext.c
	* plug-ins/perl/examples/fit-text
	* plug-ins/perl/examples/terral_text
	* plug-ins/perl/examples/tex-to-float: register all text rendering
	plug-ins under <Image>/Filters/Text

	* app/pdb/brush_select_cmds.c
	* app/pdb/drawable_cmds.c
	* app/pdb/edit_cmds.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/edit.pdb
	* tools/pdbgen/enums.pl
	* po/POTFILES.in: changed according to all the stuff above.
2001-06-29 19:25:03 +00:00
Michael Natterer 3bd0b97ec3 app/Makefile.am taken behind the curtain and shot. (famous words of Seth
2001-05-11  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/lc_dialog.[ch]: taken behind the curtain and shot.
	(famous words of Seth Burgess on #gimp)

	* app/app_procs.c
	* app/gdisplay.c
	* app/gimage.c
	* app/gui/commands.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/gui/preferences-dialog.c: don't #include it or call it's
	functions any more.

	* app/gui/dialogs-commands.[ch]: added a constructor for a dock
	which looks like the old L&C dialog (taken from test-commands.*)

	* app/gui/test-commands.[ch]: removed here.

	* app/gui/dialogs-constructors.[ch]: wrapped the old
	paths-dialog.* stuff in a dockable which can be created only
	once. Will go away as soon as the new path stuff is there.

	* app/gui/dialogs.c: added the paths dockable, removed lc_dialog.

	* app/gui/paths-dialog.c: some changes to make it work without the
	lc_dialog around it. Will probably crash randomly and refuse to
	update it's contents properly (scheduled for removal).
2001-05-11 17:02:30 +00:00
Michael Natterer a229702dfe added ChannelType. removed ChannelType. regenerated.
2001-05-08  Michael Natterer  <mitch@gimp.org>

	* app/appenums.h: added ChannelType.
	* app/gimpimage.h: removed ChannelType.
	* tools/pdbgen/enums.pl: regenerated.

	* app/apptypes.h: don't include libgimpwidgets/gimpwidgetstypes.h
	and widgets/widgets-types.h any more.

	* app/devices.c
	* app/gimpdnd.c
	* app/gimprc.c
	* app/lc_dialog.c
	* app/gui/[many].c: include widgets/widgets-types.h

	* app/tools/histogram_tool.h: include widgets/widgets-types.h here
	because of an ugly dependency from pdb/color_cmds.c

	* app/tools/tool_options_dialog.c

	* app/widgets/widgets-types.h: include
	libgimpwidgets/gimpwidgetstypes.h and apptypes.h so files in
	widgets/ only have to include this file.

	* app/widgets/*.c: include widgets-types.h instead of apptypes.h

	* app/gimpdrawable-preview.c
	* app/gui/gradient-editor.c: removed useless #includes.
2001-05-08 03:48:54 +00:00
Michael Natterer 714f4b14ea some minor fixes / cleanup.
2001-04-23  Michael Natterer  <mitch@gimp.org>

	* app/gimpcontext.[ch]: some minor fixes / cleanup.

	* app/gimpdata.c: forgot to gtk_object_class_add_signals() in
	class_init().

	* app/gui/dialogs-constructors.[ch]: added a tool_tab_func() so
	the notebook tab shows a tool preview, pass a GimpContext to all
	dialog constructors and added set_context() functions for all
	dockable based dialogs so they can be configured to use the
	context of the destination dock when dragging them around.

	* app/widgets/gimpcontainermenuimpl.c: removed debugging output.

	* app/widgets/gimpdialogfactory.[ch]: add a method to create
	dockables (which gets passed the dock the dockable will be added
	to) so the dockables can be created in the right context.

	* app/widgets/gimpdock.[ch]: added a GimpContext attribute, remove
	the dockbooks explicitely in destroy().

	* app/widgets/gimpdockable.[ch]: dockables now know about their
	set_context_func() and can thus be dragged between different
	contexts.

	* app/widgets/gimpdockbook.c: gimp_dockbook_add(): refuse to add
	dockables to dockbooks which are not part of a dock, set the
	dockable's context after adding it.

	* app/widgets/gimpimagedock.[ch]: image docks now keep a pointer
	to the global image list which is passed to them on construction
	so they don't need to know about the global "image_context"
	variable, added an "Auto" button like in L&C.

	* app/gui/dialogs-commands.c: changed accordingly.
2001-04-23 16:58:18 +00:00
Michael Natterer f283b957b1 app/session.[ch] removed the old dialog session management code...
2001-04-17  Michael Natterer  <mitch@gimp.org>

	* app/session.[ch]
	* app/gimprc.c: removed the old dialog session management code...

	* app/widgets/gimpdialogfactory.[ch]: ...and manage all dialogs here.

	* app/gui/dialogs-constructors.[ch]: dialog factory compliant
	constructors for all session managed toplevel dialogs.

	* app/brush_select.[ch]
	* app/devices.[ch]
	* app/docindex.[ch]
	* app/errorconsole.[ch]
	* app/gradient_select.[ch]
	* app/info_dialog.c
	* app/lc_dialog.[ch]
	* app/palette.[ch]
	* app/pattern_select.[ch]
	* app/toolbox.[ch]
	* app/tools/tool_options_dialog.[ch]: all dialog constructors have
	to return the dialog now (even the legacy ones that will go away).
	Removed the session management code as this is now done for the
	dialogs, not by them.

	* app/app_procs.c
	* app/color_select.c
	* app/commands.[ch]
	* app/indicator_area.c
	* app/menus.c
	* app/palette_select.c
	* app/preferences_dialog.c
	* app/gui/dialogs.c
	* app/gui/dialogs-commands.[ch]
	* app/gui/gui.c
	* app/tools/gimptool.c
	* app/widgets/gimpdock.c: changed accordingly.
2001-04-17 16:00:27 +00:00
Michael Natterer 059e7773ee First attempt to get the docks session managed:
2001-04-16  Michael Natterer  <mitch@gimp.org>

	First attempt to get the docks session managed:

	* app/gimprc.c: new gimprc type "new-session-info" which will soon
	replace the original one.

	* app/menus.c
	* app/gui/dialogs.c: s/_/-/g in all dialog identifier strings.

	* app/session.[ch]: call the dialog factory's session functions.

	* app/test_commands.c: use the dialog factory to create the tabs.

	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.[ch]: the constructors return widgets,
	not dockables now.

	* app/widgets/gimpdialogfactory.[ch]: maintain a list of dialog
	factories in the class struct. Added ugly code to do the GimpDock
	session management.

	* app/gui/gui.c
	* app/widgets/gimpdock.c: changed accordingly.
2001-04-16 18:49:29 +00:00
Michael Natterer 3fafbbe1f2 added some more dialog types.
2001-04-14  Michael Natterer  <mitch@gimp.org>

	* app/menus.c: added some more dialog types.

	* app/gui/Makefile.am
	* app/gui/gimpdialogfactory.[ch]: removed again...

	* app/widgets/Makefile.am
	* app/widgets/gimpdialogfactory.[ch]: ...and added where it belongs.

	* app/gui/dialogs.c
	* app/widgets/gimpdock.c: changed #include's

	* app/gui/dialogs-commands.c: dialogs can be removed via the menu
	now.

	* app/widgets/gimpdockbook.c: ref the dockbook while the item
	factory is active because an item factory callback may destroy it
	(we need to add the hijacked GtkNotebook menu back to the
	notebook).
2001-04-14 16:37:28 +00:00
Michael Natterer 517de92aa7 configure.in app/Makefile.am new directory which will contain all gui code
2001-04-14  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am
	* app/gui/Makefile.am: new directory which will contain all gui code
	except widgets (I was tired off adding new files to app/).

	* app/apptypes.h
	* app/gui/gimpdialogfactory.[ch]: factory which produces dialogs
	from string descriptions. Should maybe go to widgets/.

	* app/gui/dialogs-commands.[ch]: callbacks for the new menu
	factory below.

	* app/gui/dialogs-constructors.[ch]: dialog constructors which are
	registered with the dialog factory.

	* app/gui/dialogs.[ch]: register the dialogs with the factory.

	* app/app_procs.c: call dialogs_register().

	* app/menus.[ch]: a new item factory for creating dialogs.

	* app/test_commands.c
	* app/widgets/gimpdock.[ch]: added a dialog factory pointer to the
	GimpDock struct.

	* app/widgets/gimpdockbook.[ch]: badly (badly!) fiddle around with
	GtkNotebook's menu to get it integrated in the GtkItemFactory
	which produces new dialogs.
2001-04-14 15:21:45 +00:00