app/apptypes.h pass the ToolOptions to the ToolOptionsResetFunc instead of

2001-03-31  Michael Natterer  <mitch@gimp.org>

	* app/apptypes.h
	* app/tools/tool_options_dialog.c: pass the ToolOptions to the
	ToolOptionsResetFunc instead of a useless (void).

	* app/tools/paint_options.[ch]
	* app/tools/selection_options.[ch]: pass ToolOptions pointers here too.

	* app/tools/gimpbezierselecttool.c
	* app/tools/gimpblendtool.c
	* app/tools/gimpbucketfilltool.c
	* app/tools/gimpcolorpickertool.c
	* app/tools/gimpcroptool.c
	* app/tools/gimpdodgeburntool.c
	* app/tools/gimpellipseselecttool.c
	* app/tools/gimperasertool.c
	* app/tools/gimpfliptool.c
	* app/tools/gimpfreeselecttool.c
	* app/tools/gimpfuzzyselecttool.c
	* app/tools/gimpinktool.c
	* app/tools/gimpiscissorstool.c
	* app/tools/gimpmagnifytool.c
	* app/tools/gimpmeasuretool.c
	* app/tools/gimppaintbrushtool.c
	* app/tools/gimppenciltool.c
	* app/tools/gimprectselecttool.c
	* app/tools/gimptexttool.c
	* app/tools/gimptransformtool.c: changed accordingly. Removed many
	"reset" callbacks which just redirected the call to
	paint_options_reset() or selection_options_reset().
This commit is contained in:
Michael Natterer 2001-03-31 20:41:39 +00:00 committed by Michael Natterer
parent 2824801f78
commit 0486fdabe6
43 changed files with 319 additions and 430 deletions

View file

@ -1,3 +1,35 @@
2001-03-31 Michael Natterer <mitch@gimp.org>
* app/apptypes.h
* app/tools/tool_options_dialog.c: pass the ToolOptions to the
ToolOptionsResetFunc instead of a useless (void).
* app/tools/paint_options.[ch]
* app/tools/selection_options.[ch]: pass ToolOptions pointers here too.
* app/tools/gimpbezierselecttool.c
* app/tools/gimpblendtool.c
* app/tools/gimpbucketfilltool.c
* app/tools/gimpcolorpickertool.c
* app/tools/gimpcroptool.c
* app/tools/gimpdodgeburntool.c
* app/tools/gimpellipseselecttool.c
* app/tools/gimperasertool.c
* app/tools/gimpfliptool.c
* app/tools/gimpfreeselecttool.c
* app/tools/gimpfuzzyselecttool.c
* app/tools/gimpinktool.c
* app/tools/gimpiscissorstool.c
* app/tools/gimpmagnifytool.c
* app/tools/gimpmeasuretool.c
* app/tools/gimppaintbrushtool.c
* app/tools/gimppenciltool.c
* app/tools/gimprectselecttool.c
* app/tools/gimptexttool.c
* app/tools/gimptransformtool.c: changed accordingly. Removed many
"reset" callbacks which just redirected the call to
paint_options_reset() or selection_options_reset().
2001-03-31 Michael Natterer <mitch@gimp.org>
* app/undo.c: made undo_pop_paint() work again.

View file

@ -195,7 +195,7 @@ typedef GSList PathUndo;
typedef void (* TileValidateProc) (TileManager *tm,
Tile *tile);
typedef void (* ToolOptionsResetFunc) (void);
typedef void (* ToolOptionsResetFunc) (ToolOptions *tool_options);
typedef void (* GimpProgressFunc) (gint min,
gint max,

View file

@ -167,7 +167,7 @@ static void gimp_transform_tool_draw (GimpDrawTool *draw_too
static void gimp_transform_tool_change_type (GtkType new_type);
static TransformOptions * transform_options_new (void);
static void transform_options_reset (void);
static void transform_options_reset (ToolOptions *tool_options);
/* variables */
@ -278,7 +278,7 @@ gimp_transform_tool_init (GimpTransformTool *tr_tool)
(ToolOptions *) transform_options);
/* press all default buttons */
transform_options_reset ();
transform_options_reset ((ToolOptions *) transform_options);
}
}
@ -1821,9 +1821,11 @@ gimp_transform_tool_grid_density_callback (GtkWidget *widget,
}
static void
transform_options_reset (void)
transform_options_reset (ToolOptions *tool_options)
{
TransformOptions *options = transform_options;
TransformOptions *options;
options = (TransformOptions *) tool_options;
/* FIXME this is gross. */
gtk_toggle_button_set_active (((options->type_d == GIMP_TYPE_ROTATE_TOOL) ?
@ -1863,12 +1865,11 @@ transform_options_new (void)
GtkWidget *fbox;
GtkWidget *grid_density;
/* the new transform tool options structure */
options = g_new0 (TransformOptions, 1);
tool_options_init ((ToolOptions *) options,
transform_options_reset);
options->type = options->type_d = GIMP_TYPE_SCALE_TOOL; //GIMP_TYPE_ROTATE_TOOL;
options->type = options->type_d = GIMP_TYPE_SCALE_TOOL; /* FIXME: GIMP_TYPE_ROTATE_TOOL; */
options->smoothing = options->smoothing_d = TRUE;
options->showpath = options->showpath_d = TRUE;
options->clip = options->clip_d = FALSE;

View file

@ -150,7 +150,7 @@ static void gimp_blend_tool_draw (GimpDrawTool *draw_tool);
static BlendOptions * blend_options_new (void);
static void blend_options_reset (void);
static void blend_options_reset (ToolOptions *tool_options);
static void gradient_type_callback (GtkWidget *widget,
gpointer data);
@ -676,10 +676,12 @@ blend_options_new (void)
GDK_ACTION_COPY);
gimp_dnd_viewable_dest_set (vbox,
GIMP_TYPE_GRADIENT,
blend_options_drop_gradient, NULL);
blend_options_drop_gradient,
options);
gimp_dnd_viewable_dest_set (vbox,
GIMP_TYPE_TOOL_INFO,
blend_options_drop_tool, NULL);
blend_options_drop_tool,
options);
/* the offset scale */
table = gtk_table_new (4, 2, FALSE);
@ -821,31 +823,33 @@ blend_options_new (void)
}
static void
blend_options_reset (void)
blend_options_reset (ToolOptions *tool_options)
{
BlendOptions *options = blend_options;
BlendOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (BlendOptions *) tool_options;
paint_options_reset (tool_options);
options->blend_mode = options->blend_mode_d;
options->gradient_type = options->gradient_type_d;
options->repeat = options->repeat_d;
gtk_option_menu_set_history (GTK_OPTION_MENU (blend_options->blend_mode_w),
blend_options->blend_mode_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (options->blend_mode_w),
options->blend_mode_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (options->gradient_type_w),
blend_options->gradient_type_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (blend_options->repeat_w),
blend_options->repeat_d);
options->gradient_type_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (options->repeat_w),
options->repeat_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (blend_options->offset_w),
blend_options->offset_d);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (blend_options->supersample_w),
blend_options->supersample_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (blend_options->max_depth_w),
blend_options->max_depth_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (blend_options->threshold_w),
blend_options->threshold_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->offset_w),
options->offset_d);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->supersample_w),
options->supersample_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->max_depth_w),
options->max_depth_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->threshold_w),
options->threshold_d);
}
static void
@ -863,11 +867,15 @@ blend_options_drop_gradient (GtkWidget *widget,
GimpViewable *viewable,
gpointer data)
{
BlendOptions *options;
options = (BlendOptions *) data;
gimp_context_set_gradient (gimp_context_get_user (), GIMP_GRADIENT (viewable));
gtk_option_menu_set_history (GTK_OPTION_MENU (blend_options->blend_mode_w),
gtk_option_menu_set_history (GTK_OPTION_MENU (options->blend_mode_w),
CUSTOM_MODE);
blend_options->blend_mode = CUSTOM_MODE;
options->blend_mode = CUSTOM_MODE;
}
static void

View file

@ -167,7 +167,7 @@ static void gimp_transform_tool_draw (GimpDrawTool *draw_too
static void gimp_transform_tool_change_type (GtkType new_type);
static TransformOptions * transform_options_new (void);
static void transform_options_reset (void);
static void transform_options_reset (ToolOptions *tool_options);
/* variables */
@ -278,7 +278,7 @@ gimp_transform_tool_init (GimpTransformTool *tr_tool)
(ToolOptions *) transform_options);
/* press all default buttons */
transform_options_reset ();
transform_options_reset ((ToolOptions *) transform_options);
}
}
@ -1821,9 +1821,11 @@ gimp_transform_tool_grid_density_callback (GtkWidget *widget,
}
static void
transform_options_reset (void)
transform_options_reset (ToolOptions *tool_options)
{
TransformOptions *options = transform_options;
TransformOptions *options;
options = (TransformOptions *) tool_options;
/* FIXME this is gross. */
gtk_toggle_button_set_active (((options->type_d == GIMP_TYPE_ROTATE_TOOL) ?
@ -1863,12 +1865,11 @@ transform_options_new (void)
GtkWidget *fbox;
GtkWidget *grid_density;
/* the new transform tool options structure */
options = g_new0 (TransformOptions, 1);
tool_options_init ((ToolOptions *) options,
transform_options_reset);
options->type = options->type_d = GIMP_TYPE_SCALE_TOOL; //GIMP_TYPE_ROTATE_TOOL;
options->type = options->type_d = GIMP_TYPE_SCALE_TOOL; /* FIXME: GIMP_TYPE_ROTATE_TOOL; */
options->smoothing = options->smoothing_d = TRUE;
options->showpath = options->showpath_d = TRUE;
options->clip = options->clip_d = FALSE;

View file

@ -106,7 +106,7 @@ static void gimp_color_picker_tool_draw (GimpDrawTool *draw_to
static GimpColorPickerToolOptions * gimp_color_picker_tool_options_new (void);
static void gimp_color_picker_tool_options_reset (void);
static void gimp_color_picker_tool_options_reset (ToolOptions *tool_options);
static void gimp_color_picker_tool_info_window_close_callback (GtkWidget *widget,
gpointer data);
static void gimp_color_picker_tool_info_update (GimpTool *tool,
@ -253,9 +253,11 @@ gimp_color_picker_tool_destroy (GtkObject *object)
}
static void
gimp_color_picker_tool_options_reset (void)
gimp_color_picker_tool_options_reset (ToolOptions *tool_options)
{
GimpColorPickerToolOptions *options = gimp_color_picker_tool_options;
GimpColorPickerToolOptions *options;
options = (GimpColorPickerToolOptions *) tool_options;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->sample_merged_w),
options->sample_merged_d);
@ -278,10 +280,10 @@ gimp_color_picker_tool_options_new (void)
GtkWidget *label;
GtkWidget *scale;
/* the new color picker tool options structure */
options = g_new (GimpColorPickerToolOptions, 1);
options = g_new0 (GimpColorPickerToolOptions, 1);
tool_options_init ((ToolOptions *) options,
gimp_color_picker_tool_options_reset);
options->sample_merged = options->sample_merged_d = FALSE;
options->sample_average = options->sample_average_d = FALSE;
options->average_radius = options->average_radius_d = 1.0;

View file

@ -323,5 +323,5 @@ tool_options_dialog_reset_callback (GtkWidget *widget,
}
if (tool_info->tool_options->reset_func)
tool_info->tool_options->reset_func ();
tool_info->tool_options->reset_func (tool_info->tool_options);
}

View file

@ -174,11 +174,13 @@ gimp_dodgeburn_tool_get_type (void)
}
static void
gimp_dodgeburn_tool_options_reset (void)
gimp_dodgeburn_tool_options_reset (ToolOptions *tool_options)
{
DodgeBurnOptions *options = dodgeburn_options;
DodgeBurnOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (DodgeBurnOptions *) tool_options;
paint_options_reset (tool_options);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->exposure_w),
options->exposure_d);
@ -199,7 +201,6 @@ gimp_dodgeburn_tool_options_new (void)
GtkWidget *scale;
GtkWidget *frame;
/* the new dodgeburn tool options structure */
options = g_new0 (DodgeBurnOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_DODGEBURN_TOOL,
@ -293,7 +294,8 @@ gimp_dodgeburn_tool_paint (GimpPaintTool *paint_tool,
gimp_dodgeburn_tool_motion (paint_tool,
dodgeburn_options->paint_options.pressure_options,
dodgeburn_options->exposure,
dodgeburn_options->lut, drawable);
dodgeburn_options->lut,
drawable);
break;
case FINISH_PAINT:

View file

@ -84,7 +84,7 @@ static void gimp_eraser_tool_motion (GimpPaintTool *paint_tool,
gboolean anti_erase);
static EraserOptions * gimp_eraser_tool_options_new (void);
static void gimp_eraser_tool_options_reset (void);
static void gimp_eraser_tool_options_reset (ToolOptions *tool_options);
@ -388,8 +388,7 @@ gimp_eraser_tool_options_new (void)
EraserOptions *options;
GtkWidget *vbox;
options = g_new (EraserOptions, 1);
options = g_new0 (EraserOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_ERASER_TOOL,
gimp_eraser_tool_options_reset);
@ -424,11 +423,13 @@ gimp_eraser_tool_options_new (void)
}
static void
gimp_eraser_tool_options_reset (void)
gimp_eraser_tool_options_reset (ToolOptions *tool_options)
{
EraserOptions *options = eraser_options;
EraserOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (EraserOptions *) tool_options;
paint_options_reset (tool_options);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->hard_w),
options->hard_d);

View file

@ -119,7 +119,7 @@ static void gimp_ink_tool_init (GimpInkTool *tool);
static void gimp_ink_tool_destroy (GtkObject *object);
static InkOptions * ink_options_new (void);
static void ink_options_reset (void);
static void ink_options_reset (ToolOptions *tool_options);
static void ink_button_press (GimpTool *tool,
GdkEventButton *mevent,
@ -300,7 +300,7 @@ gimp_ink_tool_init (GimpInkTool *ink_tool)
tool_manager_register_tool_options (GIMP_TYPE_INK_TOOL,
(ToolOptions *) ink_options);
ink_options_reset ();
ink_options_reset ((ToolOptions *) ink_options);
}
}
@ -333,11 +333,13 @@ ink_type_update (GtkWidget *radio_button,
}
static void
ink_options_reset (void)
ink_options_reset (ToolOptions *tool_options)
{
InkOptions *options = ink_options;
InkOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (InkOptions *) tool_options;
paint_options_reset (tool_options);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->size_w),
options->size_d);
@ -364,21 +366,18 @@ static InkOptions *
ink_options_new (void)
{
InkOptions *options;
GtkWidget *table;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *hbox2;
GtkWidget *radio_button;
GtkWidget *pixmap_widget;
GtkWidget *slider;
GtkWidget *frame;
GtkWidget *darea;
GdkPixmap *pixmap;
GtkWidget *table;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *hbox2;
GtkWidget *radio_button;
GtkWidget *pixmap_widget;
GtkWidget *slider;
GtkWidget *frame;
GtkWidget *darea;
GdkPixmap *pixmap;
/* the new ink tool options structure */
options = g_new0 (InkOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_INK_TOOL,
ink_options_reset);

View file

@ -49,14 +49,6 @@
#define PAINTBRUSH_DEFAULT_INCREMENTAL FALSE
typedef struct _PaintbrushOptions PaintbrushOptions;
struct _PaintbrushOptions
{
PaintOptions paint_options;
};
static void gimp_paintbrush_tool_class_init (GimpPaintbrushToolClass *klass);
static void gimp_paintbrush_tool_init (GimpPaintbrushTool *tool);
@ -73,14 +65,11 @@ static void gimp_paintbrush_tool_motion (GimpPaintTool *paint_tool,
PaintApplicationMode ,
GradientPaintMode );
static PaintbrushOptions * gimp_paintbrush_tool_options_new (void);
static void gimp_paintbrush_tool_options_reset (void);
/* local variables */
static gboolean non_gui_incremental = PAINTBRUSH_DEFAULT_INCREMENTAL;
static PaintbrushOptions *paintbrush_options = NULL;
static PaintOptions *paintbrush_options = NULL;
static GimpPaintToolClass *parent_class = NULL;
@ -148,7 +137,8 @@ gimp_paintbrush_tool_init (GimpPaintbrushTool *paintbrush)
if (! paintbrush_options)
{
paintbrush_options = gimp_paintbrush_tool_options_new ();
paintbrush_options = paint_options_new (GIMP_TYPE_PAINTBRUSH_TOOL,
paint_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_PAINTBRUSH_TOOL,
(ToolOptions *) paintbrush_options);
@ -182,9 +172,9 @@ gimp_paintbrush_tool_paint (GimpPaintTool *paint_tool,
if (paintbrush_options)
{
pressure_options = paintbrush_options->paint_options.pressure_options;
gradient_options = paintbrush_options->paint_options.gradient_options;
incremental = paintbrush_options->paint_options.incremental;
pressure_options = paintbrush_options->pressure_options;
gradient_options = paintbrush_options->gradient_options;
incremental = paintbrush_options->incremental;
}
else
{
@ -462,28 +452,3 @@ gimp_paintbrush_tool_non_gui (GimpDrawable *drawable,
return FALSE;
}
/* tool options stuff */
static PaintbrushOptions *
gimp_paintbrush_tool_options_new (void)
{
PaintbrushOptions *options;
/* the new paint tool options structure */
options = g_new0 (PaintbrushOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_PAINTBRUSH_TOOL,
gimp_paintbrush_tool_options_reset);
return options;
}
static void
gimp_paintbrush_tool_options_reset (void)
{
PaintbrushOptions *options = paintbrush_options;
paint_options_reset ((PaintOptions *) options);
}

View file

@ -48,14 +48,6 @@
#define PENCIL_INCREMENTAL_DEFAULT FALSE
typedef struct _PencilOptions PencilOptions;
struct _PencilOptions
{
PaintOptions paint_options;
};
static void gimp_pencil_tool_class_init (GimpPencilToolClass *klass);
static void gimp_pencil_tool_init (GimpPencilTool *pancil);
@ -67,14 +59,11 @@ static void gimp_pencil_tool_motion (GimpPaintTool *paint_tool,
PaintPressureOptions *pressure_options,
gboolean incremental);
static PencilOptions * gimp_pencil_tool_options_new (void);
static void gimp_pencil_tool_options_reset (void);
/* private variables */
static gboolean non_gui_incremental = PENCIL_INCREMENTAL_DEFAULT;
static PencilOptions *pencil_options = NULL;
static PaintOptions *pencil_options = NULL;
static GimpPaintToolClass *parent_class = NULL;
@ -142,7 +131,8 @@ gimp_pencil_tool_init (GimpPencilTool *pencil)
if (! pencil_options)
{
pencil_options = gimp_pencil_tool_options_new ();
pencil_options = paint_options_new (GIMP_TYPE_PENCIL_TOOL,
paint_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_PENCIL_TOOL,
(ToolOptions *) pencil_options);
@ -164,8 +154,8 @@ gimp_pencil_tool_paint (GimpPaintTool *paint_tool,
if (pencil_options)
{
pressure_options = pencil_options->paint_options.pressure_options;
incremental = pencil_options->paint_options.incremental;
pressure_options = pencil_options->pressure_options;
incremental = pencil_options->incremental;
}
else
{
@ -308,26 +298,3 @@ pencil_non_gui (GimpDrawable *drawable,
return FALSE;
}
/* tool options stuff */
static PencilOptions *
gimp_pencil_tool_options_new (void)
{
PencilOptions *options;
options = g_new0 (PencilOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_PENCIL_TOOL,
gimp_pencil_tool_options_reset);
return options;
}
static void
gimp_pencil_tool_options_reset (void)
{
paint_options_reset ((PaintOptions *) pencil_options);
}

View file

@ -154,7 +154,7 @@ static guint bezier_select_signals[LAST_SIGNAL] = { 0 };
static void gimp_bezier_select_tool_class_init (GimpBezierSelectToolClass *klass);
static void gimp_bezier_select_tool_init (GimpBezierSelectTool *bezier_select);
static void gimp_bezier_select_tool_options_reset (void);
static void gimp_bezier_select_tool_destroy (GtkObject *object);
static void gimp_bezier_select_tool_button_press (GimpTool *tool,
@ -351,10 +351,6 @@ gimp_bezier_select_tool_class_init (GimpBezierSelectToolClass *klass)
/* klass->bezier_select = gimp_bezier_select_tool_real_bezier_select; */
}
static void gimp_bezier_select_tool_options_reset (void)
{
}
static void
gimp_bezier_select_tool_init (GimpBezierSelectTool *bezier_select)
{
@ -367,7 +363,7 @@ gimp_bezier_select_tool_init (GimpBezierSelectTool *bezier_select)
if (! bezier_options)
{
bezier_options = selection_options_new (GIMP_TYPE_BEZIER_SELECT_TOOL,
gimp_bezier_select_tool_options_reset);
selection_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_BEZIER_SELECT_TOOL,
(ToolOptions *) bezier_options);

View file

@ -150,7 +150,7 @@ static void gimp_blend_tool_draw (GimpDrawTool *draw_tool);
static BlendOptions * blend_options_new (void);
static void blend_options_reset (void);
static void blend_options_reset (ToolOptions *tool_options);
static void gradient_type_callback (GtkWidget *widget,
gpointer data);
@ -676,10 +676,12 @@ blend_options_new (void)
GDK_ACTION_COPY);
gimp_dnd_viewable_dest_set (vbox,
GIMP_TYPE_GRADIENT,
blend_options_drop_gradient, NULL);
blend_options_drop_gradient,
options);
gimp_dnd_viewable_dest_set (vbox,
GIMP_TYPE_TOOL_INFO,
blend_options_drop_tool, NULL);
blend_options_drop_tool,
options);
/* the offset scale */
table = gtk_table_new (4, 2, FALSE);
@ -821,31 +823,33 @@ blend_options_new (void)
}
static void
blend_options_reset (void)
blend_options_reset (ToolOptions *tool_options)
{
BlendOptions *options = blend_options;
BlendOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (BlendOptions *) tool_options;
paint_options_reset (tool_options);
options->blend_mode = options->blend_mode_d;
options->gradient_type = options->gradient_type_d;
options->repeat = options->repeat_d;
gtk_option_menu_set_history (GTK_OPTION_MENU (blend_options->blend_mode_w),
blend_options->blend_mode_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (options->blend_mode_w),
options->blend_mode_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (options->gradient_type_w),
blend_options->gradient_type_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (blend_options->repeat_w),
blend_options->repeat_d);
options->gradient_type_d);
gtk_option_menu_set_history (GTK_OPTION_MENU (options->repeat_w),
options->repeat_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (blend_options->offset_w),
blend_options->offset_d);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (blend_options->supersample_w),
blend_options->supersample_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (blend_options->max_depth_w),
blend_options->max_depth_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (blend_options->threshold_w),
blend_options->threshold_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->offset_w),
options->offset_d);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->supersample_w),
options->supersample_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->max_depth_w),
options->max_depth_d);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->threshold_w),
options->threshold_d);
}
static void
@ -863,11 +867,15 @@ blend_options_drop_gradient (GtkWidget *widget,
GimpViewable *viewable,
gpointer data)
{
BlendOptions *options;
options = (BlendOptions *) data;
gimp_context_set_gradient (gimp_context_get_user (), GIMP_GRADIENT (viewable));
gtk_option_menu_set_history (GTK_OPTION_MENU (blend_options->blend_mode_w),
gtk_option_menu_set_history (GTK_OPTION_MENU (options->blend_mode_w),
CUSTOM_MODE);
blend_options->blend_mode = CUSTOM_MODE;
options->blend_mode = CUSTOM_MODE;
}
static void

View file

@ -89,7 +89,7 @@ static void gimp_bucket_fill_tool_init (GimpBucketFillTool *bucket_
static void gimp_bucket_fill_tool_destroy (GtkObject *object);
static BucketOptions * bucket_options_new (void);
static void bucket_options_reset (void);
static void bucket_options_reset (ToolOptions *tool_options);
static void gimp_bucket_fill_tool_button_press (GimpTool *tool,
GdkEventButton *bevent,
@ -193,7 +193,7 @@ gimp_bucket_fill_tool_init (GimpBucketFillTool *bucket_fill_tool)
tool_manager_register_tool_options (GIMP_TYPE_BUCKET_FILL_TOOL,
(ToolOptions *) bucket_options);
bucket_options_reset ();
bucket_options_reset ((ToolOptions *) bucket_options);
}
tool->tool_cursor = GIMP_BUCKET_FILL_TOOL_CURSOR;
@ -209,11 +209,13 @@ gimp_bucket_fill_tool_destroy (GtkObject *object)
}
static void
bucket_options_reset (void)
bucket_options_reset (ToolOptions *tool_options)
{
BucketOptions *options = bucket_options;
BucketOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (BucketOptions *) tool_options;
paint_options_reset (tool_options);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->sample_merged_w),
options->sample_merged_d);

View file

@ -106,7 +106,7 @@ static void gimp_color_picker_tool_draw (GimpDrawTool *draw_to
static GimpColorPickerToolOptions * gimp_color_picker_tool_options_new (void);
static void gimp_color_picker_tool_options_reset (void);
static void gimp_color_picker_tool_options_reset (ToolOptions *tool_options);
static void gimp_color_picker_tool_info_window_close_callback (GtkWidget *widget,
gpointer data);
static void gimp_color_picker_tool_info_update (GimpTool *tool,
@ -253,9 +253,11 @@ gimp_color_picker_tool_destroy (GtkObject *object)
}
static void
gimp_color_picker_tool_options_reset (void)
gimp_color_picker_tool_options_reset (ToolOptions *tool_options)
{
GimpColorPickerToolOptions *options = gimp_color_picker_tool_options;
GimpColorPickerToolOptions *options;
options = (GimpColorPickerToolOptions *) tool_options;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->sample_merged_w),
options->sample_merged_d);
@ -278,10 +280,10 @@ gimp_color_picker_tool_options_new (void)
GtkWidget *label;
GtkWidget *scale;
/* the new color picker tool options structure */
options = g_new (GimpColorPickerToolOptions, 1);
options = g_new0 (GimpColorPickerToolOptions, 1);
tool_options_init ((ToolOptions *) options,
gimp_color_picker_tool_options_reset);
options->sample_merged = options->sample_merged_d = FALSE;
options->sample_average = options->sample_average_d = FALSE;
options->average_radius = options->average_radius_d = 1.0;

View file

@ -200,9 +200,11 @@ static void crop_size_changed (GtkWidget *widget,
/* Functions */
static void
crop_options_reset (void)
crop_options_reset (ToolOptions *tool_options)
{
CropOptions *options = crop_options;
CropOptions *options;
options = (CropOptions *) tool_options;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->layer_only_w),
options->layer_only_d);
@ -218,10 +220,10 @@ crop_options_new (void)
GtkWidget *vbox;
GtkWidget *frame;
/* the new crop tool options structure */
options = g_new (CropOptions, 1);
options = g_new0 (CropOptions, 1);
tool_options_init ((ToolOptions *) options,
crop_options_reset);
options->layer_only = options->layer_only_d = FALSE;
options->allow_enlarge = options->allow_enlarge_d = FALSE;
options->type = options->type_d = CROP_CROP;
@ -1634,6 +1636,7 @@ gimp_crop_tool_init (GimpCropTool *crop_tool)
if (! crop_options)
{
crop_options = crop_options_new ();
tool_manager_register_tool_options (GIMP_TYPE_CROP_TOOL,
(ToolOptions *) crop_options);
}

View file

@ -174,11 +174,13 @@ gimp_dodgeburn_tool_get_type (void)
}
static void
gimp_dodgeburn_tool_options_reset (void)
gimp_dodgeburn_tool_options_reset (ToolOptions *tool_options)
{
DodgeBurnOptions *options = dodgeburn_options;
DodgeBurnOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (DodgeBurnOptions *) tool_options;
paint_options_reset (tool_options);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->exposure_w),
options->exposure_d);
@ -199,7 +201,6 @@ gimp_dodgeburn_tool_options_new (void)
GtkWidget *scale;
GtkWidget *frame;
/* the new dodgeburn tool options structure */
options = g_new0 (DodgeBurnOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_DODGEBURN_TOOL,
@ -293,7 +294,8 @@ gimp_dodgeburn_tool_paint (GimpPaintTool *paint_tool,
gimp_dodgeburn_tool_motion (paint_tool,
dodgeburn_options->paint_options.pressure_options,
dodgeburn_options->exposure,
dodgeburn_options->lut, drawable);
dodgeburn_options->lut,
drawable);
break;
case FINISH_PAINT:

View file

@ -52,8 +52,6 @@ static void gimp_ellipse_select_tool_rect_select (GimpRectSelectTool *rect_too
gint w,
gint h);
static void gimp_ellipse_select_tool_options_reset (void);
static GimpRectSelectToolClass *parent_class = NULL;
@ -184,9 +182,8 @@ gimp_ellipse_select_tool_init (GimpEllipseSelectTool *ellipse_select)
if (! ellipse_options)
{
ellipse_options =
selection_options_new (GIMP_TYPE_ELLIPSE_SELECT_TOOL,
gimp_ellipse_select_tool_options_reset);
ellipse_options = selection_options_new (GIMP_TYPE_ELLIPSE_SELECT_TOOL,
selection_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_ELLIPSE_SELECT_TOOL,
(ToolOptions *) ellipse_options);
@ -253,9 +250,3 @@ gimp_ellipse_select_tool_rect_select (GimpRectSelectTool *rect_tool,
sel_options->feather,
sel_options->feather_radius);
}
static void
gimp_ellipse_select_tool_options_reset (void)
{
selection_options_reset (ellipse_options);
}

View file

@ -84,7 +84,7 @@ static void gimp_eraser_tool_motion (GimpPaintTool *paint_tool,
gboolean anti_erase);
static EraserOptions * gimp_eraser_tool_options_new (void);
static void gimp_eraser_tool_options_reset (void);
static void gimp_eraser_tool_options_reset (ToolOptions *tool_options);
@ -388,8 +388,7 @@ gimp_eraser_tool_options_new (void)
EraserOptions *options;
GtkWidget *vbox;
options = g_new (EraserOptions, 1);
options = g_new0 (EraserOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_ERASER_TOOL,
gimp_eraser_tool_options_reset);
@ -424,11 +423,13 @@ gimp_eraser_tool_options_new (void)
}
static void
gimp_eraser_tool_options_reset (void)
gimp_eraser_tool_options_reset (ToolOptions *tool_options)
{
EraserOptions *options = eraser_options;
EraserOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (EraserOptions *) tool_options;
paint_options_reset (tool_options);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->hard_w),
options->hard_d);

View file

@ -87,7 +87,7 @@ static TileManager * gimp_flip_tool_transform (GimpTransformTool *tool,
TransformState state);
static FlipOptions * flip_options_new (void);
static void flip_options_reset (void);
static void flip_options_reset (ToolOptions *tool_options);
static FlipOptions *flip_options = NULL;
@ -380,11 +380,9 @@ static FlipOptions *
flip_options_new (void)
{
FlipOptions *options;
GtkWidget *vbox;
GtkWidget *frame;
GtkWidget *vbox;
GtkWidget *frame;
/* the new flip tool options structure */
options = g_new0 (FlipOptions, 1);
tool_options_init ((ToolOptions *) options,
flip_options_reset);
@ -414,9 +412,11 @@ flip_options_new (void)
}
static void
flip_options_reset (void)
flip_options_reset (ToolOptions *tool_options)
{
FlipOptions *options = flip_options;
FlipOptions *options;
options = (FlipOptions *) tool_options;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->type_w[options->type_d - 1]), TRUE);
}

View file

@ -67,8 +67,6 @@ static void gimp_free_select_tool_motion (GimpTool *tool,
static void gimp_free_select_tool_draw (GimpDrawTool *draw_tool);
static void gimp_free_select_tool_options_reset (void);
static void gimp_free_select_tool_add_point (GimpFreeSelectTool *free_sel,
gint x,
gint y);
@ -198,7 +196,7 @@ gimp_free_select_tool_init (GimpFreeSelectTool *free_select)
if (! free_options)
{
free_options = selection_options_new (GIMP_TYPE_FREE_SELECT_TOOL,
gimp_free_select_tool_options_reset);
selection_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_FREE_SELECT_TOOL,
(ToolOptions *) free_options);
@ -378,12 +376,6 @@ gimp_free_select_tool_draw (GimpDrawTool *draw_tool)
}
}
static void
gimp_free_select_tool_options_reset (void)
{
selection_options_reset (free_options);
}
static void
gimp_free_select_tool_add_point (GimpFreeSelectTool *free_sel,
gint x,

View file

@ -66,8 +66,6 @@ static void gimp_fuzzy_select_tool_motion (GimpTool *tool,
static void gimp_fuzzy_select_tool_draw (GimpDrawTool *draw_tool);
static void gimp_fuzzy_select_tool_options_reset (void);
static GdkSegment * fuzzy_select_calculate (GimpFuzzySelectTool *fuzzy_sel,
GDisplay *gdisp,
gint *nsegs);
@ -453,9 +451,8 @@ gimp_fuzzy_select_tool_init (GimpFuzzySelectTool *fuzzy_select)
if (! fuzzy_options)
{
fuzzy_options =
selection_options_new (GIMP_TYPE_FUZZY_SELECT_TOOL,
gimp_fuzzy_select_tool_options_reset);
fuzzy_options = selection_options_new (GIMP_TYPE_FUZZY_SELECT_TOOL,
selection_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_FUZZY_SELECT_TOOL,
(ToolOptions *) fuzzy_options);
@ -692,9 +689,3 @@ gimp_fuzzy_select_tool_draw (GimpDrawTool *draw_tool)
draw_tool->gc,
segs, num_segs);
}
static void
gimp_fuzzy_select_tool_options_reset (void)
{
selection_options_reset (fuzzy_options);
}

View file

@ -119,7 +119,7 @@ static void gimp_ink_tool_init (GimpInkTool *tool);
static void gimp_ink_tool_destroy (GtkObject *object);
static InkOptions * ink_options_new (void);
static void ink_options_reset (void);
static void ink_options_reset (ToolOptions *tool_options);
static void ink_button_press (GimpTool *tool,
GdkEventButton *mevent,
@ -300,7 +300,7 @@ gimp_ink_tool_init (GimpInkTool *ink_tool)
tool_manager_register_tool_options (GIMP_TYPE_INK_TOOL,
(ToolOptions *) ink_options);
ink_options_reset ();
ink_options_reset ((ToolOptions *) ink_options);
}
}
@ -333,11 +333,13 @@ ink_type_update (GtkWidget *radio_button,
}
static void
ink_options_reset (void)
ink_options_reset (ToolOptions *tool_options)
{
InkOptions *options = ink_options;
InkOptions *options;
paint_options_reset ((PaintOptions *) options);
options = (InkOptions *) tool_options;
paint_options_reset (tool_options);
gtk_adjustment_set_value (GTK_ADJUSTMENT (options->size_w),
options->size_d);
@ -364,21 +366,18 @@ static InkOptions *
ink_options_new (void)
{
InkOptions *options;
GtkWidget *table;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *hbox2;
GtkWidget *radio_button;
GtkWidget *pixmap_widget;
GtkWidget *slider;
GtkWidget *frame;
GtkWidget *darea;
GdkPixmap *pixmap;
GtkWidget *table;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *hbox2;
GtkWidget *radio_button;
GtkWidget *pixmap_widget;
GtkWidget *slider;
GtkWidget *frame;
GtkWidget *darea;
GdkPixmap *pixmap;
/* the new ink tool options structure */
options = g_new0 (InkOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_INK_TOOL,
ink_options_reset);

View file

@ -155,8 +155,6 @@ static void gimp_iscissors_tool_draw (GimpDrawTool *draw_tool);
static IScissorsOptions * iscissors_options_new (void);
static void iscissors_options_reset (void);
static void iscissors_convert (GimpIscissorsTool *iscissors,
GDisplay *gdisp);
static TileManager * gradient_map_new (GimpImage *gimage);
@ -377,14 +375,6 @@ gimp_iscissors_tool_destroy (GtkObject *object)
GTK_OBJECT_CLASS (parent_class)->destroy (object);
}
static void
iscissors_options_reset (void)
{
IScissorsOptions *options = iscissors_options;
selection_options_reset ((SelectionOptions *) options);
}
static IScissorsOptions *
iscissors_options_new (void)
{
@ -395,7 +385,7 @@ iscissors_options_new (void)
selection_options_init ((SelectionOptions *) options,
GIMP_TYPE_ISCISSORS_TOOL,
iscissors_options_reset);
selection_options_reset);
return options;
}

View file

@ -91,7 +91,7 @@ static void zoom_out (gint *src,
gint scale);
static MagnifyOptions * magnify_options_new (void);
static void magnify_options_reset (void);
static void magnify_options_reset (ToolOptions *tool_options);
static MagnifyOptions *magnify_options = NULL;
@ -196,9 +196,11 @@ gimp_magnify_tool_destroy (GtkObject *object)
/* magnify tool options functions */
static void
magnify_options_reset (void)
magnify_options_reset (ToolOptions *tool_options)
{
MagnifyOptions *options = magnify_options;
MagnifyOptions *options;
options = (MagnifyOptions *) tool_options;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->allow_resize_w),
options->allow_resize_d);

View file

@ -95,14 +95,14 @@ static void gimp_measure_tool_draw (GimpDrawTool *draw_tool);
static gdouble measure_get_angle (gint dx,
gint dy,
gdouble xres,
gdouble yres);
static gdouble measure_get_angle (gint dx,
gint dy,
gdouble xres,
gdouble yres);
static MeasureOptions * measure_tool_options_new (void);
static void measure_tool_options_reset (void);
static void measure_tool_info_window_close_callback (GtkWidget *widget,
gpointer data);
static void measure_tool_options_reset (ToolOptions *tool_options);
static void measure_tool_info_window_close_callback (GtkWidget *widget,
gpointer data);
static void measure_tool_info_update (void);
@ -779,9 +779,11 @@ gimp_measure_tool_draw (GimpDrawTool *draw_tool)
}
static void
measure_tool_options_reset (void)
measure_tool_options_reset (ToolOptions *tool_options)
{
MeasureOptions *options = measure_tool_options;
MeasureOptions *options;
options = (MeasureOptions *) tool_options;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->use_info_window_w),
options->use_info_window_d);
@ -793,10 +795,10 @@ measure_tool_options_new (void)
MeasureOptions *options;
GtkWidget *vbox;
/* the new measure tool options structure */
options = g_new (MeasureOptions, 1);
options = g_new0 (MeasureOptions, 1);
tool_options_init ((ToolOptions *) options,
measure_tool_options_reset);
options->use_info_window = options->use_info_window_d = FALSE;
/* the main vbox */

View file

@ -49,14 +49,6 @@
#define PAINTBRUSH_DEFAULT_INCREMENTAL FALSE
typedef struct _PaintbrushOptions PaintbrushOptions;
struct _PaintbrushOptions
{
PaintOptions paint_options;
};
static void gimp_paintbrush_tool_class_init (GimpPaintbrushToolClass *klass);
static void gimp_paintbrush_tool_init (GimpPaintbrushTool *tool);
@ -73,14 +65,11 @@ static void gimp_paintbrush_tool_motion (GimpPaintTool *paint_tool,
PaintApplicationMode ,
GradientPaintMode );
static PaintbrushOptions * gimp_paintbrush_tool_options_new (void);
static void gimp_paintbrush_tool_options_reset (void);
/* local variables */
static gboolean non_gui_incremental = PAINTBRUSH_DEFAULT_INCREMENTAL;
static PaintbrushOptions *paintbrush_options = NULL;
static PaintOptions *paintbrush_options = NULL;
static GimpPaintToolClass *parent_class = NULL;
@ -148,7 +137,8 @@ gimp_paintbrush_tool_init (GimpPaintbrushTool *paintbrush)
if (! paintbrush_options)
{
paintbrush_options = gimp_paintbrush_tool_options_new ();
paintbrush_options = paint_options_new (GIMP_TYPE_PAINTBRUSH_TOOL,
paint_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_PAINTBRUSH_TOOL,
(ToolOptions *) paintbrush_options);
@ -182,9 +172,9 @@ gimp_paintbrush_tool_paint (GimpPaintTool *paint_tool,
if (paintbrush_options)
{
pressure_options = paintbrush_options->paint_options.pressure_options;
gradient_options = paintbrush_options->paint_options.gradient_options;
incremental = paintbrush_options->paint_options.incremental;
pressure_options = paintbrush_options->pressure_options;
gradient_options = paintbrush_options->gradient_options;
incremental = paintbrush_options->incremental;
}
else
{
@ -462,28 +452,3 @@ gimp_paintbrush_tool_non_gui (GimpDrawable *drawable,
return FALSE;
}
/* tool options stuff */
static PaintbrushOptions *
gimp_paintbrush_tool_options_new (void)
{
PaintbrushOptions *options;
/* the new paint tool options structure */
options = g_new0 (PaintbrushOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_PAINTBRUSH_TOOL,
gimp_paintbrush_tool_options_reset);
return options;
}
static void
gimp_paintbrush_tool_options_reset (void)
{
PaintbrushOptions *options = paintbrush_options;
paint_options_reset ((PaintOptions *) options);
}

View file

@ -136,7 +136,9 @@ paint_options_init (PaintOptions *options,
options->context = tool_info->context;
options->incremental_w = NULL;
options->incremental = options->incremental_d = FALSE;
options->incremental_save = FALSE;
options->pressure_options = NULL;
options->gradient_options = NULL;
/* the main vbox */
vbox = gtk_vbox_new (FALSE, 2);
@ -262,9 +264,12 @@ paint_options_new (GtkType tool_type,
}
void
paint_options_reset (PaintOptions *options)
paint_options_reset (ToolOptions *tool_options)
{
GimpContext *default_context;
PaintOptions *options;
GimpContext *default_context;
options = (PaintOptions *) tool_options;
default_context = gimp_context_get_default ();
@ -841,23 +846,18 @@ static void
paint_gradient_options_gradient_toggle_callback (GtkWidget *widget,
PaintOptions *options)
{
#ifdef __GNUC__
#warning (FIXME make incremental_save part of the struct)
#endif
static gboolean incremental_save = FALSE;
gimp_toggle_button_update (widget, &options->gradient_options->use_gradient);
if (options->gradient_options->use_gradient)
{
incremental_save = options->incremental;
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (options->incremental_w), TRUE);
options->incremental_save = options->incremental;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
TRUE);
}
else
{
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (options->incremental_w),
incremental_save);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
options->incremental_save);
}
}

View file

@ -111,6 +111,8 @@ struct _PaintOptions
gboolean incremental_d;
GtkWidget *incremental_w;
gboolean incremental_save;
/* the pressure-sensitivity options */
PaintPressureOptions *pressure_options;
@ -131,7 +133,7 @@ extern PaintGradientOptions non_gui_gradient_options;
PaintOptions * paint_options_new (GtkType tool_type,
ToolOptionsResetFunc reset_func);
void paint_options_reset (PaintOptions *options);
void paint_options_reset (ToolOptions *tool_options);
/* to be used by "derived" paint options only */

View file

@ -48,14 +48,6 @@
#define PENCIL_INCREMENTAL_DEFAULT FALSE
typedef struct _PencilOptions PencilOptions;
struct _PencilOptions
{
PaintOptions paint_options;
};
static void gimp_pencil_tool_class_init (GimpPencilToolClass *klass);
static void gimp_pencil_tool_init (GimpPencilTool *pancil);
@ -67,14 +59,11 @@ static void gimp_pencil_tool_motion (GimpPaintTool *paint_tool,
PaintPressureOptions *pressure_options,
gboolean incremental);
static PencilOptions * gimp_pencil_tool_options_new (void);
static void gimp_pencil_tool_options_reset (void);
/* private variables */
static gboolean non_gui_incremental = PENCIL_INCREMENTAL_DEFAULT;
static PencilOptions *pencil_options = NULL;
static PaintOptions *pencil_options = NULL;
static GimpPaintToolClass *parent_class = NULL;
@ -142,7 +131,8 @@ gimp_pencil_tool_init (GimpPencilTool *pencil)
if (! pencil_options)
{
pencil_options = gimp_pencil_tool_options_new ();
pencil_options = paint_options_new (GIMP_TYPE_PENCIL_TOOL,
paint_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_PENCIL_TOOL,
(ToolOptions *) pencil_options);
@ -164,8 +154,8 @@ gimp_pencil_tool_paint (GimpPaintTool *paint_tool,
if (pencil_options)
{
pressure_options = pencil_options->paint_options.pressure_options;
incremental = pencil_options->paint_options.incremental;
pressure_options = pencil_options->pressure_options;
incremental = pencil_options->incremental;
}
else
{
@ -308,26 +298,3 @@ pencil_non_gui (GimpDrawable *drawable,
return FALSE;
}
/* tool options stuff */
static PencilOptions *
gimp_pencil_tool_options_new (void)
{
PencilOptions *options;
options = g_new0 (PencilOptions, 1);
paint_options_init ((PaintOptions *) options,
GIMP_TYPE_PENCIL_TOOL,
gimp_pencil_tool_options_reset);
return options;
}
static void
gimp_pencil_tool_options_reset (void)
{
paint_options_reset ((PaintOptions *) pencil_options);
}

View file

@ -79,8 +79,6 @@ static void gimp_rect_select_tool_real_rect_select (GimpRectSelectTool *rect_t
gint w,
gint h);
static void gimp_rect_select_tool_options_reset (void);
static guint rect_select_signals[LAST_SIGNAL] = { 0 };
@ -227,7 +225,7 @@ gimp_rect_select_tool_init (GimpRectSelectTool *rect_select)
if (! rect_options)
{
rect_options = selection_options_new (GIMP_TYPE_RECT_SELECT_TOOL,
gimp_rect_select_tool_options_reset);
selection_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_RECT_SELECT_TOOL,
(ToolOptions *) rect_options);
@ -645,9 +643,3 @@ gimp_rect_select_tool_rect_select (GimpRectSelectTool *rect_tool,
gtk_signal_emit (GTK_OBJECT (rect_tool), rect_select_signals[RECT_SELECT],
x, y, w, h);
}
static void
gimp_rect_select_tool_options_reset (void)
{
selection_options_reset (rect_options);
}

View file

@ -66,8 +66,6 @@ static void gimp_fuzzy_select_tool_motion (GimpTool *tool,
static void gimp_fuzzy_select_tool_draw (GimpDrawTool *draw_tool);
static void gimp_fuzzy_select_tool_options_reset (void);
static GdkSegment * fuzzy_select_calculate (GimpFuzzySelectTool *fuzzy_sel,
GDisplay *gdisp,
gint *nsegs);
@ -453,9 +451,8 @@ gimp_fuzzy_select_tool_init (GimpFuzzySelectTool *fuzzy_select)
if (! fuzzy_options)
{
fuzzy_options =
selection_options_new (GIMP_TYPE_FUZZY_SELECT_TOOL,
gimp_fuzzy_select_tool_options_reset);
fuzzy_options = selection_options_new (GIMP_TYPE_FUZZY_SELECT_TOOL,
selection_options_reset);
tool_manager_register_tool_options (GIMP_TYPE_FUZZY_SELECT_TOOL,
(ToolOptions *) fuzzy_options);
@ -692,9 +689,3 @@ gimp_fuzzy_select_tool_draw (GimpDrawTool *draw_tool)
draw_tool->gc,
segs, num_segs);
}
static void
gimp_fuzzy_select_tool_options_reset (void)
{
selection_options_reset (fuzzy_options);
}

View file

@ -302,8 +302,12 @@ selection_options_new (GtkType tool_type,
}
void
selection_options_reset (SelectionOptions *options)
selection_options_reset (ToolOptions *tool_options)
{
SelectionOptions *options;
options = (SelectionOptions *) tool_options;
if (options->feather_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->feather_w),

View file

@ -81,7 +81,8 @@ struct _SelectionOptions
SelectionOptions * selection_options_new (GtkType tool_type,
ToolOptionsResetFunc reset_func);
void selection_options_reset (SelectionOptions *options);
void selection_options_reset (ToolOptions *tool_options);
/* to be used by "derived" selection options only
*/

View file

@ -120,7 +120,7 @@ static void text_tool_cursor_update (GimpTool *tool,
GDisplay *gdisp);
static TextOptions * text_tool_options_new (void);
static void text_tool_options_reset (void);
static void text_tool_options_reset (ToolOptions *tool_options);
static void text_dialog_create (void);
static void text_dialog_ok_callback (GtkWidget *widget,
@ -241,9 +241,11 @@ gimp_text_tool_destroy (GtkObject *object)
}
static void
text_tool_options_reset (void)
text_tool_options_reset (ToolOptions *tool_options)
{
TextOptions *options = text_tool_options;
TextOptions *options;
options = (TextOptions *) tool_options;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->antialias_w),
options->antialias_d);
@ -257,15 +259,13 @@ static TextOptions *
text_tool_options_new (void)
{
TextOptions *options;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *spinbutton;
GtkWidget *sep;
GtkWidget *vbox;
GtkWidget *hbox;
GtkWidget *label;
GtkWidget *spinbutton;
GtkWidget *sep;
options = g_new0 (TextOptions, 1);
tool_options_init ((ToolOptions *) options,
text_tool_options_reset);

View file

@ -167,7 +167,7 @@ static void gimp_transform_tool_draw (GimpDrawTool *draw_too
static void gimp_transform_tool_change_type (GtkType new_type);
static TransformOptions * transform_options_new (void);
static void transform_options_reset (void);
static void transform_options_reset (ToolOptions *tool_options);
/* variables */
@ -278,7 +278,7 @@ gimp_transform_tool_init (GimpTransformTool *tr_tool)
(ToolOptions *) transform_options);
/* press all default buttons */
transform_options_reset ();
transform_options_reset ((ToolOptions *) transform_options);
}
}
@ -1821,9 +1821,11 @@ gimp_transform_tool_grid_density_callback (GtkWidget *widget,
}
static void
transform_options_reset (void)
transform_options_reset (ToolOptions *tool_options)
{
TransformOptions *options = transform_options;
TransformOptions *options;
options = (TransformOptions *) tool_options;
/* FIXME this is gross. */
gtk_toggle_button_set_active (((options->type_d == GIMP_TYPE_ROTATE_TOOL) ?
@ -1863,12 +1865,11 @@ transform_options_new (void)
GtkWidget *fbox;
GtkWidget *grid_density;
/* the new transform tool options structure */
options = g_new0 (TransformOptions, 1);
tool_options_init ((ToolOptions *) options,
transform_options_reset);
options->type = options->type_d = GIMP_TYPE_SCALE_TOOL; //GIMP_TYPE_ROTATE_TOOL;
options->type = options->type_d = GIMP_TYPE_SCALE_TOOL; /* FIXME: GIMP_TYPE_ROTATE_TOOL; */
options->smoothing = options->smoothing_d = TRUE;
options->showpath = options->showpath_d = TRUE;
options->clip = options->clip_d = FALSE;

View file

@ -136,7 +136,9 @@ paint_options_init (PaintOptions *options,
options->context = tool_info->context;
options->incremental_w = NULL;
options->incremental = options->incremental_d = FALSE;
options->incremental_save = FALSE;
options->pressure_options = NULL;
options->gradient_options = NULL;
/* the main vbox */
vbox = gtk_vbox_new (FALSE, 2);
@ -262,9 +264,12 @@ paint_options_new (GtkType tool_type,
}
void
paint_options_reset (PaintOptions *options)
paint_options_reset (ToolOptions *tool_options)
{
GimpContext *default_context;
PaintOptions *options;
GimpContext *default_context;
options = (PaintOptions *) tool_options;
default_context = gimp_context_get_default ();
@ -841,23 +846,18 @@ static void
paint_gradient_options_gradient_toggle_callback (GtkWidget *widget,
PaintOptions *options)
{
#ifdef __GNUC__
#warning (FIXME make incremental_save part of the struct)
#endif
static gboolean incremental_save = FALSE;
gimp_toggle_button_update (widget, &options->gradient_options->use_gradient);
if (options->gradient_options->use_gradient)
{
incremental_save = options->incremental;
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (options->incremental_w), TRUE);
options->incremental_save = options->incremental;
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
TRUE);
}
else
{
gtk_toggle_button_set_active
(GTK_TOGGLE_BUTTON (options->incremental_w),
incremental_save);
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->incremental_w),
options->incremental_save);
}
}

View file

@ -111,6 +111,8 @@ struct _PaintOptions
gboolean incremental_d;
GtkWidget *incremental_w;
gboolean incremental_save;
/* the pressure-sensitivity options */
PaintPressureOptions *pressure_options;
@ -131,7 +133,7 @@ extern PaintGradientOptions non_gui_gradient_options;
PaintOptions * paint_options_new (GtkType tool_type,
ToolOptionsResetFunc reset_func);
void paint_options_reset (PaintOptions *options);
void paint_options_reset (ToolOptions *tool_options);
/* to be used by "derived" paint options only */

View file

@ -302,8 +302,12 @@ selection_options_new (GtkType tool_type,
}
void
selection_options_reset (SelectionOptions *options)
selection_options_reset (ToolOptions *tool_options)
{
SelectionOptions *options;
options = (SelectionOptions *) tool_options;
if (options->feather_w)
{
gtk_toggle_button_set_active (GTK_TOGGLE_BUTTON (options->feather_w),

View file

@ -81,7 +81,8 @@ struct _SelectionOptions
SelectionOptions * selection_options_new (GtkType tool_type,
ToolOptionsResetFunc reset_func);
void selection_options_reset (SelectionOptions *options);
void selection_options_reset (ToolOptions *tool_options);
/* to be used by "derived" selection options only
*/

View file

@ -323,5 +323,5 @@ tool_options_dialog_reset_callback (GtkWidget *widget,
}
if (tool_info->tool_options->reset_func)
tool_info->tool_options->reset_func ();
tool_info->tool_options->reset_func (tool_info->tool_options);
}

View file

@ -323,5 +323,5 @@ tool_options_dialog_reset_callback (GtkWidget *widget,
}
if (tool_info->tool_options->reset_func)
tool_info->tool_options->reset_func ();
tool_info->tool_options->reset_func (tool_info->tool_options);
}