gimp/app/tools/gimpselectionoptions.h
Michael Natterer 3eb62f8756 removed crap from ancient times when tools used to be an enum.
2001-02-23  Michael Natterer  <mitch@gimp.org>

	* app/app_procs.c: removed crap from ancient times when tools
	used to be an enum.

	* app/brush_select.[ch]: cleaned up the gui and made global paint
	mode toggling much simpler by expanding vertically instead of
	reparenting.

	* app/context_manager.c: removed hack by using a tool manager
	accessor function.

	* app/gimpcontext.c: use the new standard tool info object. Tools
	also _behave_ like all other data types now (can e.g. be
	refreshed).

	* app/tools/tool.[ch]

	* app/tools/gimptoolinfo.[ch]: added an "identifier" which is an
	untranslated string with a meaningful prefix and name, e.g.
	"gimp:color_picker_tool". Renamed "tool_name" and "tool_desc"
	to "blurb" and "help", changed the constructor accordingly.
	Added gimp_tool_info_get_standards() to make the context work
	with tool refresh.

	* app/tools/tool_manager.[ch]
	* app/tools/tools.c: removed the global list of tool class
	structures because the tool info list is in place.
	Added tool_manager_register_tool_options() which calls
	tool_options_dialog_add() and registers the options in the
	global_tool_info_list.

	* app/tools/Makefile.am
	* app/tools/paint_options.[ch]
	* app/tools/selection_options.[ch]
	* app/tools/tool_options.[ch]
	* app/tools/tool_options_dialog.[ch]: build them all again. This
	is mostly the old tool options system with minor modifications to
	work with the new stuff. The tool options auto-update with the user
	context now, so there are no update functions any more.

	* app/gimpdnd.c
	* app/toolbox.c
	* app/tools/color_picker.c
	* app/tools/measure.c
	* app/tools/move.c: changed accordingly.
2001-02-23 21:32:47 +00:00

94 lines
2.6 KiB
C

/* The GIMP -- an image manipulation program
* Copyright (C) 1995-1999 Spencer Kimball and Peter Mattis
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
#ifndef __SELECTION_OPTIONS_H__
#define __SELECTION_OPTIONS_H__
#include "tool_options.h"
/* the selection options structures */
struct _SelectionOptions
{
ToolOptions tool_options;
/* options used by all selection tools */
gboolean feather;
gboolean feather_d;
GtkWidget *feather_w;
gdouble feather_radius;
gdouble feather_radius_d;
GtkObject *feather_radius_w;
/* used by all selection tools except rect. select */
gboolean antialias;
gboolean antialias_d;
GtkWidget *antialias_w;
/* used by fuzzy, by-color selection */
gboolean sample_merged;
gboolean sample_merged_d;
GtkWidget *sample_merged_w;
gdouble threshold;
/* gdouble threshold_d; (from gimprc) */
GtkObject *threshold_w;
/* used by rect., ellipse selection */
gboolean fixed_size;
gboolean fixed_size_d;
GtkWidget *fixed_size_w;
gdouble fixed_width;
gdouble fixed_width_d;
GtkObject *fixed_width_w;
gdouble fixed_height;
gdouble fixed_height_d;
GtkObject *fixed_height_w;
GimpUnit fixed_unit;
GimpUnit fixed_unit_d;
GtkWidget *fixed_unit_w;
/* used by iscissors */
gboolean interactive;
gboolean interactive_d;
GtkWidget *interactive_w;
};
/* selection tool options functions
*/
SelectionOptions * selection_options_new (GtkType tool_type,
ToolOptionsResetFunc reset_func);
void selection_options_reset (SelectionOptions *options);
/* to be used by "derived" selection options only
*/
void selection_options_init (SelectionOptions *options,
GtkType tool_type,
ToolOptionsResetFunc reset_func);
#endif /* __SELCTION_OPTIONS_H__ */