static void clicked_cb (GtkButton *button, GbSlider *slider) { GbSliderPosition position; g_assert (GTK_IS_BUTTON (button)); g_assert (GB_IS_SLIDER (slider)); position = gb_slider_get_position (slider) == GB_SLIDER_NONE ? GB_SLIDER_BOTTOM : GB_SLIDER_NONE; gb_slider_set_position (slider, position); gtk_widget_grab_focus (GTK_WIDGET (entry)); }
static void gb_slider_get_property (GObject *object, guint prop_id, GValue *value, GParamSpec *pspec) { GbSlider *self = GB_SLIDER (object); switch (prop_id) { case PROP_POSITION: g_value_set_enum (value, gb_slider_get_position (self)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); } }