plug-ins/gflare/gflare.c libgimp/gimpunitmenu.c set separators of option

2000-12-03  Michael Natterer  <mitch@gimp.org>

	* plug-ins/gflare/gflare.c
	* libgimp/gimpunitmenu.c
	* libgimp/gimpwidgets.c: set separators of option menus insensitive.
	(see Sven's fix below below).

	* app/layers_dialog.c: set "Merge Down" insensitive for
	the bottom layer.
This commit is contained in:
Michael Natterer
2000-12-03 18:35:58 +00:00
committed by Michael Natterer
parent 0d9382fb04
commit 6bb4458abb
8 changed files with 162 additions and 112 deletions

View File

@ -1,3 +1,13 @@
2000-12-03 Michael Natterer <mitch@gimp.org>
* plug-ins/gflare/gflare.c
* libgimp/gimpunitmenu.c
* libgimp/gimpwidgets.c: set separators of option menus insensitive.
(see Sven's fix below below).
* app/layers_dialog.c: set "Merge Down" insensitive for
the bottom layer.
2000-12-03 Sven Neumann <sven@gimp.org> 2000-12-03 Sven Neumann <sven@gimp.org>
* app/layer.c * app/layer.c

View File

@ -995,14 +995,14 @@ layers_dialog_preview_extents (void)
static void static void
layers_dialog_set_menu_sensitivity (void) layers_dialog_set_menu_sensitivity (void)
{ {
gboolean fs; /* floating sel */ gboolean fs; /* no floating sel */
gboolean ac; /* active channel */ gboolean ac; /* no active channel */
gboolean lm; /* layer mask */ gboolean lm; /* layer mask */
gboolean gimage; /* is there a gimage */ gboolean gimage; /* is there a gimage */
gboolean lp; /* layers present */ gboolean lp; /* layers present */
gboolean alpha; /* alpha channel present */ gboolean alpha; /* alpha channel present */
gboolean indexed; /* is indexed */ gboolean indexed; /* is indexed */
gint next_alpha; gboolean next_alpha;
GSList *list; GSList *list;
GSList *next; GSList *next;
GSList *prev; GSList *prev;
@ -1089,7 +1089,7 @@ layers_dialog_set_menu_sensitivity (void)
SET_SENSITIVE ("Scale Layer...", ac && gimage && lp); SET_SENSITIVE ("Scale Layer...", ac && gimage && lp);
SET_SENSITIVE ("Merge Visible Layers...", fs && ac && gimage && lp); SET_SENSITIVE ("Merge Visible Layers...", fs && ac && gimage && lp);
SET_SENSITIVE ("Merge Down", fs && ac && gimage && lp); SET_SENSITIVE ("Merge Down", fs && ac && gimage && lp && next);
SET_SENSITIVE ("Flatten Image", fs && ac && gimage && lp); SET_SENSITIVE ("Flatten Image", fs && ac && gimage && lp);
SET_SENSITIVE ("Add Layer Mask...", fs && ac && gimage && !lm && lp && alpha && !indexed); SET_SENSITIVE ("Add Layer Mask...", fs && ac && gimage && !lm && lp && alpha && !indexed);

View File

@ -995,14 +995,14 @@ layers_dialog_preview_extents (void)
static void static void
layers_dialog_set_menu_sensitivity (void) layers_dialog_set_menu_sensitivity (void)
{ {
gboolean fs; /* floating sel */ gboolean fs; /* no floating sel */
gboolean ac; /* active channel */ gboolean ac; /* no active channel */
gboolean lm; /* layer mask */ gboolean lm; /* layer mask */
gboolean gimage; /* is there a gimage */ gboolean gimage; /* is there a gimage */
gboolean lp; /* layers present */ gboolean lp; /* layers present */
gboolean alpha; /* alpha channel present */ gboolean alpha; /* alpha channel present */
gboolean indexed; /* is indexed */ gboolean indexed; /* is indexed */
gint next_alpha; gboolean next_alpha;
GSList *list; GSList *list;
GSList *next; GSList *next;
GSList *prev; GSList *prev;
@ -1089,7 +1089,7 @@ layers_dialog_set_menu_sensitivity (void)
SET_SENSITIVE ("Scale Layer...", ac && gimage && lp); SET_SENSITIVE ("Scale Layer...", ac && gimage && lp);
SET_SENSITIVE ("Merge Visible Layers...", fs && ac && gimage && lp); SET_SENSITIVE ("Merge Visible Layers...", fs && ac && gimage && lp);
SET_SENSITIVE ("Merge Down", fs && ac && gimage && lp); SET_SENSITIVE ("Merge Down", fs && ac && gimage && lp && next);
SET_SENSITIVE ("Flatten Image", fs && ac && gimage && lp); SET_SENSITIVE ("Flatten Image", fs && ac && gimage && lp);
SET_SENSITIVE ("Add Layer Mask...", fs && ac && gimage && !lm && lp && alpha && !indexed); SET_SENSITIVE ("Add Layer Mask...", fs && ac && gimage && !lm && lp && alpha && !indexed);

View File

@ -306,6 +306,7 @@ gimp_unit_menu_set_unit (GimpUnitMenu *gum,
menuitem = gtk_menu_item_new (); menuitem = gtk_menu_item_new ();
gtk_menu_append (GTK_MENU (GTK_OPTION_MENU (gum)->menu), menuitem); gtk_menu_append (GTK_MENU (GTK_OPTION_MENU (gum)->menu), menuitem);
gtk_widget_set_sensitive (menuitem, FALSE);
gtk_menu_reorder_child (GTK_MENU (GTK_OPTION_MENU (gum)->menu), gtk_menu_reorder_child (GTK_MENU (GTK_OPTION_MENU (gum)->menu),
menuitem, user_unit - 1); menuitem, user_unit - 1);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);

View File

@ -104,6 +104,8 @@ gimp_option_menu_new (gboolean menu_only,
else else
{ {
menuitem = gtk_menu_item_new (); menuitem = gtk_menu_item_new ();
gtk_widget_set_sensitive (menuitem, FALSE);
} }
gtk_menu_append (GTK_MENU (menu), menuitem); gtk_menu_append (GTK_MENU (menu), menuitem);
@ -201,6 +203,8 @@ gimp_option_menu_new2 (gboolean menu_only,
else else
{ {
menuitem = gtk_menu_item_new (); menuitem = gtk_menu_item_new ();
gtk_widget_set_sensitive (menuitem, FALSE);
} }
gtk_menu_append (GTK_MENU (menu), menuitem); gtk_menu_append (GTK_MENU (menu), menuitem);

View File

@ -306,6 +306,7 @@ gimp_unit_menu_set_unit (GimpUnitMenu *gum,
menuitem = gtk_menu_item_new (); menuitem = gtk_menu_item_new ();
gtk_menu_append (GTK_MENU (GTK_OPTION_MENU (gum)->menu), menuitem); gtk_menu_append (GTK_MENU (GTK_OPTION_MENU (gum)->menu), menuitem);
gtk_widget_set_sensitive (menuitem, FALSE);
gtk_menu_reorder_child (GTK_MENU (GTK_OPTION_MENU (gum)->menu), gtk_menu_reorder_child (GTK_MENU (GTK_OPTION_MENU (gum)->menu),
menuitem, user_unit - 1); menuitem, user_unit - 1);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);

View File

@ -104,6 +104,8 @@ gimp_option_menu_new (gboolean menu_only,
else else
{ {
menuitem = gtk_menu_item_new (); menuitem = gtk_menu_item_new ();
gtk_widget_set_sensitive (menuitem, FALSE);
} }
gtk_menu_append (GTK_MENU (menu), menuitem); gtk_menu_append (GTK_MENU (menu), menuitem);
@ -201,6 +203,8 @@ gimp_option_menu_new2 (gboolean menu_only,
else else
{ {
menuitem = gtk_menu_item_new (); menuitem = gtk_menu_item_new ();
gtk_widget_set_sensitive (menuitem, FALSE);
} }
gtk_menu_append (GTK_MENU (menu), menuitem); gtk_menu_append (GTK_MENU (menu), menuitem);

View File

@ -4149,9 +4149,10 @@ ed_mode_menu_new (GFlareMode *mode_var)
{ {
menuitem = gtk_menu_item_new_with_label (gettext (gflare_menu_modes[i])); menuitem = gtk_menu_item_new_with_label (gettext (gflare_menu_modes[i]));
gtk_object_set_user_data (GTK_OBJECT (menuitem), (gpointer) i); gtk_object_set_user_data (GTK_OBJECT (menuitem),
GINT_TO_POINTER (i));
gtk_signal_connect (GTK_OBJECT (menuitem), "activate", gtk_signal_connect (GTK_OBJECT (menuitem), "activate",
(GtkSignalFunc) ed_mode_menu_callback, GTK_SIGNAL_FUNC (ed_mode_menu_callback),
mode_var); mode_var);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
gtk_menu_append (GTK_MENU (menu), menuitem); gtk_menu_append (GTK_MENU (menu), menuitem);
@ -4799,7 +4800,7 @@ gm_menu_create_sub_menus (GradientMenu *gm,
menuitem = gtk_menu_item_new_with_label (name); menuitem = gtk_menu_item_new_with_label (name);
gtk_object_set_user_data (GTK_OBJECT (menuitem), gm); gtk_object_set_user_data (GTK_OBJECT (menuitem), gm);
gtk_signal_connect (GTK_OBJECT (menuitem), "activate", gtk_signal_connect (GTK_OBJECT (menuitem), "activate",
(GtkSignalFunc) gm_menu_item_callback, GTK_SIGNAL_FUNC (gm_menu_item_callback),
name); name);
gtk_menu_append (GTK_MENU (menu), menuitem); gtk_menu_append (GTK_MENU (menu), menuitem);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
@ -4813,6 +4814,7 @@ gm_menu_create_sub_menus (GradientMenu *gm,
/* hline */ /* hline */
menuitem = gtk_menu_item_new (); menuitem = gtk_menu_item_new ();
gtk_widget_set_sensitive (menuitem, FALSE);
gtk_widget_show (menuitem); gtk_widget_show (menuitem);
gtk_menu_prepend (GTK_MENU (menu), menuitem); gtk_menu_prepend (GTK_MENU (menu), menuitem);
@ -4833,7 +4835,8 @@ gm_menu_create_sub_menus (GradientMenu *gm,
} }
static void static void
gm_menu_item_callback (GtkWidget *w, gpointer data) gm_menu_item_callback (GtkWidget *w,
gpointer data)
{ {
GradientMenu *gm; GradientMenu *gm;
gchar *gradient_name = (gchar *) data; gchar *gradient_name = (gchar *) data;
@ -4841,6 +4844,7 @@ gm_menu_item_callback (GtkWidget *w, gpointer data)
DEBUG_PRINT(("gm_menu_item_callback\n")); DEBUG_PRINT(("gm_menu_item_callback\n"));
gm = (GradientMenu *) gtk_object_get_user_data (GTK_OBJECT (w)); gm = (GradientMenu *) gtk_object_get_user_data (GTK_OBJECT (w));
gradient_name_copy (gm->gradient_name, gradient_name); gradient_name_copy (gm->gradient_name, gradient_name);
gm_preview_draw (gm->preview, gradient_name); gm_preview_draw (gm->preview, gradient_name);
@ -4855,15 +4859,17 @@ gm_menu_item_callback (GtkWidget *w, gpointer data)
} }
static void static void
gm_preview_draw (GtkWidget *preview, gchar *gradient_name) gm_preview_draw (GtkWidget *preview,
gchar *gradient_name)
{ {
guchar values[GM_PREVIEW_WIDTH][4]; guchar values[GM_PREVIEW_WIDTH][4];
gint nvalues = GM_PREVIEW_WIDTH; gint nvalues = GM_PREVIEW_WIDTH;
int row, irow, col; gint row, irow, col;
guchar dest_row[GM_PREVIEW_WIDTH][3]; guchar dest_row[GM_PREVIEW_WIDTH][3];
guchar *dest, *src; guchar *dest;
int check, b; guchar *src;
const int alpha = 3; gint check, b;
const gint alpha = 3;
gradient_get_values (gradient_name, (guchar *)values, nvalues); gradient_get_values (gradient_name, (guchar *)values, nvalues);
@ -4913,7 +4919,8 @@ gm_preview_draw (GtkWidget *preview, gchar *gradient_name)
} }
static void static void
gm_option_menu_destroy_callback (GtkWidget *w, gpointer data) gm_option_menu_destroy_callback (GtkWidget *w,
gpointer data)
{ {
GradientMenu *gm = data; GradientMenu *gm = data;
gradient_menus = g_list_remove (gradient_menus, gm); gradient_menus = g_list_remove (gradient_menus, gm);
@ -4934,7 +4941,8 @@ gm_option_menu_destroy_callback (GtkWidget *w, gpointer data)
void void
gradient_name_copy (gchar *dest, gchar *src) gradient_name_copy (gchar *dest,
gchar *src)
{ {
strncpy (dest, src, GRADIENT_NAME_MAX); strncpy (dest, src, GRADIENT_NAME_MAX);
dest[GRADIENT_NAME_MAX-1] = '\0'; dest[GRADIENT_NAME_MAX-1] = '\0';
@ -4944,9 +4952,10 @@ gradient_name_copy (gchar *dest, gchar *src)
Translate SPACE to "\\040", etc. Translate SPACE to "\\040", etc.
*/ */
void void
gradient_name_encode (guchar *dest, guchar *src) gradient_name_encode (guchar *dest,
guchar *src)
{ {
int cnt = GRADIENT_NAME_MAX - 1; gint cnt = GRADIENT_NAME_MAX - 1;
while (*src && cnt--) while (*src && cnt--)
{ {
@ -4965,10 +4974,11 @@ gradient_name_encode (guchar *dest, guchar *src)
Translate "\\040" to SPACE, etc. Translate "\\040" to SPACE, etc.
*/ */
void void
gradient_name_decode (guchar *dest, guchar *src) gradient_name_decode (guchar *dest,
guchar *src)
{ {
int cnt = GRADIENT_NAME_MAX - 1; gint cnt = GRADIENT_NAME_MAX - 1;
int tmp; gint tmp;
while (*src && cnt--) while (*src && cnt--)
{ {
@ -4986,19 +4996,19 @@ gradient_name_decode (guchar *dest, guchar *src)
void void
gradient_init () gradient_init (void)
{ {
gradient_cache_head = NULL; gradient_cache_head = NULL;
gradient_cache_count = 0; gradient_cache_count = 0;
} }
void void
gradient_free () gradient_free (void)
{ {
gradient_cache_flush (); gradient_cache_flush ();
} }
char ** gchar **
gradient_get_list (gint *num_gradients) gradient_get_list (gint *num_gradients)
{ {
gchar **gradients; gchar **gradients;
@ -5006,7 +5016,6 @@ gradient_get_list (gint *num_gradients)
gint external_ngradients = 0; gint external_ngradients = 0;
gint i, n; gint i, n;
gradient_cache_flush (); gradient_cache_flush ();
external_gradients = gimp_gradients_get_list (&external_ngradients); external_gradients = gimp_gradients_get_list (&external_ngradients);
@ -5027,7 +5036,9 @@ gradient_get_list (gint *num_gradients)
} }
void void
gradient_get_values (gchar *gradient_name, guchar *values, gint nvalues) gradient_get_values (gchar *gradient_name,
guchar *values,
gint nvalues)
{ {
/* DEBUG_PRINT (("gradient_get_values: %s %d\n", gradient_name, nvalues)); */ /* DEBUG_PRINT (("gradient_get_values: %s %d\n", gradient_name, nvalues)); */
@ -5042,7 +5053,9 @@ gradient_get_values (gchar *gradient_name, guchar *values, gint nvalues)
} }
static void static void
gradient_get_values_internal (gchar *gradient_name, guchar *values, gint nvalues) gradient_get_values_internal (gchar *gradient_name,
guchar *values,
gint nvalues)
{ {
static guchar white[4] = { 255, 255, 255, 255 }; static guchar white[4] = { 255, 255, 255, 255 };
static guchar white_trans[4] = { 255, 255, 255, 0 }; static guchar white_trans[4] = { 255, 255, 255, 0 };
@ -5085,10 +5098,14 @@ gradient_get_values_internal (gchar *gradient_name, guchar *values, gint nvalues
} }
static void static void
gradient_get_blend (guchar *fg, guchar *bg, guchar *values, gint nvalues) gradient_get_blend (guchar *fg,
guchar *bg,
guchar *values,
gint nvalues)
{ {
gdouble x; gdouble x;
int i, j; gint i;
gint j;
guchar *v = values; guchar *v = values;
for (i=0; i<nvalues; i++) for (i=0; i<nvalues; i++)
@ -5100,10 +5117,13 @@ gradient_get_blend (guchar *fg, guchar *bg, guchar *values, gint nvalues)
} }
static void static void
gradient_get_random (gint seed, guchar *values, gint nvalues) gradient_get_random (gint seed,
guchar *values,
gint nvalues)
{ {
int i, j; gint i;
int inten; gint j;
gint inten;
guchar *v = values; guchar *v = values;
/* /*
@ -5120,11 +5140,14 @@ gradient_get_random (gint seed, guchar *values, gint nvalues)
} }
static void static void
gradient_get_default (gchar *name, guchar *values, gint nvalues) gradient_get_default (gchar *name,
guchar *values,
gint nvalues)
{ {
double e[3]; gdouble e[3];
double x; gdouble x;
int i, j; gint i;
gint j;
guchar *v = values; guchar *v = values;
/* /*
@ -5153,7 +5176,9 @@ gradient_get_default (gchar *name, guchar *values, gint nvalues)
cached values are stored in guchar array. No accuracy. cached values are stored in guchar array. No accuracy.
*/ */
static void static void
gradient_get_values_external (gchar *gradient_name, guchar *values, gint nvalues) gradient_get_values_external (gchar *gradient_name,
guchar *values,
gint nvalues)
{ {
GradientCacheItem *ci; GradientCacheItem *ci;
gint found; gint found;
@ -5202,11 +5227,14 @@ gradient_get_values_external (gchar *gradient_name, guchar *values, gint nvalues
} }
static void static void
gradient_get_values_real_external (gchar *gradient_name, guchar *values, gint nvalues) gradient_get_values_real_external (gchar *gradient_name,
guchar *values,
gint nvalues)
{ {
gchar *old_name; gchar *old_name;
gdouble *tmp_values; gdouble *tmp_values;
int i, j; gint i;
gint j;
old_name = gimp_gradients_get_active (); old_name = gimp_gradients_get_active ();
@ -5224,9 +5252,10 @@ gradient_get_values_real_external (gchar *gradient_name, guchar *values, gint nv
} }
void void
gradient_cache_flush () gradient_cache_flush (void)
{ {
GradientCacheItem *ci, *tmp; GradientCacheItem *ci;
GradientCacheItem *tmp;
ci = gradient_cache_head; ci = gradient_cache_head;
while (ci) while (ci)
@ -5240,7 +5269,8 @@ gradient_cache_flush ()
} }
static GradientCacheItem * static GradientCacheItem *
gradient_cache_lookup (gchar *name, gint *found) gradient_cache_lookup (gchar *name,
gint *found)
{ {
GradientCacheItem *ci; GradientCacheItem *ci;
@ -5286,7 +5316,7 @@ gradient_cache_lookup (gchar *name, gint *found)
} }
static void static void
gradient_cache_zorch () gradient_cache_zorch (void)
{ {
GradientCacheItem *ci = gradient_cache_head; GradientCacheItem *ci = gradient_cache_head;
@ -5308,7 +5338,7 @@ gradient_cache_zorch ()
#ifdef DEBUG #ifdef DEBUG
void void
gradient_report () gradient_report (void)
{ {
double total = (double) get_values_external_clock / CLOCKS_PER_SEC; double total = (double) get_values_external_clock / CLOCKS_PER_SEC;