Don't use deprecated functions in GtkKnob; optipng knob.png
This commit is contained in:
88
gtkknob.c
88
gtkknob.c
@@ -74,22 +74,23 @@ static GtkWidgetClass *parent_class = NULL;
|
|||||||
* gtk_knob_get_type()
|
* gtk_knob_get_type()
|
||||||
*
|
*
|
||||||
*****************************************************************************/
|
*****************************************************************************/
|
||||||
guint
|
GType
|
||||||
gtk_knob_get_type(void) {
|
gtk_knob_get_type(void) {
|
||||||
static guint knob_type = 0;
|
static GType knob_type = 0;
|
||||||
|
|
||||||
if (!knob_type) {
|
if (!knob_type) {
|
||||||
GtkTypeInfo knob_info = {
|
static const GTypeInfo knob_info = {
|
||||||
"GtkKnob",
|
|
||||||
sizeof (GtkKnob),
|
|
||||||
sizeof (GtkKnobClass),
|
sizeof (GtkKnobClass),
|
||||||
(GtkClassInitFunc) gtk_knob_class_init,
|
NULL,
|
||||||
(GtkObjectInitFunc) gtk_knob_init,
|
NULL,
|
||||||
|
(GClassInitFunc) gtk_knob_class_init,
|
||||||
NULL,
|
NULL,
|
||||||
NULL,
|
NULL,
|
||||||
|
sizeof (GtkKnob),
|
||||||
|
0,
|
||||||
|
(GInstanceInitFunc) gtk_knob_init,
|
||||||
};
|
};
|
||||||
|
knob_type = g_type_register_static (GTK_TYPE_WIDGET, "GtkKnob", &knob_info, 0);
|
||||||
knob_type = gtk_type_unique (gtk_widget_get_type (), &knob_info);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return knob_type;
|
return knob_type;
|
||||||
@@ -109,7 +110,7 @@ gtk_knob_class_init (GtkKnobClass *class) {
|
|||||||
object_class = (GtkObjectClass*) class;
|
object_class = (GtkObjectClass*) class;
|
||||||
widget_class = (GtkWidgetClass*) class;
|
widget_class = (GtkWidgetClass*) class;
|
||||||
|
|
||||||
parent_class = gtk_type_class (gtk_widget_get_type ());
|
parent_class = g_type_class_ref (GTK_TYPE_WIDGET);
|
||||||
|
|
||||||
object_class->destroy = gtk_knob_destroy;
|
object_class->destroy = gtk_knob_destroy;
|
||||||
|
|
||||||
@@ -160,7 +161,7 @@ gtk_knob_new(GtkAdjustment *adjustment, GtkKnobAnim *anim) {
|
|||||||
g_return_val_if_fail (anim != NULL, NULL);
|
g_return_val_if_fail (anim != NULL, NULL);
|
||||||
g_return_val_if_fail (GDK_IS_PIXBUF (anim->pixbuf), NULL);
|
g_return_val_if_fail (GDK_IS_PIXBUF (anim->pixbuf), NULL);
|
||||||
|
|
||||||
knob = gtk_type_new (gtk_knob_get_type ());
|
knob = g_object_new (gtk_knob_get_type (), NULL);
|
||||||
|
|
||||||
gtk_knob_set_animation (knob, anim);
|
gtk_knob_set_animation (knob, anim);
|
||||||
|
|
||||||
@@ -190,7 +191,7 @@ gtk_knob_destroy(GtkObject *object) {
|
|||||||
knob = GTK_KNOB (object);
|
knob = GTK_KNOB (object);
|
||||||
|
|
||||||
if (knob->adjustment) {
|
if (knob->adjustment) {
|
||||||
gtk_object_unref (GTK_OBJECT (knob->adjustment));
|
g_object_unref (knob->adjustment);
|
||||||
knob->adjustment = NULL;
|
knob->adjustment = NULL;
|
||||||
}
|
}
|
||||||
/* FIXME: needs ref counting for automatic GtkKnobAnim cleanup
|
/* FIXME: needs ref counting for automatic GtkKnobAnim cleanup
|
||||||
@@ -201,16 +202,16 @@ gtk_knob_destroy(GtkObject *object) {
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
if (knob->mask) {
|
if (knob->mask) {
|
||||||
gdk_bitmap_unref (knob->mask);
|
g_object_unref (knob->mask);
|
||||||
knob->mask = NULL;
|
knob->mask = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (knob->mask_gc) {
|
if (knob->mask_gc) {
|
||||||
gdk_gc_unref (knob->mask_gc);
|
g_object_unref (knob->mask_gc);
|
||||||
knob->mask_gc = NULL;
|
knob->mask_gc = NULL;
|
||||||
}
|
}
|
||||||
if (knob->red_gc) {
|
if (knob->red_gc) {
|
||||||
gdk_gc_unref (knob->red_gc);
|
g_object_unref (knob->red_gc);
|
||||||
knob->red_gc = NULL;
|
knob->red_gc = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -262,21 +263,23 @@ gtk_knob_set_adjustment(GtkKnob *knob, GtkAdjustment *adjustment) {
|
|||||||
g_return_if_fail (GTK_IS_KNOB (knob));
|
g_return_if_fail (GTK_IS_KNOB (knob));
|
||||||
|
|
||||||
if (knob->adjustment) {
|
if (knob->adjustment) {
|
||||||
gtk_signal_disconnect_by_data (GTK_OBJECT (knob->adjustment),
|
g_signal_handlers_disconnect_matched(knob->adjustment,
|
||||||
(gpointer)knob);
|
G_SIGNAL_MATCH_DATA,
|
||||||
gtk_object_unref (GTK_OBJECT (knob->adjustment));
|
0, 0, NULL, NULL,
|
||||||
|
knob);
|
||||||
|
g_object_unref (knob->adjustment);
|
||||||
}
|
}
|
||||||
|
|
||||||
knob->adjustment = adjustment;
|
knob->adjustment = adjustment;
|
||||||
gtk_object_ref (GTK_OBJECT (knob->adjustment));
|
g_object_ref (GTK_OBJECT (knob->adjustment));
|
||||||
gtk_object_sink (GTK_OBJECT (knob->adjustment));
|
g_object_ref_sink (GTK_OBJECT (knob->adjustment));
|
||||||
|
|
||||||
gtk_signal_connect (GTK_OBJECT (adjustment), "changed",
|
g_signal_connect (adjustment, "changed",
|
||||||
GTK_SIGNAL_FUNC (gtk_knob_adjustment_changed),
|
(GCallback) gtk_knob_adjustment_changed,
|
||||||
(gpointer)knob);
|
knob);
|
||||||
gtk_signal_connect (GTK_OBJECT (adjustment), "value_changed",
|
g_signal_connect (adjustment, "value_changed",
|
||||||
GTK_SIGNAL_FUNC (gtk_knob_adjustment_value_changed),
|
(GCallback) gtk_knob_adjustment_value_changed,
|
||||||
(gpointer)knob);
|
knob);
|
||||||
|
|
||||||
knob->old_value = adjustment->value;
|
knob->old_value = adjustment->value;
|
||||||
knob->old_lower = adjustment->lower;
|
knob->old_lower = adjustment->lower;
|
||||||
@@ -439,13 +442,11 @@ gtk_knob_scroll(GtkWidget *widget, GdkEventScroll *event) {
|
|||||||
switch (event->direction) {
|
switch (event->direction) {
|
||||||
case GDK_SCROLL_UP:
|
case GDK_SCROLL_UP:
|
||||||
knob->adjustment->value += knob->adjustment->step_increment;
|
knob->adjustment->value += knob->adjustment->step_increment;
|
||||||
gtk_signal_emit_by_name (GTK_OBJECT (knob->adjustment),
|
g_signal_emit_by_name (knob->adjustment, "value_changed");
|
||||||
"value_changed");
|
|
||||||
break;
|
break;
|
||||||
case GDK_SCROLL_DOWN:
|
case GDK_SCROLL_DOWN:
|
||||||
knob->adjustment->value -= knob->adjustment->step_increment;
|
knob->adjustment->value -= knob->adjustment->step_increment;
|
||||||
gtk_signal_emit_by_name (GTK_OBJECT (knob->adjustment),
|
g_signal_emit_by_name (knob->adjustment, "value_changed");
|
||||||
"value_changed");
|
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
break;
|
break;
|
||||||
@@ -485,8 +486,7 @@ gtk_knob_button_press(GtkWidget *widget, GdkEventButton *event) {
|
|||||||
knob->adjustment->value = floor ((knob->adjustment->lower +
|
knob->adjustment->value = floor ((knob->adjustment->lower +
|
||||||
knob->adjustment->upper + 1.0)
|
knob->adjustment->upper + 1.0)
|
||||||
* 0.5);
|
* 0.5);
|
||||||
gtk_signal_emit_by_name (GTK_OBJECT (knob->adjustment),
|
g_signal_emit_by_name (knob->adjustment, "value_changed");
|
||||||
"value_changed");
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
@@ -526,8 +526,7 @@ gtk_knob_button_release(GtkWidget *widget, GdkEventButton *event) {
|
|||||||
if (knob->policy != GTK_UPDATE_CONTINUOUS
|
if (knob->policy != GTK_UPDATE_CONTINUOUS
|
||||||
&& knob->old_value != knob->adjustment->value)
|
&& knob->old_value != knob->adjustment->value)
|
||||||
{
|
{
|
||||||
gtk_signal_emit_by_name (GTK_OBJECT (knob->adjustment),
|
g_signal_emit_by_name (knob->adjustment, "value_changed");
|
||||||
"value_changed");
|
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@@ -632,8 +631,7 @@ gtk_knob_timer(GtkKnob *knob) {
|
|||||||
g_return_val_if_fail (GTK_IS_KNOB (knob), FALSE);
|
g_return_val_if_fail (GTK_IS_KNOB (knob), FALSE);
|
||||||
|
|
||||||
if (knob->policy == GTK_UPDATE_DELAYED) {
|
if (knob->policy == GTK_UPDATE_DELAYED) {
|
||||||
gtk_signal_emit_by_name (GTK_OBJECT (knob->adjustment),
|
g_signal_emit_by_name (knob->adjustment, "value_changed");
|
||||||
"value_changed");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* don't keep running this timer */
|
/* don't keep running this timer */
|
||||||
@@ -650,19 +648,18 @@ static void
|
|||||||
gtk_knob_update_mouse_update(GtkKnob *knob) {
|
gtk_knob_update_mouse_update(GtkKnob *knob) {
|
||||||
|
|
||||||
if (knob->policy == GTK_UPDATE_CONTINUOUS) {
|
if (knob->policy == GTK_UPDATE_CONTINUOUS) {
|
||||||
gtk_signal_emit_by_name (GTK_OBJECT (knob->adjustment),
|
g_signal_emit_by_name (knob->adjustment, "value_changed");
|
||||||
"value_changed");
|
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
gtk_widget_draw (GTK_WIDGET (knob), NULL);
|
gtk_widget_queue_draw (GTK_WIDGET (knob));
|
||||||
|
|
||||||
if (knob->policy == GTK_UPDATE_DELAYED) {
|
if (knob->policy == GTK_UPDATE_DELAYED) {
|
||||||
if (knob->timer) {
|
if (knob->timer) {
|
||||||
gtk_timeout_remove (knob->timer);
|
g_source_remove (knob->timer);
|
||||||
}
|
}
|
||||||
knob->timer = gtk_timeout_add (SCROLL_DELAY_LENGTH,
|
knob->timer = g_timeout_add (SCROLL_DELAY_LENGTH,
|
||||||
(GtkFunction) gtk_knob_timer,
|
(GSourceFunc) gtk_knob_timer,
|
||||||
(gpointer) knob);
|
(gpointer) knob);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -743,11 +740,10 @@ gtk_knob_update(GtkKnob *knob) {
|
|||||||
|
|
||||||
if (new_value != knob->adjustment->value) {
|
if (new_value != knob->adjustment->value) {
|
||||||
knob->adjustment->value = new_value;
|
knob->adjustment->value = new_value;
|
||||||
gtk_signal_emit_by_name (GTK_OBJECT (knob->adjustment),
|
g_signal_emit_by_name (knob->adjustment, "value_changed");
|
||||||
"value_changed");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
gtk_widget_draw (GTK_WIDGET (knob), NULL);
|
gtk_widget_queue_draw (GTK_WIDGET (knob));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -30,9 +30,9 @@
|
|||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define GTK_KNOB(obj) GTK_CHECK_CAST(obj, gtk_knob_get_type(), GtkKnob)
|
#define GTK_KNOB(obj) G_TYPE_CHECK_INSTANCE_CAST(obj, gtk_knob_get_type(), GtkKnob)
|
||||||
#define GTK_KNOB_CLASS(klass) GTK_CHECK_CLASS_CAST(klass, gtk_knob_get_type(), GtkKnobClass)
|
#define GTK_KNOB_CLASS(klass) G_TYPE_CHECK_CLASS_CAST(klass, gtk_knob_get_type(), GtkKnobClass)
|
||||||
#define GTK_IS_KNOB(obj) GTK_CHECK_TYPE(obj, gtk_knob_get_type())
|
#define GTK_IS_KNOB(obj) G_TYPE_CHECK_INSTANCE_TYPE(obj, gtk_knob_get_type())
|
||||||
|
|
||||||
typedef struct _GtkKnob GtkKnob;
|
typedef struct _GtkKnob GtkKnob;
|
||||||
typedef struct _GtkKnobClass GtkKnobClass;
|
typedef struct _GtkKnobClass GtkKnobClass;
|
||||||
@@ -82,7 +82,7 @@ typedef struct _GtkKnobAnim GtkKnobAnim;
|
|||||||
|
|
||||||
|
|
||||||
extern GtkWidget *gtk_knob_new(GtkAdjustment *adjustment, GtkKnobAnim *anim);
|
extern GtkWidget *gtk_knob_new(GtkAdjustment *adjustment, GtkKnobAnim *anim);
|
||||||
extern guint gtk_knob_get_type(void);
|
extern GType gtk_knob_get_type(void);
|
||||||
extern GtkAdjustment *gtk_knob_get_adjustment(GtkKnob *knob);
|
extern GtkAdjustment *gtk_knob_get_adjustment(GtkKnob *knob);
|
||||||
extern void gtk_knob_set_update_policy(GtkKnob *knob, GtkUpdateType policy);
|
extern void gtk_knob_set_update_policy(GtkKnob *knob, GtkUpdateType policy);
|
||||||
extern void gtk_knob_set_adjustment(GtkKnob *knob, GtkAdjustment *adjustment);
|
extern void gtk_knob_set_adjustment(GtkKnob *knob, GtkAdjustment *adjustment);
|
||||||
|
|||||||
Reference in New Issue
Block a user