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;