Commit Graph

97 Commits

Author SHA1 Message Date
Michael Natterer 930b621b8c app/widgets/widgets-types.h made GimpContainerView an interface. Added
2004-05-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerview.[ch]: made GimpContainerView an
	interface. Added accessors for all members in the private struct
	and made it really private.

	* app/widgets/gimpcontainerbox.[ch]: derive it from GimpEditor and
	implement GimpContainerViewInterface and its properties.

	* app/widgets/gimpchanneltreeview.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcontainertreeview-dnd.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimplayertreeview.c
	* app/widgets/gimpvectorstreeview.c: implement
	GimpContainerViewInterface and use the new accessor functions.

	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdocumentview.c: changed accordingly.

	* app/widgets/gimptemplateview.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpundoeditor.c
	* app/actions/palettes-commands.c: #include "gimpcontainerview.h"
2004-05-10 23:22:39 +00:00
Michael Natterer d8d2c84d39 Prepare for making an interface out of GimpContainerView:
2004-05-10  Michael Natterer  <mitch@gimp.org>

	Prepare for making an interface out of GimpContainerView:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerbox.[ch]: new GimpContainerView
	subclass which implements GimpDocked interface and contains the
	vbox-with-scrolled-window stuff common to GimpContainerGridView
	and GimpContainerTreeView.

	* app/widgets/gimpcontainerview.[ch]: removed that functionality
	here.

	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainertreeview.[ch]: derive them from
	GimpContainerBox.

	* app/gui/brush-select.c
	* app/gui/font-select.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c
	* app/widgets/gimpcontainerpopup.c: changed accordingly.
2004-05-10 11:08:51 +00:00
Michael Natterer da0de0873f Started making the toolbox configurable. Addresses bug #105764. Not
2004-05-10  Michael Natterer  <mitch@gimp.org>

	Started making the toolbox configurable.
	Addresses bug #105764. Not finished yet.

	* app/core/gimptoolinfo.[ch]: renamed "in_toolbox" to "visible"
	and made it a GObject property.

	* app/tools/gimp-tools.[ch]: added new function
	gimp_tools_get_default_order() which returns a GList of tool
	identifiers.

	* app/actions/tools-actions.c
	* app/actions/tools-commands.[ch]: added actions & callbacks for
	toggling the "visible" boolean and for resetting all tools.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptoolview.[ch]: new widget which allows to
	toggle a tool's visibility and to reorder the tools.

	* app/widgets/gimptoolbox.[ch]: removed member "GtkWidget *trash"
	and pack all tool buttons into the same wrap box. Connect to
	"reoder" of the tool container and to "notify::visible" of all
	tool infos and update the toolbox accordingly.

	* app/gui/dialogs-constructors.c: create a GimpToolView for the
	tools list/grid.

	* app/menus/menus.c: register a <Tools> menu for the dialog above.

	* menus/Makefile.am
	* menus/tools-menu.xml: added the menu.
2004-05-10 00:41:57 +00:00
Sven Neumann ebdd4fb738 app/widgets/Makefile.am app/widgets/widgets-types.h
2004-05-08  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpunitcombobox.[ch]
	* app/widgets/gimpunitstore.[ch]: added a prototype of a unit menu
	based on GtkComboBox. Will move this to libgimpwidgets later...

	* app/display/gimpstatusbar.[ch]: use the new GimpUnitComboBox and
	GimpUnitStore.

	* themes/Default/gtkrc
	* themes/Small/gtkrc: hardcode the appearance of the
	GimpUnitComboBox. It uses a hack that doesn't work in list mode.
2004-05-07 22:16:15 +00:00
Michael Natterer 9377b26ebc added help IDs to all actions representing the toplevel popups and menus
2004-05-02  Michael Natterer  <mitch@gimp.org>

	* app/actions/*-actions.c: added help IDs to all actions
	representing the toplevel popups and menus (as fallbacks for the
	still-to-be-written help system intrgration of GimpUIManager).

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): removed
	call to gtk_ui_manager_ensure_update() because that's done by
	gimp_ui_manager_ui_get() now.

	* app/widgets/gimpmenufactory.[ch]: removed API to register and
	create item factories.

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

	* app/gui/dialogs.c
	* app/actions/plug-in-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/file-save-dialog.c
	* app/widgets/gimpdataeditor.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpimagedock.c
	* app/widgets/gimpitemtreeview.c: removed leftover item factory
	cruft.

	* app/widgets/widgets-types.h: removed item factory typedefs...

	* app/widgets/gimpitemfactory.h: ...and added them here.

	* app/widgets/gimpactiongroup.[ch]: added new function
	gimp_action_group_add_plug_in_actions().

	* app/actions/plug-in-actions.c: use it here instead of adding
	the actions manually.

	* app/widgets/gimptoolbox.c: ported the code which dynamically
	updates the tool button tooltips on accelerator changes to
	GtkAction. Disabled the whole stuff because GTK+ lacks
	gtk_action_get_accel_closure().
2004-05-02 08:56:07 +00:00
Michael Natterer aae726ee94 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkAction subclass
2004-04-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppluginaction.[ch]: new GtkAction subclass which
	remembers the PlugInProcDef.

	* app/widgets/gimpactiongroup.[ch]: added "gpointer user_data" to
	the GimpActionGroup struct and to gimp_action_group_new(). Removed
	the user_data parameter from gimp_action_group_add_*_actions().

	* app/widgets/gimpactionfactory.[ch]: changed accordingly.

	* app/actions/*-actions.[ch]: removed user_data from all setup_funcs.

	* app/actions/plug-in-actions.c: use a GimpPlugInAction and
	finally use the right user_data for the callback so plug-in
	callbacks have a proper context.

	* app/gui/plug-in-menus.[ch]: renamed plug_in_menus_create2() to
	plug_in_menus_setup().

	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: changed accordingly.
2004-04-27 13:55:26 +00:00
Michael Natterer bb0f359ac4 added GimpUIManagerSetupFunc typedef.
2004-04-26  Michael Natterer  <mitch@gimp.org>

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

	* app/widgets/gimpuimanager.[ch]: added the setup_func to the
	GimpUIManagerUIEntry struct and to gimp_ui_manager_ui_register().
	Call the setup_func after creating the UI. Replaced the term
	"identifier" by "ui_path".

	* app/widgets/gimpmenufactory.c: ditto.

	* app/gui/menus.c (menus_init): register the new setup_funcs below.

	* app/gui/menus.[ch] (menus_open_recent_add)
	* app/gui/image-menu.[ch] (image_menu_setup2)
	* app/gui/toolbox-menu.[ch] (toolbox_menu_setup2): new setup_funcs
	which add the "Open Recent" menu items.

	* app/actions/file-actions.c: removed "file-open-recent-empty"
	action because it's not needed.

	* menus/image-menu.xml
	* menus/toolbox-menu.xml: removed "file-open-recent-empty" menu
	items and added <placeholder>s for the "Open Recent" menu items.
2004-04-26 15:51:21 +00:00
Michael Natterer 0b8c4b3ec9 app/widgets/Makefile.am app/widgets/widgets-types.h new GtkUIManager
2004-04-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpuimanager.[ch]: new GtkUIManager subclass. Adds
	API to update all action groups and knows which UIs it can create
	from which XML files.

	* app/widgets/gimpmenufactory.[ch]: register the XML file
	basenames along with path of their toplevel menus. Create
	GimpUIManagers instead of GtkUIManagers and register the
	XML files and menu paths with them.

	* app/gui/menus.c: register all XML files and their toplevel
	menu paths.

	* app/widgets/gimpeditor.[ch]: also create a GimpUIManager when
	creating the GtkItemFactory. Added "const gchar *ui_identifier"
	parameter to gimp_editor_create_menu().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpdataeditor.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpitemtreeview.[ch]: added "ui_identifier"
	parameters to all constructors.

	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpbrushfactoryview.c
	* app/widgets/gimpbufferview.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpdocumentview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpfontview.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpimageview.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppatternfactoryview.c
	* app/widgets/gimptemplateview.c
	* app/widgets/gimptooloptionseditor.c
	* app/gui/dialogs-constructors.c
	* app/gui/gradient-select.c
	* app/gui/palette-select.c
	* app/gui/pattern-select.c: pass UI identifiers to the changed
	functions above.

	* app/display/gimpdisplayshell.[ch]: added a GimpUIManager for
	the menubar (menubar creating code still commented out).

	* app/display/gimpdisplay.c
	* app/gui/gui-vtable.c: update the ui manager.
2004-04-21 16:33:17 +00:00
Michael Natterer 27a2c8c0e6 More unused action stuff:
2004-04-21  Michael Natterer  <mitch@gimp.org>

	More unused action stuff:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactionfactory.[ch]: added a simple factory which
	produces GimpActionGroups.

	* app/widgets/gimpactiongroup.[ch]: added an "update_func" member
	to the GimpActionGroup struct. Added it as parameter to
	gimp_action_group_new(). Added function gimp_action_group_update().

	* app/widgets/gimpmenufactory.[ch]: added an "action_factory"
	member and constructor parameter. Added code to create
	GtkUIManagers from registered action group identifiers.

	* app/actions/Makefile.am
	* app/actions/actions.[ch]: new files: create a
	"global_action_factory" and register all action groups with it.

	* app/actions/edit-actions.c: s/edit_action_update/edit_actions_update/

	* app/actions/plug-in-actions.[ch]: added API to add/remove
	plug-in procedure actions dynamically (unfinished).

	* app/gui/menus.c (menus_init): call actions_init().
	(menus_exit): call actions_exit().
2004-04-20 23:04:50 +00:00
Michael Natterer 8848558f95 More GtkAction stuff (still unused):
2004-04-19  Michael Natterer  <mitch@gimp.org>

	More GtkAction stuff (still unused):

	* configure.in: added new directories menus/ and app/actions/

	* Makefile.am: build menus/

	* menus/.cvsignore
	* menus/Makefile.am
	* menus/*-menu.xml: new files: XML menu descriptions for each menu
	which is now defined in gui/*-menu.c.

	* app/widgets/widgets-types.h: some typedefs for GimpActionGroup.

	* app/widgets/gimpactiongroup.[ch]: added a "Gimp" construct-only
	property. Added APIs to set actions visible/sensitive/active
	and an unimplemented stub for setting the action's color.

	* app/Makefile.am: build actions/ and link libappactions.a

	* app/actions/.cvsignore
	* app/actions/Makefile.am
	* app/actions/*-actions.[ch]: new files: GtkActions for each
	*-commands.c file in gui/. Ported all "update" functions from the
	*-menu.c files.
	(everything completely unused, untested and partly #if 0'ed)

	* app/core/gimpimage.[ch]: for reasons of (action-) symmetry, added
	API to raise/lower channels/vectors to top/bottom.

	* app/gui/channels-commands.[ch]
	* app/gui/vectors-commands.[ch]: added callbacks for the new
	to top/bottom functions.

	* app/gui/Makefile.am
	* app/gui/dockable-commands.[ch]: new files split out of
	dialogs-commands.[ch].

	* app/gui/dialogs-commands.[ch]
	* app/gui/dialogs-menu.c: changed accordingly.

	* app/gui/edit-commands.[ch]: added edit_paste_into_cmd_callback()
	and remove usage of "guint action".

	* app/gui/image-menu.c: changed accordingly.

	* app/gui/palette-editor-commands.[ch]: split
	+palette_editor_new_color_cmd_callback() into separate callbacks
	for adding from FG and BG.

	* app/gui/palette-editor-menu.c: changed accordingly.
2004-04-19 14:54:24 +00:00
Sven Neumann 89cf45541a app/widgets/Makefile.am app/widgets/widgets-types.h removed GimpEnumMenu.
2004-04-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenummenu.[ch]: removed GimpEnumMenu.

	* app/widgets/gimpenumwidgets.[ch]: moved widget constructors that
	don't use GimpEnumMenu from gimpenummenu.[ch] to these new files.

	* app/widgets/gimpenumcombobox.[ch]: added a GtkComboBox widget
	using GimpEnumStore; replaces GimpEnumMenu.

	* app/widgets/gimpenumstore.[ch]: added new function
	gimp_enum_store_lookup_by_value().

	* app/widgets/gimppropwidgets.[ch]: replaced
	gimp_prop_enum_option_menu_new() with gimp_prop_enum_combo_box_new().

	* app/gui/brush-select.[ch]
	* app/gui/convert-dialog.c
	* app/gui/layers-commands.c
	* app/gui/preferences-dialog.c
	* app/gui/resize-dialog.c
	* app/tools/gimpblendoptions.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimppaintoptions-gui.c
	* app/tools/gimpselectionoptions.c
	* app/tools/gimptransformoptions.c
	* app/widgets/gimpcolorframe.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpgrideditor.c
	* app/widgets/gimphistogrameditor.c
	* app/widgets/gimpstrokeeditor.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptexteditor.c: ported to GimpEnumComboBox.
2004-04-18 15:12:42 +00:00
Sven Neumann f9135400ce app/widgets/Makefile.am app/widgets/widgets-types.h added (yet unused)
2004-04-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpenumstore.[ch]: added (yet unused) GimpEnumStore,
	a GtkListStore for enum values.
2004-04-18 01:20:26 +00:00
Michael Natterer 537b874750 new marshaller VOID:STRING
2004-04-16  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpmarshal.list: new marshaller VOID:STRING

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpactiongroup.[ch]
	* app/widgets/gimpenumaction.[ch]
	* app/widgets/gimpstringaction.[ch]: added some completely unused
	GtkAction infrastructure.
2004-04-16 12:09:46 +00:00
Simon Budig bcd96047f8 Sort the plugin menu entries with the mnemonics stripped. Avoids weird
2004-03-17  Simon Budig  <simon@gimp.org>

	* app/gui/plug-in-menus.c: Sort the plugin menu entries with
	the mnemonics stripped. Avoids weird ordering in the "C" and
	"POSIX" locales.

	* app/widgets/gimpitemtreeview.c: make a simple click on the
	"New" Button use defaults and use shift-click for the new-dialog
	invocation.

	Some more useless button cleanup:

	* app/widgets/gimpdatafactoryview.c: only create an Edit button
	when the edit_function is set.

	* app/core/gimp.c: don't set an edit func for the patterns.

	* app/gui/patterns-menu.c: Don't create the "New", "Edit" and
	"Duplicate" Menu entries for the patterns.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppatternfactoryview.[ch]: New widget:
	gimp_pattern_factory_view. Necessary to be able to hide the
	"duplicate" button...

	* app/gui/dialogs-constructors.c: Use it.
2004-03-17 14:14:18 +00:00
Michael Natterer 1b63a05791 app/widgets/Makefile.am app/widgets/widgets-types.h added new preview
2004-03-03  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppreviewrendererimagefile.[ch]: added new preview
	renderer class (has some disabled code from my GtkFileChooser tree
	and behaves exactly as the default implementation).

	* app/widgets/gimppreviewrenderer-utils.c: use it for GimpImagefiles.
2004-03-03 12:39:19 +00:00
Michael Natterer 527aa849cb app/widgets/Makefile.am app/widgets/widgets-types.h new widget swallowing
2004-02-27  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpfiledialog.[ch]: new widget swallowing most
	of file-dialog-utils.[ch]'s functionality.

	* app/widgets/widgets-types.h: added "gpointer callback_data" to
	GimpItemFactorySetupFunc so the setup_funcs can create items in
	the same context as the item factory's default items.

	* app/widgets/gimpmenufactory.c (gimp_menu_factory_menu_new):
	pass "callback_data" to setup_func().

	* app/gui/file-open-menu.[ch]
	* app/gui/file-save-menu.[ch]: use the passed callback_data
	when creating the menus and attach the file_proc to the
	menu items using g_object_set_data().

	* app/gui/file-commands.[ch]: merged separate file type callbacks
	for open and save dialogs into one callback which simply
	calls gimp_file_dialog_set_file_proc().

	* app/gui/file-dialog-utils.[ch]: removed file_dialog_new()
	and file_dialog_set_proc().

	* app/gui/file-open-dialog.[ch]
	* app/gui/file-save-dialog.[ch]: use the new widget and removed
	global variables except the dialog pointer itself.

	* app/gui/image-menu.[ch]
	* app/gui/tool-options-menu.[ch]
	* app/gui/toolbox-menu.[ch]: changed accordingly.
2004-02-27 14:20:19 +00:00
Michael Natterer 3f9ae43250 app/widgets/Makefile.am app/widgets/widgets-types.h new widget ripped out
2004-02-26  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpthumbbox.[ch]: new widget ripped out of the file
	open dialog.

	* app/gui/file-open-dialog.c: use it.
2004-02-26 13:48:42 +00:00
Sven Neumann 924acb2b0d app/widgets/Makefile.am app/widgets/widgets-types.h added new widget
2004-02-19  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcolorbar.[ch]: added new widget GimpColorBar.

	* app/tools/gimpcurvestool.c
	* app/tools/gimplevelstool.c
	* app/widgets/gimphistogrambox.[ch]: use GimpColorBar widgets.

	* app/widgets/gimpcolorframe.[ch]: fixed typos.
2004-02-19 19:56:04 +00:00
Simon Budig c95bca30e9 Dashed stroking is here... :-)
2003-12-27  Simon Budig  <simon@gimp.org>

	Dashed stroking is here...  :-)

	* app/core/gimpdrawable-stroke.c: actually use the dash pattern
	from the options

	* app/core/gimpscanconvert.c: Normalize the dash pattern, so
	that libart does the right thing.

	* app/core/gimpstrokeoptions.c: Fix default value for dash
	offset, handle the property_get for PROP_DASH_INFO correct.

	* app/widgets/gimpdasheditor.[ch]
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: New widget to edit a dash
	pattern.

	* app/widgets/gimpstrokeeditor.c: Use it.
2003-12-27 19:25:19 +00:00
Michael Natterer 06c12d9727 libgimpwidgets/gimpwidgetsmarshal.list added signals ::added(),
2003-11-22  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpwidgetsmarshal.list
	* libgimpwidgets/gimpcolordisplaystack.[ch]: added signals
	::added(), ::removed() and ::reordered() and emit them in the
	resp. functions.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcolordisplayeditor.[ch]: new widget implementing
	an editable view on a GimpColorDisplayStack. Most code taken from
	below...

	* app/display/gimpdisplayshell-filter-dialog.c: ...and removed
	here. Only creates a GimpDialog around a GimpColorDisplayEditor
	now.
2003-11-22 15:54:12 +00:00
Michael Natterer b62f8e9a75 To be multihead safe, each new window or menu needs to be associated with
2003-11-08  Michael Natterer  <mitch@gimp.org>

	To be multihead safe, each new window or menu needs to be
	associated with a GdkScreen or it will pop up on the default
	screen.

	* libgimpwidgets/gimpquerybox.[ch]
	* app/display/gimpdisplayshell-layer-select.[ch]
	* app/widgets/widgets-types.h
	* app/widgets/gimpitemfactory.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimptemplateview.[ch]
	* app/widgets/gimptooldialog.[ch]
	* app/widgets/gimpviewabledialog.[ch]
	* app/gui/channels-commands.[ch]
	* app/gui/color-notebook.[ch]
	* app/gui/convert-dialog.[ch]
	* app/gui/edit-commands.[ch]
	* app/gui/grid-dialog.[ch]
	* app/gui/image-commands.[ch]
	* app/gui/info-dialog.[ch]
	* app/gui/layers-commands.[ch]
	* app/gui/offset-dialog.[ch]
	* app/gui/resize-dialog.[ch]
	* app/gui/stroke-dialog.[ch]
	* app/gui/templates-commands.[ch]
	* app/gui/vectors-commands.[ch]: added "GtkWidget *parent"
	paramaters to all functions which create menus, popups or windows
	and pass "parent" to gimp_dialog_new() or one of the various
	wrappers around it. As a side effect, this fixes bug #61092.

	* app/widgets/gimpdialogfactory.[ch]: added "GdkScreen *screen"
	instead of "parent" here since there are no possible parent
	windows on startup.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_button_press): added a quick hack to
	send a display to another screen: click the origin button with the
	middle mouse button.

	* app/display/gimpdisplayshell.c
	(gimp_display_shell_screen_changed): don't chain up
	undonditionally (don't crash).

	* libgimpwidgets/gimpdialog.c (gimp_dialog_new_valist): set the
	dialog's screen from a non-GtkWidget parent widget. The rest of
	non-window parent widget handling is still unimplemented.

	* libgimpwidgets/gimpcolorbutton.c
	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcolorpanel.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerpopup.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdevicestatus.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimpdrawabletreeview.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimphelp.c
	* app/widgets/gimppaletteeditor.c
	* app/widgets/gimppreview-popup.c
	* app/widgets/gimpselectioneditor.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptoolbox-color-area.c
	* app/widgets/gimptoolbox-indicator-area.c
	* app/widgets/gimptoolbox.c
	* app/widgets/gimptooloptionseditor.c
	* app/widgets/gimpvectorstreeview.c
	* app/widgets/gimpwidgets-utils.c
	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpnavigationview.c
	* app/gui/module-browser.c
	* app/gui/dialogs-commands.c
	* app/gui/dialogs-constructors.c
	* app/gui/drawable-commands.c
	* app/gui/file-commands.c
	* app/gui/file-new-dialog.c
	* app/gui/file-save-dialog.c
	* app/gui/gradient-editor-commands.c
	* app/gui/gui-vtable.c
	* app/gui/gui.c
	* app/gui/info-window.c
	* app/gui/palette-import-dialog.c
	* app/gui/palettes-commands.c
	* app/gui/qmask-commands.c
	* app/gui/select-commands.c
	* app/gui/tool-options-commands.c
	* app/gui/view-commands.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpimagemaptool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimptransformtool.c
	* plug-ins/FractalExplorer/FractalExplorer.c
	* plug-ins/gfig/gfig.c
	* plug-ins/gflare/gflare.c: changed accordingly. Changed all
	menu_position funcs to place the menu on the right screen.
2003-11-08 15:32:38 +00:00
Sven Neumann 92d98207b6 removed GimpFontSelection and GimpFontSelectionDialog typedefs.
2003-11-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/widgets-types.h: removed GimpFontSelection and
	GimpFontSelectionDialog typedefs.
2003-11-05 16:37:38 +00:00
Sven Neumann dcf50dc2a9 Replaced the histogram tool by a histogram dialog:
2003-11-01  Sven Neumann  <sven@gimp.org>

	Replaced the histogram tool by a histogram dialog:

	* themes/Default/images/Makefile.am
	* themes/Default/images/tools/stock-tool-histogram-[16|22].png:
	removed here ...

	* themes/Default/images/stock-histogram-[16|22].png: ,,, and added
	under these new names.

	* libgimpwidgets/gimpstock.[ch]: register the icons as
	GIMP_STOCK_HISTOGRAM and removed the histogram tool stock icons.

	* app/base/gimphistogram.c: don't crash when uncalculated values
	are requested from a GimpHistogram. Allow to reset the histogram
	by calling gimp_histogram_calculate() with a NULL region.

	* app/widgets/gimphistogrambox.[ch]: renamed the GimpHistogramView
	struct member to "view".

	* app/tools/gimpthresholdtool.c: changed accordingly.

	* app/widgets/gimphistogramview.[ch] (gimp_histogram_view_events):
	return TRUE when events were handled.

	* app/tools/Makefile.am
	* app/tools/gimp-tools.c
	* app/tools/gimphistogramtool.[ch]: removed the histogram tool.

	* app/widgets/Makefile.am
	* app/widgets/gimphelp-ids.h
	* app/widgets/widgets-types.h
	* app/widgets/gimphistogrameditor.[ch]: added GimpHistogramEditor.
	Has some rough edges still...

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/image-menu.c: register the new dialog instead of the
	histogram tool.
2003-11-01 02:39:34 +00:00
Michael Natterer 78b6153301 added gimp_container_freeze() / _thaw() around font list reloading.
2003-10-18  Michael Natterer  <mitch@gimp.org>

	* app/text/gimp-fonts.c (gimp_fonts_load): added
	gimp_container_freeze() / _thaw() around font list reloading.

	* app/tools/gimp-tools.c (gimp_tools_init): added missing
	gimp_container_freeze().

	* app/widgets/gimpcontainerview.c: connect to the container's
	"freeze" and "thaw" signals and empty / refill the view
	accordingly. Ignore "add", "remove" and "reorder" signals while
	the container is frozen. Fixes font list sorting after refresh and
	speeds up refreshing of fonts, brushes, patterns etc.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpfontview.[ch]: new widget for the font list/grid.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_FONT_REFRESH.

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

	* app/gui/Makefile.am
	* app/gui/fonts-commands.[ch]
	* app/gui/fonts-menu.[ch]: new files: a menu for the font view.

	* app/gui/menus.c (menus_init): register the new <Fonts> menu.

	* app/gui/preferences-dialog.c (prefs_dialog_new): removed the
	fonts refreshing hack from the "Environment" page.
2003-10-18 16:23:15 +00:00
Michael Natterer b136228de9 app/widgets/widgets-types.h added new struct GimpSessionInfoAux which
2003-10-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-types.h
	* app/widgets/gimpsessioninfo.[ch]: added new struct
	GimpSessionInfoAux which contains "gchar *name" and "gchar *value".
	Changed sessionrc "aux-info" format again to be really extendable
	this time. Also breaks everybody's sessionrc again.

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

	Implemented the stuff suggested in bug #122964. Fixes bug #122964
	and bug #52206:

	* app/widgets/gimpdataeditor.[ch]: replaced the "Gimp" member by a
	"GimpDataFactory" and changed gimp_data_editor_construct()
	accordingly. Implement GimpDockedInterface::set_aux_info() and
	get_aux_info() and remember the currently edited data across
	sessions.

	* app/gui/gradient-editor-commands.c
	* app/gui/gradient-editor-menu.c
	* app/widgets/gimpbrusheditor.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimppaletteeditor.c: changed accordingly.

	* app/widgets/gimpcoloreditor.c: remember the active color
	selector across sessions.
2003-10-11 16:50:35 +00:00
Sven Neumann a88e11afb3 app/widgets/gimpdocked.[ch] renamed GimpDockedIface to
2003-10-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdocked.[ch]
	* app/widgets/widgets-types.h: renamed GimpDockedIface to
	GimpDockedInterface.

	* app/display/gimpnavigationview.c
	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpimageeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimptooloptionseditor.c: changed accordingly.

	* app/config/config-types.h
	* app/config/gimpconfig.[ch]
	* app/config/gimpconfig-deserialize.[ch]
	* app/config/gimpconfig-serialize.[ch]
	* app/config/gimpconfig-utils.[ch]: added a GimpConfig typedef and
	changed the GimpConfig API to take GimpConfig instead of GObject
	pointers.

	* app/config/gimpconfig-dump.c
	* app/config/gimprc.c
	* app/config/test-config.c
	* app/core/gimp-documents.c
	* app/core/gimp-parasites.c
	* app/core/gimp-templates.c
	* app/core/gimp.[ch]
	* app/core/gimpcontainer.c
	* app/core/gimpcontext.c
	* app/core/gimpdocumentlist.c
	* app/core/gimpgrid.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-new.c
	* app/core/gimpimage.c
	* app/core/gimpparasitelist.c
	* app/core/gimptemplate.c
	* app/core/gimptooloptions.c
	* app/core/gimpviewable.c
	* app/gui/grid-dialog.c
	* app/gui/preferences-dialog.c
	* app/gui/stroke-dialog.c
	* app/gui/templates-commands.c
	* app/gui/tool-options-commands.c
	* app/paint/gimppaintcore.c
	* app/pdb/gimprc_cmds.c
	* app/text/gimptext-parasite.c
	* app/text/gimptext.c
	* app/text/gimptextlayer.c
	* app/tools/gimp-tools.c
	* app/tools/gimptexttool.c
	* app/widgets/gimpdevices.c
	* app/widgets/gimptemplateeditor.c
	* app/widgets/gimptemplateview.c
	* tools/pdbgen/pdb/gimprc.pdb: changed accordingly.
2003-10-11 14:30:18 +00:00
Michael Natterer 99746e1d6c app/widgets/Makefile.am app/widgets/widgets-types.h new files implementing
2003-10-10  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpdocked.[ch]: new files implementing
	GimpDockedInterface, a GTypeInterface which must be implemented by
	all widgets which want to be packed into a GimpDockable. Has
	virtual functions similar to the ones GimpDockable had.

	* app/widgets/gimpdockable.[ch]: removed all virtual functions and
	all function pointers from the instance struct (also the ones just
	added in the commit below). Make sure only widgets implementing
	the GimpDockedIface are added and simply call the child's
	GimpDocked functions where we used to call our own virtual
	functions and function pointers.

	* app/widgets/gimpcoloreditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpeditor.c
	* app/widgets/gimpimageeditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimpsessioninfo.c
	* app/widgets/gimptooloptionseditor.c
	* app/display/gimpnavigationview.c: implement GimpDockedIface.

	* app/gui/dialogs-constructors.c: removed all that get_preview_func(),
	set_context_func() etc. cruft since that's done by GimpDockedIface.
	It's really a file of constructors now.

	* app/gui/dialogs-menu.c: changed accordingly.

	* app/widgets/gimpimagedock.c: forgotten in the commit below.
2003-10-10 21:24:12 +00:00
Michael Natterer 87480880c3 Cleaned up session management and changed the format of sessionrc in a way
2003-10-10  Michael Natterer  <mitch@gimp.org>

	Cleaned up session management and changed the format of sessionrc
	in a way that allows extensions without changing the format during
	the 2.0 cycle:

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpsessioninfo.[ch]: new files implementing the whole
	GimpSessionInfo stuff (parsing, saving, restoring, utility functions).
	Save / parse the position of GimpDock's panes (bug #122964).

	* app/widgets/gimpdialogfactory.[ch]: removed saving, restoring
	and session related utility functions and use the ones from
	the new files above.

	* app/gui/session.c: removed parsing and use the new stuff.

	* app/widgets/gimpdock.[ch]: added new virtual functions
	GimpDock::set_aux_info() and GimpDock::get_aux_info():

	* app/widgets/gimpimagedock.c: implement them and handle the
	"auto_follow_active" and "show_image_menu" properties.

	* app/widgets/gimpdockable.[ch]: added the same virtual functions
	to the GimpDockable class. Enables forward-compatible per-dockable
	session management (bug #122964).

	* app/gui/dialogs-commands.c
	* app/gui/gui.c: changed accordingly.

	* etc/sessionrc: ditto. Look at this file and update your own
	sessionrc manually if you don't want to lose it.
2003-10-10 15:59:12 +00:00
Henrik Brix Andersen 4ac8c82501 removed the grid parasite related functions from here ...
2003-10-10 Henrik Brix Andersen <brix@gimp.org>

* app/core/gimpimage-grid.[ch]: removed the grid parasite related
functions from here ...

* app/core/gimpgrid.[ch]: ... and added them here. While I was at
it I also changed PROP_TYPE to PROP_STYLE and added blurbs to the
properties

* app/xcf/xcf-load.c
* app/display/gimpdisplayshell.c: changed accordingly

* app/widgets/Makefile.am
* po/POTFILES.in
* app/widgets/widgets-types.h
* app/widgets/gimpgrideditor.[ch]: added a new GimpGridEditor
widget - with a work-around for the fact that
gimp_prop_coordinated_new() doesn't accept boundaries

* app/gui/grid-dialog.h
* app/gui/grid-dialog.c (grid_dialog_new): use the new
GimpGridEditor widget, take a GimpImage as function parameter,
assume GimpImages always have a GimpGrid. This simplifies the grid
dialog.

* app/gui/image-commands.c
(image_configure_grid_cmd_callback): changed accordingly

* app/core/core-types.h: moved typedef GimpGrid from here ...

* app/config/config-types.h: ... to here to be able to use it in
GimpCoreConfig

* app/config/gimprc-blurbs.h
* app/config/gimpcoreconfig.[ch]: added default_grid member

* app/widgets/gimphelp-ids.h
* themes/Default/images/preferences/Makefile.am
* themes/Default/images/default-grid.png
* app/gui/preferences-dialog.c: added UI for specifying default
image grid

* app/core/gimpimage.c (gimp_image_new): create a GimpGrid from
core_config->default_grid

* app/gui/image-menu.c (image_menu_update): the grid/guide entries
in <Image>/View/ should always be sensitive ...

* app/display/gimpdisplayshell.c (gimp_display_shell_init):
... but the grid entries should be disabled by default
2003-10-10 14:11:47 +00:00
Michael Natterer d1ba870458 added a GimpContainer of tool options presets.
2003-09-29  Michael Natterer  <mitch@gimp.org>

	* app/core/gimptoolinfo.[ch]: added a GimpContainer of tool
	options presets.

	* app/core/gimptooloptions.[ch] (gimp_tool_options_set_property):
	silently accept setting the *same* tool_info again.

	(gimp_tool_options_build_filename): is public now.

	* app/tools/gimp-tools.c (gimp_tools_restore,save): load and save
	the presets container.

	* app/gui/tool-options-dialog.[ch]: removed.

	* app/gui/tool-options-commands.[ch]
	* app/gui/tool-options-menu.[ch]: new files implementing a menu
	for the new GimpToolOptionsEditor widget. Has submenus for saving,
	loading, and deleting tool options to/from the
	tool_info->options_presets container.

	* app/gui/Makefile.am
	* app/gui/dialogs-constructors.c
	* app/gui/menus.c: changed accordingly.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptooloptionseditor.[ch]: the tool options dialog
	as proper widget. The "Load" and "Save" buttons still do the same
	stuff as before. Will make them use the new presets since making
	them do something useful was the reason for this whole change.

	* app/widgets/gimphelp-ids.h: added missing help IDs for the tool
	options dialog.
2003-09-29 20:26:09 +00:00
Simon Budig 7c3b455924 "The last of the Oldenburg commits"
2003-09-28  Simon Budig  <simon@gimp.org>

	"The last of the Oldenburg commits"

	Thanks to the team of the Oldenburg Linux Developers Meeting 2003
	for providing a nice hacking environment.

	* app/vectors/gimpvectors.c: Add a default stock_id.

	* app/widgets/gimppreviewrenderervectors.[ch]: New Widget
	to render the preview of vectors. Just renders a stock item
	now, since I was unable to figure out how to properly draw
	in the GtkWidget.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: Changed accordingly.

	* app/widgets/gimppreviewrenderer-utils.c: Use the new widget.

	* app/core/gimpscanconvert.c
	* app/core/gimpdrawable-stroke.c: Use higher prescision for
	libart-stroking vectors. Reduces artefacts.

	* app/pdb/paths_cmds.c
	* libgimp/gimppaths_pdb.c: Regenerated after Tors changes.
2003-09-28 04:00:50 +00:00
Michael Natterer d2b8494a29 derive it from GimpViewable.
2003-09-27  Michael Natterer  <mitch@gimp.org>

	* app/core/gimppaintinfo.[ch]: derive it from GimpViewable.

	* app/core/gimptoolinfo.c (gimp_tool_info_new): set the
	paint_info's stock_id from the tool_info's stock_id.

	* app/widgets/widgets-types.h: resurrected GimpItemStrokeFunc.

	* app/widgets/gimpvectorstreeview.[ch]: added a item_stroke_func
	pointer and use it instead of implementing stroking here.

	* app/gui/vectors-commands.[ch]: added vectors_stroke_vectors()
	which has the signature of a GimpItemStrokeFunc.

	* app/gui/dialogs-constructors.c: use it for the paths dialog.

	* app/gui/stroke-dialog.[ch]: extended to handle both libart and
	GimpPaintCore stroking. Use a GimpContainerMenu view on the
	gimp->paint_info_list container to select the paint core to use.
2003-09-27 13:46:30 +00:00
Sven Neumann a411575e18 app/widgets/Makefile.am app/widgets/widgets-types.h added a (yet
2003-09-26  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpstrokeeditor.[ch]: added a (yet rudimentary)
	widget to view/edit a GimpStrokeOption.

	* app/widgets/gimptemplateeditor.[ch]: derive it directly from
	GtkVBox; it doesn't need any GimpEditor functionality.
2003-09-26 17:33:49 +00:00
Michael Natterer 47ba171afd app/display/display-types.h app/tools/tools-types.h
2003-09-07  Michael Natterer  <mitch@gimp.org>

	* app/display/display-types.h
	* app/tools/tools-types.h
	* app/vectors/vectors-types.h
	* app/widgets/widgets-types.h: removed some forgotten cruft.

	* app/vectors/gimpbezierstroke.h
	* app/vectors/gimpstroke.h
	* app/vectors/gimpvectors.h: added class struct typedefs here.
2003-09-07 10:29:10 +00:00
Michael Natterer 6031629bd3 removed.
2003-09-06  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimppreviewrenderertextlayer.[ch]: removed.

	* app/widgets/gimppreviewrendererlayer.[ch]: new renderer which
	renders all kinds of layers and uses GIMP_STOCK_FLOATING_SELECTION
	for floating selections.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimppreviewrenderer-utils.c: changed accordingly.
2003-09-06 22:02:12 +00:00
Michael Natterer dcb6f225d9 added new virtual function GimpItem::stroke().
2003-09-01  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpitem.[ch]: added new virtual function
	GimpItem::stroke().

	* app/core/gimpchannel.c
	* app/vectors/gimpvectors.c: implement GimpItem::stroke().

	* app/core/gimpimage-mask.[ch] (gimp_image_mask_stroke): changed
	signature to match gimp_item_stroke() (the selection mask *really*
	should be a GimpChannel subclass).
	Removed global variable "gboolean gimp_image_mask_stroking"...

	* app/core/gimpimage.[ch]: ...and added "gboolean mask_stroking"
	to the GimpImage struct.

	* app/gui/vectors-commands.[ch]: removed vectors_stroke_vectors().

	* app/widgets/widgets-types.h: removed GimpStrokeItemFunc typedef.

	* app/widgets/gimpvectorstreeview.[ch]: removed "stroke_item_func"
	member and use gimp_item_stroke() instead.

	* app/gui/dialogs-constructors.c (dialogs_vectors_list_view_new)
	* app/gui/edit-commands.c (edit_stroke_cmd_callback)
	* app/gui/vectors-commands. (vectors_stroke_cmd_callback)
	* app/widgets/gimpselectioneditor.c
	(gimp_selection_editor_stroke_clicked)
	* tools/pdbgen/pdb/edit.pdb (gimp_edit_stroke): changed accordingly.

	* app/pdb/edit_cmds.c: regenerated.

	Note that there is no GUI for "stroke channel", although it would
	be utterly cool to have one, since currently slelection stroking
	cannot be masked by a selection (because we stroke the selection).
	Anyway, if anyone has an idea how to trigger "stroke channel" with
	another drawable active (the one to stroke to), please let me
	know...
2003-09-01 17:56:44 +00:00
Michael Natterer 878ee7b03e app/gui/Makefile.am removed...
2003-07-07  Michael Natterer  <mitch@gimp.org>

	* app/gui/Makefile.am
	* app/gui/device-status-dialog.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpdevicestatus.[ch]: ...added here as widget. The
	thing is narrower now but not nicer and needs some polishing.

	* app/widgets/gimppropwidgets.[ch]: added gimp_prop_color_area_new()
	and gimp_prop_stock_image_new() (the latter is still unused).

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: made the device status a dockable.

	* app/gui/dialogs-menu.c
	* app/gui/image-menu.c
	* app/gui/toolbox-menu.c: changed accordingly.

	* app/gui/gui.c: update the device status dialog indirectly now
	using the new gui_device_change_notify() callback.
2003-07-07 13:37:19 +00:00
Michael Natterer 69539fc5c4 added GimpMenuPositionFunc typedef.
2003-07-02  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

	* app/widgets/gimpcolormapeditor.c
	* app/widgets/gimpcomponenteditor.c
	* app/widgets/gimpcontainereditor.c
	* app/widgets/gimpdockbook.c
	* app/widgets/gimperrorconsole.c
	* app/widgets/gimpgradienteditor.c
	* app/widgets/gimpitemtreeview.c
	* app/widgets/gimppaletteeditor.c: pass NULL, NULL as
	position_func and position_data so the default implementation is
	used.
2003-07-02 12:03:56 +00:00
Michael Natterer 5e950b5501 Cleaned up and improved the message system:
2003-06-13  Michael Natterer  <mitch@gimp.org>

	Cleaned up and improved the message system:

	* app/core/gimp.[ch]: added "const gchar *domain" to
	GimpMessageFunc (a NULL domain means the message is from the GIMP
	core, everything else is a plug-in).

	* app/errors.c: pass "domain == NULL" to gimp_message().

	* tools/pdbgen/pdb/message.pdb: derive the message domain from the
	current plug-in's menu_path (evil hack but works reasonably well).

	* app/pdb/message_cmds.c: regenerated.

	* app/widgets/gimpwidgets-utils.[ch] (gimp_message_box): added a
	header showing the message domain and changed the dialog layout to
	follow the HIG more closely.

	* app/gui/error-console-dialog.[ch]: removed.

	* app/widgets/gimperrorconsole.[ch]
	* app/gui/error-console-commands.[ch]
	* app/gui/error-console-menu.[ch]: new files containing a
	re-implementation of the error console dialog.

	* app/gui/Makefile.am
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c
	* app/gui/menus.c
	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h: changed accordingly.

	* app/display/gimpprogress.c: added more spacing and removed the
	separator (more HIG compliant).

	* plug-ins/[most plug-ins].c: Changed lots of messages and
	progress strings:

	- Removed plug-in names from messages since that's automatically
	  covered by "domain" now.
	- Put all filenames in ''.
	- Changed "Loading" to "Opening".
	- Added "..." to all progress messages.
	- Cleaned up all file open/save error messages to look the
	  same and include g_strerror(errno).
	- Removed special casing for progress bars and *always* show them,
	  not only if run_mode != GIMP_RUN_NONINTERACTIVE (we can't expect
	  all plug-ins to do this correctly but need to hack the core to
	  sort out unwanted progress bars).

	Unrelated:

	- Cleaned up indentation, spacing, #includes, coding style and
	  other stuff while I was at all these files.
2003-06-13 14:37:00 +00:00
Sven Neumann 46d726d098 app/widgets/gimpvectorstreeview.h moved function definitions to the
2003-06-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpvectorstreeview.h
	* app/widgets/widgets-types.h: moved function definitions to the
	widgets-types header file.

	* app/gui/dialogs-constructors.c
	* app/widgets/gimpselectioneditor.[ch]: added a "Selection to
	Path" button as suggested in bug #112448.
2003-06-02 17:57:11 +00:00
Michael Natterer d47eedc279 app/widgets/Makefile.am app/widgets/widgets-types.h new widget chopped out
2003-04-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptemplateeditor.[ch]: new widget chopped out
	of file-new-dialog.c

	* app/gui/file-new-dialog.c: use it.
2003-04-11 13:17:23 +00:00
Michael Natterer 2598142564 added gimp_context_type_to_prop_name().
2003-04-10  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpcontext.[ch]: added gimp_context_type_to_prop_name().

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpviewablebutton.[ch]: new widget implementing
	the wheel-scrollable preview button.

	* app/tools/gimptextoptions.c
	* app/tools/paint_options.[ch]: removed the code implementing the
	same and use GimpViewableButton.

	* app/tools/tool_manager.c: added the font to the context
	properties which are remembered per tool. Added an evil hack
	using g_object_set_data() to pass the global_dock_factory to
	tool option GUI constructors.
2003-04-10 10:34:56 +00:00
Michael Natterer 99d93b9255 added vitrual function GimpViewable::get_description() which returns the
2003-04-08  Michael Natterer  <mitch@gimp.org>

	* app/core/gimpviewable.[ch]: added vitrual function
	GimpViewable::get_description() which returns the string that
	should be presented to the user plus an optional tooltip with more
	information. The default implementation just returns the object's
	name and no tooltip.

	* app/core/gimpbrush.c
	* app/core/gimpbuffer.c
	* app/core/gimpimage.c
	* app/core/gimppalette.c
	* app/core/gimppattern.c
	* app/core/gimptoolinfo.c: implement get_description().

	* app/core/gimpimagefile.[ch]: ditto. Renamed
	gimp_imagefile_get_description() to
	gimp_imagefile_get_desc_string(). Well, um, gimme a better name...

	* app/gui/file-open-dialog.c: changed accordingly.

	* app/file/file-utils.[ch]: renamed readXVThumb() to
	file_utils_readXVThumb().

	* tools/pdbgen/pdb/fileops.pdb: changed accordingly.

	* app/widgets/widgets-types.h: removed GimpItemGetNameFunc typedef.

	* app/widgets/gimpcontainerview-utils.[ch]: removed the the actual
	get_name_funcs. They now live in the core as
	GimpViewable::get_description() implementations.

	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainergridview.c
	* app/widgets/gimpcontainermenuimpl.c
	* app/widgets/gimpcontainertreeview.c
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpmenuitem.[ch]
	* app/widgets/gimpviewabledialog.c: removed get_name_func stuff
	and use gimp_viewable_get_description().

	* app/widgets/gimpcontainermenu.[ch]: added "preview_border_width"
	to gimp_container_menu_set_preview_size().

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

	* app/pdb/fileops_cmds.c: regenerated.
2003-04-08 16:01:01 +00:00
Michael Natterer 9827ceac0e added gimp_list_uniquefy_name() utility function.
2003-04-06  Michael Natterer  <mitch@gimp.org>

	* app/core/gimplist.[ch]: added gimp_list_uniquefy_name() utility
	function.

	* app/core/gimpdatalist.c
	* app/core/gimpitem.c: use it here instead of duplicating almost
	the same code.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimptemplateview.[ch]: new widget for editing the
	template list.

	* app/gui/dialogs-constructors.c: use it.

	* app/gui/Makefile.am
	* app/gui/templates-commands.[ch]
	* app/gui/templates-menu.[ch]: new files implementing the context
	menu for the template list.

	* app/gui/menus.c: register the new menu with the menu factory.

	* app/gui/file-commands.c (file_new_template_callback): uniquefy
	the new template's name.

	* app/gui/documents-commands.c: fixed typo.
2003-04-06 11:21:56 +00:00
Sven Neumann a93e91f38e themes/Default/images/Makefile.am
2003-03-31  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-text-dir-ltr-24.png
	* themes/Default/images/stock-text-dir-rtl-24.png: placeholders
	for new icons.

	* libgimpwidgets/gimpstock.[ch]: register the new icons.

	* themes/Default/gtkrc: tweak GtkDialog in "gimp-default-style".

	* app/text/text-enums.[ch]
	* app/text/gimptext.[ch]
	* app/text/gimptextlayout.c: added new enum GimpTextDirection and
	use it instead of PangoDirection.

	* app/widgets/widgets-types.h
	* app/widgets/gimptexteditor.[ch]: made GimpTextEditor a real widget
	and added buttons to switch the text direction.

	* app/tools/gimptextoptions.[ch]
	* app/tools/gimptexttool.c: moved creation of the text editor to the
	text tool options, take care of GimpText::base-direction here.
2003-03-31 15:10:15 +00:00
Michael Natterer d1c99beeb4 allow to create a GimpContainerEditor without a popup menu.
2003-03-22  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpcontainereditor.c: allow to create a
	GimpContainerEditor without a popup menu.

	* app/widgets/gimpcellrendererviewable.c: free the event we
	got from gdk_get_current_event().

	* app/widgets/gimpcontainerview.c: check view->hash_table for
	being non-NULL before using it. Be prepared to be destroyed by as
	a result of calling gimp_context_set_foo(view->context, foo).

	* app/widgets/gimpcontainertreeview.[ch]: added
	tree_view->editable_cells and handle *all* mouse clicks in
	gimp_container_tree_view_button_press() (by returning TRUE). Start
	editing on double-click only. Use gtk_tree_view_set_cursor()
	instead of gtk_tree_selection_select_path() to avoid
	selected/focus confusion when the focus enters the widget. Be
	prepeared to be destroyed as a result of item selection.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcontainerpopup.[ch]: new GtkWindow derived
	widget which pops up a selection of any GimpContainer/GimpContext
	combo.

	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpitemtreeview.c: add the name cell to
	tree_view->editable_cells so it becomes editable.

	* app/tools/gimpblendoptions.c
	* app/tools/paint_options.c: use the new container popup for
	selecting brushes and gradients.
2003-03-22 16:26:11 +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 205cdf1353 Added GtkTreeView versions of layers/channels/vectors:
2003-03-16  Michael Natterer  <mitch@gimp.org>

	Added GtkTreeView versions of layers/channels/vectors:

	* app/core/core-enums.[ch]: renamed GIMP_UNDO_GROUP_LAYER_PROPERTIES
	to GIMP_UNDO_GROUP_ITEM_PROPERTIES.

	* app/core/gimpcontainer.c (gimp_container_reorder): don't try
	to reorder containers with num_children == 1.

	* app/core/gimpmarshal.list: added VOID: STRING, UINT marshaller.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpchanneltreeview.[ch]
	* app/widgets/gimpdrawabletreeview.[ch]
	* app/widgets/gimpitemtreeview.[ch]
	* app/widgets/gimplayertreeview.[ch]
	* app/widgets/gimpvectorstreeview.[ch]: new widgets.

	* app/widgets/gimpcellrenderertoggle.c: draw the frame only if the
	cell is prelit.

	* app/widgets/gimpcellrendererviewable.[ch]: added "clicked"
	signal, unref the renderer in finalize(). Set the renderer's
	border color to black if the cell is not selected (a hack that
	saves tons of code in GimpLayerTreeView).

	* app/widgets/gimpcomponenteditor.c: no need to gtk_list_store_set()
	stuff we just got from the store.

	* app/widgets/gimpcontainertreeview.[ch]: added lots of state used
	by the new subclasses to the GimpContainerTreeView struct.  Create
	the GtkListStore/GtkTreeView in GObject::constructor() and only
	collect parameters in init() so subclasses can modify store/view
	creation. Do most of the button_press_event stuff manually and
	return TRUE from the handler.

	* app/widgets/gimpcontainerview.c: cleanup.

	* app/widgets/gimpitemlistview.h
	* app/widgets/gimpvectorslistview.h: temp hacks before they die.

	* app/widgets/gimppreviewrenderer.[ch]: added
	gimp_preview_renderer_update_idle() which idle-emits "update"
	without invalidating.

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: added constructors for the new dialogs.

	* app/gui/channels-commands.c
	* app/gui/channels-menu.c
	* app/gui/layers-commands.c
	* app/gui/layers-menu.c
	* app/gui/vectors-commands.c
	* app/gui/vectors-menu.c: accept tree views as callback data.
2003-03-16 11:14:29 +00:00
Sven Neumann a83554d056 app/widgets/Makefile.am app/widgets/widgets-types.h added a new
2003-03-12  Sven Neumann  <sven@gimp.org>

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpcellrenderertoggle.[ch]: added a new cell_renderer
	derived from GtkCellRendererToggle.

	* app/widgets/gimpcomponenteditor.c: use the new cell_renderer.

	* app/widgets/gimpcellrendererviewable.[ch]: fixed a few typos and
	removed some redundant casts.
2003-03-12 19:02:51 +00:00
Michael Natterer f2ca257438 added descriptions to the GimpChannelType enum.
2003-03-12  Michael Natterer  <mitch@gimp.org>

	* app/core/core-enums.[ch]: added descriptions to the
	GimpChannelType enum.

	* app/core/gimpimage.[ch]: added gimp_image_get_component_index()
	utility function which does the GIMP_RED_CHANNEL -> RED_PIX etc.
	mapping. Use it in all component getters/setters.

	* app/widgets/gimpcomponenteditor.[ch]: new widget implementing
	the component list using GtkListStore/GtkTreeView. Still a bit
	ugly because it uses the standard check instead of the eye icon.

	* app/widgets/gimpcomponentlistitem.[ch]: removed.

	* app/widgets/Makefile.am
	* app/widgets/widgets-types.h
	* app/widgets/gimpvectorslistview.c: changed accordingly.

	* app/widgets/gimpchannellistview.[ch]: create a GimpComponentEditor
	and removed the old GtkList based stuff.

	* app/widgets/gimpitemlistview.[ch]: keep around a pointer to the
	GimpMenuFactory passed to the constructor.

	* app/gui/channels-menu.c (channels_menu_update): do the right
	thing if "data" is a GimpComponentEditor.

	* app/gui/channels-commands.[ch]: ditto. Implemented duplicating
	of components and component to selection (bug #61018).
2003-03-12 17:12:01 +00:00