31#include <glib/gi18n.h>
41 _reset_signal = g_signal_new(
"reset", G_TYPE_FROM_CLASS(klass), G_SIGNAL_RUN_LAST, 0, NULL, NULL,
42 g_cclosure_marshal_VOID__VOID, G_TYPE_NONE, 0);
51 if(event->type == GDK_2BUTTON_PRESS)
65 label->
lb = GTK_LABEL(gtk_label_new(text));
66 gtk_widget_set_halign(GTK_WIDGET(label->
lb), GTK_ALIGN_START);
67 gtk_label_set_ellipsize(GTK_LABEL(label->
lb), PANGO_ELLIPSIZE_END);
68 gtk_event_box_set_visible_window(GTK_EVENT_BOX(label),
FALSE);
69 gtk_widget_set_tooltip_text(GTK_WIDGET(label), _(
"double-click to reset"));
70 gtk_container_add(GTK_CONTAINER(label), GTK_WIDGET(label->
lb));
71 gtk_widget_add_events(GTK_WIDGET(label), GDK_BUTTON_PRESS_MASK);
72 g_signal_connect(G_OBJECT(label),
"button-press-event", G_CALLBACK(
_reset_label_callback), (gpointer)NULL);
79 static GType dtgtk_reset_label_type = 0;
80 if(!dtgtk_reset_label_type)
82 static const GTypeInfo dtgtk_reset_label_info = {
89 dtgtk_reset_label_type
90 = g_type_register_static(GTK_TYPE_EVENT_BOX,
"GtkDarktableResetLabel", &dtgtk_reset_label_info, 0);
92 return dtgtk_reset_label_type;
97 gtk_label_set_text(label->
lb, str);
struct _GtkWidget GtkWidget
GtkWidget, opaque, spelled exactly as GTK spells it.
static void _reset_label_init(GtkDarktableResetLabel *label)
GType dtgtk_reset_label_get_type()
static gboolean _reset_label_callback(GtkDarktableResetLabel *label, GdkEventButton *event, gpointer user_data)
static guint _reset_signal
GtkWidget * dtgtk_reset_label_new(const gchar *text)
static void _reset_label_class_init(GtkDarktableResetLabelClass *klass)
void dtgtk_reset_label_set_text(GtkDarktableResetLabel *label, const gchar *str)
struct _GtkDarktableResetLabelClass GtkDarktableResetLabelClass
struct _GtkDarktableResetLabel GtkDarktableResetLabel