Commit Graph

38 Commits

Author SHA1 Message Date
Michael Natterer 3be8f5b5f2 app/tools/Makefile.am removed. new file
2001-05-25  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/tool_options_dialog.[ch]: removed.
	* app/tools/tools.h: new file

	* app/gui/Makefile.am
	* app/gui/tool-options-dialog.[ch]: added.

	* app/tools/tools.c: renamed register_tools() to tools_init(), new
	function tools_exit().

	* app/app_procs.c
	* app/context_manager.c
	* app/tools/tool_manager.c
	* app/gui/dialogs-constructors.c
	* app/gui/gui.c: changed accordingly.
2001-05-25 01:24:12 +00:00
Nate Summers 35ac032ff1 prototype for an extension that allows gmodules as plugins. Known bug:
* plug-ins/plugin-helper/*: prototype for an extension that allows
        gmodules as plugins.  Known bug: crashes on gmodules with a static "query" function

        * app/tools/tool.c
        * app/tools/tool.h: created new GimpTool object.  Did away with ToolInfo.
        Most tools still need to be ported over to the new api.
        * plug-ins/script-fu/script-fu-scripts.c: fixed typo in comment.  Pathetic, huh?
2001-02-14 04:55:21 +00:00
Michael Natterer 234aca2406 app/tools/Makefile.am new files for the tool options dialog.
2001-01-22  Michael Natterer  <mitch@gimp.org>

	* app/tools/Makefile.am
	* app/tools/tool_options_dialog.[ch]: new files for the tool
	options dialog.

	* app/tools/tools.[ch]: removed from here.

	* app/app_procs.c
	* app/commands.c
	* app/toolbox.c
	* po/POTFILES.in: adjusted.
2001-01-22 05:08:44 +00:00
Michael Natterer 2db8881557 app/airbrush.[ch] app/bezier_select.c app/bezier_selectP.h app/blend.[ch]
2000-12-31  Michael Natterer  <mitch@gimp.org>

	* app/airbrush.[ch]
	* app/bezier_select.c
	* app/bezier_selectP.h
	* app/blend.[ch]
	* app/boundary.h
	* app/brightness_contrast.[ch]
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.[ch]
	* app/color_balance.c
	* app/color_picker.c
	* app/commands.c
	* app/convolve.[ch]
	* app/crop.c
	* app/crop.h
	* app/curves.c
	* app/dodgeburn.[ch]
	* app/edit_selection.[ch]
	* app/ellipse_select.c
	* app/eraser.[ch]
	* app/flip_tool.[ch]
	* app/free_select.[ch]
	* app/fuzzy_select.[ch]
	* app/gdisplay.c
	* app/gimage.c
	* app/histogram_tool.[ch]
	* app/hue_saturation.[ch]
	* app/image_map.[ch]
	* app/ink.[ch]
	* app/iscissors.c
	* app/levels.c
	* app/magnify.[ch]
	* app/move.c
	* app/nav_window.[ch]
	* app/paint_core.[ch]
	* app/paintbrush.[ch]
	* app/path_bezier.[ch]
	* app/path_tool.c
	* app/pencil.[ch]
	* app/perspective_tool.[ch]
	* app/posterize.c
	* app/rect_select.[ch]
	* app/rotate_tool.[ch]
	* app/scale_tool.[ch]
	* app/selection.[ch]
	* app/shear_tool.[ch]
	* app/smudge.[ch]
	* app/text_tool.[ch]
	* app/threshold.c
	* app/tools.[ch]
	* app/transform_core.[ch]: removed the "gdisp_ptr" madness and
	useless casts all over the place. Introduced a "PaintState" enum
	instead of #define's. Various cleanups.
2000-12-31 04:07:42 +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
Sven Neumann dfa2bed505 Last-minute cleanup:
2000-12-16  Sven Neumann  <sven@gimp.org>

	Last-minute cleanup:

	* app/gimpdrawableF.h
	* app/gimphistogramF.h
	* app/gimpimageF.h
	* app/gimplistF.h
	* app/gimplutF.h
	* app/gimpobjectF.h
	* app/gimpsetF.h
	* app/layerF.h
	* app/parasitelistF.h: removed these files

	* app/Makefile.am
	* tools/pdbgen/Makefile.am: changed accordingly

	* app/[almost every file]: include cleanup
2000-12-16 21:37:03 +00:00
Michael Natterer cdd0a5147d app/fileops.c Make sure that we don't try to destroy query_boxes twice or
2000-11-18  Michael Natterer  <mitch@gimp.org>

	* app/fileops.c
	* libgimp/gimpquerybox.[ch]: Make sure that we don't try to destroy
	query_boxes twice or try to disconnect not-any-more connected
	handlers.

	* app/color_notebook.c
	* app/gimpcontext.[ch]
	* app/gimphelp.[ch]
	* app/lc_dialog.[ch]
	* app/menus.h
	* app/preferences_dialog.c
	* app/tools.[ch]
	* libgimp/gimpcolorbutton.[ch]
	* libgimp/gimpdialog.[ch]
	* libgimp/gimpexport.[ch]
	* libgimp/gimpfileselection.[ch]
	* libgimp/gimphelpui.[ch]
	* libgimp/gimppatheditor.[ch]
	* libgimp/gimppixmap.[ch]
	* libgimp/gimpsizeentry.[ch]
	* libgimp/gimpui.[ch]
	* libgimp/gimpunitmenu.[ch]
	* libgimp/gimpwidgets.[ch]: in a coding attack, changed help_data
	and many other strings passed to UI functions to (const gchar *).
	As a consequence, I had to fix lots of warnings ;)

	* plug-ins/common/tga.c
	* plug-ins/imagemap/imap_main.c: fixed warnings.

	Code cleanup and indentation all over the place.
2000-11-18 00:25:42 +00:00
Michael Natterer a17cf3bd0b cursors/background.xbm cursors/background_mask.xbm cursors/foreground.xbm
2000-07-29  Michael Natterer  <mitch@gimp.org>

	* cursors/background.xbm
	* cursors/background_mask.xbm
	* cursors/foreground.xbm
	* cursors/foreground_mask.xbm
	* cursors/pattern.xbm
	* cursors/pattern_mask.xbm: new files.

	* cursors/gimp-tool-cursors.xcf
	* app/cursorutil.[ch]: new cursor modifiers for bucket_fill.

	* app/bucket_fill.c: use the new modifiers. Closes #17871.

	* app/convolve.c
	* app/dodgeburn.c: added cursor_update functions which update the
	tools' "toggled" state before they call the cursor_update "method"
	of the paint_core "class" -- eek -- I-want-real-objects!
	Closes #17872 and #17873.

	* app/tools.h: added SELECTION_ANCHOR to the SelectOps enum.

	* app/free_select.c
	* app/rect_select.c: use the new enum value in the "oper_update"
	and "cursor_update" functions. In the "motion" function, set the
	tool's operation type back to SELECTION_REPLACE if the tool is
	active and call the "cursor_update" function explicitly.
	Closes #17870.

	* app/by_color_select.c: fixed warning caused by the new enum value.
2000-07-29 16:12:40 +00:00
Michael Natterer 35e55cf16d app/convolve.c app/dodgeburn.c app/eraser.c app/paint_core.c fixed my tool
2000-06-14  Michael Natterer  <mitch@gimp.org>

	* app/convolve.c
	* app/dodgeburn.c
	* app/eraser.c
	* app/paint_core.c
	* app/tools.[ch]: fixed my tool toggle braino: the paint_core
	cannot decide which cursor to show from the state of the modifier
	keys.

	Added a boolean "toggled" variable to the Tool structure,
	set it in the toggleable paint tools and evaluate it in the
	paint_core.
2000-06-14 14:22:47 +00:00
Michael Natterer d0a551bbf8 Cursor patch II: This is only the logic inside the cursor system and not
2000-06-09  Michael Natterer  <mitch@gimp.org>

	Cursor patch II:
	This is only the logic inside the cursor system and not yet used.

	* app/cursorutil.[ch]: [gimp]_change_win_cursor() take lots of
	parameters now and compose cursors from up to three cursor
	bitmaps/masks.

	* app/gdisplay.[ch]: As a test, create a hardcoded example cursor
	if "Cursor Mode" is set to "Tool Icon with Crosshair" in prefs.

	* app/curves.c
	* app/dialog_handler.c
	* app/scroll.c: changed the calls to the win_cursor function.

	* app/tools.[ch]: added a cursor and a toggle cursor to the ToolInfo
	structure of all tools.

	* app/toolsF.h: new ToolType TOOL_TYPE_NONE.

	* app/gimpdnd.c
	* app/interface.c: check for silly filenames in the file dnd
	callback. Closes #13733.

	* Makefile.am
	* cursors/bucket_fill_small.xbm
	* cursors/bucket_fill_small_mask.xbm
	* cursors/crop_small.xbm
	* cursors/crop_small_mask.xbm
	* cursors/crosshair_small.xbm
	* cursors/crosshair_small_mask.xbm
	* cursors/ellipse_select_small.xbm
	* cursors/ellipse_select_small_mask.xbm
	* cursors/eraser_small.xbm
	* cursors/eraser_small_mask.xbm
	* cursors/free_select_small.xbm
	* cursors/free_select_small_mask.xbm
	* cursors/fuzzy_select_small.xbm
	* cursors/fuzzy_select_small_mask.xbm
	* cursors/intersect.xbm
	* cursors/intersect_mask.xbm
	* cursors/minus.xbm
	* cursors/minus_mask.xbm
	* cursors/move.xbm
	* cursors/move_mask.xbm
	* cursors/paintbrush_small.xbm
	* cursors/paintbrush_small_mask.xbm
	* cursors/pencil_small.xbm
	* cursors/pencil_small_mask.xbm
	* cursors/plus.xbm
	* cursors/plus_mask.xbm
	* cursors/rect_select_small.xbm
	* cursors/rect_select_small_mask.xbm
	* cursors/resize_small.xbm
	* cursors/resize_small_mask.xbm
	* cursors/zoom.xbm
	* cursors/zoom_mask.xbm
	* cursors/zoom_small.xbm
	* cursors/zoom_small_mask.xbm: new files extracted from Tigert's
	gimp-tool-cursors.xcf created at GimpCon.

	Tigert, I'll commit the xcf as soon as I've added empty layers
	with the names of the cursors that are missing.

	* cursors/mouse.xbm
	* cursors/mouse_mask.xbm: made it 32x32 to allow for cursor
	composition.
2000-06-09 12:31:19 +00:00
Sven Neumann 65f23289dc do not ignore the mask of the tool icons
--Sven
2000-02-20 02:46:53 +00:00
Sven Neumann d517927260 Use static GdkPixmaps in the image_window and for the tool icons.
--Sven
2000-02-08 23:45:20 +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
Sven Neumann f94312e891 app/menus.c app/tools.c app/tools.h moved the xinput_airbrush before the
* app/menus.c
* app/tools.c
* app/tools.h
* app/toolsF.h: moved the xinput_airbrush before the measure tool,
so it groups nicely with the paint tools. Removed the toolbox_position
from the ToolInfo structure, since it was never used and added some
separators into the Tools menu.


--Sven
1999-12-22 22:24:59 +00:00
Sven Neumann d4250cb410 please picky compilers
--Sven
1999-12-06 22:44:40 +00:00
Michael Natterer 0302ed0a10 app/brush_select.[ch] app/gradient.c app/gradient_select.[ch]
1999-11-03  Michael Natterer  <mitch@gimp.org>

	* app/brush_select.[ch]
	* app/gradient.c
	* app/gradient_select.[ch]
	* app/interface.[ch]
	* app/palette.c
	* app/pattern_select.[ch]: allow dragging a brush/pattern/... from
	the selections with mouse2 without changing the active element in
	the dialog.

	* app/channels_dialog.c
	* app/color_area.c
	* app/color_panel.c
	* app/color_select.c
	* app/colormap_dialog.i.c
	* app/devices.c
	* app/gimpcontextpreview.[ch]
	* app/gimphelp.[ch]
	* app/gimpui.[ch]
	* app/indicator_area.c
	* app/interface.[ch]
	* app/layers_dialog.c
	* app/lc_dialog.c
	* app/ops_buttons.[ch]
	* app/paths_dialog.c
	* app/preferences_dialog.c
	* app/tools.[ch]: wrapped gtk_tooltips_set_tip() with
	gimp_help_set_help_data() and moved it to gimphelp.[ch].

	This should (hopefully) be the final state of the help system. The
	New function allows a "private tip" to be set without a visible
	tooltip. This way the tooltips inspector (shift+F1) can search for
	help data in the parent containers of the clicked widget. E.g. the
	ops buttons in the layers dialog have private tips like
	"#new_layer" which gets composed with the help data of the layers
	dialog notebook page resulting in a complete help path.

	Allow mouse2 for all dnd operations. Mouse1 still works like before.
1999-11-03 09:58:46 +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
BST 1999 Andy Thomas 6e28558948 app/bezier_select.c app/edit_selection.c app/flip_tool.c app/gimage_mask.c
Mon Oct 18 21:24:47 BST 1999 Andy Thomas <alt@gimp.org>

	* app/bezier_select.c
	* app/edit_selection.c
	* app/flip_tool.c
	* app/gimage_mask.c
	* app/paths_dialog.c
	* app/paths_dialogP.h
	* app/undo.c
	* app/tools.h
	* app/tools.c

	1) Fixed some problems with the paths tool. Now the tool suboption
	"new point" is selected automatically when appropriate. Eg if you
	have the "add point" suboption selected and click  on a point
	not on the curve the "new point" option will become selected and the
	new point will be added.

	2) The "new point" option is defaulted to on when a new image is created	or a new image is selected from the image menu.

	3) Move and flip tool now effect the path if it is locked.

	4) Edit stroke now uses the currently selected tool as it should do
	when stroking.
1999-10-18 20:55:25 +00:00
Michael Natterer 002aa905db app/Makefile.am app/gimphelp.[ch] new files
1999-09-27  Michael Natterer  <mitch@gimp.org>

	* app/Makefile.am
	* app/gimphelp.[ch]
	* app/gimpui.[ch]: new files

	* app/interface.[ch]
	* app/preferences_dialog.[ch]

	The GIMP Help System part 1: Press "F1" in any dialog to pop up
	the help page for this dialog.

	Moved the widget constructors from preferences_dialog.[ch] and the
	query boxes from interface.[ch] to gimpui.[ch].

	The dialog constructors take a help_func and a help_data
	parameter and install the "F1" accelerator which emits the new
	"help" signal.

	The "help" signal callback calls help_func(help_data) which finally
	has to call gimp_help() which in turn invokes the help browser.

	Still have to find a proper way to (1) prevent "F1" being assigned
	to some menu item and (2) to catch "F1" while browsing the menu
	trees in order to pop up the help for the selected item.

	* app/menus.c: a <Toolbox>/File/Help... menu item.
	* app/commands.[ch]: a command callback for the "Help..." menu item.

	* app/gimprc.[ch]: new boolean gimprc variable "use_help".

	* app/info_dialog.[ch]: pass a help function and data to the info
	dialog constructor.

	* app/tools.[ch]: store the tools help page names in the tool info
	structure. Export a special tools_help_func() which shows the help
	page for the active tool.

	* app/[all files calling a dialog constructor]: pass the dialog's
	help page to the constructor.

	Most dialogs are now created by gimp_dialog_new() which also sets
	up the action_area and the WM delete event callback, so I removed
	the resp. code from these files.

	Fixed some minor bugs and did some other stuff but didn't change
	any logic except dialog creation.

	* plug-ins/helpbrowser/helpbrowser.c: don't try to call a running
	help browser and don't install any menu path (all done in
	app/gimphelp.[ch] now).
1999-09-27 17:58:10 +00:00
Michael Natterer a60b2c2f02 the Tool structure is now allocated by a common constructor which sets
1999-07-02  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/[all tools]: the Tool structure is now allocated by a common
	constructor which sets default values and provides default tool
	action functions. To get rid of much code duplication there should
	be a object hierarchy of tools.

	* app/context_manager.c
	* app/tools.[ch]: create and destroy private contexts for the
	paint tools on startup and exit. They are not used yet.

	* app/interface.c
	* app/menus.c
	* app/tools.h: num_tools is now exported in tools.h

	* app/commands.c
	* app/gdisplay.c
	* app/menus.c: made "Toggle Selection" a toggleable menu item.
1999-07-02 17:40:10 +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 aef2a0331a added some functions. Still does nothing.
1999-06-19  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/gimpcontext.[ch]: added some functions. Still does nothing.

	* app/bezier_select.c
	* app/devices.c
	* app/tools.[ch]: removed global variable active_tool_type
	because it was always equal to active_tool->type.
1999-06-19 20:20:59 +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
Michael Natterer 8dbd5f9b65 app/airbrush.c app/bezier_select.c app/blend.c app/brightness_contrast.c
1999-04-12  Michael Natterer  <mitschel@cs.tu-berlin.de>

        * app/airbrush.c
        * app/bezier_select.c
        * app/blend.c
        * app/brightness_contrast.c
        * app/bucket_fill.c
        * app/by_color_select.c
        * app/clone.c
        * app/color_balance.c
        * app/color_picker.c
        * app/convolve.c
        * app/crop.c
        * app/curves.c
        * app/ellipse_select.c
        * app/eraser.c
        * app/flip_tool.c
        * app/free_select.c
        * app/fuzzy_select.c
        * app/histogram_tool.c
        * app/hue_saturation.c
        * app/ink.c
        * app/iscissors.c
        * app/levels.c
        * app/magnify.c
        * app/move.c
        * app/paintbrush.c
        * app/pencil.c
        * app/posterize.c
        * app/rect_select.[ch]
        * app/text_tool.c
        * app/threshold.c
        * app/transform_tool.c

        * app/tools.[ch]
        * app/toolsF.h: again: all tools :(

        * app/Makefile.am
        * app/tool_options.[ch]
        * app/selection_options.h
        * app/tool_options_ui.h: new files.

        Ok, this time it's general enough for future extensions:

        - The tool options structures are organized like the gtk object
          system to allow derived tool options.
        - Renamed all create and reset functions to *_options_new() and
          *_options_reset() to reflect this.
        - Changed tools_register() again. Now it takes just a pointer to a
          ToolOptions structure.
        - Moved almost the entire tool options gui code to tool_options.c.
        - Visually separated the common selection options from the
          tool-specific ones. I'd like to do the same with opacity/paint
          mode in all paint tool options but I think this needs some more
          discussion.

        * app/histogram_tool.c: changed packing boxes, label alignments.

        * app/paintbrush.c: some more sensitive settings. The gradient
        feature can now be toggled with a button. Hopefully didn't break
        anything.
1999-04-12 17:55:06 +00:00
Michael Natterer f1b0a8835c app/airbrush.c app/bezier_select.c app/blend.c app/brightness_contrast.c
1999-04-08  Michael Natterer  <mitschel@cs.tu-berlin.de>

	* app/airbrush.c
	* app/bezier_select.c
	* app/blend.c
	* app/brightness_contrast.c
	* app/bucket_fill.c
	* app/by_color_select.c
	* app/clone.c
	* app/color_balance.c
	* app/color_picker.c
	* app/convolve.c
	* app/crop.[ch]
	* app/curves.c
	* app/ellipse_select.c
	* app/eraser.c
	* app/flip_tool.c
	* app/free_select.c
	* app/fuzzy_select.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/ink.c
	* app/iscissors.c
	* app/levels.c
	* app/magnify.c
	* app/move.c
	* app/paintbrush.c
	* app/pencil.c
	* app/posterize.c
	* app/rect_select.[ch]
	* app/text_tool.[ch]
	* app/threshold.c
	* app/transform_tool.c

	* app/tools.[ch]
	* app/toolsF.h: in other words: all tools

	Implemented the "reset tool options" feature.
	- All tools register with a title string and a reset function now.
	- The tool options' variables have two related <var>_d (default)
	  and <var>_w (widget) variables to restore the default values.

	"Standardized" the tool options UI:
	- Put the stuff info a frame to give a hint that the dialog's
	  contents will change.
	- table layout, sensitive setting, spacings, borders, ...

	As I had them all in my emacs simultaneously, I couldn't resist to
	standardize the tools' *.c files declaration parts ;) Ansi stuff.
1999-04-08 22:25:54 +00:00
Manish Singh 395cdc5b53 #include <gtk/gtk.h>
* tools.h: #include <gtk/gtk.h>

* toolsF.h: #include <gdk/gdk.h>

* perspective_tool.c: #include <stdio.h>

* gimphistogram.c: #ifdefed a var for threads

* gimpimage.h: added chop hint to GimpImageType enum

* paint_funcs.h: made layer mode #defines an enum

* palette.c
* gimpunit.c: removed PDB stuff

* gimpunit_cmds.h: removed

* convert_cmds.c
* paths_cmds.c: pdbgen updates

* palette_cmds.c
* unit_cmds.c: new files

* app/internal_procs.c: use the pdbgen register_foo functions

* app/Makefile.am: changes for the above

-Yosh
1999-04-04 07:12:22 +00:00
scott fe6720432b Header file tweaks. Now changing tile.h doesn't force about_dialog to
recompile! :)
1998-08-16 00:34:20 +00:00
Lauri Alanko 6a02cda396 Started gimpset, a generic class for handling collections of
objects. (And to automatically manage their signals, not implemented
yet)

Moved drawable_apply_image to drawable.c

Created a global context object (image_context) to handle the
collection of images that the app manages.
1998-07-01 23:06:49 +00:00
CDT 1998 Larry Ewing db79dc64df app/bezier_select.c app/commands.[ch] app/devices.c app/disp_callbacks.c
Sun Jun 21 15:16:46 CDT 1998 Larry Ewing <lewing@gimp.org>

	* app/bezier_select.c
	* app/commands.[ch]
	* app/devices.c
	* app/disp_callbacks.c
	* app/interface.c
	* app/menus.c
	* app/pixmaps.h
	* app/tools.[ch]
	* app/undo.c: Lots of changes to the way tools are intialized and
	accessed.  All information about a tool type is now contained in a
	single ToolInfo array.  There are still some small issues to
	adress about tool groups and we need some way of getting menu
	ordering/grouping to work better (plug-ins need this too).  There
	is still much to be done, but this is the next in cleaning up the
	tools.

	* app/posterize.[ch]
	* app/threshold.[ch]
	* app/histogram_tool.[ch]
	* app/hue_saturation.[ch]
	* app/levels.[ch]
	* app/brightness_contrast.[ch]
	* app/by_color_select.[ch]
	* app/color_balance.[ch]
	* app/curves.[ch]: Changed the *_initalize function prototypes from
	gpointer to GDisplay, to allow better type chacking and provide a
	uniform interface for all the dialog tools.
1998-06-21 20:17:21 +00:00
CDT 1998 Larry Ewing 8e6f42e4cf added menu entry and changed loop bounds to get the new ink tool
Tue Jun 16 15:06:19 CDT 1998 Larry Ewing <lewing@gimp.org>

	* app/interface.c:
	* app/menus.c: added menu entry and changed loop bounds to get the
	new ink tool functioning properly

	* app/tools.[ch]: added new and free funcs to the ToolInfo struct,
	and began small cleanup of tools
1998-06-16 20:09:19 +00:00
Owen Taylor b0e08ede22 Added new files for handling scan-converted convex polygons. (From gsumi)
Sun Jun 14 18:37:06 1998  Owen Taylor  <otaylor@gtk.org>

	* Makefile.am app/blob.[ch] (blob_bounds): Added new files for
	handling scan-converted convex polygons. (From
	gsumi) (these will be moved out to a plug-in tool directory
	when such a thing exists)

	* app/ink.[ch]: New tool for drawing with a hard-edged
	pressure and tilt-sensitive brush.

	* gimprc.c interface.c paint_core.c pixmaps.h tools.[ch]
	All the modifications for adding a new tool. We need
	to fix this.
1998-06-14 22:42:36 +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
Matt Wilson f75645a26c Wed Apr 1 11:10:15 EST 1998 Matthew Wilson <msw@gimp.org
* app/brightness_contrast.c
	* app/by_color_select.c
	* app/color_balance.c
	* app/color_picker.c
	* app/curves.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/levels.c
	* app/posterize.c
	* app/threshold.c
	* app/transform_core.c: modified to call the cancel callback
	instead of the ok callback when freed.  modified to save the
	last used drawable so that we might be able to check later
	and restart the tool if need be.

	* app/disp_callbacks.c
	* app/gimage.c: modified tool restart/destruction code

	* app/tools.c
	* app/tools.h: added tools_initialize, made changes to
	be able save the last used drawable in the tool.

--Matt
1998-04-02 04:51:44 +00:00
EST 1998 Matthew Wilson 7dcd8e85ab app/gimage.c app/tools.c Added a field in the Tools struct, preserve.
Tue Mar 31 02:21:15 EST 1998 Matthew Wilson <msw@gimp.org>

	* app/gimage.c
	* app/tools.c
	* app/tools.h: Added a field in the Tools struct, preserve.
	During gimage_dirty, if this flag is not set the tool will be
	reset.  This is good for tools that keep a copy of the image
	in cache for local manipulation like transform_core.

	* app/bezier_select.c
	* app/blend.c
	* app/brightness_contrast.c
	* app/bucket_fill.c
	* app/color_balance.c
	* app/color_picker.c
	* app/crop.c
	* app/curves.c
	* app/ellipse_select.c
	* app/free_select.c
	* app/histogram_tool.c
	* app/hue_saturation.c
	* app/levels.c
	* app/move.c
	* app/paint_core.c
	* app/posterize.c
	* app/rect_select.c
	* app/text_tool.c
	* app/transform_core.c: Set the preserve flag to the correct
	values in the new functions and wrapped calls to functions that
	dirty the gimage to prevent tool restarts.

	* app/disp_callbacks.c
	* app/menus.c: Removed Nether's tool patch.

--phew.  Matt
1998-03-31 07:23:50 +00:00
Elliot Lee 32cefec8f7 Initial revision 1997-11-24 22:05:25 +00:00