Commit Graph

76 Commits

Author SHA1 Message Date
Michael Natterer c73b233f8a app/color_select.c app/colormaps.[ch] removed unused global variables
2000-04-26  Michael Natterer  <mitch@gimp.org>

	* app/color_select.c
	* app/colormaps.[ch]
	* app/context_manager.c: removed unused global variables
	[foreground|background]_pixel and [old|new]_color_pixel.

	Initialize the colormap and visual stuff with GdkRGB instead of
	GtkPreview functions (which are deprecated).

	* app/[62 files]: removed #include's (started with colormaps.h and
	couldn't stop). Also ordered them consistently and did some small
	unrelated cleanups.
	Removed variuos <stdlib.h> et.al. but checked the files carefully
	before doing so. If I was too radical and you get warnings on your
	platform, please flame me or just put them back :)
2000-04-27 17:27:28 +00:00
Michael Natterer 554b9a344e s/0/FALSE/
2000-04-15  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.c: s/0/FALSE/

	* app/gdisplay_ops.c (gdisplay_shrink_wrap): removed all the
	gtk_drawing_area_size(), show/hide and gtk_main_iteration() stuff
	and don't touch the drawing area at all.

	Instead, use brute force on gdisp->shell:
	1. gtk_widget_size_allocate(gdisp->shell)
	2. gdk_window_resize(gdisp->shell->window)

	(tested with Sawmill, Enlightenment and twm)
2000-04-15 16:00:19 +00:00
Michael Natterer 902aea45e9 when dropping a drawable, do the undo_push_group_start() before creating
2000-04-01  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.c: when dropping a drawable, do the
	undo_push_group_start() before creating the new layer, otherwise
	the undo system will show obscure misbehaviour (the undo group is
	pushed correctly but no undo will be possible until an other undo
	is pushed).
2000-04-01 21:56:23 +00:00
Michael Natterer e85517dff8 found some typos
--Mitch
2000-03-25 18:19:40 +00:00
Michael Natterer 3e64ff6a1b new global variable "gimp_busy" which gets set/unset whenever busy cursors
2000-03-25  Michael Natterer  <mitch@gimp.org>

	* app/cursorutil.[ch]: new global variable "gimp_busy" which gets
	set/unset whenever busy cursors are added/removed.

	* app/info_dialog.c: register the info dialogs with the dialog
	handler.

	* app/fuzzy_select.[ch]: cleanups.

	Here starts the ugly workaround which simulates something like
	locking. If it works, it will close lots of bugs, if not, it's
	easy to remove again.

	So far, I didn't find strange side effects but Gimp is told to be
	a complex program :-) Please test this.

	* app/context_manager.c: don't allow tool changes if gimp_busy
	is TRUE.

	* app/disp_callbacks.c: don't allow mouse and key events in the
	display_canvas if gimp_busy is TRUE.
	(except if the current tool is FUZZY_SELECT and it is ACTIVE,
	 which is very ugly)
	Also block other stuff like dropping colors/patterns etc.

	* app/gdisplay_ops.c: don't close any display while Gimp is
	busy. This is not really what we want but at least it prevents
	crashes.
2000-03-25 18:17:01 +00:00
Michael Natterer dd3b826942 show GIMP_BAD_CURSOR if we have no layers.
2000-03-07  Michael Natterer  <mitch@gimp.org>

	* app/disp_callbacks.C: show GIMP_BAD_CURSOR if we have no layers.

	Moved the closing bracket out of the GTK_HAVE_SIX_VALUATORS ifdefs
	(just to force emacs to do correct indentation).
2000-03-07 20:27:41 +00:00
Michael Natterer 4923047146 removed BOUNDS, MINIMUM and MAXIMUM. No need to include both <glib.h> and
2000-01-25  Michael Natterer  <mitch@gimp.org>

	* app/appenv.h: removed BOUNDS, MINIMUM and MAXIMUM. No need to
	include both <glib.h> and <gtk/gtk.h>.

	* app/*
	* tools/pdbgen/pdb/text_tool.pdb: s/BOUNDS/CLAMP/,
	same for MIN and MAX.

	* app/preferences_dialog.c: the "Check Size" widget was connected
	to the transparency_type variable.

	* plug-ins/common/sobel.c: removed definitions of MIN and ROUND.

	* libgimp/gimp.h: #include "gimplimits.h" and "gimpcolorspace.h".

	* plug-ins/*: don't include the two files.
2000-01-25 23:06:12 +00:00
Garry R. Osgood 61bbabc6ad gimp/app/disp_callbacks.c gimp/app/ellipse_select.c gimp/app/free_select.c
2000-01-19  Garry R. Osgood <gosgood@idt.net>
* gimp/app/disp_callbacks.c
* gimp/app/ellipse_select.c
* gimp/app/free_select.c
* gimp/app/fuzzy_select.c
* gimp/app/rect_select.c
* gimp/app/rect_select.h
* gimp/app/rect_selectP.h
* gimp/app/tools.c
* gimp/app/tools.h
* gimp/app/toolsF.h

Boolean selection operations, (adding to,
subtracting from, or intersecting with
pre-existing functions) now occur regardless
of the setting of "Disable Cursor Update"
toggle button in Interface/Image Window
category. Introduced a new tool action type,
OperUpdateFunc, To provide a distinct context
for such activity. see
http://idt.net/~gosgood/gimp-patch/patch05.html
for full details. Closes #2568.
2000-01-19 19:06:13 +00:00
Garry R. Osgood 16d1795918 app/disp_callbacks.c app/gimage_mask.c app/global_edit.c app/interface.c
2000-01-11  Garry R. Osgood <gosgood@idt.net>
* app/disp_callbacks.c
* app/gimage_mask.c
* app/global_edit.c
* app/interface.c
* app/layer.c
* app/layer.h
* app/transform_core.c  Followup to #4708. Some clients
of layer_new_from_tiles() need to specify the
kind of layer they need; added a GimpImageType
parameter for this purpose. Closes #5045.
* app/paths_dialog.c paths_dialog_set_default_op()
now checks for the existence of the path_dialog
before manipulating its internals. Closes #5049;
2000-01-11 20:08:45 +00:00
Garry R. Osgood 7f052673ef Happy New Year! Checked RGB/GRAY/INDEXED product box RE testing #4708.
2000-01-01 Garry R. Osgood <gosgood@idt.net>
Happy New Year!
        * app/disp_callbacks.c
app/disp_callbacks.c: Checked RGB/GRAY/INDEXED product box RE
        testing #4708. added gdisplay_update_title() to refresh
        window title bar so that a layer-filled display won't
        continue its insistence of being empty. Nice fix, Sven.
2000-01-02 03:02:30 +00:00
Sven Neumann a34415cb7b Removed the obsolete drawable argument from layer_from_tiles.
The layer_type is now taken from the base_type of the image.
Also changed the name to layer_new_from_tiles.


--Sven
2000-01-01 18:33:40 +00:00
CET 1999 Olof S Kylande ac6a5dae50 Fix of KDE/Kwm selection add/sub/inter problem NOTE: This is a workaround,
Thu Dec 16 20:15:25 CET 1999  Olof S Kylande <olof@gimp.org>

        Fix of KDE/Kwm  selection add/sub/inter problem
        NOTE: This is a workaround, not a real fix.
        Many Thanks to Matthias Ettrich

        * app/disp_callbacks.c

        Updated unsharp-mask to version 0.10

        * plug-ins/unsharp/dialog_f.c
        * plug-ins/unsharp/dialog_f.h
        * plug-ins/unsharp/dialog_i.c
        * plug-ins/unsharp/dialog_i.h
        * plug-ins/unsharp/unsharp.c

        Updated print plug-in to version 3.0.1

        * plug-ins/print/README (new file)
        * plug-ins/print/print-escp2.c
        * plug-ins/print/print-pcl.c
        * plug-ins/print/print-ps.c
        * plug-ins/print/print-util.c
        * plug-ins/print/print.c
        * plug-ins/print/print.h

        Updated all files in the help/C/dialogs dir. This is
        a first alpha glimpse of the help system. Please give
        me feedback of the content. However since it's in alpha
        stage it means that there is spell, grammatical, etc errors.
        There is may also be pure errors which I hope "you" will
        report to either olof@gimp.org or karin@gimp.org. Please
        don't report spell, grammatical, etc error at this stage in dev.

        If you have any plans to commit to the help system please write
        to olof@gimp.org. (This is mandatory not a please ;-).

        * help/C/welcome.html
        * help/C/dialogs/about.html ..............
1999-12-16 19:44:02 +00:00
GMT 1999 Andy Thomas 7dfc54b956 app/commands.c app/disp_callbacks.c app/gdisplay.c app/gimprc.c
Mon Nov 29 23:51:26 GMT 1999 Andy Thomas <alt@gimp.org>

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimprc.c
	* app/gimprc.h
	* app/info_window.c
	* app/info_window.h
	* app/preferences_dialog.c
	* app/undo_history.c

	Info dialog now has option to follow the mouse movements or
	the old behaviour of one dialog per display.
	This dialog still needs some work.

	Undo dialog now obeys the "tab" key in the display.
1999-11-30 00:11:08 +00:00
Michael Natterer 56d10ac481 app/gimpdnd.c remove the remaining defines of GRAD_CHECK_SIZE and include
1999-10-30  Michael Natterer  <mitch@gimp.org>

	* app/gimpdnd.c
	* app/undo_history.c: remove the remaining defines of
	GRAD_CHECK_SIZE and include libgimp/gimplimits.h instead.

	* app/undo_history.c: connect to the image's "rename" signal to
	update the window title.

	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/info_window.[ch]: did the same for the info dialog.
	The info window has to remember the gdisplay to disconnect from
	the image's "rename" signal, so I removed the gdisplay parameter
	from the update functions.
1999-10-30 17:49:50 +00:00
Michael Natterer b3144e7ccc app_procs.c app/commands.[ch] app/interface.c app/menus.c app/session.c
1999-10-30  Michael Natterer  <mitch@gimp.org>

	* app_procs.c
	* app/commands.[ch]
	* app/interface.c
	* app/menus.c
	* app/session.c
	* app/tools.[ch]: namespace cleanups: changed the
	"tools_options_*" functions to "tool_options_*" and prefixed all
	dialog menu callbacks with "dialogs_*".
	Allow dropping a tool to the tool options dialog.

	* app/bezier_select.c: change the active tool using context
	functions.

	* app/dialog_handler.[ch]: replaced the uppercase datatype names
	by standard mixed upper/lowercase ones. Provide a function to
	register the fileload dialog instead of accessing it as global
	variable.

	* app/disp_callbacks.c: switch to the move tool using context
	functions. Fixed the drop color/pattern functions to convert the
	dropped thing to the dest. image's color space.

	* app/fileops.c: don't export the fileload dialog as global
	variable but register it with the dialog handler instead.

	* app/paths_dialog.[ch]: replaced all the uppercase struct names
	defined here by mixed upper/lowercase. Introduced a
	"set_menu_sensitivity" function like in layers/channels instead of
	calling single button on/off functions from various places.
	Added a menu entry for "Selection to Path".
1999-10-30 10:39:48 +00:00
Michael Natterer 79e27e984a More context & dnd stuff... 1999-10-28 15:05:49 +00:00
Sven Neumann fc4e6346df dnd improvements
--Sven
1999-10-09 20:33:53 +00:00
EDT 1999 Austin Donnelly 48c54f0f5a NEW FILES: app/scan_convert.c common code from free_select.c and
Mon Oct  4 01:46:46 EDT 1999  Austin Donnelly  <austin@gimp.org>

	NEW FILES:
	* app/scan_convert.c
	* app/scan_convert.h: common code from free_select.c and
	    bezier_select.c

	MODIFIED FILES:
	* app/disp_callbacks.c: Fix for bug #2517 - dragging colour swatch
	    to image with no layers causes segfault.  Something is
	    repainting empty images as white rather than chequerboard as
	    well, which still needs fixing.

	* app/free_select.c: move code out to scan_convert.c
	* app/free_select.h: use ScanConvertPoint not FreeSelectPoint
	* tools/pdbgen/pdb/tools.pdb: ScanConvertPoint again
	* app/tools_cmds.c: generated version of above.
1999-10-04 05:51:40 +00:00
Tomas Ogren c9c420f1cf app/disp_callbacks.c app/gdisplay_color.c app/image_new.c i18n fixes.
1999-09-06  Tomas Ogren  <stric@ing.umu.se>

* app/disp_callbacks.c app/gdisplay_color.c app/image_new.c
* app/info_dialog.c app/nav_window.c app/qmask.c app/undo.c:
i18n fixes.
1999-09-06 00:07:03 +00:00
Olof S Kylander/GIMP 0f1da4281d Added support for Gtk+ xinput-wheel if we have applied the patch enabling
Added support for Gtk+ xinput-wheel if we have applied the patch enabling it
in Gtk+.
1999-09-04 14:42:43 +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 1e08aa1ef7 app/color_area.[ch] app/color_panel.[ch] enabled dnd for colors
1999-08-22  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/color_area.[ch]
	* app/color_panel.[ch]
	* app/gimpdnd.[ch]: enabled dnd for colors (compatible with the
	standard gtk/gnome color dnd). The color selection is now invoked
	on a real click, not on button_down to avoid confusion with dnd.

	* app/channels_dialog.c
	* app/disp_callbacks.c
	* app/interface.c
	* app/layers_dialog.c: minor dnd updates/fixes.

	* app/channel.[ch]
	* app/channel_pvt.h
	* app/docindex.[ch]
	* app/docindexif.[ch]
	* app/drawable.[ch]
	* app/floating_sel.c
	* app/gimage.[ch]
	* app/gimage_mask.c
	* app/gimpdrawable.[ch]
	* app/gimpdrawableP.h
	* app/gimpimage.[ch]
	* app/gimpimageP.h
	* app/layer.[ch]
	* app/layer_pvt.h
	* app/undo.c
	* app/xcf.c: wanted to do some s/int/gboolean/ in the layer files
	where appropriate and found myself spending the whole night doing
	a big code review for layers/channels/drawables/images:
	s/int/gboolean/, s/<type>/g<type>/, lots of indentation, removed
	some old global variables and deprecated functions, #include
	cleanups, proper prototypes, copyright headers, ...
1999-08-22 11:45:31 +00:00
Michael Natterer 70407d2882 app/Makefile.am new file. Contains a function which creates dnd preview
1999-08-20  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/Makefile.am
	* app/gimpdnd.c: new file. Contains a function which creates dnd
	preview icons for all kinds of drawables.

	* app/gimpdnd.h: added the new dnd types.

	* app/channels_dialog.c: same dnd functions as in the layers
	dialog. Fixed channels_dialog_flush(). Code cleanup.

	* app/layers_dialog.c: enabled dnd for layer masks.

	* app/disp_callbacks.c
	* app/interface.c: dnd code generalization. The toolbox and the
	display accept drop of any kind of drawable now.

	* app/gimage.h
	* app/gimpimage.[ch]: new function gimp_image_position_channel().

	* app/layer.[ch]: new function layer_mask_get_layer().
1999-08-20 19:59:06 +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
BST 1999 Andy Thomas 2557c517b1 app/commands.c app/commands.h app/disp_callbacks.c app/gdisplay.c
Thu Aug 12 21:38:53 BST 1999 Andy Thomas <alt@gimp.org>

	* app/commands.c
	* app/commands.h
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gdisplay.h
	* app/info_dialog.c
	* app/info_dialog.h
	* app/info_window.c
	* app/info_window.h
	* app/menus.c
	* app/scale.c
	* app/scroll.c
	* app/scroll.h
	* app/nav_window.c (new)
	* app/nav_window.h (new)
	* pixmap/dropper.xpm (new)

	New "navigator" image (accessed via <Image>/Window Nav..). This gives
	an outline of the location of the current view on an image. Eg if your
	image window is only showing part of an image then the Window Navigation	window will outline the area viewed. You can "drag" the outlined
	square around the viewport and the main image will scroll. Additional
	a single click outside the square will center the image at that
	location.

	Also started to add additional information to a new page inside the
	Window information dialog (currently only pixel value is shown).

	Both these features are currently work in progress and unfinished.
	In particular the Navigator does not keep in step with changes
	to the basic image (however it does keep in step with image size changes	and if you modify the size of the image viewing window). It also
	does not display the transparent areas of images very nicely.
1999-08-12 22:21:04 +00:00
Manish Singh 7cb07a90bf add sample_colorize and curve_bend defs
* plug-ins/common/plugin-defs.pl: add sample_colorize and
curve_bend defs

* libgimp/color_selector.h: minor consistency cleanup

* libgimp/gimpchainbutton.[ch]: use new style gtk object helper macros

* libgimp/gimpfileselection.c
* libgimp/gimpmatrix.h: minor cleanup

* libgimp/gimpintl.h: resync with gnome-i18n.h


* libgimp/color_display.h
* app/gimp.sym
* app/gdisplay_color.[ch]
* app/app_procs.c
* app/gdisplay.h
* app/image_render.c: color display transformation code. Still
unfinished, so it's not activated yet.

* app/buildmenu.h: remove unused defines (PULLDOWN, POPUP, OPTION)

* app/colormaps.[ch]
* app/image_render.c: remove vestigal dithering stuff

* app/convolve.h
* app/gimpdrawable.h
* app/gimpimage.h
* app/lut_funcs.h
* app/paint_funcs.h
* app/plug_in.h: enum nick changes from Marc

* app/channel_ops.c
* app/crop.c
* app/gdisplay.c
* app/gimpimage.[ch]
* app/move.c: s/([A-Z]+)_GUIDE/ORIENTATION_$1/

* app/flip_tool.[ch]
* app/shear_tool.[ch]: use ORIENTATION_* constants instead of our own

* app/disp_callbacks.c: remove HORIZONTAL and VERTICAL #defines

* app/general.h: enumified TOKEN_* symbols

* app/lc_dialog.c
* app/paint_funcs.c: remove unused variables

* tools/pdbgen/lib.pl: autogen gimpenums.h (unfinished)

* tools/pdbgen/stddefs.pdb: new std_orientation_enum, remove
layer_mode shortcut since we've skipped it in app/

* tools/pdbgen/pdb/brush_select.pdb
* tools/pdbgen/pdb/brushes.pdb
* tools/pdbgen/pdb/drawable.pdb
* tools/pdbgen/pdb/gimage.pdb
* tools/pdbgen/pdb/guides.pdb
* tools/pdbgen/pdb/layer.pdb
* tools/pdbgen/pdb/tools.pdb: reflect above enum changes, whitespace
cleanups

* tools/pdbgen/enums.pl
* app/brush_select_cmds.c
* app/brushes_cmds.c
* app/color_cmds.c
* app/drawable_cmds.c
* app/gimage_cmds.c
* app/layer_cmds.c
* app/procedural_db_cmds.c
* app/tools_cmds.c: reflect pdb and enum nick changes above

-Yosh
1999-07-28 23:00:08 +00:00
Michael Natterer 885effaf81 added wheelmouse scrolling support for the canvas (cut & paste from
1999-07-10  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/disp_callbacks.c (gdisplay_canvas_events): added wheelmouse
	scrolling support for the canvas (cut & paste from gtkmain.c).
	CTRL+wheel scrolls horizontally.
1999-07-09 23:03:11 +00:00
Michael Natterer c456ba93ba app/[all tool related files] app/commands.c app/disp_callbacks.c
1999-06-26  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tool related files]
	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/gimage.c
	* app/interface.c: hopefully fixed the bugs that appeared with my
	last fix. And some more changes...

	- Slightly changed the conditions which cause the tools to be
	  re-initialized on button_press events and the global
	  initialisation functions.
	- The dialog tools now explicitly set tool->gdisp_ptr so they can
	  be properly hidden on display deletion.
	- Create the crop info dialog only once and avoid ugly redraw bugs
	  by blocking the sizeentries' signal when initializing them.
	- Standardized the tools_new_<tool>() functions. They are
	  scheduled to be moved to a common constructor in tools.c
	- Various stuff...
1999-06-26 11:16:47 +00:00
Michael Natterer 6bd258c588 forgot to remove a debugging g_printf. 1999-06-23 15:26:40 +00:00
Michael Natterer d5d99e5c34 app/brightness_contrast.c app/by_color_select.c app/curves.c
1999-06-23  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/brightness_contrast.c
	* app/by_color_select.c
	* app/curves.c
	* app/disp_callbacks.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/levels.c
	* app/posterize.c
	* app/threshold.c:

	Factored out the cleaning up code to the tool dialog's "cancel"
	callbacks because they are called from every function which is
	aborting the tool. This should fix the remaining segfaults.

	I probably killed a feature of "Levels". The tool wanted to
	preserve it's drawable all the time, so it was possible to select
	colors from other displays. If this was the intended behaviour,
	please flame me and I will try to set the "preserve" flag
	correctly.

	* plug-ins/common/Makefile.am: "struc" was in the Makefile but not
	in the directory.
1999-06-23 15:24:46 +00:00
Michael Natterer f1b5e1ae47 namespace cleanups.
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: namespace cleanups.

	* app/commands.[ch]
	* app/menus.c: moved the "Toggle Selection" menu entry to "View",
	sprinkled some separators and made the layers/channels/paths popup
	menus consistent with Tigert's last ops buttons change.

	* app/fileops.c
	* app/plug_in.c: check for gdisplay_active() returning NULL in
	some more places.

	* app/[all tool related files]:

	- Turned the ToolAction and ToolState #define's into typedef'ed
	  enums, so the compiler can do some more sanity checking.
	- Removed one more unused global variable "active_tool_layer".
	- Removed some #include's from tools.c.
	- Standardized the individual tools' structure names.
	- Moved showing/hiding the tool options to separate functions.
	- Stuff...

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/tools.c: fixed the segfaults which happened when the image
	of one of the tools which have dialogs (levels/posterize/...) was
	deleted. My approach was to do stricter sanity checking and to set
	some gdisplay pointers correctly where appropriate, so I can't
	tell exactly where the bug was.
	The curves tool now(??) updates on every _second_ display change
	only, which is really obscure.
	Finding/changing the display to operate on should definitely be
	done by connecting to the user context's "display_changed"
	signal.

	* app/gimpset.c: emit the "remove" signal _after_ removing the
	pointer from the set. If this was not a bug but a feature, please
	let me know, we'll need two signals then.
1999-06-21 22:12:07 +00:00
Michael Natterer a72dbe86b4 connect to the user context's "display_changed" and to the image context's
1999-06-21  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/context_manager.c: connect to the user context's
	"display_changed" and to the image context's "remove" signal to
	avoid dangling references and to set the menu sensitivity on
	display change.

	* app/disp_callbacks.c
	* app/file_new_dialog.c
	* app/fileops.c
	* app/gdisplay.c
	* app/gdisplay_ops.c
	* app/gimpcontext.c
	* app/interface.[ch]: entirely moved the active display stuff to
	the user context:

	- The active display is set by any event in the display shell,
	  by File/New and File/Open.
	- gdisplay_delete() resets the active display to NULL if we
	  deleted the active display.
	- Reduced gdisplay_active() to a single statement returning the
	  context's active display. Should replace it by a macro.
	- gdisplay_flush_whenever() sets the menu sensitivity for the
	  active display.
	- Removed global variable popup_shell since it was only set all
	  the time but never used. I guess it's original job is now done
	  by the context anyway.
	- gdisplay_set_menu_sensitivity() works with gdisp == NULL.
	- There are mysterious Gdk-CRITICALs if both <Image> and one of
	  it's sub-menus are teared-off. Probably a gtk+ bug.

	To do all this stuff at a central place, there needs to be a
	GimpSet of displays (and ideally, GDisplay should be a GtkObject).

	* app/commands.c
	* app/lc_dialog.c: fixed segfaults happening with teared-off menus.
1999-06-20 23:29:34 +00:00
Michael Natterer 142ccb742d app/commands.c app/disp_callbacks.c app/gdisplay.c app/lc_dialog.c applied
1999-06-20  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/commands.c
	* app/disp_callbacks.c
	* app/gdisplay.c
	* app/lc_dialog.c
	* app/menus.c: applied a patch from <Simon.Budig@unix-ag.org>
	which implements tear-off-menus(!!!). Modified it to use the
	GimpContext.
	The sensitivity of the menu entries is not updated after
	executing a command. This leaves the sensitivity in the state
	before the command was executed (which is buggy). Will probably
	have to update the sensitivity from gdisplays_flush().
	Simon called the patch "temporary" but it looks pretty stable to
	me. Please test it :-)

	* app/context_manager.[ch]: minor changes.

	* app/gimpcontext.[ch]: the user context keeps track of the
	current display and image. The image is set automatically from
	gimp_context_set_display().
	Still have to figure out how this should interact with
	gdisplay_active() (the current state is a hack).
	Made the context attributes real GtkObject arguments.
	Pass the changed attributes to the callbacks which connect to
	the <attribute>_changed signals.

	* app/gimpset.[ch]
	* app/gimpsetF.h
	* app/gimpsetP.h: made the gimpset properly derivable by adding
	signal slots to the object class structure. Added copyright
	headers.

	* app/gimpsignal.[ch]: new type gimp_sigtype_double, copyright
	header and my usual indentation fanaticism.
1999-06-20 13:53:15 +00:00
Sven Neumann 227021fce1 Implemented horizontal and vertical lines for the paint_tools using CTRL
and MOD1. Changed the Scale tool to use the same modifiers.

Default the Crop tool to the old-fashioned behaviour (crop and dont_enlarge).


--Sven
1999-06-17 20:34:50 +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
Michael Natterer e785fa4cda app/disp_callbacks.c app/gimpset.[ch] app/gimpsetP.h applied Simon's
1999-06-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/disp_callbacks.c
	* app/gimpset.[ch]
	* app/gimpsetP.h
	* app/layers_dialog.c: applied Simon's <Simon.Budig@unix-ag.org>
	active image patch.
	GimpSet has an "active_changed" signal now. The image_context
	emits it whenever there is a button or key event in the gdisplay
	and the L&C dlg. connects to it for the new auto-update feature.
1999-06-01 23:09:48 +00:00
jaycox 18835a7657 new bitmap files containing the new mouse cursors.
* pixmaps/mouse1*: new bitmap files containing the new mouse cursors.

	* app/parasitelist.c: use g_str_equal instead of parasite_compare_func.

	* app/paint_core.c: interpret perfectmouse right way round.

	* app/rect_select{P,}.[ch]: set custom cursors when the operation type
 	changes.  Centralize the calculation of op based on the modifier
 	keys being held.

	* app/fuzzy_select.c, app/free_select.c: allow the rect_select
 	functions calculate the operation type.

	* app/ellipse_select.c: use the SelectionOps typedefs.

	* app/edit_selection.c: convert MaskToLayerTranslate into
 	FloatingSelTranslate if there is already a floating selection in
 	init_edit_selection.

	* app/disp_callbacks.c: fixed the calculation of state.

	* app/gdisplay.[ch], app/cursorutil.[ch]: new functions to allow
 	the loading of customized cursors.

	* app/paint_funcs.[ch], app/channel.c: border_region now accepts
 	seperate xradius and yradius arguments.
1999-05-05 09:10:35 +00:00
Sven Neumann d342563d60 Moved from toggle_key_func to modifier_key_func.
--Sven
1999-04-27 21:06:00 +00:00
Sven Neumann 8b46a4f9f5 Toggable tools!
I hope I haven't broken too much ;-)


--Sven
1999-04-27 02:09:03 +00:00
GMT 1999 Adam D. Moss cc8d71c037 Happy-fun opaque layer moves.
Sun Mar 21 15:29:38 GMT 1999  Adam D. Moss  <adam@gimp.org>

	* app/disp_callbacks.c app/edit_selection.c app/move.c:
	Happy-fun opaque layer moves.

	* app/edit_selection.c: I doubt that using button3 to abort
	a layer move has worked for a long time.  I rewrote some
	stuff and moved the 'abort' button to button2.  Hold it down
	when you release button1, to abort the current move.  It
	doesn't actually abort, it just automatically does an undo.
1999-03-21 15:38:11 +00:00
GMT 1999 Adam D. Moss fae775c386 Reduce some possibly-redundant re-renders on expose.
Sat Mar 20 21:55:53 GMT 1999  Adam D. Moss  <adam@gimp.org>

	* disp_callbacks.c: Reduce some possibly-redundant re-renders
	on expose.

	* gdisplay.c gdisplay.h: Export a function to idly refresh from
        the composite buffer without doing a re-render.
1999-03-20 22:05:24 +00:00
Tor Lillqvist a27cedc001 First batch of changes to merge the Win32 version. This will be
done in pieces, don't expect to be able to compile on Win32 from
these sources yet.  Ans of course, the official version of GTk+
doesn't include the Win32 stuff yet.
1999-02-20 23:20:54 +00:00
GMT 1999 Andy Thomas 01d2a20548 New app/dialog_handler.c app/dialog_handler.h
Sun Jan 10 22:41:51 GMT 1999 Andy Thomas <alt@picnic.demon.co.uk>

	New
	* app/dialog_handler.c
	* app/dialog_handler.h

	Changed
	* app/disp_callbacks.c
	* app/gradient_select.c
	* app/tools.c
	* app/interface.c
	* app/patterns.c
	* app/gimpbrushlist.c
	* app/palette.c
	* app/layers_dialog.c
	* app/devices.c
	* app/errorconsole.c

	Can now hide/show all main dialogs using the TAB key in any window.
	However....
	there is a bug in gtk that causes the Gimp the crash if you show
	and then hide a lot of dialogs (eg if you have all dialogs visible
	and press the TAB key repeatedly). I have email-ed an example to
	the gtk bug list.
	Also I can't seem to be able to catch the SHIFT-TAB combination
	(suggestions welcome ;-) so the first press of the tab hide all
	dialogs the second press reshows only the toolbox and the third
	press reshows all. Comments please if you find this behaviour
	non-intuitive.
1999-01-10 23:20:33 +00:00
GMT 1999 Austin Donnelly 31fba3b3dc app/brush_select.c app/channels_dialog.c app/disp_callbacks.c
Sun Jan 10 21:42:11 GMT 1999  Austin Donnelly  <austin@greenend.org.uk>

	* app/brush_select.c
	* app/channels_dialog.c
	* app/disp_callbacks.c
	* app/histogram_tool.c
	* app/info_dialog.c
	* app/layer_select.c
	* app/pattern_select.c
	* plug-ins/gfig/gfig.c
	* plug-ins/newsprint/newsprint.c: More changes of the form
 	       s/gtk_label_set/gtk_label_set_text/
1999-01-10 21:54:02 +00:00
GMT 1998 Austin Donnelly 0db6dcf168 app/interface.c tweak to make status bar update correctly (most of the
Sat Dec 12 17:36:51 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>

	* app/interface.c
	* app/gdisplay.c: tweak to make status bar update correctly (most
 	of the time).  As Sven has already noted, there seems to be a GTK
 	bug involved.

	* app/disp_callbacks.c: only update the cursor co-ords if we
 	actually know them.  Gets rid of silly (0,0) announcements.
1998-12-12 17:41:41 +00:00
BST 1998 Adam D. Moss c3d66ee292 Resizing image canvases should be less horrible to look at. I've removed
Sat Oct  3 21:01:34 BST 1998 Adam D. Moss <adam@gimp.org>

	* app/channel.c app/channel_ops.c app/disp_callbacks.c
	app/floating_sel.c app/gdisplay.c app/gdisplay.h
	app/gdisplay_ops.c app/gimpimage.c app/image_map.c
	app/interface.c app/layers_dialog.c app/plug_in.c app/undo.c
	app/xcf.c:

	Resizing image canvases should be less horrible to look at.
	I've removed the implicit clear of the whole area when a
	window is resized by the user, and clear the exposed area around
	the image manually when appropriate.

	Dialogs which want synchronous updates for previews and
	such use displays_update_now().

	Removed some old debugging nonsense which I don't want any more.
1998-10-03 20:14:00 +00:00
Adam D. Moss 5b6e6cd6f0 On all gimp-core fopen()s changed "[rw]"->"[rw]b" to appease OS/2 folk.
* app/[lots of files].c: On all gimp-core fopen()s
        changed "[rw]"->"[rw]b" to appease OS/2 folk.
1998-07-31 18:34:05 +00:00
CDT 1998 Shawn T. Amundson bb7a8b4802 Cursor location in statusbar Fixed resize of window progressbar is smaller
Wed Jul 15 22:06:32 CDT 1998 Shawn T. Amundson <amundson@gimp.org>

        * Cursor location in statusbar
	* Fixed resize of window
	* progressbar is smaller now
1998-07-16 03:23:14 +00:00
Lauri Alanko ef3e162eae start collecting some core stuff to libgimpim.a
Started separating crud out of drawables.

	Isolated the id system of images entirely within pdb. Even the
	window titles and menus use pointers instead of ids. Should at
	least remind people that this is a developers' version. :)
1998-06-30 15:31:32 +00:00