mirror of https://github.com/GNOME/gimp.git
New GTK feature greys out buttons automatically. Finally got rid of my dirty
workaround. --Sven
This commit is contained in:
parent
72b48d5259
commit
86d0a76695
|
@ -1,3 +1,12 @@
|
||||||
|
Wed Nov 18 16:44:32 MET 1998 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
|
* app/ops_buttons.[ch]
|
||||||
|
* app/layers_dialog.c
|
||||||
|
* app/channels_dialog.c: new GTK feature greys out buttons
|
||||||
|
automatically. Much simpler code now.
|
||||||
|
|
||||||
|
* app/tools/*_is.xpm: removed pixmaps for insensitive state
|
||||||
|
|
||||||
Tue Nov 17 17:34:34 1998 Raph Levien <raph@acm.org>
|
Tue Nov 17 17:34:34 1998 Raph Levien <raph@acm.org>
|
||||||
|
|
||||||
* plug-ins/waterselect/waterselect.c: Trying to make the response
|
* plug-ins/waterselect/waterselect.c: Trying to make the response
|
||||||
|
|
|
@ -41,15 +41,10 @@
|
||||||
#include "tools/eye.xbm"
|
#include "tools/eye.xbm"
|
||||||
#include "tools/channel.xbm"
|
#include "tools/channel.xbm"
|
||||||
#include "tools/new.xpm"
|
#include "tools/new.xpm"
|
||||||
#include "tools/new_is.xpm"
|
|
||||||
#include "tools/raise.xpm"
|
#include "tools/raise.xpm"
|
||||||
#include "tools/raise_is.xpm"
|
|
||||||
#include "tools/lower.xpm"
|
#include "tools/lower.xpm"
|
||||||
#include "tools/lower_is.xpm"
|
|
||||||
#include "tools/duplicate.xpm"
|
#include "tools/duplicate.xpm"
|
||||||
#include "tools/duplicate_is.xpm"
|
|
||||||
#include "tools/delete.xpm"
|
#include "tools/delete.xpm"
|
||||||
#include "tools/delete_is.xpm"
|
|
||||||
|
|
||||||
#include "libgimp/gimpintl.h"
|
#include "libgimp/gimpintl.h"
|
||||||
|
|
||||||
|
@ -179,12 +174,12 @@ static MenuItem channels_ops[] =
|
||||||
/* the ops buttons */
|
/* the ops buttons */
|
||||||
static OpsButton channels_ops_buttons[] =
|
static OpsButton channels_ops_buttons[] =
|
||||||
{
|
{
|
||||||
{ new_xpm, new_is_xpm, channels_dialog_new_channel_callback, N_("New Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ new_xpm, channels_dialog_new_channel_callback, N_("New Channel"), NULL },
|
||||||
{ raise_xpm, raise_is_xpm, channels_dialog_raise_channel_callback, N_("Raise Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ raise_xpm, channels_dialog_raise_channel_callback, N_("Raise Channel"), NULL },
|
||||||
{ lower_xpm, lower_is_xpm, channels_dialog_lower_channel_callback, N_("Lower Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ lower_xpm, channels_dialog_lower_channel_callback, N_("Lower Channel"), NULL },
|
||||||
{ duplicate_xpm, duplicate_is_xpm, channels_dialog_duplicate_channel_callback, N_("Duplicate Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ duplicate_xpm, channels_dialog_duplicate_channel_callback, N_("Duplicate Channel"), NULL },
|
||||||
{ delete_xpm, delete_is_xpm, channels_dialog_delete_channel_callback, N_("Delete Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ delete_xpm, channels_dialog_delete_channel_callback, N_("Delete Channel"), NULL },
|
||||||
{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
|
{ NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
/**************************************/
|
/**************************************/
|
||||||
|
@ -549,19 +544,19 @@ channels_dialog_set_menu_sensitivity ()
|
||||||
|
|
||||||
/* new channel */
|
/* new channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[0].widget, !fs_sensitive);
|
gtk_widget_set_sensitive (channels_ops[0].widget, !fs_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[0], !fs_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[0].widget, !fs_sensitive);
|
||||||
/* raise channel */
|
/* raise channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[1].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[1].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[1], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[1].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* lower channel */
|
/* lower channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[2].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[2].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[2], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[2].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* duplicate channel */
|
/* duplicate channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[3].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[3].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[3], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[3].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* delete channel */
|
/* delete channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[4].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[4].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[4], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[4].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* channel to selection */
|
/* channel to selection */
|
||||||
gtk_widget_set_sensitive (channels_ops[5].widget, aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[5].widget, aux_sensitive);
|
||||||
}
|
}
|
||||||
|
|
|
@ -41,15 +41,10 @@
|
||||||
#include "tools/eye.xbm"
|
#include "tools/eye.xbm"
|
||||||
#include "tools/channel.xbm"
|
#include "tools/channel.xbm"
|
||||||
#include "tools/new.xpm"
|
#include "tools/new.xpm"
|
||||||
#include "tools/new_is.xpm"
|
|
||||||
#include "tools/raise.xpm"
|
#include "tools/raise.xpm"
|
||||||
#include "tools/raise_is.xpm"
|
|
||||||
#include "tools/lower.xpm"
|
#include "tools/lower.xpm"
|
||||||
#include "tools/lower_is.xpm"
|
|
||||||
#include "tools/duplicate.xpm"
|
#include "tools/duplicate.xpm"
|
||||||
#include "tools/duplicate_is.xpm"
|
|
||||||
#include "tools/delete.xpm"
|
#include "tools/delete.xpm"
|
||||||
#include "tools/delete_is.xpm"
|
|
||||||
|
|
||||||
#include "libgimp/gimpintl.h"
|
#include "libgimp/gimpintl.h"
|
||||||
|
|
||||||
|
@ -179,12 +174,12 @@ static MenuItem channels_ops[] =
|
||||||
/* the ops buttons */
|
/* the ops buttons */
|
||||||
static OpsButton channels_ops_buttons[] =
|
static OpsButton channels_ops_buttons[] =
|
||||||
{
|
{
|
||||||
{ new_xpm, new_is_xpm, channels_dialog_new_channel_callback, N_("New Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ new_xpm, channels_dialog_new_channel_callback, N_("New Channel"), NULL },
|
||||||
{ raise_xpm, raise_is_xpm, channels_dialog_raise_channel_callback, N_("Raise Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ raise_xpm, channels_dialog_raise_channel_callback, N_("Raise Channel"), NULL },
|
||||||
{ lower_xpm, lower_is_xpm, channels_dialog_lower_channel_callback, N_("Lower Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ lower_xpm, channels_dialog_lower_channel_callback, N_("Lower Channel"), NULL },
|
||||||
{ duplicate_xpm, duplicate_is_xpm, channels_dialog_duplicate_channel_callback, N_("Duplicate Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ duplicate_xpm, channels_dialog_duplicate_channel_callback, N_("Duplicate Channel"), NULL },
|
||||||
{ delete_xpm, delete_is_xpm, channels_dialog_delete_channel_callback, N_("Delete Channel"), NULL, NULL, NULL, NULL, NULL, NULL },
|
{ delete_xpm, channels_dialog_delete_channel_callback, N_("Delete Channel"), NULL },
|
||||||
{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
|
{ NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
/**************************************/
|
/**************************************/
|
||||||
|
@ -549,19 +544,19 @@ channels_dialog_set_menu_sensitivity ()
|
||||||
|
|
||||||
/* new channel */
|
/* new channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[0].widget, !fs_sensitive);
|
gtk_widget_set_sensitive (channels_ops[0].widget, !fs_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[0], !fs_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[0].widget, !fs_sensitive);
|
||||||
/* raise channel */
|
/* raise channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[1].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[1].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[1], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[1].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* lower channel */
|
/* lower channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[2].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[2].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[2], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[2].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* duplicate channel */
|
/* duplicate channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[3].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[3].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[3], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[3].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* delete channel */
|
/* delete channel */
|
||||||
gtk_widget_set_sensitive (channels_ops[4].widget, !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[4].widget, !fs_sensitive && aux_sensitive);
|
||||||
ops_button_set_sensitive (channels_ops_buttons[4], !fs_sensitive && aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops_buttons[4].widget, !fs_sensitive && aux_sensitive);
|
||||||
/* channel to selection */
|
/* channel to selection */
|
||||||
gtk_widget_set_sensitive (channels_ops[5].widget, aux_sensitive);
|
gtk_widget_set_sensitive (channels_ops[5].widget, aux_sensitive);
|
||||||
}
|
}
|
||||||
|
|
|
@ -49,17 +49,11 @@
|
||||||
#include "tools/mask.xbm"
|
#include "tools/mask.xbm"
|
||||||
|
|
||||||
#include "tools/new.xpm"
|
#include "tools/new.xpm"
|
||||||
#include "tools/new_is.xpm"
|
|
||||||
#include "tools/raise.xpm"
|
#include "tools/raise.xpm"
|
||||||
#include "tools/raise_is.xpm"
|
|
||||||
#include "tools/lower.xpm"
|
#include "tools/lower.xpm"
|
||||||
#include "tools/lower_is.xpm"
|
|
||||||
#include "tools/duplicate.xpm"
|
#include "tools/duplicate.xpm"
|
||||||
#include "tools/duplicate_is.xpm"
|
|
||||||
#include "tools/delete.xpm"
|
#include "tools/delete.xpm"
|
||||||
#include "tools/delete_is.xpm"
|
|
||||||
#include "tools/anchor.xpm"
|
#include "tools/anchor.xpm"
|
||||||
#include "tools/anchor_is.xpm"
|
|
||||||
|
|
||||||
#include "layer_pvt.h"
|
#include "layer_pvt.h"
|
||||||
|
|
||||||
|
@ -286,13 +280,13 @@ static MenuItem option_items[] =
|
||||||
/* the ops buttons */
|
/* the ops buttons */
|
||||||
static OpsButton layers_ops_buttons[] =
|
static OpsButton layers_ops_buttons[] =
|
||||||
{
|
{
|
||||||
{ new_xpm, new_is_xpm, layers_dialog_new_layer_callback, "New Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ new_xpm, layers_dialog_new_layer_callback, "New Layer", NULL },
|
||||||
{ raise_xpm, raise_is_xpm, layers_dialog_raise_layer_callback, "Raise Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ raise_xpm, layers_dialog_raise_layer_callback, "Raise Layer", NULL },
|
||||||
{ lower_xpm, lower_is_xpm, layers_dialog_lower_layer_callback, "Lower Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ lower_xpm, layers_dialog_lower_layer_callback, "Lower Layer", NULL },
|
||||||
{ duplicate_xpm, duplicate_is_xpm, layers_dialog_duplicate_layer_callback, "Duplicate Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ duplicate_xpm, layers_dialog_duplicate_layer_callback, "Duplicate Layer", NULL },
|
||||||
{ delete_xpm, delete_is_xpm, layers_dialog_delete_layer_callback, "Delete Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ delete_xpm, layers_dialog_delete_layer_callback, "Delete Layer", NULL },
|
||||||
{ anchor_xpm, anchor_is_xpm, layers_dialog_anchor_layer_callback, "Anchor Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ anchor_xpm, layers_dialog_anchor_layer_callback, "Anchor Layer", NULL },
|
||||||
{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
|
{ NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1203,19 +1197,19 @@ layers_dialog_set_menu_sensitivity ()
|
||||||
|
|
||||||
/* new layer */
|
/* new layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[0].widget, gimage);
|
gtk_widget_set_sensitive (layers_ops[0].widget, gimage);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[0], gimage);
|
gtk_widget_set_sensitive (layers_ops_buttons[0].widget, gimage);
|
||||||
/* raise layer */
|
/* raise layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[1].widget, fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops[1].widget, fs && ac && gimage && lp && alpha);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[1], fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops_buttons[1].widget, fs && ac && gimage && lp && alpha);
|
||||||
/* lower layer */
|
/* lower layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[2].widget, fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops[2].widget, fs && ac && gimage && lp && alpha);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[2], fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops_buttons[2].widget, fs && ac && gimage && lp && alpha);
|
||||||
/* duplicate layer */
|
/* duplicate layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[3].widget, fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[3].widget, fs && ac && gimage && lp);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[3], fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops_buttons[3].widget, fs && ac && gimage && lp);
|
||||||
/* delete layer */
|
/* delete layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[4].widget, ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[4].widget, ac && gimage && lp);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[4], ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops_buttons[4].widget, ac && gimage && lp);
|
||||||
/* scale layer */
|
/* scale layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[5].widget, ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[5].widget, ac && gimage && lp);
|
||||||
/* resize layer */
|
/* resize layer */
|
||||||
|
@ -1226,7 +1220,7 @@ layers_dialog_set_menu_sensitivity ()
|
||||||
gtk_widget_set_sensitive (layers_ops[8].widget, fs && ac && gimage && lm && lp);
|
gtk_widget_set_sensitive (layers_ops[8].widget, fs && ac && gimage && lm && lp);
|
||||||
/* anchor layer */
|
/* anchor layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[9].widget, !fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[9].widget, !fs && ac && gimage && lp);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[5], !fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops_buttons[5].widget, !fs && ac && gimage && lp);
|
||||||
/* merge visible layers */
|
/* merge visible layers */
|
||||||
gtk_widget_set_sensitive (layers_ops[10].widget, fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[10].widget, fs && ac && gimage && lp);
|
||||||
/* merge visible layers */
|
/* merge visible layers */
|
||||||
|
|
|
@ -49,17 +49,11 @@
|
||||||
#include "tools/mask.xbm"
|
#include "tools/mask.xbm"
|
||||||
|
|
||||||
#include "tools/new.xpm"
|
#include "tools/new.xpm"
|
||||||
#include "tools/new_is.xpm"
|
|
||||||
#include "tools/raise.xpm"
|
#include "tools/raise.xpm"
|
||||||
#include "tools/raise_is.xpm"
|
|
||||||
#include "tools/lower.xpm"
|
#include "tools/lower.xpm"
|
||||||
#include "tools/lower_is.xpm"
|
|
||||||
#include "tools/duplicate.xpm"
|
#include "tools/duplicate.xpm"
|
||||||
#include "tools/duplicate_is.xpm"
|
|
||||||
#include "tools/delete.xpm"
|
#include "tools/delete.xpm"
|
||||||
#include "tools/delete_is.xpm"
|
|
||||||
#include "tools/anchor.xpm"
|
#include "tools/anchor.xpm"
|
||||||
#include "tools/anchor_is.xpm"
|
|
||||||
|
|
||||||
#include "layer_pvt.h"
|
#include "layer_pvt.h"
|
||||||
|
|
||||||
|
@ -286,13 +280,13 @@ static MenuItem option_items[] =
|
||||||
/* the ops buttons */
|
/* the ops buttons */
|
||||||
static OpsButton layers_ops_buttons[] =
|
static OpsButton layers_ops_buttons[] =
|
||||||
{
|
{
|
||||||
{ new_xpm, new_is_xpm, layers_dialog_new_layer_callback, "New Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ new_xpm, layers_dialog_new_layer_callback, "New Layer", NULL },
|
||||||
{ raise_xpm, raise_is_xpm, layers_dialog_raise_layer_callback, "Raise Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ raise_xpm, layers_dialog_raise_layer_callback, "Raise Layer", NULL },
|
||||||
{ lower_xpm, lower_is_xpm, layers_dialog_lower_layer_callback, "Lower Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ lower_xpm, layers_dialog_lower_layer_callback, "Lower Layer", NULL },
|
||||||
{ duplicate_xpm, duplicate_is_xpm, layers_dialog_duplicate_layer_callback, "Duplicate Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ duplicate_xpm, layers_dialog_duplicate_layer_callback, "Duplicate Layer", NULL },
|
||||||
{ delete_xpm, delete_is_xpm, layers_dialog_delete_layer_callback, "Delete Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ delete_xpm, layers_dialog_delete_layer_callback, "Delete Layer", NULL },
|
||||||
{ anchor_xpm, anchor_is_xpm, layers_dialog_anchor_layer_callback, "Anchor Layer", NULL, NULL, NULL, NULL, NULL, NULL },
|
{ anchor_xpm, layers_dialog_anchor_layer_callback, "Anchor Layer", NULL },
|
||||||
{ NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL}
|
{ NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
@ -1203,19 +1197,19 @@ layers_dialog_set_menu_sensitivity ()
|
||||||
|
|
||||||
/* new layer */
|
/* new layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[0].widget, gimage);
|
gtk_widget_set_sensitive (layers_ops[0].widget, gimage);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[0], gimage);
|
gtk_widget_set_sensitive (layers_ops_buttons[0].widget, gimage);
|
||||||
/* raise layer */
|
/* raise layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[1].widget, fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops[1].widget, fs && ac && gimage && lp && alpha);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[1], fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops_buttons[1].widget, fs && ac && gimage && lp && alpha);
|
||||||
/* lower layer */
|
/* lower layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[2].widget, fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops[2].widget, fs && ac && gimage && lp && alpha);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[2], fs && ac && gimage && lp && alpha);
|
gtk_widget_set_sensitive (layers_ops_buttons[2].widget, fs && ac && gimage && lp && alpha);
|
||||||
/* duplicate layer */
|
/* duplicate layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[3].widget, fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[3].widget, fs && ac && gimage && lp);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[3], fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops_buttons[3].widget, fs && ac && gimage && lp);
|
||||||
/* delete layer */
|
/* delete layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[4].widget, ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[4].widget, ac && gimage && lp);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[4], ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops_buttons[4].widget, ac && gimage && lp);
|
||||||
/* scale layer */
|
/* scale layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[5].widget, ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[5].widget, ac && gimage && lp);
|
||||||
/* resize layer */
|
/* resize layer */
|
||||||
|
@ -1226,7 +1220,7 @@ layers_dialog_set_menu_sensitivity ()
|
||||||
gtk_widget_set_sensitive (layers_ops[8].widget, fs && ac && gimage && lm && lp);
|
gtk_widget_set_sensitive (layers_ops[8].widget, fs && ac && gimage && lm && lp);
|
||||||
/* anchor layer */
|
/* anchor layer */
|
||||||
gtk_widget_set_sensitive (layers_ops[9].widget, !fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[9].widget, !fs && ac && gimage && lp);
|
||||||
ops_button_set_sensitive (layers_ops_buttons[5], !fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops_buttons[5].widget, !fs && ac && gimage && lp);
|
||||||
/* merge visible layers */
|
/* merge visible layers */
|
||||||
gtk_widget_set_sensitive (layers_ops[10].widget, fs && ac && gimage && lp);
|
gtk_widget_set_sensitive (layers_ops[10].widget, fs && ac && gimage && lp);
|
||||||
/* merge visible layers */
|
/* merge visible layers */
|
||||||
|
|
|
@ -16,12 +16,6 @@
|
||||||
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* To do this more elegantly, there should be a GtkWidget pixmap_button,
|
|
||||||
* probably derived from a simple hbox. It should keep track of the widgets
|
|
||||||
* sensitivity and draw the related pixmap. This way one could avoid the
|
|
||||||
* need to have a special function to set sensitivity as you'll find below.
|
|
||||||
* (sven@gimp.org)
|
|
||||||
*/
|
|
||||||
|
|
||||||
#include "appenv.h"
|
#include "appenv.h"
|
||||||
#include "gimprc.h"
|
#include "gimprc.h"
|
||||||
|
@ -30,8 +24,7 @@
|
||||||
|
|
||||||
GtkWidget *ops_button_box_new (GtkWidget *parent,
|
GtkWidget *ops_button_box_new (GtkWidget *parent,
|
||||||
GtkTooltips *tool_tips,
|
GtkTooltips *tool_tips,
|
||||||
OpsButton *ops_buttons)
|
OpsButton *ops_buttons)
|
||||||
|
|
||||||
{
|
{
|
||||||
GtkWidget *button;
|
GtkWidget *button;
|
||||||
GtkWidget *button_box;
|
GtkWidget *button_box;
|
||||||
|
@ -39,12 +32,10 @@ GtkWidget *ops_button_box_new (GtkWidget *parent,
|
||||||
GtkWidget *pixmapwid;
|
GtkWidget *pixmapwid;
|
||||||
GdkPixmap *pixmap;
|
GdkPixmap *pixmap;
|
||||||
GdkBitmap *mask;
|
GdkBitmap *mask;
|
||||||
GdkPixmap *is_pixmap;
|
|
||||||
GdkBitmap *is_mask;
|
|
||||||
GtkStyle *style;
|
GtkStyle *style;
|
||||||
|
|
||||||
gtk_widget_realize(parent);
|
gtk_widget_realize (parent);
|
||||||
style = gtk_widget_get_style(parent);
|
style = gtk_widget_get_style (parent);
|
||||||
|
|
||||||
button_box = gtk_hbox_new (FALSE, 1);
|
button_box = gtk_hbox_new (FALSE, 1);
|
||||||
|
|
||||||
|
@ -57,15 +48,11 @@ GtkWidget *ops_button_box_new (GtkWidget *parent,
|
||||||
&mask,
|
&mask,
|
||||||
&style->bg[GTK_STATE_NORMAL],
|
&style->bg[GTK_STATE_NORMAL],
|
||||||
ops_buttons->xpm_data);
|
ops_buttons->xpm_data);
|
||||||
is_pixmap = gdk_pixmap_create_from_xpm_d (parent->window,
|
|
||||||
&is_mask,
|
|
||||||
&style->bg[GTK_STATE_NORMAL],
|
|
||||||
ops_buttons->xpm_is_data);
|
|
||||||
|
|
||||||
pixmapwid = gtk_pixmap_new (pixmap, mask);
|
pixmapwid = gtk_pixmap_new (pixmap, mask);
|
||||||
gtk_box_pack_start (GTK_BOX (box), pixmapwid, TRUE, TRUE, 3);
|
gtk_box_pack_start (GTK_BOX (box), pixmapwid, TRUE, TRUE, 3);
|
||||||
gtk_widget_show(pixmapwid);
|
gtk_widget_show (pixmapwid);
|
||||||
gtk_widget_show(box);
|
gtk_widget_show (box);
|
||||||
|
|
||||||
button = gtk_button_new ();
|
button = gtk_button_new ();
|
||||||
gtk_container_add (GTK_CONTAINER (button), box);
|
gtk_container_add (GTK_CONTAINER (button), box);
|
||||||
|
@ -79,12 +66,7 @@ GtkWidget *ops_button_box_new (GtkWidget *parent,
|
||||||
gtk_box_pack_start (GTK_BOX(button_box), button, TRUE, TRUE, 0);
|
gtk_box_pack_start (GTK_BOX(button_box), button, TRUE, TRUE, 0);
|
||||||
gtk_widget_show (button);
|
gtk_widget_show (button);
|
||||||
|
|
||||||
ops_buttons->pixmap = pixmap;
|
ops_buttons->widget = button;
|
||||||
ops_buttons->mask = mask;
|
|
||||||
ops_buttons->is_pixmap = is_pixmap;
|
|
||||||
ops_buttons->is_mask = is_mask;
|
|
||||||
ops_buttons->pixmapwid = pixmapwid;
|
|
||||||
ops_buttons->widget = button;
|
|
||||||
|
|
||||||
ops_buttons++;
|
ops_buttons++;
|
||||||
}
|
}
|
||||||
|
@ -93,33 +75,15 @@ GtkWidget *ops_button_box_new (GtkWidget *parent,
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
ops_button_box_set_insensitive(OpsButton *ops_buttons)
|
ops_button_box_set_insensitive (OpsButton *ops_buttons)
|
||||||
{
|
{
|
||||||
while (ops_buttons->widget)
|
while (ops_buttons->widget)
|
||||||
{
|
{
|
||||||
ops_button_set_sensitive (*ops_buttons, FALSE);
|
gtk_widget_set_sensitive (ops_buttons->widget, FALSE);
|
||||||
ops_buttons++;
|
ops_buttons++;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
ops_button_set_sensitive(OpsButton ops_button,
|
|
||||||
gint sensitive)
|
|
||||||
{
|
|
||||||
sensitive = (sensitive != FALSE);
|
|
||||||
if (sensitive == (GTK_WIDGET_SENSITIVE (ops_button.widget) != FALSE))
|
|
||||||
return;
|
|
||||||
|
|
||||||
if (sensitive)
|
|
||||||
gtk_pixmap_set (GTK_PIXMAP(ops_button.pixmapwid),
|
|
||||||
ops_button.pixmap,
|
|
||||||
ops_button.mask);
|
|
||||||
else
|
|
||||||
gtk_pixmap_set (GTK_PIXMAP(ops_button.pixmapwid),
|
|
||||||
ops_button.is_pixmap,
|
|
||||||
ops_button.is_mask);
|
|
||||||
|
|
||||||
gtk_widget_set_sensitive (ops_button.widget, sensitive);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
|
@ -29,15 +29,9 @@ typedef void (*OpsButtonCallback) (GtkWidget *widget,
|
||||||
|
|
||||||
struct _OpsButton
|
struct _OpsButton
|
||||||
{
|
{
|
||||||
gchar **xpm_data; /* xpm data for the button in sensitive state */
|
gchar **xpm_data; /* xpm data for the button */
|
||||||
gchar **xpm_is_data; /* xpm data for the button in insensitive state */
|
|
||||||
OpsButtonCallback callback;
|
OpsButtonCallback callback;
|
||||||
char *tooltip;
|
char *tooltip;
|
||||||
GdkPixmap *pixmap;
|
|
||||||
GdkBitmap *mask;
|
|
||||||
GdkPixmap *is_pixmap;
|
|
||||||
GdkBitmap *is_mask;
|
|
||||||
GtkWidget *pixmapwid; /* the pixmap widget */
|
|
||||||
GtkWidget *widget; /* the button widget */
|
GtkWidget *widget; /* the button widget */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -48,7 +42,6 @@ GtkWidget * ops_button_box_new (GtkWidget *, /* parent widget */
|
||||||
GtkTooltips *,
|
GtkTooltips *,
|
||||||
OpsButton *);
|
OpsButton *);
|
||||||
void ops_button_box_set_insensitive (OpsButton *);
|
void ops_button_box_set_insensitive (OpsButton *);
|
||||||
void ops_button_set_sensitive (OpsButton, gint);
|
|
||||||
|
|
||||||
#endif /* __OPS_BUTTONS_H__ */
|
#endif /* __OPS_BUTTONS_H__ */
|
||||||
|
|
||||||
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char * anchor_is_xpm[] = {
|
|
||||||
"16 16 3 1",
|
|
||||||
" c None",
|
|
||||||
". c #7F7F7F",
|
|
||||||
"+ c #FFFFFF",
|
|
||||||
" ",
|
|
||||||
" .. ",
|
|
||||||
" ...... ",
|
|
||||||
" ....+ ",
|
|
||||||
" ..+ ",
|
|
||||||
" ..+ ",
|
|
||||||
" ..+ ",
|
|
||||||
" ..+ ",
|
|
||||||
" .. ..+ .. ",
|
|
||||||
" .. ..+ ..+ ",
|
|
||||||
" ... ..+ ...+ ",
|
|
||||||
" ..........+ ",
|
|
||||||
" ........+ ",
|
|
||||||
" ++..+++ ",
|
|
||||||
" + ",
|
|
||||||
" "};
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char * delete_is_xpm[] = {
|
|
||||||
"16 16 3 1",
|
|
||||||
" c None",
|
|
||||||
". c #7F7F7F",
|
|
||||||
"+ c #FFFFFF",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" .+ .+ ",
|
|
||||||
" ...+ ...+ ",
|
|
||||||
" ...+ ...+ ",
|
|
||||||
" ...+ ...+ ",
|
|
||||||
" ......+ ",
|
|
||||||
" ....+ ",
|
|
||||||
" ....+ ",
|
|
||||||
" ......+ ",
|
|
||||||
" ...++...+ ",
|
|
||||||
" ...+ ...+ ",
|
|
||||||
" ...+ ...+ ",
|
|
||||||
" .+ .+ ",
|
|
||||||
" ",
|
|
||||||
" "};
|
|
|
@ -1,23 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char * duplicate_is_xpm[] = {
|
|
||||||
"17 17 3 1",
|
|
||||||
" c None",
|
|
||||||
". c #7F7F7F",
|
|
||||||
"+ c #FFFFFF",
|
|
||||||
" ...... ",
|
|
||||||
" .. . ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .... ",
|
|
||||||
" ..... . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" .......... .+ ",
|
|
||||||
" ++. .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" ..........+ ",
|
|
||||||
" ++++++++++ "};
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char * lower_is_xpm[] = {
|
|
||||||
"16 16 3 1",
|
|
||||||
" c None",
|
|
||||||
". c #7F7F7F",
|
|
||||||
"+ c #FFFFFF",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ............ ",
|
|
||||||
" ..........+ ",
|
|
||||||
" ........+ ",
|
|
||||||
" ......+ ",
|
|
||||||
" ....+ ",
|
|
||||||
" ..+ ",
|
|
||||||
" + ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "};
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char * new_is_xpm[] = {
|
|
||||||
"16 16 3 1",
|
|
||||||
" c None",
|
|
||||||
". c #7F7F7F",
|
|
||||||
"+ c #F7F7F7",
|
|
||||||
" ",
|
|
||||||
" ...... ",
|
|
||||||
" .. .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" . . .+ ",
|
|
||||||
" ..... .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" . .+ ",
|
|
||||||
" ..........+ ",
|
|
||||||
" ++++++++++ ",
|
|
||||||
" "};
|
|
|
@ -1,22 +0,0 @@
|
||||||
/* XPM */
|
|
||||||
static char * raise_is_xpm[] = {
|
|
||||||
"16 16 3 1",
|
|
||||||
" c None",
|
|
||||||
". c #7F7F7F",
|
|
||||||
"+ c #FFFFFF",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" .. ",
|
|
||||||
" ....+ ",
|
|
||||||
" ......+ ",
|
|
||||||
" ........+ ",
|
|
||||||
" ..........+ ",
|
|
||||||
" ............+ ",
|
|
||||||
" ++++++++++++ ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" "};
|
|
Loading…
Reference in New Issue