Mercurial > audlegacy
comparison src/audacious/ui_skinned_number.c @ 3002:26c68f59663d trunk
UiSkinnedNumber doesn't need redraw signal
author | Tomasz Mon <desowin@gmail.com> |
---|---|
date | Sun, 08 Jul 2007 12:58:17 +0200 |
parents | 6d4b7b739232 |
children | 3db40ad79fd9 |
comparison
equal
deleted
inserted
replaced
3001:6d4b7b739232 | 3002:26c68f59663d |
---|---|
49 static void ui_skinned_number_size_request (GtkWidget *widget, GtkRequisition *requisition); | 49 static void ui_skinned_number_size_request (GtkWidget *widget, GtkRequisition *requisition); |
50 static void ui_skinned_number_size_allocate (GtkWidget *widget, GtkAllocation *allocation); | 50 static void ui_skinned_number_size_allocate (GtkWidget *widget, GtkAllocation *allocation); |
51 static gboolean ui_skinned_number_expose (GtkWidget *widget, GdkEventExpose *event); | 51 static gboolean ui_skinned_number_expose (GtkWidget *widget, GdkEventExpose *event); |
52 static gboolean ui_skinned_number_button_press (GtkWidget *widget, GdkEventButton *event); | 52 static gboolean ui_skinned_number_button_press (GtkWidget *widget, GdkEventButton *event); |
53 static void ui_skinned_number_toggle_doublesize (UiSkinnedNumber *number); | 53 static void ui_skinned_number_toggle_doublesize (UiSkinnedNumber *number); |
54 static void ui_skinned_number_redraw (UiSkinnedNumber *number); | |
55 | 54 |
56 static GtkWidgetClass *parent_class = NULL; | 55 static GtkWidgetClass *parent_class = NULL; |
57 static guint number_signals[LAST_SIGNAL] = { 0 }; | 56 static guint number_signals[LAST_SIGNAL] = { 0 }; |
58 | 57 |
59 GType ui_skinned_number_get_type() { | 58 GType ui_skinned_number_get_type() { |
92 widget_class->size_allocate = ui_skinned_number_size_allocate; | 91 widget_class->size_allocate = ui_skinned_number_size_allocate; |
93 widget_class->button_press_event = ui_skinned_number_button_press; | 92 widget_class->button_press_event = ui_skinned_number_button_press; |
94 | 93 |
95 klass->clicked = NULL; | 94 klass->clicked = NULL; |
96 klass->doubled = ui_skinned_number_toggle_doublesize; | 95 klass->doubled = ui_skinned_number_toggle_doublesize; |
97 klass->redraw = ui_skinned_number_redraw; | |
98 | 96 |
99 number_signals[CLICKED] = | 97 number_signals[CLICKED] = |
100 g_signal_new ("clicked", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, | 98 g_signal_new ("clicked", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, |
101 G_STRUCT_OFFSET (UiSkinnedNumberClass, clicked), NULL, NULL, | 99 G_STRUCT_OFFSET (UiSkinnedNumberClass, clicked), NULL, NULL, |
102 gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); | 100 gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); |
103 | 101 |
104 number_signals[DOUBLED] = | 102 number_signals[DOUBLED] = |
105 g_signal_new ("toggle-double-size", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, | 103 g_signal_new ("toggle-double-size", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, |
106 G_STRUCT_OFFSET (UiSkinnedNumberClass, doubled), NULL, NULL, | 104 G_STRUCT_OFFSET (UiSkinnedNumberClass, doubled), NULL, NULL, |
107 gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); | |
108 | |
109 number_signals[REDRAW] = | |
110 g_signal_new ("redraw", G_OBJECT_CLASS_TYPE (object_class), G_SIGNAL_RUN_FIRST | G_SIGNAL_ACTION, | |
111 G_STRUCT_OFFSET (UiSkinnedNumberClass, redraw), NULL, NULL, | |
112 gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); | 105 gtk_marshal_VOID__VOID, G_TYPE_NONE, 0); |
113 } | 106 } |
114 | 107 |
115 static void ui_skinned_number_init(UiSkinnedNumber *number) { | 108 static void ui_skinned_number_init(UiSkinnedNumber *number) { |
116 number->width = 9; | 109 number->width = 9; |
258 gtk_widget_set_uposition(widget, number->x*(1+number->double_size), number->y*(1+number->double_size)); | 251 gtk_widget_set_uposition(widget, number->x*(1+number->double_size), number->y*(1+number->double_size)); |
259 | 252 |
260 gtk_widget_queue_draw(GTK_WIDGET(number)); | 253 gtk_widget_queue_draw(GTK_WIDGET(number)); |
261 } | 254 } |
262 | 255 |
263 static void ui_skinned_number_redraw(UiSkinnedNumber *number) { | |
264 gtk_widget_queue_draw(GTK_WIDGET(number)); | |
265 } | |
266 | |
267 void ui_skinned_number_set_number(GtkWidget *widget, gint num) { | 256 void ui_skinned_number_set_number(GtkWidget *widget, gint num) { |
268 UiSkinnedNumber *number = UI_SKINNED_NUMBER (widget); | 257 UiSkinnedNumber *number = UI_SKINNED_NUMBER (widget); |
269 | 258 |
270 if (number->num == num) | 259 if (number->num == num) |
271 return; | 260 return; |