Commit Graph

14 Commits

Author SHA1 Message Date
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 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 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
Tomas Ogren 6a6bc56c84 app/bucket_fill.c app/color_picker.c app/commands.c app/convolve.c
1999-06-07  Tomas Ogren  <stric@ing.umu.se>

* app/bucket_fill.c app/color_picker.c app/commands.c app/convolve.c
* app/crop.c app/flip_tool.c app/gimpunit.c app/global_edit.c
* app/gradient.c app/histogram_tool.c app/magnify.c app/module_db.c
* app/palette.c app/paths_dialog.c app/text_tool.c app/transform_tool.c
  Misc i18n fixes, partly ported from Egger-gimp
1999-06-07 02:21:31 +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
Federico Mena Quintero 10bc5237a7 Updated gtk_toggle_button_set_state() to gtk_toggle_button_set_active() in
1999-01-15  Federico Mena Quintero  <federico@nuclecu.unam.mx>

	* Updated gtk_toggle_button_set_state() to
	gtk_toggle_button_set_active() in all the files.
1999-01-15 17:35:04 +00:00
Manish Singh d2ea549d27 stuff from patches/i18n by Daniel Egger
* app/*: stuff from patches/i18n by Daniel Egger

* app/channels_dialog.c: fixes minor buglets in the channels dialog

-Yosh
1998-12-16 00:37:09 +00:00
GMT 1998 Austin Donnelly ccfeb2549d app/commands.[ch] app/edit_selection.c app/gdisplay.[ch]
Sat Dec  5 21:31:57 GMT 1998  Austin Donnelly  <austin@greenend.org.uk>

	* app/commands.[ch]
	* app/edit_selection.c
	* app/gdisplay.[ch]
	* app/gdisplay_ops.[ch]
	* app/image_render.c
	* app/info_window.c
	* app/magnify.c
	* app/menus.c
	* app/scale.c: image rendering now happens with float scale
	factors, independent in X and Y axes.  Turning on dot-for-dot in view
	menu does what gimp always used to do (ie one image pixel becomes
	one monitor pixel).  Dot-for-dot is on by default so people
	shouldn't notice any difference unless they load an image that's
	not at 72 dpi and also turn off dot-for-dot.

	* app/app_procs.c
	* app/gimprc.[ch]
	* app/preferences_dialog.c: new gimprc options
	(monitor-xresolution <float>) and corresponding
 	(monitor-yresolution <float>).  Uglyness in preferences dialog to
	add a "Monitor" page to the notebook, allowing user to set their
	monitor's resolution or take it from the X server instead.  This
	badly needs cleaned up :(

	* plug-ins/newsprint/newsprint.c: oops - this hasn't been working
	for grayscale images since my last checkin.  Now fixed.
1998-12-05 21:48:37 +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
Gnome CVS User 05c73c4146 Several fixes, most notably a bug in undo when drawing outside an image,
and the "out of paint bug".
1997-11-26 19:30:17 +00:00
Elliot Lee 32cefec8f7 Initial revision 1997-11-24 22:05:25 +00:00