mirror of https://github.com/GNOME/gimp.git
use GimpButton and connect to extended_clicked.
2001-05-14 Sven Neumann <sven@gimp.org> * app/ops_buttons.[ch]: use GimpButton and connect to extended_clicked. * app/docindex.c * app/gui/paths-dialog.c: changed accordingly.
This commit is contained in:
parent
fdbdb390ab
commit
1f17b12681
|
@ -1,3 +1,10 @@
|
||||||
|
2001-05-14 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
|
* app/ops_buttons.[ch]: use GimpButton and connect to extended_clicked.
|
||||||
|
|
||||||
|
* app/docindex.c
|
||||||
|
* app/gui/paths-dialog.c: changed accordingly.
|
||||||
|
|
||||||
2001-05-14 Sven Neumann <sven@gimp.org>
|
2001-05-14 Sven Neumann <sven@gimp.org>
|
||||||
|
|
||||||
* app/Makefile.am
|
* app/Makefile.am
|
||||||
|
|
|
@ -122,19 +122,19 @@ static OpsButton ops_buttons[] =
|
||||||
N_("Open the selected entry\n"
|
N_("Open the selected entry\n"
|
||||||
"<Shift> Raise window if already open\n"
|
"<Shift> Raise window if already open\n"
|
||||||
"<Ctrl> Load Image dialog"), NULL,
|
"<Ctrl> Load Image dialog"), NULL,
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ raise_xpm, idea_up_callback, raise_ext_callbacks,
|
{ raise_xpm, idea_up_callback, raise_ext_callbacks,
|
||||||
N_("Move the selected entry up in the index\n"
|
N_("Move the selected entry up in the index\n"
|
||||||
"<Shift> To top"), NULL,
|
"<Shift> To top"), NULL,
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ lower_xpm, idea_down_callback, lower_ext_callbacks,
|
{ lower_xpm, idea_down_callback, lower_ext_callbacks,
|
||||||
N_("Move the selected entry down in the index\n"
|
N_("Move the selected entry down in the index\n"
|
||||||
"<Shift> To bottom"), NULL,
|
"<Shift> To bottom"), NULL,
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ delete_xpm, idea_remove_callback, NULL,
|
{ delete_xpm, idea_remove_callback, NULL,
|
||||||
N_("Remove the selected entry from the index"), NULL,
|
N_("Remove the selected entry from the index"), NULL,
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ NULL, NULL, NULL, NULL, NULL, NULL, 0 }
|
{ NULL, NULL, NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -155,28 +155,28 @@ static OpsButton paths_ops_buttons[] =
|
||||||
{ new_xpm, paths_dialog_new_path_callback, NULL,
|
{ new_xpm, paths_dialog_new_path_callback, NULL,
|
||||||
N_("New Path"),
|
N_("New Path"),
|
||||||
"paths/new_path.html",
|
"paths/new_path.html",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ duplicate_xpm, paths_dialog_dup_path_callback, NULL,
|
{ duplicate_xpm, paths_dialog_dup_path_callback, NULL,
|
||||||
N_("Duplicate Path"),
|
N_("Duplicate Path"),
|
||||||
"paths/duplicate_path.html",
|
"paths/duplicate_path.html",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ toselection_xpm, paths_dialog_path_to_sel_callback, NULL,
|
{ toselection_xpm, paths_dialog_path_to_sel_callback, NULL,
|
||||||
N_("Path to Selection"),
|
N_("Path to Selection"),
|
||||||
"paths/path_to_selection.html",
|
"paths/path_to_selection.html",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ topath_xpm, paths_dialog_sel_to_path_callback, to_path_ext_callbacks,
|
{ topath_xpm, paths_dialog_sel_to_path_callback, to_path_ext_callbacks,
|
||||||
N_("Selection to Path"),
|
N_("Selection to Path"),
|
||||||
"filters/sel2path.html",
|
"filters/sel2path.html",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ penstroke_xpm, paths_dialog_stroke_path_callback, NULL,
|
{ penstroke_xpm, paths_dialog_stroke_path_callback, NULL,
|
||||||
N_("Stroke Path"),
|
N_("Stroke Path"),
|
||||||
"paths/stroke_path.html",
|
"paths/stroke_path.html",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ delete_xpm, paths_dialog_delete_path_callback, NULL,
|
{ delete_xpm, paths_dialog_delete_path_callback, NULL,
|
||||||
N_("Delete Path"),
|
N_("Delete Path"),
|
||||||
"paths/delete_path.html",
|
"paths/delete_path.html",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ NULL, NULL, NULL, NULL, NULL, NULL, 0 }
|
{ NULL, NULL, NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
static OpsButton point_ops_buttons[] =
|
static OpsButton point_ops_buttons[] =
|
||||||
|
@ -184,20 +184,20 @@ static OpsButton point_ops_buttons[] =
|
||||||
{ pennorm_xpm, paths_dialog_new_point_callback, NULL,
|
{ pennorm_xpm, paths_dialog_new_point_callback, NULL,
|
||||||
N_("New Point"),
|
N_("New Point"),
|
||||||
"#new_point_button",
|
"#new_point_button",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ penadd_xpm, paths_dialog_add_point_callback, NULL,
|
{ penadd_xpm, paths_dialog_add_point_callback, NULL,
|
||||||
N_("Add Point"),
|
N_("Add Point"),
|
||||||
"#add_point_button",
|
"#add_point_button",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ pendel_xpm, paths_dialog_delete_point_callback, NULL,
|
{ pendel_xpm, paths_dialog_delete_point_callback, NULL,
|
||||||
N_("Delete Point"),
|
N_("Delete Point"),
|
||||||
"#delete_point_button",
|
"#delete_point_button",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ penedit_xpm, paths_dialog_edit_point_callback, NULL,
|
{ penedit_xpm, paths_dialog_edit_point_callback, NULL,
|
||||||
N_("Edit Point"),
|
N_("Edit Point"),
|
||||||
"#edit_point_button",
|
"#edit_point_button",
|
||||||
NULL, 0 },
|
NULL },
|
||||||
{ NULL, NULL, NULL, NULL, NULL, NULL, 0 }
|
{ NULL, NULL, NULL, NULL, NULL, NULL }
|
||||||
};
|
};
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
|
@ -22,18 +22,25 @@
|
||||||
|
|
||||||
#include "libgimpwidgets/gimpwidgets.h"
|
#include "libgimpwidgets/gimpwidgets.h"
|
||||||
|
|
||||||
#include "apptypes.h"
|
|
||||||
|
|
||||||
#include "ops_buttons.h"
|
#include "ops_buttons.h"
|
||||||
|
|
||||||
#include "libgimp/gimpintl.h"
|
#include "libgimp/gimpintl.h"
|
||||||
|
|
||||||
|
|
||||||
static void ops_button_pressed_callback (GtkWidget *widget,
|
typedef enum
|
||||||
GdkEventButton *bevent,
|
{
|
||||||
gpointer data);
|
OPS_BUTTON_MODIFIER_NONE,
|
||||||
static void ops_button_extended_callback (GtkWidget *widget,
|
OPS_BUTTON_MODIFIER_SHIFT,
|
||||||
gpointer data);
|
OPS_BUTTON_MODIFIER_CTRL,
|
||||||
|
OPS_BUTTON_MODIFIER_ALT,
|
||||||
|
OPS_BUTTON_MODIFIER_SHIFT_CTRL,
|
||||||
|
OPS_BUTTON_MODIFIER_LAST
|
||||||
|
} OpsButtonModifier;
|
||||||
|
|
||||||
|
|
||||||
|
static void ops_button_extended_clicked (GtkWidget *widget,
|
||||||
|
guint modifier_state,
|
||||||
|
gpointer data);
|
||||||
|
|
||||||
|
|
||||||
GtkWidget *
|
GtkWidget *
|
||||||
|
@ -54,7 +61,7 @@ ops_button_box_new (OpsButton *ops_button,
|
||||||
switch (ops_type)
|
switch (ops_type)
|
||||||
{
|
{
|
||||||
case OPS_BUTTON_NORMAL:
|
case OPS_BUTTON_NORMAL:
|
||||||
button = gtk_button_new ();
|
button = gimp_button_new ();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case OPS_BUTTON_RADIO:
|
case OPS_BUTTON_RADIO:
|
||||||
|
@ -78,12 +85,9 @@ ops_button_box_new (OpsButton *ops_button,
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
gtk_signal_connect (GTK_OBJECT (button), "button_press_event",
|
gtk_signal_connect (GTK_OBJECT (button), "extended_clicked",
|
||||||
GTK_SIGNAL_FUNC (ops_button_pressed_callback),
|
GTK_SIGNAL_FUNC (ops_button_extended_clicked),
|
||||||
ops_button);
|
ops_button);
|
||||||
gtk_signal_connect (GTK_OBJECT (button), "clicked",
|
|
||||||
GTK_SIGNAL_FUNC (ops_button_extended_callback),
|
|
||||||
ops_button);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gimp_help_set_help_data (button,
|
gimp_help_set_help_data (button,
|
||||||
|
@ -96,7 +100,6 @@ ops_button_box_new (OpsButton *ops_button,
|
||||||
gtk_widget_show (button);
|
gtk_widget_show (button);
|
||||||
|
|
||||||
ops_button->widget = button;
|
ops_button->widget = button;
|
||||||
ops_button->modifier = OPS_BUTTON_MODIFIER_NONE;
|
|
||||||
|
|
||||||
ops_button++;
|
ops_button++;
|
||||||
}
|
}
|
||||||
|
@ -105,49 +108,38 @@ ops_button_box_new (OpsButton *ops_button,
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
ops_button_pressed_callback (GtkWidget *widget,
|
ops_button_extended_clicked (GtkWidget *widget,
|
||||||
GdkEventButton *bevent,
|
guint modifier_state,
|
||||||
gpointer data)
|
gpointer data)
|
||||||
{
|
{
|
||||||
OpsButton *ops_button;
|
OpsButton *ops_button;
|
||||||
|
OpsButtonModifier modifier;
|
||||||
|
|
||||||
g_return_if_fail (data != NULL);
|
g_return_if_fail (data != NULL);
|
||||||
ops_button = (OpsButton *) data;
|
ops_button = (OpsButton *) data;
|
||||||
|
|
||||||
if (bevent->state & GDK_SHIFT_MASK)
|
if (modifier_state & GDK_SHIFT_MASK)
|
||||||
{
|
{
|
||||||
if (bevent->state & GDK_CONTROL_MASK)
|
if (modifier_state & GDK_CONTROL_MASK)
|
||||||
ops_button->modifier = OPS_BUTTON_MODIFIER_SHIFT_CTRL;
|
modifier = OPS_BUTTON_MODIFIER_SHIFT_CTRL;
|
||||||
else
|
else
|
||||||
ops_button->modifier = OPS_BUTTON_MODIFIER_SHIFT;
|
modifier = OPS_BUTTON_MODIFIER_SHIFT;
|
||||||
}
|
}
|
||||||
else if (bevent->state & GDK_CONTROL_MASK)
|
else if (modifier_state & GDK_CONTROL_MASK)
|
||||||
ops_button->modifier = OPS_BUTTON_MODIFIER_CTRL;
|
modifier = OPS_BUTTON_MODIFIER_CTRL;
|
||||||
else if (bevent->state & GDK_MOD1_MASK)
|
else if (modifier_state & GDK_MOD1_MASK)
|
||||||
ops_button->modifier = OPS_BUTTON_MODIFIER_ALT;
|
modifier = OPS_BUTTON_MODIFIER_ALT;
|
||||||
else
|
else
|
||||||
ops_button->modifier = OPS_BUTTON_MODIFIER_NONE;
|
modifier = OPS_BUTTON_MODIFIER_NONE;
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
if (modifier > OPS_BUTTON_MODIFIER_NONE &&
|
||||||
ops_button_extended_callback (GtkWidget *widget,
|
modifier < OPS_BUTTON_MODIFIER_LAST)
|
||||||
gpointer data)
|
|
||||||
{
|
|
||||||
OpsButton *ops_button;
|
|
||||||
|
|
||||||
g_return_if_fail (data != NULL);
|
|
||||||
ops_button = (OpsButton *) data;
|
|
||||||
|
|
||||||
if (ops_button->modifier > OPS_BUTTON_MODIFIER_NONE &&
|
|
||||||
ops_button->modifier < OPS_BUTTON_MODIFIER_LAST)
|
|
||||||
{
|
{
|
||||||
if (ops_button->ext_callbacks[ops_button->modifier - 1] != NULL)
|
if (ops_button->ext_callbacks[modifier - 1] != NULL)
|
||||||
(ops_button->ext_callbacks[ops_button->modifier - 1]) (widget, NULL);
|
(ops_button->ext_callbacks[modifier - 1]) (widget, NULL);
|
||||||
else
|
else
|
||||||
(ops_button->callback) (widget, NULL);
|
(ops_button->callback) (widget, NULL);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
(ops_button->callback) (widget, NULL);
|
(ops_button->callback) (widget, NULL);
|
||||||
|
|
||||||
ops_button->modifier = OPS_BUTTON_MODIFIER_NONE;
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,16 +20,6 @@
|
||||||
#define __OPS_BUTTONS_H__
|
#define __OPS_BUTTONS_H__
|
||||||
|
|
||||||
|
|
||||||
typedef enum
|
|
||||||
{
|
|
||||||
OPS_BUTTON_MODIFIER_NONE,
|
|
||||||
OPS_BUTTON_MODIFIER_SHIFT,
|
|
||||||
OPS_BUTTON_MODIFIER_CTRL,
|
|
||||||
OPS_BUTTON_MODIFIER_ALT,
|
|
||||||
OPS_BUTTON_MODIFIER_SHIFT_CTRL,
|
|
||||||
OPS_BUTTON_MODIFIER_LAST
|
|
||||||
} OpsButtonModifier;
|
|
||||||
|
|
||||||
typedef enum
|
typedef enum
|
||||||
{
|
{
|
||||||
OPS_BUTTON_NORMAL,
|
OPS_BUTTON_NORMAL,
|
||||||
|
@ -47,7 +37,6 @@ struct _OpsButton
|
||||||
gchar *tooltip;
|
gchar *tooltip;
|
||||||
gchar *private_tip;
|
gchar *private_tip;
|
||||||
GtkWidget *widget; /* the button widget */
|
GtkWidget *widget; /* the button widget */
|
||||||
gint modifier;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Function declarations */
|
/* Function declarations */
|
||||||
|
|
Loading…
Reference in New Issue