Commit graph

39 commits

Author SHA1 Message Date
Sven Neumann 7f7440f03a suppress button_press events that reach the dockable widget but don't
2003-12-11  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_init): suppress
	button_press events that reach the dockable widget but don't
	originate from the title area.
2003-12-11 19:34:37 +00:00
Michael Natterer 964c83a82f Fixed intra-session position management for file dialogs and newly created
2003-11-24  Michael Natterer  <mitch@gimp.org>

	Fixed intra-session position management for file dialogs and newly
	created docks:

	* app/widgets/gimpdockable.c (gimp_dockable_detach)
	* app/gui/file-dialog-utils.c (file_dialog_new): don't call
	gtk_window_set_position() on session managed dialogs and docks.

	* app/widgets/gimpdialogfactory.c (gimp_dialog_factory_add_dialog):
	make sure new docks get GDK_HINT_USER_POS set so they remember
	their positions across hide/show.

	* app/widgets/gimpdock.c: removed unused disabled code.
2003-11-24 12:07:29 +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 fcc00c1def set a hand cursor on the title area to indicate that the dockable can be
2003-11-02  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_realize): set a hand
	cursor on the title area to indicate that the dockable can be
	dragged here.
2003-11-02 00:50:57 +00:00
Michael Natterer 42312ecac7 added new virtual function GimpDocked::get_title() which returns a custom
2003-10-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdocked.[ch]: added new virtual function
	GimpDocked::get_title() which returns a custom title. Added signal
	"title_changed". Added public wrappers around the new stuff.

	* app/widgets/gimpdockable.c: implement GtkContainer::add() and
	::remove() and connect to the child's "title_changed" signal. Use
	the GimpDocked's title if it provides one.

	* app/widgets/gimptooloptionseditor.c: implement
	GimpDocked::get_title() and return e.g. "Paintbrush Options". Emit
	"title_changed" when the active tool changes. Simplified
	GimpDocked::get_preview()'s implementation a lot since it does not
	include a label any more.
2003-10-21 14:49:12 +00:00
Sven Neumann 5b84acdc81 removed the "Select Tab" menu and all the evil hacks that were needed to
2003-10-18  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockbook.c: removed the "Select Tab" menu and
	all the evil hacks that were needed to make it work. Now that we
	have an extra dockable menu, the standard menu from GTK+ is good
	enough.

	* app/widgets/gimpdockable.c: added a tooltip to the close button
	and removed code that used to hide the "Select Tab" menu.

	* app/gui/dialogs-menu.c (dialogs_menu_entries): removed now unused
	"Select Tab" entry.
2003-10-18 22:12:32 +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
Michael Natterer 181a2c4820 added new pure virtual function GimpDock::setup() which configures a dock
2003-10-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdock.[ch]: added new pure virtual function
	GimpDock::setup() which configures a dock like a passed template
	dock.

	* app/widgets/gimpimagedock.c: implement it and set
	"show_image_menu" and "auto_follow_active" accordingly.

	* app/widgets/gimpdockable.c (gimp_dockable_detach): call
	gimp_dock_setup() to configure the new dock like the old one.
	Removed inclusion if "gimpimagedock.h".

	* app/gui/dialogs-commands.c: minor code cleanups.
2003-10-08 15:44:35 +00:00
Michael Natterer f65a7acbab new function. Need to include ugly stuff for proper GimpImageDock setup.
2003-10-07  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch] (gimp_dockable_detach): new
	function.  Need to include ugly stuff for proper GimpImageDock
	setup.

	* app/widgets/gimpdockbook.c (gimp_dockbook_menu_end): use
	gimp_dockable_detach() and removed the evil includes.

	* app/gui/dialogs-commands.c (dialogs_detach_tab_cmd_callback):
	implement it using gimp_dockable_detach().
2003-10-07 12:24:01 +00:00
Sven Neumann 914a29efd8 app/widgets/gimpdockbook.[ch] hide the GimpDockbook tabs when it holds
2003-10-05  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockbook.[ch]
	* app/widgets/gimpdockable.[ch]: hide the GimpDockbook tabs when
	it holds only a single dockable. Made the title area a drag source
	and let the whole GimpDockable accept drops of dockables.
2003-10-05 17:26:21 +00:00
Sven Neumann 1667acd36d accept NULL as blurb and use the name as fallback for a missing blurb.
2003-09-30  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_new): accept NULL
	as blurb and use the name as fallback for a missing blurb.

	* app/gui/dialogs-constructors.c: removed the "Foo List" and "Foo
	Grid" blurbs. Only left blurbs where the longer name makes sense.
2003-09-30 18:50:55 +00:00
Sven Neumann e0f2efdc29 added a utility function that positions a menu that pops up from a button
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpwidgets-utils.[ch]: added a utility function
	that positions a menu that pops up from a button widget.

	* app/display/gimpdisplayshell-callbacks.c
	* app/widgets/gimpdockable.c: use the new utility function instead
	of duplicating the code.
2003-09-23 20:27:12 +00:00
Sven Neumann a52de434be added the title pango layout to the GimpDockable struct. Made
2003-09-23  Sven Neumann  <sven@gimp.org>

	* app/widgets/gimpdockable.[ch]: added the title pango layout to
	the GimpDockable struct. Made gimp_dockable_menu_position() handle
	RTL layout correctly.

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_origin_menu_position): handle RTL layout.
2003-09-23 18:11:09 +00:00
Michael Natterer c5fd48f2fb added a "menu_title" which is registered with each menu.
2003-09-23  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpmenufactory.[ch]: added a "menu_title" which is
	registered with each menu.

	* app/widgets/gimpitemfactory.[ch]: added the title to the
	constructor and to the GimpItemFactory struct.

	* app/gui/menus.c: register titles with all menus.

	* app/widgets/gimpdockable.[ch]: show the tab menu, not the
	contained dialog's menu when clicking on the menu button.
	Embed the dialog's menu as submenu. Use the item_factory's
	title and the dockable's stock_id for the submenu entry.

	* app/widgets/gimpeditor.c: removed GtkWidget:popup_menu()
	implementation since that's done by GimpDockable now.

	* app/widgets/gimpdockbook.c: set the new menu item invisible
	when showing the menu as tab menu.

	* app/widgets/gimphelp-ids.h: added GIMP_HELP_DOCK_TAB_DETACH
	and renamed _TAB_REMOVE to _TAB_CLOSE.

	* app/gui/dialogs-menu.c: added the new menu entry for showing the
	dialog's sub-menu. Added a "Detach" menu item, renamed "Remove" to
	"Close". Accept both a GimpDockbook and a GimpDockable pointer as
	"data" in dialogs_menu_update().

	* app/gui/dialogs-commands.[ch]: changed accordingly. Never use
	gtk_item_factory_popup_data_from_widget() but always the "data"
	passed to the callbacks. Take care to not set the already active
	preview_size, tab_style and list/grid type in the resp. callbacks
	to avoid being called from dialogs_menu_update().

	* app/gui/dialogs-constructors.c: removed separate
	set_context_funcs and get_menu_funcs for GimpContainerView and
	GimpContainerEditor widgets and simply use
	gimp_container_view_get_by_dockable() to find the right widget.
2003-09-23 16:17:25 +00:00
Sven Neumann dab5b6e6db themes/Default/images/Makefile.am removed...
2003-09-23  Sven Neumann  <sven@gimp.org>

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-menu-12.png: removed...

	* themes/Default/images/stock-menu-left-12.png
	* themes/Default/images/stock-menu-right-12.png: and added again
	together with a flipped version.

	* libgimpwidgets/gimpstock.[ch]: register GIMP_STOCK_MENU_LEFT and
	GIMP_STOCK_MENU_RIGHT instead of GIMP_STOCK_MENU and swap the
	images for RTL layout.

	* app/widgets/gimpdockable.c: use GIMP_STOCK_MENU_LEFT here.

	* app/display/gimpdisplayshell.c: replaced the arrow in the
	display origin with the GIMP_STOCK_MENU_RIGHT icon.
2003-09-23 12:30:53 +00:00
Michael Natterer 47b1e3eef8 added a title bar showing the dockable's name, a "close" and a "menu"
2003-09-21  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: added a title bar showing the
	dockable's name, a "close" and a "menu" button. Not quite
	finished, but almost...

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

	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-close-12.png
	* themes/Default/images/stock-menu-12.png: new icons for the above.

	* libgimpwidgets/gimpstock.[ch]: register them.

	* themes/Default/gtkrc: remove any focus spacing from the
	dockables' new buttons since they can't get the focus anyway.
2003-09-21 19:35:54 +00:00
Michael Natterer f20ea3af76 default to GIMP_TAB_STYLE_PREVIEW. (gimp_dockable_new): fall back to _ICON
2003-09-02  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.c (gimp_dockable_init): default to
	GIMP_TAB_STYLE_PREVIEW.
	(gimp_dockable_new): fall back to _ICON if
	dockable->get_preview_func is NULL.

	* app/widgets/gimpdialogfactory.c
	(gimp_dialog_factories_restore_foreach): ditto.
2003-09-02 14:15:39 +00:00
Michael Natterer f5f67efae5 use GIMP_HELP_IMAGE_GRID.
2003-08-26  Michael Natterer  <mitch@gimp.org>

	* app/gui/grid-dialog.c: use GIMP_HELP_IMAGE_GRID.

	* app/gui/image-menu.c: fixed some help ID copy & paste bugs.

	* app/widgets/gimpdockable.c: forgot to actually set the help ID
	with gimp_help_set_help_data().
2003-08-26 01:30:05 +00:00
Michael Natterer 8c8274e27d added "gchar *help_id" member to the GimpDockable struct and "const gchar
2003-08-25  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: added "gchar *help_id" member to
	the GimpDockable struct and "const gchar *help_id" parameter to
	gimp_dockable_new().

	* app/widgets/gimphelp-ids.h: added help IDs for the tool list/grid
	and the palette editor.

	* app/widgets/gimpdockbook.c
	* app/gui/dialogs-constructors.c
	* app/gui/dialogs-menu.c: changed accordingly.
2003-08-25 14:18:33 +00:00
Michael Natterer 375d479dad extended GimpTabStyle enum so we are able to distinguish icon and preview
2003-08-15  Michael Natterer  <mitch@gimp.org>

	* app/widgets/widgets-enums.[ch]: extended GimpTabStyle enum so we
	are able to distinguish icon and preview tabs.

	* app/widgets/gimpdockable.[ch]: renamed GimpDockableGetIconFunc
	to GimpDockableGetPreviewFunc. Always create stock icons for
	"icon" tab styles and use the get_preview_func only for "preview"
	tab styles.

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

	* app/gui/dialogs-menu.c: Added "Current Status" options to the
	"Tab Style" menu and grey them out if the dockable has no
	get_preview_func.
2003-08-15 15:03:03 +00:00
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 fde9575781 derive it from GtkBin, not from GtkVBox. Removed "content_spacing" style
2003-04-11  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: derive it from GtkBin, not from
	GtkVBox. Removed "content_spacing" style property.

	* app/widgets/gimpcontainerview-utils.c
	* etc/gtkrc_user
	* themes/Default/gtkrc: changed accordingly.
2003-04-11 16:51:49 +00:00
Michael Natterer e9d617b5f2 Added "gpointer get_tab_data" to GimpDockableGetTabFunc and to
2003-04-08  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpdockable.[ch]: Added "gpointer get_tab_data" to
	GimpDockableGetTabFunc and to gimp_dockable_new().

	* app/gui/dialogs-constructors.c: changed accordingly. Replaced
	dialogs_[brush,pattern,gradient,palette,font]_tab_func() by
	dialogs_viewable_tab_func() which gets passed the GType as
	get_tab_data.
2003-04-08 19:54:22 +00:00
Michael Natterer b521746d29 We can always create GimpPreviews for any GtkIconSize, but not vice versa.
2002-05-10  Michael Natterer  <mitch@gimp.org>

	We can always create GimpPreviews for any GtkIconSize, but
	not vice versa. therefore:

	* app/widgets/gimpdockable.[ch]: changed the "gint size" parameter
	used for tab sizes to "GtkIconSize size" all over the place. Added
	"stock_id" in addition to "name" and "short_name".

	* app/widgets/gimpdockbook.c
	* app/widgets/gimpimagedock.c: use GtkIconSize instead of integer
	preview sizes for all widget style properties. Renamed them from
	"blah_height" to "blah_size" because "height" is an implementation
	detail.

	* app/gui/dialogs-constructors.c: changed calls to
	gimp_dockable_new() and all *_tab_func()s accordingly. Removed
	the hack for the navigation tab and added a general tab_func
	which returns a hbox with an icon & label.

	* app/gui/menus.c: made the dialog menus found under <Toolbox>,
	<Image> and <Dialogs> more consistent and added more stock icons.

	* etc/gtkrc_user
	* themes/Default/gtkrc: changed accordingly.
2002-05-10 14:50:27 +00:00
Michael Natterer 54c1b2d1a3 added Rebecca Walter (bex).
2001-11-26  Michael Natterer  <mitch@gimp.org>

	* tools/authorsgen/contributors: added Rebecca Walter (bex).

	* AUTHORS
	* app/gui/authors.h: regenerated.

	* app/widgets/widgets-types.h: added GimpPreviewSize enum.

	* app/gimprc.c
	* app/gui/menus.c
	* app/gui/preferences-dialog.c
	* app/widgets/gimpdockbook.c: use the new enum.

	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpmagnifytool.c: added "(<Ctrl>)" and "(<Alt>)" to
	some tool options strings.

	* app/tools/gimpmovetool.c: some more widgets for hidden tool
	options (#51108).

	* app/tools/transform_options.c: renamed to "Tool Paradigm" stuff
	to something more understandable.

	* app/widgets/gimpdock.c: added a style property for the height
	of the separator.

	* themes/Default/gtkrc: show how to use the new property.

	* app/widgets/gimpcontainerview.c
	* app/widgets/gimpdockable.c
	* app/widgets/gimplayerlistview.c: waste less lines when calling
	gtk_widget_style_get().
2001-11-26 13:17:18 +00:00
Michael Natterer 6670bca26b added a handler for GimpImage's "alpha_changed" signal (does nothing yet).
2001-10-17  Michael Natterer  <mitch@gimp.org>

	* app/widgets/gimpchannellistview.c: added a handler for GimpImage's
	"alpha_changed" signal (does nothing yet).

	* app/widgets/[lots of files]: somehow my last perl torturing
	removed my email address from the copyright notice. Another perl
	hack brought it back now :)
2001-10-17 16:11:28 +00:00
Michael Natterer 18dd072836 app/gimpprogress.[ch] s/GDisplay/GimpDisplay/
2001-10-16  Michael Natterer  <mitch@gimp.org>

	* app/gimpprogress.[ch]
	* app/undo.c: s/GDisplay/GimpDisplay/

	* app/plug_in.[ch]: removed unused boolean "destroy" field of
	the PlugIn struct.

	* app/core/gimpedit.c: don't include "app_procs.h"

	* app/display/gimpdisplay-callbacks.c: moved the "grab_abd_scroll"
	stuff from gimpdisplay-scroll.* here (less complicated and easier
	to cleanup...)

	* app/display/gimpdisplay-scroll.[ch]: removed here.

	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-selection.[ch]
	* app/display/gimpdisplayshell.c: s/GDisplay/GimpDisplay/g

	* app/display/gimpdisplay.[ch]: ditto, removed gdisplay_active()
	which was just a wrapper around
	"gimp_context_get_display (gimp_get_user_context (the_gimp))"
	(which is more to type but makes the use of the global
	"the_gimp" variable more obvious).

	* app/gui/color-area.h
	* app/gui/edit-commands.c
	* app/gui/file-commands.c
	* app/gui/file-dialog-utils.c
	* app/gui/image-commands.c
	* app/gui/info-window.h
	* app/gui/paths-dialog.h
	* app/gui/select-commands.c
	* app/gui/tool-options-dialog.c
	* app/gui/tools-commands.c
	* app/gui/view-commands.c: s/GDisplay/GimpDisplay/, gdisplay_active()
	removal, include "app_procs.h" for "the_gimp".

	* app/tools/gimpbezierselecttool.h
	* app/tools/gimpbrightnesscontrasttool.[ch]
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.[ch]
	* app/tools/gimpcurvestool.[ch]
	* app/tools/gimpeditselectiontool.h
	* app/tools/gimphistogramtool.[ch]
	* app/tools/gimphuesaturationtool.[ch]
	* app/tools/gimplevelstool.[ch]
	* app/tools/gimpmovetool.h
	* app/tools/gimpperspectivetool.h
	* app/tools/gimpposterizetool.[ch]
	* app/tools/gimprotatetool.h
	* app/tools/gimpscaletool.h
	* app/tools/gimpsheartool.h
	* app/tools/gimptexttool.h
	* app/tools/gimpthresholdtool.[ch]
	* app/tools/gimptool.[ch]
	* app/tools/gimptransformtool.h
	* app/tools/tool_manager.[ch]: lots of s/GDisplay/GimpDisplay/, made
	all *_dialog_hide() functions private, cleanup.

	* app/widgets/*: removed GtkType and gtk_type_* stuff entirely and
	use GObject functions, removed lots of empty "destroy" methods and
	use more type checking class cast macros instead of casting
	directly.

	* app/widgets/gimpcontainermenu.c: fixed item insert order.

	* app/widgets/gimphistogramview.[ch]: cleaned up and renamed all
	functions.

	* app/widgets/gimpwidgets-utils.[ch]: removed gimp_dialog_hide() as
	Gtk+ does the right thing (TM) now.

	* tools/pdbgen/pdb/color.pdb: implemented "histogram" without
	digging into tools/ and widgets/ (needs to be done for all
	color PDB functions).

	* tools/pdbgen/pdb/gimprc.pdb: no need to use "the_gimp" in a PDB
	function as a "Gimp" pointer is passed to them all.

	* tools/pdbgen/pdb/image.pdb: don't include "app_procs.h"

	* app/pdb/color_cmds.c
	* app/pdb/gimprc_cmds.c
	* app/pdb/image_cmds.c: regenerated.

	* app/pdb/procedural_db.c: don't include "app_procs.h"
2001-10-17 11:33:43 +00:00
Michael Natterer 2353c5d3e7 fix compiler warning.
2001-08-10  Michael Natterer  <mitch@convergence.de>

	* app/nav_window.c: fix compiler warning.

	* app/core/gimp.[ch]: added gimp->documents which will be an MRU
	list of GimpImagefile objects.

	* app/core/gimpcontainer.c: added some g_return_if_fail().

	* app/gui/palette-editor.c: use GtkImage instead of GtkPixmap,
	s/gtk_signal_*/g_signal_*/.

	* app/widgets/gimppreview.c: render the checkerboard only for
	channel == -1. In particular, don't render it for channel
	previews.

	* app/module_db.c
	* app/core/*.c
	* app/gui/colormap-dialog.c
	* app/tools/gimpairbrushtool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimperasertool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimpsmudgetool.c
	* app/tools/tool_manager.c
	* app/widgets/*.c
	* libgimpwidgets/*.c: s/gtk_type_new/g_object_new/
2001-08-10 14:41:39 +00:00
Michael Natterer a824143b20 set style properties for dockables.
2001-08-03  Michael Natterer  <mitch@gimp.org>

	* gtkrc: set style properties for dockables.

	* app/main.c: some #if 0'ed code for mem profiling.

	* app/gui/commands.[ch]
	* app/gui/menus.c: added a mem profiling menu entry + callback.

	* app/gui/palette-editor.c: added a #warning as reminder, use
	gtk_dialog_set_has_separator().

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdrawablelistview.[ch]: added some style
	properties to set GimpDockable and friends' borders and spacings.

	* libgimpwidgets/gimppixmap.[ch]
	* libgimpwidgets/gimpsizeentry.[ch]
	* libgimpwidgets/gimpunitmenu.[ch]: GObject stuff, cleanup.

	* app/docindex.c
	* app/errorconsole.c
	* app/gdisplay_color_ui.c
	* app/gimpprogress.c
	* app/module_db.c
	* app/undo_history.c
	* app/user_install.c
	* app/gui/channels-commands.c
	* app/gui/gradient-editor.c
	* app/gui/info-window.c
	* app/gui/tips-dialog.c
	* app/tools/gimpbrightnesscontrasttool.c
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphistogramtool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpposterizetool.c
	* app/tools/gimpthresholdtool.c
	* app/widgets/gimpdatafactoryview.c
	* libgimp/gimpexport.c
	* modules/cdisplay_gamma.c
	* modules/cdisplay_highcontrast.c
	* plug-ins/[lots of files]:

	Some perl mass processing applying s/_("Foo")/GTK_STOCK_FOO/g,
	minor manual cleanup in some files.
2001-08-03 19:43:19 +00:00
Michael Natterer e0d1c871c3 app/gui/dialogs-constructors.c removed debugging g_print().
2001-07-25  Michael Natterer  <mitch@gimp.org>

	* app/gui/dialogs-constructors.c
	* app/widgets/gimpdockable.c: removed debugging g_print().

	* app/widgets/gimpdock.c: ditto, fixed a crash caused by some
	intermediate porting hack.
2001-07-24 22:05:40 +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 8985b107c3 configure.in added new directory app/core/ for the core object system.
2001-05-09  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am: added new directory app/core/ for the core
	object system.

	* app/gimage_mask.[ch]
	* app/gimpbrush-header.h
	* app/gimpbrush.[ch]
	* app/gimpbrushgenerated.[ch]
	* app/gimpbrushpipe.[ch]
	* app/gimpchannel.[ch]
	* app/gimpcontainer.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.h
	* app/gimpdrawable-desaturate.[ch]
	* app/gimpdrawable-equalize.[ch]
	* app/gimpdrawable-invert.[ch]
	* app/gimpdrawable-offset.[ch]
	* app/gimpdrawable-preview.[ch]
	* app/gimpdrawable.[ch]
	* app/gimpgradient.[ch]
	* app/gimpimage-convert.[ch]
	* app/gimpimage-duplicate.[ch]
	* app/gimpimage-undo.[ch]
	* app/gimpimage.[ch]
	* app/gimplayer.[ch]
	* app/gimplayermask.[ch]
	* app/gimplist.[ch]
	* app/gimpmarshal.[ch]
	* app/gimpobject.[ch]
	* app/gimppalette-import.[ch]
	* app/gimppalette.[ch]
	* app/gimppattern-header.h
	* app/gimppattern.[ch]
	* app/gimpundo.[ch]
	* app/gimpundostack.[ch]
	* app/gimpviewable.[ch]: removed these files...

	* app/core/*: ...and added them here.

	* app/*.c
	* app/gui/*.c
	* app/pdb/*.c
	* app/tools/*.c
	* app/widgets/*.c
	* plug-ins/common/gbr.c
	* plug-ins/common/gih.c
	* plug-ins/common/pat.c
	* po/POTFILES.in
	* tools/pdbgen/Makefile.am
	* tools/pdbgen/enums.pl
	* tools/pdbgen/pdb.pl
	* tools/pdbgen/pdb/*.pdb: changed accordingly.
2001-05-09 02:32:03 +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 90e8b4d790 cleanup.
2001-04-22  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: cleanup.

	* app/interface.c: #include "gimpui.h"

	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c
	* app/gui/menus.c
	* app/gui/test-commands.[ch]: changes for the image menu below.

	* app/apptypes.h
	* app/widgets/Makefile.am
	* app/widgets/gimpcontainermenu.[ch]
	* app/widgets/gimpcontainermenuimpl.[ch]: new widgets. The actual
	implemtation lives in a separate file because
	gimpcontainermenu.c's code is identical to gimpcontainerview.c's
	except for the base class. This will become an interface with Gtk 2.0.

	* app/widgets/gimpimagedock.[ch]: a dock with an image menu. The
	pages still don't follow the context correctly.

	* app/widgets/gimpmenuitem.[ch]: a menu item with a preview.

	* app/widgets/gimpdialogfactory.[ch]: pass a dock constructor to
	the constructor and provide a method to create a new dock within
	this factory's context.

	* app/widgets/gimpdock.[ch]: removed the constructor because we
	create only image docks now. Put the vbox into a main_vbox (which
	also contains the image menu).

	* app/widgets/gimpdockbook.[ch]: create new docks with the dialog
	factory.

	* app/gimpcontainer.[ch]
	* app/gimpdata.[ch]
	* app/gimpdatafactory.[ch]
	* app/gimpdatalist.[ch]
	* app/gimplist.[ch]
	* app/gimpviewable.[ch]
	* app/widgets/gimpbrushpreview.[ch]
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpcontainerlistview.[ch]
	* app/widgets/gimpcontainerview.[ch]
	* app/widgets/gimpdatafactoryview.[ch]
	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdrawablelistitem.[ch]
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimpdrawablepreview.[ch]
	* app/widgets/gimplayerlistitem.[ch]
	* app/widgets/gimplayerlistview.[ch]
	* app/widgets/gimplistitem.[ch]
	* app/widgets/gimppalettepreview.[ch]
	* app/widgets/gimppatternpreview.[ch]
	* app/widgets/gimppreview.[ch]: ass-sign some copyrights.
2001-04-22 00:38:56 +00:00
Michael Natterer aa77e7140d grouped the files together which will go to gui/.
2001-04-15  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: grouped the files together which will go to gui/.

	* app/widgets/gimpdialogfactory.[ch]: maintain a list of open
	GimpDocks for session management.

	* app/widgets/gimpdock.c: register open docks with the dialog
	factory.

	* app/widgets/gimpdockable.[ch]
	* app/widgets/gimpdockbook.c: pass a pointer to the GimpDockbook
	to the GimpDockable's "get_tab" function because the function is
	called before the dockable is added to the dockbook.

	* app/test_commands.c
	* app/gui/dialogs-constructors.[ch]
	* app/gui/dialogs.c: changed accordingly.
2001-04-15 16:16:13 +00:00
Michael Natterer 4d33754a37 app/Makefile.am app/apptypes.h new object (the notebook separated out of
2001-04-10  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/apptypes.h
	* app/gimpdockbook.[ch]: new object (the notebook separated out
	of gimpdock.[ch]).

	* app/gimpdnd.h: new DND type "DIALOG".

	* app/gimpdock.[ch]
	* app/gimpdockable.[ch]: DND mostly works now.

	* app/menus.c
	* app/test_commands.[ch]: updated.
2001-04-10 16:03:40 +00:00
Michael Natterer 1187328dee configure.in app/Makefile.am app/paint-funcs/.cvsignore made the
2001-04-07  Michael Natterer  <mitch@gimp.org>

	* configure.in
	* app/Makefile.am
	* app/paint-funcs/.cvsignore
	* app/paint-funcs/Makefile.am: made the paint-funcs directory compile
	so Prof can continue hacking it. The old stuff still needs to be
	removed.

	* app/apptypes.h
	* app/gimpdock.[ch]
	* app/gimpdockable.[ch]: new widgets (not used yet).

	* app/menus.c
	* app/test_commands.[ch]: untested testing code for the new widgets.
2001-04-07 14:44:12 +00:00