mirror of https://github.com/GNOME/gimp.git
plug-ins/common/align_layers.c plug-ins/common/borderaverage.c
2004-04-20 Sven Neumann <sven@gimp.org> * plug-ins/common/align_layers.c * plug-ins/common/borderaverage.c * plug-ins/common/channel_mixer.c * plug-ins/common/gif.c * plug-ins/common/mng.c * plug-ins/flame/flame.c * plug-ins/gfig/gfig.c: ported remaining plug-ins to GimpIntComboBox.
This commit is contained in:
parent
8cd676ed4d
commit
b0c328afbd
10
ChangeLog
10
ChangeLog
|
@ -1,3 +1,13 @@
|
|||
2004-04-20 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* plug-ins/common/align_layers.c
|
||||
* plug-ins/common/borderaverage.c
|
||||
* plug-ins/common/channel_mixer.c
|
||||
* plug-ins/common/gif.c
|
||||
* plug-ins/common/mng.c
|
||||
* plug-ins/flame/flame.c
|
||||
* plug-ins/gfig/gfig.c: ported remaining plug-ins to GimpIntComboBox.
|
||||
|
||||
2004-04-20 Sven Neumann <sven@gimp.org>
|
||||
|
||||
* plug-ins/common/iwarp.c (iwarp_get_pixel): check tile != NULL
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
/* align_layers.c -- This is a plug-in for the GIMP (1.0's API)
|
||||
/* align_layers.c
|
||||
* Author: Shuji Narazaki <narazaki@InetQ.or.jp>
|
||||
* Time-stamp: <1999-12-18 05:48:38 yasuhiro>
|
||||
* Version: 0.26
|
||||
*
|
||||
* Copyright (C) 1997-1998 Shuji Narazaki <narazaki@InetQ.or.jp>
|
||||
|
@ -350,7 +349,7 @@ align_layers_get_align_offsets (gint32 drawable_id,
|
|||
gint *x,
|
||||
gint *y)
|
||||
{
|
||||
GimpDrawable *layer = gimp_drawable_get (drawable_id);
|
||||
GimpDrawable *layer = gimp_drawable_get (drawable_id);
|
||||
|
||||
switch (VALS.h_base)
|
||||
{
|
||||
|
@ -358,7 +357,7 @@ align_layers_get_align_offsets (gint32 drawable_id,
|
|||
*x = 0;
|
||||
break;
|
||||
case H_BASE_CENTER:
|
||||
*x = (gint) (layer->width / 2);
|
||||
*x = layer->width / 2;
|
||||
break;
|
||||
case H_BASE_RIGHT:
|
||||
*x = layer->width;
|
||||
|
@ -367,13 +366,14 @@ align_layers_get_align_offsets (gint32 drawable_id,
|
|||
*x = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
switch (VALS.v_base)
|
||||
{
|
||||
case V_BASE_TOP:
|
||||
*y = 0;
|
||||
break;
|
||||
case V_BASE_CENTER:
|
||||
*y = (gint) (layer->height / 2);
|
||||
*y = layer->height / 2;
|
||||
break;
|
||||
case V_BASE_BOTTOM:
|
||||
*y = layer->height;
|
||||
|
@ -382,6 +382,8 @@ align_layers_get_align_offsets (gint32 drawable_id,
|
|||
*y = 0;
|
||||
break;
|
||||
}
|
||||
|
||||
gimp_drawable_detach (layer);
|
||||
}
|
||||
|
||||
/* dialog stuff */
|
||||
|
@ -391,7 +393,7 @@ align_layers_dialog (void)
|
|||
GtkWidget *dlg;
|
||||
GtkWidget *frame;
|
||||
GtkWidget *table;
|
||||
GtkWidget *optionmenu;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *toggle;
|
||||
GtkObject *adj;
|
||||
gboolean run;
|
||||
|
@ -419,61 +421,66 @@ align_layers_dialog (void)
|
|||
gtk_container_add (GTK_CONTAINER (frame), table);
|
||||
gtk_widget_show (table);
|
||||
|
||||
optionmenu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gimp_menu_item_update),
|
||||
&VALS.h_style, VALS.h_style,
|
||||
combo = gimp_int_combo_box_new (_("None"), H_NONE,
|
||||
_("Collect"), H_COLLECT,
|
||||
_("Fill (left to right)"), LEFT2RIGHT,
|
||||
_("Fill (right to left)"), RIGHT2LEFT,
|
||||
_("Snap to Grid"), SNAP2HGRID,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), VALS.h_style);
|
||||
|
||||
_("None"), H_NONE, NULL,
|
||||
_("Collect"), H_COLLECT, NULL,
|
||||
_("Fill (left to right)"), LEFT2RIGHT, NULL,
|
||||
_("Fill (right to left)"), RIGHT2LEFT, NULL,
|
||||
_("Snap to Grid"), SNAP2HGRID, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&VALS.h_style);
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
|
||||
_("_Horizontal Style:"), 1.0, 0.5,
|
||||
optionmenu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
optionmenu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gimp_menu_item_update),
|
||||
&VALS.h_base, VALS.h_base,
|
||||
|
||||
_("Left Edge"), H_BASE_LEFT, NULL,
|
||||
_("Center"), H_BASE_CENTER, NULL,
|
||||
_("Right Edge"), H_BASE_RIGHT, NULL,
|
||||
combo = gimp_int_combo_box_new (_("Left Edge"), H_BASE_LEFT,
|
||||
_("Center"), H_BASE_CENTER,
|
||||
_("Right Edge"), H_BASE_RIGHT,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), VALS.h_base);
|
||||
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&VALS.h_base);
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
|
||||
_("Ho_rizontal Base:"), 1.0, 0.5,
|
||||
optionmenu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
optionmenu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gimp_menu_item_update),
|
||||
&VALS.v_style, VALS.v_style,
|
||||
combo = gimp_int_combo_box_new (_("None"), V_NONE,
|
||||
_("Collect"), V_COLLECT,
|
||||
_("Fill (top to bottom)"), TOP2BOTTOM,
|
||||
_("Fill (bottom to top)"), BOTTOM2TOP,
|
||||
_("Snap to Grid"), SNAP2VGRID,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), VALS.v_style);
|
||||
|
||||
_("None"), V_NONE, NULL,
|
||||
_("Collect"), V_COLLECT, NULL,
|
||||
_("Fill (top to bottom)"), TOP2BOTTOM, NULL,
|
||||
_("Fill (bottom to top)"), BOTTOM2TOP, NULL,
|
||||
_("Snap to Grid"), SNAP2VGRID, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&VALS.v_style);
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2,
|
||||
_("_Vertical Style:"), 1.0, 0.5,
|
||||
optionmenu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
optionmenu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gimp_menu_item_update),
|
||||
&VALS.v_base, VALS.v_base,
|
||||
combo = gimp_int_combo_box_new (_("Top Edge"), V_BASE_TOP,
|
||||
_("Center"), V_BASE_CENTER,
|
||||
_("Bottom Edge"), V_BASE_BOTTOM,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), VALS.v_base);
|
||||
|
||||
_("Top Edge"), V_BASE_TOP, NULL,
|
||||
_("Center"), V_BASE_CENTER, NULL,
|
||||
_("Bottom Edge"), V_BASE_BOTTOM, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&VALS.v_base);
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 3,
|
||||
_("Ver_tical Base:"), 1.0, 0.5,
|
||||
optionmenu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
toggle = gtk_check_button_new_with_mnemonic
|
||||
(_("_Ignore the Bottom Layer even if Visible"));
|
||||
|
|
|
@ -351,9 +351,12 @@ borderaverage_dialog (void)
|
|||
GtkWidget *label;
|
||||
GtkWidget *spinbutton;
|
||||
GtkObject *adj;
|
||||
GtkWidget *menu;
|
||||
GtkWidget *combo;
|
||||
gboolean run;
|
||||
|
||||
const gchar *labels[] =
|
||||
{ "1", "2", "4", "8", "16", "32", "64", "128", "256" };
|
||||
|
||||
gimp_ui_init ("borderaverage", FALSE);
|
||||
|
||||
dlg = gimp_dialog_new (_("Borderaverage"), "borderaverage",
|
||||
|
@ -406,24 +409,17 @@ borderaverage_dialog (void)
|
|||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||
gtk_widget_show (label);
|
||||
|
||||
menu = gimp_int_option_menu_new (FALSE, G_CALLBACK (gimp_menu_item_update),
|
||||
&borderaverage_bucket_exponent,
|
||||
borderaverage_bucket_exponent,
|
||||
combo = gimp_int_combo_box_new_array (G_N_ELEMENTS (labels), labels);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo),
|
||||
borderaverage_bucket_exponent);
|
||||
|
||||
_("1 (nonsense?)"), 0, NULL,
|
||||
"2", 1, NULL,
|
||||
"4", 2, NULL,
|
||||
"8", 3, NULL,
|
||||
"16", 4, NULL,
|
||||
"32", 5, NULL,
|
||||
"64", 6, NULL,
|
||||
"128", 7, NULL,
|
||||
_("256 (nonsense?)"), 8, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&borderaverage_bucket_exponent);
|
||||
|
||||
NULL);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), menu, FALSE, FALSE, 0);
|
||||
gtk_widget_show (menu);
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), menu);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
|
||||
gtk_widget_show (combo);
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
|
||||
|
||||
gtk_widget_show (dlg);
|
||||
|
||||
|
|
|
@ -89,7 +89,7 @@ typedef struct
|
|||
GtkAdjustment *green_data;
|
||||
GtkAdjustment *blue_data;
|
||||
|
||||
GtkWidget *option_menu;
|
||||
GtkWidget *combo;
|
||||
|
||||
CmModeType old_output_channel;
|
||||
|
||||
|
@ -146,7 +146,7 @@ static void cm_save_file_callback (GtkWidget *widget,
|
|||
static void cm_save_file_response_callback (GtkFileSelection *filesel,
|
||||
gint response_id,
|
||||
CmParamsType *mix);
|
||||
static void cm_option_callback (GtkWidget *widget,
|
||||
static void cm_combo_callback (GtkWidget *widget,
|
||||
CmParamsType *mix);
|
||||
|
||||
static gboolean cm_force_overwrite (const gchar *filename,
|
||||
|
@ -592,23 +592,24 @@ cm_dialog (void)
|
|||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||
gtk_widget_show (label);
|
||||
|
||||
mix.option_menu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (cm_option_callback),
|
||||
&mix, mix.output_channel,
|
||||
mix.combo = gimp_int_combo_box_new (_("Red"), CM_RED_CHANNEL,
|
||||
_("Green"), CM_GREEN_CHANNEL,
|
||||
_("Blue"), CM_BLUE_CHANNEL,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (mix.combo),
|
||||
mix.output_channel);
|
||||
|
||||
_("Red"), CM_RED_CHANNEL, NULL,
|
||||
_("Green"), CM_GREEN_CHANNEL, NULL,
|
||||
_("Blue"), CM_BLUE_CHANNEL, NULL,
|
||||
g_signal_connect (mix.combo, "changed",
|
||||
G_CALLBACK (cm_combo_callback),
|
||||
&mix);
|
||||
|
||||
NULL);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), mix.combo, FALSE, FALSE, 0);
|
||||
gtk_widget_show (mix.combo);
|
||||
|
||||
gtk_box_pack_start (GTK_BOX (hbox), mix.option_menu, FALSE, FALSE, 0);
|
||||
gtk_widget_show (mix.option_menu);
|
||||
if (mix.monochrome_flag)
|
||||
gtk_widget_set_sensitive (mix.combo, FALSE);
|
||||
|
||||
if (mix.monochrome_flag == TRUE)
|
||||
gtk_widget_set_sensitive (mix.option_menu, FALSE);
|
||||
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), mix.option_menu);
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), mix.combo);
|
||||
|
||||
/*........................................................... */
|
||||
|
||||
|
@ -960,13 +961,13 @@ cm_monochrome_callback (GtkWidget *widget,
|
|||
{
|
||||
mix->old_output_channel = mix->output_channel;
|
||||
mix->monochrome_flag = TRUE;
|
||||
gtk_widget_set_sensitive (mix->option_menu, FALSE);
|
||||
gtk_widget_set_sensitive (mix->combo, FALSE);
|
||||
}
|
||||
else
|
||||
{
|
||||
mix->output_channel = mix->old_output_channel;
|
||||
mix->monochrome_flag = FALSE;
|
||||
gtk_widget_set_sensitive (mix->option_menu, TRUE);
|
||||
gtk_widget_set_sensitive (mix->combo, TRUE);
|
||||
}
|
||||
|
||||
cm_set_adjusters (mix);
|
||||
|
@ -1139,8 +1140,8 @@ cm_load_file_response_callback (GtkFileSelection *fs,
|
|||
|
||||
fclose (fp);
|
||||
|
||||
gimp_int_option_menu_set_history (GTK_OPTION_MENU (mix->option_menu),
|
||||
mix->output_channel);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (mix->combo),
|
||||
mix->output_channel);
|
||||
cm_set_adjusters (mix);
|
||||
|
||||
if (mix->preview_flag)
|
||||
|
@ -1149,7 +1150,8 @@ cm_load_file_response_callback (GtkFileSelection *fs,
|
|||
else
|
||||
{
|
||||
g_message (_("Could not open '%s' for reading: %s"),
|
||||
gimp_filename_to_utf8 (mix->filename), g_strerror (errno));
|
||||
gimp_filename_to_utf8 (mix->filename),
|
||||
g_strerror (errno));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1368,10 +1370,11 @@ cm_save_file (CmParamsType *mix,
|
|||
*
|
||||
*--------------------------------------------------------------------*/
|
||||
static void
|
||||
cm_option_callback (GtkWidget *widget,
|
||||
CmParamsType *mix)
|
||||
cm_combo_callback (GtkWidget *widget,
|
||||
CmParamsType *mix)
|
||||
{
|
||||
gimp_menu_item_update (widget, &mix->output_channel);
|
||||
gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (widget),
|
||||
(gint *) &mix->output_channel);
|
||||
|
||||
cm_set_adjusters (mix);
|
||||
}
|
||||
|
|
|
@ -1248,7 +1248,7 @@ save_dialog (gint32 image_ID)
|
|||
GtkWidget *vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *align;
|
||||
GtkWidget *disposal_option_menu;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *scrolled_window;
|
||||
#ifdef FACEHUGGERS
|
||||
GimpParasite *GIF2_CMNT;
|
||||
|
@ -1404,20 +1404,22 @@ save_dialog (gint32 image_ID)
|
|||
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||
gtk_widget_show (label);
|
||||
|
||||
disposal_option_menu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gimp_menu_item_update),
|
||||
&gsvals.default_dispose, gsvals.default_dispose,
|
||||
combo = gimp_int_combo_box_new (_("I don't Care"),
|
||||
DISPOSE_UNSPECIFIED,
|
||||
_("Cumulative Layers (Combine)"),
|
||||
DISPOSE_COMBINE,
|
||||
_("One Frame per Layer (Replace)"),
|
||||
DISPOSE_REPLACE,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo),
|
||||
gsvals.default_dispose);
|
||||
|
||||
_("I don't Care"),
|
||||
DISPOSE_UNSPECIFIED, NULL,
|
||||
_("Cumulative Layers (Combine)"),
|
||||
DISPOSE_COMBINE, NULL,
|
||||
_("One Frame per Layer (Replace)"),
|
||||
DISPOSE_REPLACE, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&gsvals.default_dispose);
|
||||
|
||||
NULL);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), disposal_option_menu, FALSE, FALSE, 0);
|
||||
gtk_widget_show (disposal_option_menu);
|
||||
gtk_box_pack_start (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
|
||||
gtk_widget_show (combo);
|
||||
|
||||
gtk_widget_show (hbox);
|
||||
gtk_widget_show (vbox);
|
||||
|
@ -1425,10 +1427,10 @@ save_dialog (gint32 image_ID)
|
|||
/* If the image has only one layer it can't be animated, so
|
||||
desensitize the animation options. */
|
||||
|
||||
if (nlayers == 1) gtk_widget_set_sensitive (frame, FALSE);
|
||||
if (nlayers == 1)
|
||||
gtk_widget_set_sensitive (frame, FALSE);
|
||||
|
||||
gtk_widget_show (frame);
|
||||
|
||||
gtk_widget_show (dlg);
|
||||
|
||||
run = (gimp_dialog_run (GIMP_DIALOG (dlg)) == GTK_RESPONSE_OK);
|
||||
|
|
|
@ -1174,7 +1174,7 @@ mng_save_dialog (gint32 image_id)
|
|||
GtkWidget *table;
|
||||
GtkWidget *toggle;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *menu;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *label;
|
||||
GtkWidget *scale;
|
||||
GtkObject *scale_adj;
|
||||
|
@ -1268,46 +1268,42 @@ mng_save_dialog (gint32 image_id)
|
|||
gimp_image_get_layers (image_id, &num_layers);
|
||||
|
||||
if (num_layers == 1)
|
||||
menu = gimp_int_option_menu_new (FALSE,
|
||||
G_CALLBACK (gimp_menu_item_update),
|
||||
&mng_data.default_chunks,
|
||||
mng_data.default_chunks,
|
||||
|
||||
_("PNG"), CHUNKS_PNG_D, NULL,
|
||||
_("JNG"), CHUNKS_JNG_D, NULL,
|
||||
|
||||
NULL);
|
||||
combo = gimp_int_combo_box_new (_("PNG"), CHUNKS_PNG_D,
|
||||
_("JNG"), CHUNKS_JNG_D,
|
||||
NULL);
|
||||
else
|
||||
menu = gimp_int_option_menu_new (FALSE,
|
||||
G_CALLBACK (gimp_menu_item_update),
|
||||
&mng_data.default_chunks,
|
||||
mng_data.default_chunks,
|
||||
combo = gimp_int_combo_box_new (_("PNG + Delta PNG"), CHUNKS_PNG_D,
|
||||
_("JNG + Delta PNG"), CHUNKS_JNG_D,
|
||||
_("All PNG"), CHUNKS_PNG,
|
||||
_("All JNG"), CHUNKS_JNG,
|
||||
NULL);
|
||||
|
||||
_("PNG + Delta PNG"), CHUNKS_PNG_D, NULL,
|
||||
_("JNG + Delta PNG"), CHUNKS_JNG_D, NULL,
|
||||
_("All PNG"), CHUNKS_PNG, NULL,
|
||||
_("All JNG"), CHUNKS_JNG, NULL,
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo),
|
||||
mng_data.default_chunks);
|
||||
|
||||
NULL);
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&mng_data.default_chunks);
|
||||
|
||||
gtk_widget_set_sensitive (menu, FALSE);
|
||||
gtk_widget_set_sensitive (combo, FALSE);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
|
||||
_("Default Chunks Type:"), 1.0, 0.5,
|
||||
menu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
menu = gimp_int_option_menu_new (FALSE,
|
||||
G_CALLBACK (gimp_menu_item_update),
|
||||
&mng_data.default_dispose,
|
||||
mng_data.default_dispose,
|
||||
combo = gimp_int_combo_box_new (_("Combine"), DISPOSE_COMBINE,
|
||||
_("Replace"), DISPOSE_REPLACE,
|
||||
NULL);
|
||||
|
||||
_("Combine"), DISPOSE_COMBINE, NULL,
|
||||
_("Replace"), DISPOSE_REPLACE, NULL,
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo),
|
||||
mng_data.default_dispose);
|
||||
|
||||
NULL);
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
&mng_data.default_dispose);
|
||||
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
|
||||
_("Default Frame Disposal:"), 1.0, 0.5,
|
||||
menu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
scale_adj = gtk_adjustment_new (mng_data.compression_level,
|
||||
0.0, 9.0, 1.0, 1.0, 0.0);
|
||||
|
|
|
@ -66,7 +66,7 @@ static void load_callback (GtkWidget *widget,
|
|||
static void save_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
static void set_edit_preview (void);
|
||||
static void menu_cb (GtkWidget *widget,
|
||||
static void combo_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
static void init_mutants (void);
|
||||
|
||||
|
@ -616,7 +616,7 @@ edit_callback (GtkWidget *widget,
|
|||
GtkWidget *vbox;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *button;
|
||||
GtkWidget *optionmenu;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *label;
|
||||
GtkObject *adj;
|
||||
gint i, j;
|
||||
|
@ -711,27 +711,30 @@ edit_callback (GtkWidget *widget,
|
|||
G_CALLBACK (randomize_callback),
|
||||
NULL);
|
||||
|
||||
optionmenu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (menu_cb),
|
||||
&config.variation, VARIATION_SAME,
|
||||
combo = gimp_int_combo_box_new (_("Same"), VARIATION_SAME,
|
||||
_("Random"), variation_random,
|
||||
_("Linear"), 0,
|
||||
_("Sinusoidal"), 1,
|
||||
_("Spherical"), 2,
|
||||
_("Swirl"), 3,
|
||||
_("Horseshoe"), 4,
|
||||
_("Polar"), 5,
|
||||
_("Bent"), 6,
|
||||
NULL);
|
||||
|
||||
_("Same"), VARIATION_SAME, NULL,
|
||||
_("Random"), variation_random, NULL,
|
||||
_("Linear"), 0, NULL,
|
||||
_("Sinusoidal"), 1, NULL,
|
||||
_("Spherical"), 2, NULL,
|
||||
_("Swirl"), 3, NULL,
|
||||
_("Horseshoe"), 4, NULL,
|
||||
_("Polar"), 5, NULL,
|
||||
_("Bent"), 6, NULL,
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo),
|
||||
VARIATION_SAME);
|
||||
|
||||
NULL);
|
||||
gtk_box_pack_end (GTK_BOX (hbox), optionmenu, FALSE, FALSE, 0);
|
||||
gtk_widget_show (optionmenu);
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (combo_callback),
|
||||
&config.variation);
|
||||
|
||||
gtk_box_pack_end (GTK_BOX (hbox), combo, FALSE, FALSE, 0);
|
||||
gtk_widget_show (combo);
|
||||
|
||||
label = gtk_label_new_with_mnemonic (_("_Variation:"));
|
||||
gtk_box_pack_end (GTK_BOX (hbox), label, FALSE, FALSE, 0);
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), optionmenu);
|
||||
gtk_label_set_mnemonic_widget (GTK_LABEL (label), combo);
|
||||
gtk_widget_show (label);
|
||||
|
||||
gtk_widget_show (main_vbox);
|
||||
|
@ -775,13 +778,14 @@ save_callback (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
menu_cb (GtkWidget *widget,
|
||||
gpointer data)
|
||||
combo_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
gimp_menu_item_update (widget, data);
|
||||
gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (widget), (gint *) data);
|
||||
|
||||
if (VARIATION_SAME != config.variation)
|
||||
random_control_point (&edit_cp, config.variation);
|
||||
|
||||
init_mutants ();
|
||||
set_edit_preview ();
|
||||
}
|
||||
|
@ -1073,7 +1077,7 @@ dialog (void)
|
|||
GtkWidget *label;
|
||||
GtkWidget *menuitem;
|
||||
GtkWidget *option_menu;
|
||||
gint32 save_drawable = config.cmap_drawable;
|
||||
gint32 save_drawable = config.cmap_drawable;
|
||||
|
||||
sep = gtk_hseparator_new ();
|
||||
gtk_box_pack_start (GTK_BOX (box), sep, FALSE, FALSE, 0);
|
||||
|
|
|
@ -95,17 +95,18 @@
|
|||
GDK_KEY_PRESS_MASK | \
|
||||
GDK_KEY_RELEASE_MASK)
|
||||
|
||||
static GtkWidget *top_level_dlg;
|
||||
static GtkWidget *top_level_dlg;
|
||||
static GimpDrawable *gfig_select_drawable;
|
||||
GtkWidget *gfig_preview;
|
||||
GtkWidget *pic_preview;
|
||||
GtkWidget *gfig_preview;
|
||||
GtkWidget *pic_preview;
|
||||
static GtkWidget *gfig_gtk_list;
|
||||
gint32 gfig_image;
|
||||
gint32 gfig_drawable;
|
||||
gint32 gfig_image;
|
||||
gint32 gfig_drawable;
|
||||
static GtkWidget *brush_page_pw;
|
||||
static GtkWidget *brush_sel_button;
|
||||
|
||||
static gint img_width, img_height;
|
||||
static gint img_width;
|
||||
static gint img_height;
|
||||
|
||||
static void query (void);
|
||||
static void run (const gchar *name,
|
||||
|
@ -143,9 +144,9 @@ static void load_button_callback (GtkWidget *widget,
|
|||
gpointer data);
|
||||
static void new_button_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
static void gfig_do_delete_gfig_callback (GtkWidget *widget,
|
||||
gboolean delete,
|
||||
gpointer data);
|
||||
static void gfig_do_delete_gfig_callback (GtkWidget *widget,
|
||||
gboolean delete,
|
||||
gpointer data);
|
||||
static void gfig_delete_gfig_callback (GtkWidget *widget,
|
||||
gpointer data);
|
||||
static void edit_button_callback (GtkWidget *widget,
|
||||
|
@ -302,7 +303,7 @@ static GFigObj * gfig_new (void);
|
|||
static void clear_undo (void);
|
||||
static void gfig_obj_modified (GFigObj *obj, gint stat_type);
|
||||
static void gfig_op_menu_create (GtkWidget *window);
|
||||
static void gridtype_menu_callback (GtkWidget *widget, gpointer data);
|
||||
static void gridtype_combo_callback (GtkWidget *widget, gpointer data);
|
||||
|
||||
static void new_obj_2edit (GFigObj *obj);
|
||||
static gint load_options (GFigObj *gfig, FILE *fp);
|
||||
|
@ -883,16 +884,10 @@ update_options (GFigObj *old_obj)
|
|||
}
|
||||
if (selvals.opts.gridtype != current_obj->opts.gridtype)
|
||||
{
|
||||
gtk_option_menu_set_history
|
||||
(GTK_OPTION_MENU (gfig_opt_widget.gridtypemenu),
|
||||
gimp_int_combo_box_set_active
|
||||
(GIMP_INT_COMBO_BOX (gfig_opt_widget.gridtypemenu),
|
||||
current_obj->opts.gridtype);
|
||||
|
||||
gridtype_menu_callback
|
||||
(gtk_menu_get_active
|
||||
(GTK_MENU (gtk_option_menu_get_menu
|
||||
(GTK_OPTION_MENU (gfig_opt_widget.gridtypemenu)))),
|
||||
GINT_TO_POINTER (GRID_TYPE_MENU));
|
||||
|
||||
#ifdef DEBUG
|
||||
printf ("Gridtype set in options to ");
|
||||
if (current_obj->opts.gridtype == RECT_GRID)
|
||||
|
@ -1398,19 +1393,19 @@ num_sides_dialog (gchar *d_title,
|
|||
|
||||
if (which_way)
|
||||
{
|
||||
GtkWidget *option_menu;
|
||||
GtkWidget *combo = gimp_int_combo_box_new (_("Clockwise"), 0,
|
||||
_("Anti-Clockwise"), 1,
|
||||
NULL);
|
||||
|
||||
option_menu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gimp_menu_item_update),
|
||||
which_way, *which_way,
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), *which_way);
|
||||
|
||||
_("Clockwise"), 0, NULL,
|
||||
_("Anti-Clockwise"), 1, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gimp_int_combo_box_get_active),
|
||||
which_way);
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
|
||||
_("Orientation:"), 1.0, 0.5,
|
||||
option_menu, 1, TRUE);
|
||||
combo, 1, TRUE);
|
||||
}
|
||||
|
||||
gtk_widget_show (window);
|
||||
|
@ -1582,10 +1577,11 @@ gfig_brush_update_preview (GtkWidget *widget,
|
|||
}
|
||||
|
||||
static void
|
||||
gfig_brush_menu_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gfig_brush_combo_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
gimp_menu_item_update (widget, &selvals.brshtype);
|
||||
gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (widget),
|
||||
(gint *) &selvals.brshtype);
|
||||
|
||||
switch (selvals.brshtype)
|
||||
{
|
||||
|
@ -1628,11 +1624,11 @@ gfig_brush_menu_callback (GtkWidget *widget,
|
|||
static GtkWidget *
|
||||
gfig_brush_preview (GtkWidget **pv)
|
||||
{
|
||||
GtkWidget *option_menu;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *frame;
|
||||
GtkWidget *hbox;
|
||||
GtkWidget *vbox;
|
||||
gint y;
|
||||
gint y;
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 0);
|
||||
gtk_container_set_border_width (GTK_CONTAINER (hbox), 4);
|
||||
|
@ -1665,25 +1661,26 @@ gfig_brush_preview (GtkWidget **pv)
|
|||
gtk_container_set_border_width (GTK_CONTAINER (vbox), 4);
|
||||
gtk_widget_show (vbox);
|
||||
|
||||
option_menu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gfig_brush_menu_callback),
|
||||
*pv, selvals.brshtype,
|
||||
combo = gimp_int_combo_box_new (_("Brush"), BRUSH_BRUSH_TYPE,
|
||||
_("Airbrush"), BRUSH_AIRBRUSH_TYPE,
|
||||
_("Pencil"), BRUSH_PENCIL_TYPE,
|
||||
_("Pattern"), BRUSH_PATTERN_TYPE,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), selvals.brshtype);
|
||||
|
||||
_("Brush"), BRUSH_BRUSH_TYPE, NULL,
|
||||
_("Airbrush"), BRUSH_AIRBRUSH_TYPE, NULL,
|
||||
_("Pencil"), BRUSH_PENCIL_TYPE, NULL,
|
||||
_("Pattern"), BRUSH_PATTERN_TYPE, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gfig_brush_combo_callback),
|
||||
*pv);
|
||||
|
||||
NULL);
|
||||
gtk_widget_show (option_menu);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (vbox), option_menu);
|
||||
gimp_help_set_help_data (option_menu,
|
||||
_("Use the brush/pencil or the airbrush when drawing "
|
||||
"on the image. Pattern paints with currently "
|
||||
"selected brush with a pattern. Only applies to "
|
||||
"circles/ellipses if Approx. Circles/Ellipses "
|
||||
"toggle is set."), NULL);
|
||||
gtk_container_add (GTK_CONTAINER (vbox), combo);
|
||||
gimp_help_set_help_data (combo,
|
||||
_("Use the brush/pencil or the airbrush when "
|
||||
"drawing on the image. Pattern paints with "
|
||||
"currently selected brush with a pattern. Only "
|
||||
"applies to circles/ellipses if the "
|
||||
"\"Approx. Circles/Ellipses\" toggle is set."),
|
||||
NULL);
|
||||
gtk_widget_show (combo);
|
||||
|
||||
gtk_container_add (GTK_CONTAINER (hbox), vbox);
|
||||
gtk_container_add (GTK_CONTAINER (hbox), frame);
|
||||
|
@ -1696,7 +1693,7 @@ gfig_brush_fill_preview_xy (GtkWidget *pw,
|
|||
gint x1,
|
||||
gint y1)
|
||||
{
|
||||
gint row_count;
|
||||
gint row_count;
|
||||
BrushDesc *bdesc = (BrushDesc *) g_object_get_data (G_OBJECT (pw),
|
||||
"brush-desc");
|
||||
|
||||
|
@ -1927,16 +1924,18 @@ static GtkWidget *page_menu_bg;
|
|||
static GtkWidget *page_menu_layers;
|
||||
|
||||
static void
|
||||
paint_menu_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
paint_combo_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
gint mtype = GPOINTER_TO_INT (data);
|
||||
gint value;
|
||||
|
||||
if (mtype == PAINT_LAYERS_MENU)
|
||||
gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (widget), &value);
|
||||
|
||||
switch (mtype)
|
||||
{
|
||||
selvals.onlayers = (DrawonLayers)
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
case PAINT_LAYERS_MENU:
|
||||
selvals.onlayers = (DrawonLayers) value;
|
||||
|
||||
#ifdef DEBUG
|
||||
printf ("layer type set to %s\n",
|
||||
|
@ -1948,21 +1947,19 @@ paint_menu_callback (GtkWidget *widget,
|
|||
gtk_widget_set_sensitive (page_menu_bg, FALSE);
|
||||
else
|
||||
gtk_widget_set_sensitive (page_menu_bg, TRUE);
|
||||
}
|
||||
else if (mtype == PAINT_BGS_MENU)
|
||||
{
|
||||
selvals.onlayerbg = (LayersBGType)
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
|
||||
break;
|
||||
|
||||
case PAINT_BGS_MENU:
|
||||
selvals.onlayerbg = (LayersBGType) value;
|
||||
|
||||
#ifdef DEBUG
|
||||
printf ("BG type = %d\n", selvals.onlayerbg);
|
||||
#endif /* DEBUG */
|
||||
}
|
||||
else if (mtype == PAINT_TYPE_MENU)
|
||||
{
|
||||
selvals.painttype = (PaintType)
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
break;
|
||||
|
||||
case PAINT_TYPE_MENU:
|
||||
selvals.painttype = (PaintType) value;
|
||||
|
||||
#ifdef DEBUG
|
||||
printf ("Got type menu = %d\n", selvals.painttype);
|
||||
|
@ -1997,6 +1994,11 @@ paint_menu_callback (GtkWidget *widget,
|
|||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
|
||||
default:
|
||||
g_return_if_reached ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -2021,58 +2023,65 @@ paint_page (void)
|
|||
gtk_box_pack_start (GTK_BOX (vbox), table, FALSE, FALSE, 0);
|
||||
gtk_widget_show (table);
|
||||
|
||||
page_menu_layers =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (paint_menu_callback),
|
||||
GINT_TO_POINTER (PAINT_LAYERS_MENU), 0,
|
||||
page_menu_layers = gimp_int_combo_box_new (_("Original"), ORIGINAL_LAYER,
|
||||
_("New"), SINGLE_LAYER,
|
||||
_("Multiple"), MULTI_LAYER,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (page_menu_layers), 0);
|
||||
|
||||
_("Original"), ORIGINAL_LAYER, NULL,
|
||||
_("New"), SINGLE_LAYER, NULL,
|
||||
_("Multiple"), MULTI_LAYER, NULL,
|
||||
|
||||
NULL);
|
||||
g_signal_connect (page_menu_layers, "changed",
|
||||
G_CALLBACK (paint_combo_callback),
|
||||
GINT_TO_POINTER (PAINT_LAYERS_MENU));
|
||||
|
||||
gimp_help_set_help_data (page_menu_layers,
|
||||
_("Draw all objects on one layer (original or new) "
|
||||
"or one object per layer"), NULL);
|
||||
_("Draw all objects on one layer (original or new) "
|
||||
"or one object per layer."),
|
||||
NULL);
|
||||
|
||||
if (gimp_drawable_is_channel (gfig_drawable))
|
||||
gtk_widget_set_sensitive (page_menu_layers, FALSE);
|
||||
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
|
||||
_("Draw on:"), 1.0, 0.5,
|
||||
page_menu_layers, 1, TRUE);
|
||||
|
||||
page_menu_type =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (paint_menu_callback),
|
||||
GINT_TO_POINTER (PAINT_TYPE_MENU), 0,
|
||||
gimp_int_combo_box_new (_("Brush"), PAINT_BRUSH_TYPE,
|
||||
_("Selection"), PAINT_SELECTION_TYPE,
|
||||
_("Selection+Fill"), PAINT_SELECTION_FILL_TYPE,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (page_menu_type), 0);
|
||||
|
||||
_("Brush"), PAINT_BRUSH_TYPE, NULL,
|
||||
_("Selection"), PAINT_SELECTION_TYPE, NULL,
|
||||
_("Selection+Fill"), PAINT_SELECTION_FILL_TYPE, NULL,
|
||||
|
||||
NULL);
|
||||
g_signal_connect (page_menu_type, "changed",
|
||||
G_CALLBACK (paint_combo_callback),
|
||||
GINT_TO_POINTER (PAINT_TYPE_MENU));
|
||||
|
||||
gimp_help_set_help_data (page_menu_type,
|
||||
_("Draw type. Either a brush or a selection. "
|
||||
"See brush page or selection page for more options"),
|
||||
"See brush page or selection page for more options."),
|
||||
NULL);
|
||||
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
|
||||
_("Using:"), 1.0, 0.5,
|
||||
page_menu_type, 1, TRUE);
|
||||
|
||||
page_menu_bg =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (paint_menu_callback),
|
||||
GINT_TO_POINTER (PAINT_BGS_MENU), 0,
|
||||
page_menu_bg = gimp_int_combo_box_new (_("Transparent"), LAYER_TRANS_BG,
|
||||
_("Background"), LAYER_BG_BG,
|
||||
_("Foreground"), LAYER_FG_BG,
|
||||
_("White"), LAYER_WHITE_BG,
|
||||
_("Copy"), LAYER_COPY_BG,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (page_menu_bg), 0);
|
||||
|
||||
_("Transparent"), LAYER_TRANS_BG, NULL,
|
||||
_("Background"), LAYER_BG_BG, NULL,
|
||||
_("Foreground"), LAYER_FG_BG, NULL,
|
||||
_("White"), LAYER_WHITE_BG, NULL,
|
||||
_("Copy"), LAYER_COPY_BG, NULL,
|
||||
g_signal_connect (page_menu_bg, "changed",
|
||||
G_CALLBACK (paint_combo_callback),
|
||||
GINT_TO_POINTER (PAINT_BGS_MENU));
|
||||
|
||||
NULL);
|
||||
gimp_help_set_help_data (page_menu_bg,
|
||||
_("Layer background type. Copy causes previous "
|
||||
"layer to be copied before the draw is performed"),
|
||||
NULL);
|
||||
_("Layer background type. Copy causes the previous "
|
||||
"layer to be copied before the draw is performed."),
|
||||
NULL);
|
||||
|
||||
gtk_widget_set_sensitive (page_menu_bg, FALSE);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2,
|
||||
_("With BG of:"), 1.0, 0.5,
|
||||
|
@ -2085,7 +2094,7 @@ paint_page (void)
|
|||
G_CALLBACK (gimp_toggle_button_update),
|
||||
&selvals.reverselines);
|
||||
gimp_help_set_help_data (toggle,
|
||||
_("Draw lines in reverse order"), NULL);
|
||||
_("Draw lines in reverse order"), NULL);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
vbox2 = gtk_vbox_new (FALSE, 0);
|
||||
|
@ -2101,7 +2110,7 @@ paint_page (void)
|
|||
G_CALLBACK (gfig_scale2img_update),
|
||||
&selvals.scaletoimage);
|
||||
gimp_help_set_help_data (toggle,
|
||||
_("Scale drawings to images size"), NULL);
|
||||
_("Scale drawings to images size"), NULL);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
hbox = gtk_hbox_new (FALSE, 1);
|
||||
|
@ -2130,9 +2139,9 @@ paint_page (void)
|
|||
G_CALLBACK (gimp_toggle_button_update),
|
||||
&selvals.approxcircles);
|
||||
gimp_help_set_help_data (toggle,
|
||||
_("Approx. circles & ellipses using lines. Allows "
|
||||
"the use of brush fading with these types of "
|
||||
"objects."), NULL);
|
||||
_("Approx. circles & ellipses using lines. Allows "
|
||||
"the use of brush fading with these types of "
|
||||
"objects."), NULL);
|
||||
gtk_widget_show (toggle);
|
||||
|
||||
return vbox;
|
||||
|
@ -2311,48 +2320,38 @@ brush_page (void)
|
|||
}
|
||||
|
||||
static void
|
||||
select_menu_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
select_combo_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
gint mtype = GPOINTER_TO_INT (data);
|
||||
gint value;
|
||||
|
||||
if (mtype == SELECT_TYPE_MENU)
|
||||
{
|
||||
SelectionType type = (SelectionType)
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (widget), &value);
|
||||
|
||||
selopt.type = type;
|
||||
}
|
||||
else if (mtype == SELECT_ARCTYPE_MENU)
|
||||
switch (mtype)
|
||||
{
|
||||
ArcType type = (ArcType)
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
|
||||
selopt.as_pie = type;
|
||||
}
|
||||
else if (mtype == SELECT_TYPE_MENU_FILL)
|
||||
{
|
||||
FillType type = (FillType)
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
|
||||
selopt.fill_type = type;
|
||||
}
|
||||
else if (mtype == SELECT_TYPE_MENU_WHEN)
|
||||
{
|
||||
FillWhen type = (FillWhen)
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
selopt.fill_when = type;
|
||||
case SELECT_TYPE_MENU:
|
||||
selopt.type = (SelectionType) value;
|
||||
break;
|
||||
case SELECT_ARCTYPE_MENU:
|
||||
selopt.as_pie = (ArcType) value;
|
||||
break;
|
||||
case SELECT_TYPE_MENU_FILL:
|
||||
selopt.fill_type = (FillType) value;
|
||||
break;
|
||||
case SELECT_TYPE_MENU_WHEN:
|
||||
selopt.fill_when = (FillWhen) value;
|
||||
break;
|
||||
default:
|
||||
g_return_if_reached ();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
static GtkWidget *
|
||||
select_page (void)
|
||||
{
|
||||
GtkWidget *menu;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *toggle;
|
||||
GtkWidget *scale;
|
||||
GtkObject *scale_data;
|
||||
|
@ -2369,29 +2368,31 @@ select_page (void)
|
|||
gtk_widget_show (table);
|
||||
|
||||
/* The secltion settings -
|
||||
* 1) Type (option menu)
|
||||
* 1) Type (combo box)
|
||||
* 2) Anti A (toggle)
|
||||
* 3) Feather (toggle)
|
||||
* 4) F radius (slider)
|
||||
* 5) Fill type (option menu)
|
||||
* 5) Fill type (combo box)
|
||||
* 6) Opacity (slider)
|
||||
* 7) When to fill (toggle)
|
||||
* 8) Arc as segment/sector
|
||||
*/
|
||||
|
||||
/* 1 */
|
||||
menu = gimp_int_option_menu_new (FALSE, G_CALLBACK (select_menu_callback),
|
||||
GINT_TO_POINTER (SELECT_TYPE_MENU), 0,
|
||||
combo = gimp_int_combo_box_new (_("Add"), ADD,
|
||||
_("Subtract"), SUBTRACT,
|
||||
_("Replace"), REPLACE,
|
||||
_("Intersect"), INTERSECT,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), 0);
|
||||
|
||||
_("Add"), ADD, NULL,
|
||||
_("Subtract"), SUBTRACT, NULL,
|
||||
_("Replace"), REPLACE, NULL,
|
||||
_("Intersect"), INTERSECT, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (select_combo_callback),
|
||||
GINT_TO_POINTER (SELECT_TYPE_MENU));
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 0,
|
||||
_("Selection Type:"), 1.0, 0.5,
|
||||
menu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
/* 2 */
|
||||
toggle = gtk_check_button_new_with_label (_("Antialiasing"));
|
||||
|
@ -2425,22 +2426,23 @@ select_page (void)
|
|||
scale, 1, FALSE);
|
||||
|
||||
/* 5 */
|
||||
menu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (select_menu_callback),
|
||||
GINT_TO_POINTER (SELECT_TYPE_MENU_FILL), 0,
|
||||
combo = gimp_int_combo_box_new (_("Pattern"), FILL_PATTERN,
|
||||
_("Foreground"), FILL_FOREGROUND,
|
||||
_("Background"), FILL_BACKGROUND,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), 0);
|
||||
|
||||
_("Pattern"), FILL_PATTERN, NULL,
|
||||
_("Foreground"), FILL_FOREGROUND, NULL,
|
||||
_("Background"), FILL_BACKGROUND, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (select_combo_callback),
|
||||
GINT_TO_POINTER (SELECT_TYPE_MENU_FILL));
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
|
||||
_("Fill Type:"), 1.0, 0.5,
|
||||
menu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
/* 6 */
|
||||
scale_data =
|
||||
gtk_adjustment_new (selopt.fill_opacity, 0.0, 100.0, 1.0, 1.0, 0.0);
|
||||
scale_data = gtk_adjustment_new (selopt.fill_opacity,
|
||||
0.0, 100.0, 1.0, 1.0, 0.0);
|
||||
scale = gtk_hscale_new (GTK_ADJUSTMENT (scale_data));
|
||||
gtk_scale_set_value_pos (GTK_SCALE (scale), GTK_POS_TOP);
|
||||
gtk_range_set_update_policy (GTK_RANGE (scale), GTK_UPDATE_DELAYED);
|
||||
|
@ -2452,50 +2454,56 @@ select_page (void)
|
|||
scale, 1, FALSE);
|
||||
|
||||
/* 7 */
|
||||
menu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (select_menu_callback),
|
||||
GINT_TO_POINTER (SELECT_TYPE_MENU_WHEN), 0,
|
||||
combo = gimp_int_combo_box_new (_("Each Selection"), FILL_EACH,
|
||||
_("All Selections"), FILL_AFTER,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), 0);
|
||||
|
||||
_("Each Selection"), FILL_EACH, NULL,
|
||||
_("All Selections"), FILL_AFTER, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (select_combo_callback),
|
||||
GINT_TO_POINTER (SELECT_TYPE_MENU_WHEN));
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2,
|
||||
_("Fill after:"), 1.0, 0.5,
|
||||
menu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
/* 8 */
|
||||
menu = gimp_int_option_menu_new (FALSE, G_CALLBACK (select_menu_callback),
|
||||
GINT_TO_POINTER (SELECT_ARCTYPE_MENU), 0,
|
||||
combo = gimp_int_combo_box_new (_("Segment"), ARC_SEGMENT,
|
||||
_("Sector"), ARC_SECTOR,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), 0);
|
||||
|
||||
_("Segment"), ARC_SEGMENT, NULL,
|
||||
_("Sector"), ARC_SECTOR, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (select_combo_callback),
|
||||
GINT_TO_POINTER (SELECT_ARCTYPE_MENU));
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 3,
|
||||
_("Arc as:"), 1.0, 0.5,
|
||||
menu, 1, FALSE);
|
||||
combo, 1, FALSE);
|
||||
|
||||
return vbox;
|
||||
}
|
||||
|
||||
static void
|
||||
gridtype_menu_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
gridtype_combo_callback (GtkWidget *widget,
|
||||
gpointer data)
|
||||
{
|
||||
gint mtype = GPOINTER_TO_INT (data);
|
||||
gint value;
|
||||
|
||||
if (mtype == GRID_TYPE_MENU)
|
||||
gimp_int_combo_box_get_active (GIMP_INT_COMBO_BOX (widget), &value);
|
||||
|
||||
switch (mtype)
|
||||
{
|
||||
selvals.opts.gridtype =
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
}
|
||||
else
|
||||
{
|
||||
grid_gc_type =
|
||||
GPOINTER_TO_INT (g_object_get_data (G_OBJECT (widget),
|
||||
"gimp-item-data"));
|
||||
case GRID_TYPE_MENU:
|
||||
selvals.opts.gridtype = value;
|
||||
break;
|
||||
case GRID_RENDER_MENU:
|
||||
grid_gc_type = value;
|
||||
break;
|
||||
default:
|
||||
g_return_if_reached ();
|
||||
break;
|
||||
}
|
||||
|
||||
draw_grid_clear ();
|
||||
|
@ -2505,7 +2513,7 @@ static GtkWidget *
|
|||
options_page (void)
|
||||
{
|
||||
GtkWidget *table;
|
||||
GtkWidget *menu;
|
||||
GtkWidget *combo;
|
||||
GtkWidget *toggle;
|
||||
GtkWidget *button;
|
||||
GtkWidget *vbox;
|
||||
|
@ -2541,36 +2549,39 @@ options_page (void)
|
|||
NULL, 0, 0,
|
||||
button, 1, TRUE);
|
||||
|
||||
menu = gimp_int_option_menu_new (FALSE, G_CALLBACK (gridtype_menu_callback),
|
||||
GINT_TO_POINTER (GRID_TYPE_MENU), 0,
|
||||
combo = gimp_int_combo_box_new (_("Rectangle"), RECT_GRID,
|
||||
_("Polar"), POLAR_GRID,
|
||||
_("Isometric"), ISO_GRID,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), 0);
|
||||
|
||||
_("Rectangle"), RECT_GRID, NULL,
|
||||
_("Polar"), POLAR_GRID, NULL,
|
||||
_("Isometric"), ISO_GRID, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gridtype_combo_callback),
|
||||
GINT_TO_POINTER (GRID_TYPE_MENU));
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 1,
|
||||
_("Grid Type:"), 1.0, 0.5,
|
||||
menu, 1, TRUE);
|
||||
combo, 1, TRUE);
|
||||
|
||||
gfig_opt_widget.gridtypemenu = menu;
|
||||
gfig_opt_widget.gridtypemenu = combo;
|
||||
|
||||
menu =
|
||||
gimp_int_option_menu_new (FALSE, G_CALLBACK (gridtype_menu_callback),
|
||||
GINT_TO_POINTER (GRID_RENDER_MENU), 0,
|
||||
combo = gimp_int_combo_box_new (_("Normal"), GTK_STATE_NORMAL,
|
||||
_("Black"), GFIG_BLACK_GC,
|
||||
_("White"), GFIG_WHITE_GC,
|
||||
_("Grey"), GFIG_GREY_GC,
|
||||
_("Darker"), GTK_STATE_ACTIVE,
|
||||
_("Lighter"), GTK_STATE_PRELIGHT,
|
||||
_("Very Dark"), GTK_STATE_SELECTED,
|
||||
NULL);
|
||||
gimp_int_combo_box_set_active (GIMP_INT_COMBO_BOX (combo), 0);
|
||||
|
||||
_("Normal"), GTK_STATE_NORMAL, NULL,
|
||||
_("Black"), GFIG_BLACK_GC, NULL,
|
||||
_("White"), GFIG_WHITE_GC, NULL,
|
||||
_("Grey"), GFIG_GREY_GC, NULL,
|
||||
_("Darker"), GTK_STATE_ACTIVE, NULL,
|
||||
_("Lighter"), GTK_STATE_PRELIGHT, NULL,
|
||||
_("Very Dark"), GTK_STATE_SELECTED, NULL,
|
||||
g_signal_connect (combo, "changed",
|
||||
G_CALLBACK (gridtype_combo_callback),
|
||||
GINT_TO_POINTER (GRID_RENDER_MENU));
|
||||
|
||||
NULL);
|
||||
gimp_table_attach_aligned (GTK_TABLE (table), 0, 2,
|
||||
_("Grid Color:"), 1.0, 0.5,
|
||||
menu, 1, TRUE);
|
||||
combo, 1, TRUE);
|
||||
|
||||
size_data = gimp_scale_entry_new (GTK_TABLE (table), 0, 3,
|
||||
_("Max Undo:"), 0, 50,
|
||||
|
@ -4272,7 +4283,7 @@ toggle_obj_type (GtkWidget *widget,
|
|||
|
||||
if (!p_cursors[selvals.otype])
|
||||
{
|
||||
GdkDisplay *display = gtk_widget_get_display (widget);
|
||||
GdkDisplay *display = gtk_widget_get_display (gfig_preview);
|
||||
|
||||
p_cursors[selvals.otype] = gdk_cursor_new_for_display (display, ctype);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue