Commit Graph

38 Commits

Author SHA1 Message Date
Michael Natterer 7de3392e26 remove the window state callback here...
2008-03-25  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell-callbacks.[ch]: remove the window
	state callback here...

	* app/display/gimpdisplayshell.c: ...add it here and turn it into
	a GtkWidget::window_state_event() implementation instead of a
	signal callback.


svn path=/trunk/; revision=25223
2008-03-25 13:42:40 +00:00
Sven Neumann 7c3819d467 moved handling of window state events to a separate callback.
2008-03-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.[ch]: 
	* app/display/gimpdisplayshell.c (gimp_display_shell_init): moved
	handling of window state events to a separate callback.

svn path=/trunk/; revision=25221
2008-03-25 13:12:36 +00:00
Sven Neumann 41237259c9 In all files, changed the standard copyright notice to say "GIMP - The GNU
2006-12-09  Sven Neumann  <sven@gimp.org>

        * In all files, changed the standard copyright notice to say
        "GIMP - The GNU Image Manipulation Program".
2006-12-09 21:33:38 +00:00
Michael Natterer 1adf3d71af Did a global s/qmask/quick-mask/:
2005-09-19  Michael Natterer  <mitch@gimp.org>

	Did a global s/qmask/quick-mask/:

	* app/actions/qmask-actions.[ch]
	* app/actions/qmask-commands.[ch]
	* app/core/gimpimage-qmask.[ch]
	* menus/qmask-menu.xml
	* themes/Default/images/stock-qmask-off-16.png
	* themes/Default/images/stock-qmask-on-16.png: removed.

	* app/actions/quick-mask-actions.[ch]
	* app/actions/quick-mask-commands.[ch]
	* app/core/gimpimage-quick-mask.[ch]
	* menus/quick-mask-menu.xml
	* themes/Default/images/stock-quick-mask-off-16.png
	* themes/Default/images/stock-quick-mask-on-16.png: added.

	* app/actions/Makefile.am
	* app/actions/actions.c
	* app/core/Makefile.am
	* app/core/core-enums.[ch]
	* app/core/gimpchannel.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimpimage-undo.c
	* app/core/gimpimage.[ch]
	* app/core/gimpundo.[ch]
	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-callbacks.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.[ch]
	* app/menus/menus.c
	* app/widgets/gimphelp-ids.h
	* libgimpwidgets/gimpstock.[ch]
	* menus/Makefile.am
	* menus/image-menu.xml.in
	* themes/Default/images/Makefile.am: changed accordingly.
2005-09-19 12:44:06 +00:00
Michael Natterer 9ce333eb75 don't connect to "event" and don't connect any canvas event to
2004-11-09  Michael Natterer  <mitch@gimp.org>

	* app/display/gimpdisplayshell.c (gimp_display_shell_new): don't
	connect to "event" and don't connect any canvas event to
	gimp_display_shell_events(). Connect all tool events separately
	(doesn't include "configure-event" and thus fixes bug #141543).

	* app/display/gimpdisplayshell-callbacks.c
	(gimp_display_shell_canvas_tool_events): call
	gimp_display_shell_events() manually before doing tool event
	processing.

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-callbacks.[ch]: connect to
	"size_allocate" of the canvas, not to "configure_event"
	(suggested by Owen in bug #141543).

	* app/display/gimpdisplayshell-callbacks.[ch]: removed
	gimp_display_shell_popup_menu().

	(gimp_display_shell_origin_button_press): emit "popup-menu" on the
	shell manually instead of calling above function.

	* app/display/gimpdisplayshell.c: added the whole menu popup code
	here.
2004-11-09 11:38:29 +00:00
Michael Natterer 9fe8e84963 app/actions/view-actions.c added actions & callbacks to configure the
2004-06-22  Michael Natterer  <mitch@gimp.org>

	* app/actions/view-actions.c
	* app/actions/view-commands.[ch]: added actions & callbacks to
	configure the canvas padding color.

	* app/widgets/gimphelp-ids.h
	* menus/image-menu.xml.in: added the actions' help IDs and menu entries.

	* app/display/display-enums.h: added /*< skip >*/'ed enum value
	GIMP_CANVAS_PADDING_MODE_RESET.

	* app/display/gimpdisplayshell-appearance.c
	* app/display/gimpdisplayshell-callbacks.[ch]
	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell.[ch]: removed the canvas padding
	button and its popup menu (fixes bug #142996). Instead, added a
	toggle button which allows to zoom the image when the window is
	resized (as known from sodipodi, except it doesn't work as nice
	yet :-) improvements to the algorithm are welcome).
	Cleaned up the GimpDisplayShell struct a bit and renamed some
	of its members.

	* libgimpwidgets/gimpstock.[ch]
	* themes/Default/images/Makefile.am
	* themes/Default/images/stock-zoom-follow-window-12.png: added new
	icon for the new display toggle button.
2004-06-22 16:31:27 +00:00
Sven Neumann 3d526e741c app/display/gimpdisplayshell-callbacks.[ch] override
2003-02-25  Sven Neumann  <sven@gimp.org>

	* app/display/gimpdisplayshell-callbacks.[ch]
	* app/display/gimpdisplayshell.c: override GtkWidget::popup_menu()
	so we popup the Image menu on the default shortcut (Shift F10).

	* app/gui/image-menu.c (image_menu_entries): removed or replaced
	shortcuts that use the Alt key. Added access keys to all toplevel
	entries of the Image menu (see bug #106991).

	* app/gui/tools-commands.[ch]: removed "Swap Contexts" functionality.

	* app/widgets/gimpselectioneditor.[ch]: moved "Invert" button.
2003-02-25 19:12:11 +00:00
Michael Natterer 4ce4adf87d removed gimp_config_values_equal().
2002-11-23  Michael Natterer  <mitch@gimp.org>

	* app/config/gimpconfig-utils.[ch]: removed
	gimp_config_values_equal().

	* app/config/gimpconfig-serialize.c
	* app/config/gimpconfig.c: use g_param_values_cmp() instead so
	our registered compare methods are used.

	* app/config/gimpdisplayconfig.[ch]: added "canvas_padding_mode"
	and "canvas_padding_color" properties.

	* app/display/display-enums.[ch]: added enum GimpDisplayPaddingMode
	which can be one of { theme, light check, dark check, custom }.

	* app/display/gimpdisplay.h
	* app/display/gimpdisplay-handlers.c: removed cached monitor
	resolution values...

	* app/display/gimpdisplayshell.[ch]: ...and added them here. Added
	padding state as in GimpDisplayConfig. Added utility function
	gimp_display_shell_set_padding() which hides all the details.
	Added the new padding modes to the padding color button's context
	menu.

	* app/display/gimpdisplayshell-callbacks.[ch]: don't fiddle
	with colors manually but use gimp_display_shell_set_padding()
	in realize() and in the color button callbacks.

	* app/display/gimpdisplayshell-handlers.c: connect to
	notify::monitor-[xy]resolution and
	notify::canvas-padding-[mode|color] and update accordingly.

	* app/widgets/gimppropwidgets.[ch]: added
	gimp_prop_color_button_new().

	* app/widgets/gimpdialogfactory.[ch]: added
	gimp_dialog_factories_session_clear() (unimplemented).

	* app/gui/preferences-dialog.c: added widgets for padding mode and
	color. Removed some callbacks by connecting the functions they
	called directly. Cleanup.
2002-11-23 22:22:21 +00:00
Michael Natterer 53a4fafe3b Fix for #85202:
2002-06-19  Michael Natterer  <mitch@gimp.org>

	Fix for #85202:

	Updating the active tool's modifier state on GTK_ENTER_NOTIFY and
	GTK_LEAVE_NOTIFY was a bad idea because this only works with
	focus-follows-mouse.  Instead, update it during the whole time the
	canvas can receive key events, namely from FOCUS_IN until
	FOCUS_OUT. As an ugly side condition, click-to-focus leads to
	GDK_BUTTON_PRESS arriving before GDK_FOCUS_CHANGE(in).

	* app/display/gimpdisplayshell-callbacks.[ch]: removed the
	separate focus_in and focus_out callbacks and handle them in
	gimp_display_shell_canvas_tool_events(). Moved tool state updating
	from the ENTER/LEAVE code to FOCUS_CHANGE. Added an ugly static
	variable "button_press_before_focus" and take care of the side
	condition mentioned above.

	* app/display/gimpdisplayshell.c: changed accordingly.
2002-06-19 21:19:49 +00:00
Michael Natterer c86ca2da6a app/Makefile.am removed...
2002-05-05  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphelp.[ch]: removed...

	* app/widgets/Makefile.am
	* app/widgets/gimphelp.[ch]: ...and added here.

	* app/widgets/widgets-enums.[ch]: added GimpHelpBrowserType here
	as registered enum. Added an evil hack with GimpCursorType so
	app/config/gimpguiconfig.h can include this file.

	* app/widgets/gimpcursor.c: added an assertion because of the
	changed GimpCursorType.

	* app/config/gimpguiconfig.[ch]: added a property for the help
	browser type.

	* app/gimprc.c
	* app/libgimp_glue.c
	* app/gui/preferences-dialog.c
	* tools/pdbgen/pdb/help.pdb

	* app/pdb/help_cmds.c: regenerated.

	Some nav_window cleanup before chopping:

	* app/nav_window.[ch]: removed the old preview code and use
	GimpNavigationPreviews only. Namespaceified all functions. Speak
	in terms of GimpDisplayShell, not GimpDisplay. Lots of internal
	cleanup.

	* app/gui/gui-types.h: removed NadiagtionDialog here...

	* app/display/display-types.h: ...and added it here.

	* app/display/gimpdisplayshell-callbacks.[ch]: added a callback
	for the navigation button and call nav_window_show_popup() from there.

	* app/display/gimpdisplayshell.c: free shell->nav_dialog
	unconditionally, connect to the new callback.

	* app/display/gimpdisplayshell-scale.c
	* app/display/gimpdisplayshell-scroll.c
	* app/gui/view-commands.c: changed accordingly.

	* app/widgets/gimppreview.c (gimp_preview_set_viewable): the
	assertion introduced recently was too tight, breaking
	GimpNavigationPreview. Changed it to do an "is a" check, not exact
	preview type matching.

	* app/widgets/gimpimagepreview.c: added quick-hack support for
	xres != yres.

	* app/widgets/gimpnavigationpreview.[ch]: made
	gimp_navigation_preview_grab_pointer() public so the nav_window
	can call it.

	Unrelated:

	* app/display/gimpdisplay.c: removed the gui/ dependency from this
	file by removing info_window stuff.

	* app/display/gimpdisplayshell.c (gimp_display_shell_flush): update
	the info_window here.

	* app/gui/dialogs-constructors.c (dialogs_indexed_palette_new): call
	gimp_dockable_set_context() like all other constructors.

	* app/undo.c
	* app/paint/gimppaintcore.h: some more include cleanup.
2002-05-05 19:17:41 +00:00
Michael Natterer 744726d4c3 Sven Naumann <sven@gimp.org>
2002-02-28  Michael Natterer  <mitch@gimp.org>
            Sven Naumann  <sven@gimp.org>

	* configure.in
	* themes/Default/images/Makefile.am
	* themes/Default/images/preferences/Makefile.am: new directory
	for themeable preferences icons.

	* themes/Default/images/preferences/default-comment.png
	* themes/Default/images/preferences/display.png
	* themes/Default/images/preferences/environment.png
	* themes/Default/images/preferences/folders.png
	* themes/Default/images/preferences/help-system.png
	* themes/Default/images/preferences/image-windows.png
	* themes/Default/images/preferences/interface.png
	* themes/Default/images/preferences/monitor.png
	* themes/Default/images/preferences/new-image.png
	* themes/Default/images/preferences/session.png
	* themes/Default/images/preferences/tool-options.png: added some
	GPL icons from Jimmac's site (http://jimmac.musichall.cz/).

	* app/gui/gui.[ch]: added gui_themes_get_theme_dir() so we can find
	icons which are loaded on demand.

	* app/gui/preferences-dialog.c: added the icons to the tree and
	the notebook page headers. Cleaned up and reduced the code a lot
	by adding utility functions prefs_table_new() and
	prefs_check_button_new().

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-callbacks.[ch]: added a "Default"
	menu entry to the display's color button context menu so we can
	reset the padding color to the theme's bg color.
2002-02-28 13:47:03 +00:00
Michael Natterer cacbd302e8 app/Makefile.am removed.
2001-11-30  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/colormaps.[ch]: removed.

	* app/app_procs.c: don't call it.

	* app/gui/gui.c: configure GdkRGB here.

	* app/display/gimpdisplayshell.c
	* app/display/gximage.c
	* app/gui/color-notebook.c
	* app/gui/color-select.c
	* app/gui/colormap-dialog.c
	* app/gui/info-window.c
	* app/gui/preferences-dialog.c
	* app/tools/gimpmovetool.c
	* app/display/gimpdisplayshell-selection.c: changed accordingly
	(simply removed the unneded include or use
	gdk_gc_set_rgb_[fg|bg]_color() instead).

	* app/display/gimpdisplayshell.c
	* app/display/gimpdisplayshell-callbacks.[ch]: chopped
	gimp_display_shell_canvas_events() in smaller callbacks. Only the
	events that trigger tool actions are handled in a single callback.
2001-11-30 16:39:40 +00:00
Michael Natterer bba8413773 app/core/Makefile.am new files: the QMask stuff stripped from GUI code.
2001-11-30  Michael Natterer  <mitch@gimp.org>

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

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

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

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

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

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

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

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

	Changed the way context menus are updated/shown:

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

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

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

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

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

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

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

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

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

	* app/gui/toolbox.c: no need to include "dialogs-commands.h".
2001-11-30 14:41:56 +00:00
Michael Natterer 4403d58a62 Wishlist item #57669:
2001-11-16  Michael Natterer  <mitch@gimp.org>

	Wishlist item #57669:

	* app/gimprc.[ch]: replaced gimprc option "allow-resize-windows"
	by "resize-windows-on-zoom" and "resize-windows-on-resize".

	* app/gui/preferences-dialog.c: added a toggle for
	"resize-windows-on-resize".

	* app/display/gimpdisplayshell-handlers.c
	* app/display/gimpdisplayshell-scale.c
	* app/tools/gimpmagnifytool.c
	* docs/gimprc.5.in
	* etc/gimprc.in
	* etc/gimprc.win32: changed accordingly.

	* app/display/gimpdisplay-area.[ch]: added gimp_area_new().

	* app/display/gimpdisplay.c: cleanup usage of GimpArea.

	* app/display/gimpdisplayshell.[ch]: added configurable canvas
	padding color and a small color_panel to change it in the upper
	right corner of the window.

	* app/display/gimpdisplayshell-callbacks.[ch]: added a callback
	for the color_panel, initialize the color in the "realize"
	callback.

	Wishlist item #51548.

	* app/display/gimpdisplayshell-selection.[ch]
	* app/gui/menus.c
	* app/gui/view-commands.[ch]: made the layer boundary toggleable
	separately from the selection.

	* app/gui/color-notebook.c: #if 0'ed a debugging g_print().
2001-11-16 15:08:59 +00:00
Michael Natterer 02fde14c95 build display/ before tools/.
2001-11-08  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am: build display/ before tools/.

	* app/devices.c: devices_check_change(): added all events
	which have a GdkDevice pointer.

	* app/gimpprogress.c: include "display-types.h" instead of
	"core-types.h".

	* app/core/Makefile.am
	* app/core/gimpdrawable-bucket-fill.[ch]: new files: the bucket_fill
	stuff taken from tools/gimpbucketfilltool.[ch].

	* app/core/core-types.h: added "BucketFillMode".

	* app/core/gimpimage-mask-select.[ch]: cleanup.

	* app/core/gimpmarshal.list: added more marshallers for GimpTool's
	new signal signatures.

	* app/core/gimpmarshal.[ch]: regenerated.

	* app/display/Makefile.am
	* app/display/gimpdisplayshell-dnd.[ch]
	* app/display/gimpdisplayshell-layer-select.[ch]: new files: the
	canvas drop callbacks from gimpdisplayshell-callbacks.[ch] and
	the stuff formerly knows as gui/layer-select.[ch].

	* app/display/gimpdisplay.h: don't include "gui/gui-types.h".

	* app/display/gximage.c: include "display-types.h".

	* app/display/gimpdisplay-foreach.c
	* app/display/gimpdisplayshell.[ch]: call gdsplay_delete(), don't
	destroy the shell widget.

	* app/gui/Makefile.am
	* app/gui/layer-select.[ch]: removed.

	* app/gui/gradients-commands.c: fixed "Save as POV" fprintf()s.

	* app/gui/preferences-dialog.c: removed the layer_select stuff
	because it is useless with the new preview system.

	* app/gui/tool-options-dialog.c: send the correct data to the
	close_callback.

	* app/gui/tools-commands.c: changed to follow the new
	gimp_tool_initialize() semantics (see below).

	Tool & canvas event handling chainsawing:

	* app/tools/tools-types.h: new struct GimpCoords which contains
	x, y, pressure, tilt etc.

	* app/display/gimpdisplayshell-callbacks.[ch]: added utility
	functions which transparently retreive the current event's
	GimpCoords or take it from the device directly if the event has
	none. Pass GimpCoords _in_image_coordinates_ to all tool
	functions.

	Most important: don't pass GdkEvents and display coordinates to
	tools any more.

	* app/tools/gimptool.[ch]: changed virtual functions to take
	GimpCoords, time and state separately instead of GdkEvents.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.[ch]
	* app/tools/gimpbycolorselecttool.c
	* app/tools/gimpclonetool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpconvolvetool.c
	* app/tools/gimpcroptool.[ch]
	* app/tools/gimpcurvestool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpdrawtool.c
	* app/tools/gimpeditselectiontool.[ch]
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.[ch]
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c
	* app/tools/gimppathtool.[ch]
	* app/tools/gimprectselecttool.c
	* app/tools/gimprotatetool.c
	* app/tools/gimpselectiontool.[ch]
	* app/tools/gimpsmudgetool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.[ch]
	* app/tools/path_tool.[ch]
	* app/tools/selection_options.c: tons and tons of changes:

	- changed to use the new virtual function parameters.
	- removed zillions of gdisplay_untransform_coords().
	- get the active drawable's offsets manually in many cases.
	  (questionable, but IMHO ok because it's obvious and not simply a
	  "TRUE" passed to some function)
	- reordered some functions to be consistent across tools.
	- some tools had to be changed to work on image coords, not
	  display ones (esp. crop).
	- fixed strange rotate tool behaviour which should be backported
	  to stable.
	- some stuff i came across.
	- indentation and other paranoia.
	- rounding of coordinated may be broken in some tools.
	- new bugs guaranteed.

	* app/tools/tool_manager.[ch]: new semantic of
	tool_manager_initialize_active() (looked at the places where it
	was used from and put common code together). Should be a bit
	better now :)

	* app/tools/gimpblendtool.c
	* app/tools/transform_options.c: use the new GTK+ feature that a
	widget (toggle button) can be a frame's title for this tools' tool
	options.

	* app/widgets/widgets-types.h: stuff.

	* themes/Default/gtkrc: s/GtkDialog/GimpDialog/.

	* tools/pdbgen/Makefile.am: don't scan tools/gimpbucketfilltool.h
	any more.

	* tools/pdbgen/enums.pl: regenerated.

	* tools/pdbgen/pdb/tools.pdb: changed bucket_fill wrapper.

	* app/pdb/tools_cmds.c: regenerated.
2001-11-08 19:14:51 +00:00
Michael Natterer d162376d47 app/display/Makefile.am app/display/gimpdisplay-callbacks.[ch]
2001-11-01  Michael Natterer  <mitch@gimp.org>

	* app/display/Makefile.am
	* app/display/gimpdisplay-callbacks.[ch]
	* app/display/gimpdisplay-render.[ch]
	* app/display/gimpdisplay-scale.[ch]
	* app/display/gimpdisplay-scroll.[ch]: removed and added as
	gimpdisplayshell-foo.[ch] because they are all methods of the
	shell.

	* app/display/gimpdisplay.[ch]
	* app/display/gimpdisplayshell.[ch]: moved the "offset" and "size"
	variables from GimpDisplay to GimpDisplayShell. GimpDisplay
	should know nothing about screen coordinates.

	The gdisplay_[un]transform_foo() methods are still part of
	GimpDisplay but will be moved to GimpDisplayShell as soon as the
	tools' vitrual functions speak in image coordinates instead of
	GdkEvents.

	* app/display/gimpdisplayshell-callbacks.[ch]: prefixed all
	functions with gimp_display_shell_*. Moved some stuff to a
	"realize" callback File still has to be renamed.

	* app/display/gimpdisplay-foreach.[ch]: removed
	gdisplays_shrink_wrap().

	* app/gui/menus.c
	* app/gui/view-commands.[ch]
	* app/display/gimpdisplayshell-scale.[ch]: implemented "Zoom to
	Fit Window" function (#57670).

	* app/nav_window.c
	* app/display/gimpdisplay-handlers.c
	* app/display/gimpdisplayshell-render.[ch]
	* app/display/gimpdisplayshell-scale.[ch]
	* app/display/gimpdisplayshell-scroll.[ch]
	* app/gui/colormap-dialog.c
	* app/gui/gui.c
	* app/gui/preferences-dialog.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmovetool.c
	* app/widgets/gimppreview.c: changed according to variable
	and filename changes.

	* app/tools/tool_manager.c: tool_manager_select_tool(): send the
	active tool a "HALT" command before selecting the new one. Fixes
	stale tool dialogs which were there because some other hack was
	removed (This is IMHO the right place to shut down the active
	tool).

	* app/tools/gimpcroptool.c: don't shrink wrap after cropping but
	let gimprc.allow_resize_windows decide.

	* app/tools/gimpselectiontool.c: gimage_mask_value() takes image,
	not screen coordinates. A good example of how braindead it is to
	pass GdkEvents to tools :-) Fixes incorrect cursor and oper
	update of the selection tools.

	* app/tools/gimptransformtool.c
	* app/undo.c: removed (#if 0 for now) some strange code which did
	manual exposing of GimpDisplayShell areas. This was definitely a
	hack and should not be there given the image emits correct
	"update" signals.
2001-11-02 09:31:21 +00:00
Michael Natterer cbce339039 fscking broken pipe... 2001-10-31 21:20:09 +00:00
Michael Natterer b2215a1f8b renamed it to GimpDisplay and made it a GimpObject subclass.
2001-09-25  Michael Natterer  <mitch@gimp.org>

	* app/gdisplay.[ch]: renamed it to GimpDisplay and made it a
	GimpObject subclass.

	* app/disp_callbacks.[ch]
	* app/gdisplay_ops.[ch]
	* app/scale.[ch]
	* app/scroll.[ch]
	* app/display/display-types.h: changed accordingly.

	* app/core/gimpimage.[ch]: new signal "selection_control".

	* app/core/core-types.h: moved the SelectionControl enum and all
	other core enums here.

	* app/gui/gui.c: connect to the images' "selection_control" signal
	and call gdisplays_selection_visibility().

	* app/core/gimpcontext.c
	* app/core/gimpdrawable-offset.h
	* app/core/gimpimage-convert.h
	* app/core/gimpimage-mask.c
	* app/core/gimplayer.c
	* app/tools/gimpeditselectiontool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpmovetool.c
	* app/tools/gimppainttool.c: changed accordingly.

	* app/gui/colormap-dialog.[ch]: GObject porting.

	* tools/pdbgen/Makefile.am: removed headers which no longer
	contain enums.

	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/drawable.pdb: include files which are no longer
	included automatically by the enum voodoo.

	* app/pdb/convert_cmds.c
	* tools/pdbgen/enums.pl: regenerated.
2001-09-25 17:44:03 +00:00
Michael Natterer d128e9895b register the button icons with GTK_ICON_SIZE_BUTTON, but set them as
2001-08-05  Michael Natterer  <mitch@gimp.org>

	* libgimpwidgets/gimpstock.[ch]: register the button icons with
	GTK_ICON_SIZE_BUTTON, but set them as scalable fallbacks for
	themselves so they get scaled for menus.

	* app/gui/menus.c: set stock icons for much more menu entries.

	* app/widgets/gimpwidgets-utils.[ch]: new utility function
	gimp_item_factory_popup_with_data().

	* app/disp_callbacks.[ch]
	* app/gui/brushes-commands.c
	* app/gui/channels-commands.c
	* app/gui/gradients-commands.c
	* app/gui/layers-commands.c
	* app/gui/palettes-commands.c
	* app/gui/paths-dialog.c
	* app/gui/patterns-commands.c: use the new function.

	* app/tools/gimpcolorbalancetool.c
	* app/tools/gimpcurvestool.c
	* app/tools/gimphuesaturationtool.c
	* app/tools/gimplevelstool.c
	* app/tools/gimpposterizetool.c: s/_("Reset")/GIMP_STOCK_RESET/

	* app/widgets/gimpcontainereditor.[ch]
	* app/widgets/gimpcontainerview.[ch]: moved the button_box utility
	functions from the container editor to GimpContainerView itself.

	* app/widgets/gimpbufferview.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimpcomponentlistitem.c
	* app/widgets/gimpcontainergridview.[ch]
	* app/widgets/gimpdatafactoryview.c
	* app/widgets/gimpdrawablelistitem.c
	* app/widgets/gimpdrawablelistview.[ch]
	* app/widgets/gimplayerlistitem.c
	* app/widgets/gimplayerlistview.c: changed accordingly. Removed
	lots of duplicated code and use stock images instead of pixmaps.

	* libgimpwidgets/gimpfileselection.[ch]
	* libgimpwidgets/gimppatheditor.c: use stock images instead of
	pixmaps.

	* pixmaps/Makefile.am: removed "yes" and "no", added "stroke".

	* pixmaps/anchor.xpm
	* pixmaps/delete.xpm
	* pixmaps/lower.xpm
	* pixmaps/new.xpm
	* pixmaps/paste-as-new.xpm
	* pixmaps/paste-into.xpm
	* pixmaps/paste.xpm
	* pixmaps/raise.xpm
	* pixmaps/refresh.xpm
	* pixmaps/toselection.xpm: made them all 16x16 so they are scaled
	nicely in menus. Should probably be 18x18.
2001-08-04 20:38:54 +00:00
Michael Natterer e94f175120 allow a NULL gimage argument for gimp_edit_paste_as_new() (don't set
2001-07-02  Michael Natterer  <mitch@gimp.org>

	* app/global_edit.c: allow a NULL gimage argument for
	gimp_edit_paste_as_new() (don't set resolution and unit).

	* app/disp_callbacks.[ch]
	* app/interface.c: allow dropping of a GimpBuffer (pastes the
	buffer).

	* app/gui/toolbox.c: ditto (creates a new image).
2001-07-02 20:57:58 +00:00
Michael Natterer 637c714ab9 removed some forgotten tools types.
2001-05-13  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h: removed some forgotten tools types.

	* app/tools/tools-types.h: and added them here.

	* app/interface.c
	* app/disp_callbacks.[ch]: ported dropping of drawables to the
	new DND system.

	* app/app_procs.c
	* app/core/gimpdatafactory.c
	* app/core/gimpimage-duplicate.c
	* app/core/gimptoolinfo.h
	* app/gui/gui.c
	* app/tools/tool_options.c
	* app/widgets/gimpchannellistview.c
	* app/widgets/gimplayerlistview.c: removed/fixed includes.

	* app/gui/brush-select.[ch]
	* app/gui/pattern-select.[ch]: removed the display of the current
	name (done by the grid view now).

	* app/gui/palette-select.c: fixed palette preview size.

	* app/gui/dialogs-constructors.c: added get_name() functions for
	brushes, patterns, images and palettes.

	* app/widgets/gimpcontainergridview.[ch]: added a label for the
	name of the active item.

	* app/widgets/gimpdnd.[ch]: removed the old drawable DND preview
	icon code.

	* tools/pdbgen/app.pl: braino: the $tool_eek hack has to be
	initialized to 0 at the beginning of each file, otherwise we end
	up including "tools/tools-types.h" everywhere.

	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/text_tool.pdb
	* tools/pdbgen/pdb/tools.pdb: add "tools/tools-types.h" where needed.

	* app/pdb/color_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c
	* app/pdb/plug_in_cmds.c
	* app/pdb/procedural_db_cmds.c
	* app/pdb/selection_cmds.c
	* app/pdb/undo_cmds.c
	* app/pdb/unit_cmds.c: regenerated.
2001-05-13 11:35:20 +00:00
Michael Natterer 07b8ffd4bd don't #include "gui/color-select.h"
2001-05-03  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c: don't #include "gui/color-select.h"

	* app/disp_callbacks.[ch]: renamed gdisplay_drop_viewable() to
	gdisplay_drop_pattern().

	* app/gimpimage.[ch]: added new signals
	"component_visibility_changed" and "component_active_changed" and
	emit them in the resp. accessors.

	* app/interface.c: removed old GimpPreview test code.

	* app/widgets/Makefile.am
	* app/apptypes.h
	* app/widgets/gimpchannellistview.[ch]
	* app/widgets/gimpcomponentlistitem.[ch]: new (unfinished) widgets.

	* app/widgets/gimpdockbook.c: switch to the right-clicked notebook
	page before showing the menu.

	* app/widgets/gimpdrawablelistitem.[ch]: removed the protected
	functions which make the toggle buttons look nicer...

	* app/widgets/gimplistitem.[ch]: ...and added them here.

	* app/widgets/gimpdrawablelistview.[ch]: virtualized set_image()
	so subclasses can properly (dis)connect on image change.

	* app/widgets/gimpdrawablepreview.c
	* app/widgets/gimpimagepreview.[ch]: removed the calc_size()
	functions which calculate the preview's aspect ratio...

	* app/widgets/gimppreview.[ch]: ...and added then here as
	protected functions.

	* app/widgets/gimplayerlistitem.c: flush displays after changing
	the layer mask's "apply" or "show" state.
2001-05-03 12:26:05 +00:00
Michael Natterer 1edef6d18f removed all brush, pattern, gradient and palette DND functions because
2001-02-20  Michael Natterer  <mitch@gimp.org>

	* app/gimpdnd.[ch]: removed all brush, pattern, gradient and palette
	DND functions because there are generic GimpViewable DND functions
	now.

	* app/disp_callbacks.[ch]
	* app/interface.c: changed accordingly.
2001-02-19 23:37:49 +00:00
Michael Natterer 78a8bb4c70 app/Makefile.am new object.
2001-02-04  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimppattern.[ch]: new object.

	* app/apptypes.h: added GimpPattern, removed GPattern.

	* app/patterns.[ch]: contains only the "patterns_()" functions for
	the global pattern list, s/pattern_list/global_pattern_list/g

	* app/brushes.[ch]: s/brush_list/global_brush_list/g

	* app/pattern_select.[ch]
	* app/gimpcontext.[ch]: connect to the Patterns' and the pattern
	list's signals.

	* app/brush_select.[ch]
	* app/devices.c
	* app/disp_callbacks.[ch]
	* app/gimpbrush.c
	* app/gimpbrushgenerated.[ch]
	* app/gimpcontextpreview.[ch]
	* app/gimpdnd.[ch]
	* app/indicator_area.c
	* app/pdb/brush_select_cmds.c
	* app/pdb/brushes_cmds.c
	* app/pdb/pattern_select_cmds.c
	* app/pdb/patterns_cmds.c
	* app/tools/bucket_fill.c
	* app/tools/clone.c
	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* po/POTFILES.in: changed accordingly.
2001-02-04 17:34:30 +00:00
Michael Natterer 8571f45c77 app/color_notebook.[ch] app/gimpcontext.[ch] made the _set_color() and
2001-01-20  Michael Natterer  <mitch@gimp.org>

	* app/color_notebook.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdnd.h: made the _set_color() and _drop_color() functions
	take a "const GimpRGB *" parameter.

	* app/by_color_select.c
	* app/channels_dialog.c
	* app/color_area.c
	* app/color_panel.c
	* app/color_picker.c
	* app/color_select.c
	* app/colormap_dialog.c
	* app/disp_callbacks.[ch]
	* app/gimpimage.h
	* app/palette.c: changed accordingly.

	* app/gradient.c
	* app/gradientP.h
	* app/gradient_header.h: use GimpRGB internally.
2001-01-20 15:37:26 +00:00
Michael Natterer dc9cf1a222 app/color_notebook.[ch] app/color_panel.[ch] app/gimpcontext.[ch] use
2001-01-15  Michael Natterer  <mitch@gimp.org>

	* app/color_notebook.[ch]
	* app/color_panel.[ch]
	* app/gimpcontext.[ch]
	* app/gimpdnd.[ch]: use GimpRGB instead of a random selection out of
	guchar, gint, guchar[], blah...

	* app/blend.c
	* app/by_color_select.c
	* app/channel_ops.c
	* app/channels_dialog.c
	* app/color_area.c
	* app/color_picker.c
	* app/color_select.c
	* app/colormap_dialog.c
	* app/commands.c
	* app/devices.[ch]
	* app/disp_callbacks.[ch]
	* app/drawable.c
	* app/gimpimage.c
	* app/gimprc.c
	* app/gradient.c
	* app/paint_core.c
	* app/palette.c
	* app/palette_cmds.c
	* app/qmask.c
	* tools/pdbgen/pdb/palette.pdb: changed accordingly.
2001-01-15 01:48:53 +00:00
Michael Natterer ab014f8b3a app/by_color_select.c app/channels_dialog.c app/color_area.c
2001-01-07  Michael Natterer  <mitch@gimp.org>

	* app/by_color_select.c
	* app/channels_dialog.c
	* app/color_area.c
	* app/color_notebook.[ch]
	* app/color_panel.[ch]
	* app/color_picker.c
	* app/color_select.c
	* app/colormap_dialog.i.c
	* app/devices.c
	* app/disp_callbacks.[ch]
	* app/gimpdnd.[ch]
	* app/palette.c
	* app/qmask.c

	* libgimp/gimpcolorselector.h

	* modules/colorsel_gtk.c
	* modules/colorsel_triangle.c
	* modules/colorsel_water.c: made the color_notebook, the color_area
	and DND speak in terms of RGBA instead of GRB. The alpha value is
	not used yet, only the API changed. Everything should work exactly
	as before.
2001-01-07 21:07:14 +00:00
Michael Natterer 8d6c335f8f app/Makefile.am app/channel_pvt.h app/drawable_pvt.h app/gdisplayF.h
2000-12-29  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/channel_pvt.h
	* app/drawable_pvt.h
	* app/gdisplayF.h
	* app/gimpdrawableP.h
	* app/gimpimageP.h
	* app/layer_pvt.h
	* app/toolsF.h: removed these files.

	* app/apptypes.h
	* tools/pdbgen/enums.pl: added tons of opaque typedefs and enums.

	* tools/pdbgen/pdb/brush_select.pdb
	* tools/pdbgen/pdb/brushes.pdb
	* tools/pdbgen/pdb/channel.pdb
	* tools/pdbgen/pdb/color.pdb
	* tools/pdbgen/pdb/convert.pdb
	* tools/pdbgen/pdb/display.pdb
	* tools/pdbgen/pdb/drawable.pdb
	* tools/pdbgen/pdb/fileops.pdb
	* tools/pdbgen/pdb/gradient_select.pdb
	* tools/pdbgen/pdb/gradients.pdb
	* tools/pdbgen/pdb/help.pdb
	* tools/pdbgen/pdb/image.pdb
	* tools/pdbgen/pdb/layer.pdb
	* tools/pdbgen/pdb/pattern_select.pdb
	* tools/pdbgen/pdb/patterns.pdb
	* tools/pdbgen/pdb/selection.pdb
	* tools/pdbgen/pdb/tools.pdb
	* app/*: chainsaw #include cleanup:

	- Never (never!!) include stuff in header files except where we
	  need access to structures' contents (like derived objects).
	- Added prototypes and proper formating in many files.
	- The #include order in *all* *.c files is as follows:

	#include "config.h"

	#include <system stuff>

	#include <gtk/gtk.h>

	#include "apptypes.h"

	#include "gimp stuff"

	#include "libgimp stuff"

	#include "libgimp/gimpintl.h"

	By following this scheme we can easily see a file's dependencies
	from it's #include's and can grep for the inclusion to find out
	where a file is used.

	* tools/pdbgen/app.pl: changed to follow the include scheme above.

	* libgimp/Makefile.am
	* libgimp/gimpuitypes.h: new file, included from libgimp/gimpui.h
	and from app/apptypes.h.

	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimpparasite.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimpprotocol.c
	* libgimp/gimpquerybox.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimptypes.h
	* libgimp/gimpui.h
	* libgimp/gimpunit.h
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: changed accordingly.

	* plug-ins/FractalExplorer/Dialogs.c
	* plug-ins/gdyntext/message_window.c
	* plug-ins/imagemap/imap_default_dialog.c
	* plug-ins/imagemap/imap_file.c: these files used to include
	"libgimp/gimpui.h" without including "libgimp/gimp.h". This is
	no longer possible because the libgimpui headers don't inlcude
	"libgimp/gimpunit.h" any more.
2000-12-29 15:22:01 +00:00
Michael Natterer 79e27e984a More context & dnd stuff... 1999-10-28 15:05:49 +00:00
Michael Natterer a74d52fbbf Use the context almost everywhere. 1999-10-26 18:27:27 +00:00
Michael Natterer bb0447f165 app/channels_dialog.c app/color_area.c app/color_panel.c
1999-08-24  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/channels_dialog.c
	* app/color_area.c
	* app/color_panel.c
	* app/color_select.c
	* app/disp_callbacks.[ch]
	* app/gimpdnd.[ch]: pass the widget to the color dnd callbacks.

	* app/palette.c: color dnd for the palette dialog. Shift+click
	toggles setting the FG/BG color now.
1999-08-24 00:36:57 +00:00
Michael Natterer ef4cb06bb7 export bucket_fill_region().
1999-08-23  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/bucket_fill.[ch]: export bucket_fill_region().

	* app/channels_dialog.c: enabled dropping a color to a channel.

	* app/color_area.c
	* app/color_panel.c
	* app/gimpdnd.[ch]: the whole color dnd is now done in a generic
	function in gimpdnd.c (dnd of other types is still hacked in at
	various places but will go to generic functions and callbacks as
	well).

	* app/disp_callbacks.[ch]
	* app/interface.c: drop a color to the display to bucket fill the
	selected region.
1999-08-23 14:19:26 +00:00
Michael Natterer 311c83b0a4 app/Makefile.am new file containing the dnd data definitions.
1999-08-19  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpdnd.h: new file containing the dnd data definitions.

	* app/disp_callbacks.[ch]
	* app/interface.c: drop layers on the toolbox to create a new
	image and on the display to copy it to the image's layer stack.

	* app/layers_dialog.c: drop layer on the "New" button to create an
	empty layer with the dropped layer's properties, to "Duplicate" to
	duplicate it and on the trashcan to delete it.
	Thanks to Andy for the ultra-cool dnd preview pixmap patch.

	* app/layer.[ch]
	* app/undo.c: renamed layer_mask() to layer_get_mask(). Prototyped
	some function headers.

	* app/disp_callbacks.c: Wheelmouse stuff: Shift+wheel scales the
	display.

	* app/airbrush.c
	* app/eraser.c
	* app/paint_options.h
	* app/paintbrush.c
	* app/pencil.c
	* app/tool_options.c: moved the "Incremental" toggle to the
	PaintOptions structure because it is used more often now.
1999-08-19 19:53:30 +00:00
Michael Natterer e5408cac3e app/disp_callbacks.[ch] app/gimpset.c patch from
1999-06-03  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/disp_callbacks.[ch]
	* app/gimpset.c
	* app/interface.c: patch from <Simon.Budig@unix-ag.org>. Cleans up
	the active image implementation. Now the button and key events of
	the whole gdisplay shell are connected to a separate active image
	callback.

	Don't let the arrow button of the gdisplay grab the focus and
	block it's events after any button_press_event, so the canvas
	always owns the keyboard focus and the button never grabs the
	pointer.

	* app/gdisplay.c: correct sensitive setting for the Layers/Stack
	submenu.

	* app/interface.c: make the query boxes insensitive after pressing
	"OK" (may be useful if they're once used for operations which take
	longer than just shrink/grow/...).

	* app/layers_dialog.c: switch to the active image when the "Auto"
	button is activated.

	* app/menus.c: bound the <Image>/Layers/Stack menu to some
	<modifier>+PageUp/Down combinations.

	* app/preferences_dialog.c: pop up with the "Interface" branch
	expanded.
1999-06-03 18:28:39 +00:00
Manish Singh c5ac15e0a9 add declaration to get interface.c to compile
* app/disp_callbacks.h: add declaration to get interface.c to compile

* autogen.sh: make sure we know about ACLOCAL_FLAGS

* I went on a compiler warning pogrom

-Yosh
1998-06-09 11:41:13 +00:00
Owen Taylor f6a5a9383c app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
Fri Jun  5 22:37:40 1998  Owen Taylor  <otaylor@gtk.org>

	* app/Makefile.am app/app_procs.c app/brushes.c app/commands.[ch]
	  app/disp_callbacks.c app/gdisplay.[ch] app/gimprc.c
	  app/interface.[ch] app/menus.c app/paint_core.[ch]
	  app/paintbrush.c app/palette.c app/scroll.c
	  app/tools.[ch] app/undo.c

	- Added two new dialogs - input devices; (GtkInputDialog)
	  and DeviceStatus - which shows the tool/color for
	  each device.

	- Added device_status_update() call that gets called
	  whenever the tool/color etc. are changed.

	- Added ~/.gimp/devicerc file to store settings

	- Code to draw cursor on canvas for non XFree86 XInput
	  where device can't control cursor and extended input
	  device simultaneously.

	- Changed input handling so that we always use the pointer
	  position from the device, not from gdk_input_window_get_cursor,
	  so that motion and cursor position sync.

	- Various changes so things work with non-integer coordinates

	- Pay attention to pressure and tilt in basic tool support.

        - New paint mode PRESSURE that changes the brush based on
	  the brush pressure

	- Left in a few XInput hacks that should be removed, but I no longer
	  remember what they are.
1998-06-06 03:49:01 +00:00
Manish Singh 84abd5d700 Have fun recompiling gimp everyone. It's the great FSF address change!
-Yosh
1998-04-13 05:44:11 +00:00
Elliot Lee 32cefec8f7 Initial revision 1997-11-24 22:05:25 +00:00