static void gtk_level_bar_init (GtkLevelBar *self) { GtkStyleContext *context; self->priv = gtk_level_bar_get_instance_private (self); context = gtk_widget_get_style_context (GTK_WIDGET (self)); gtk_style_context_add_class (context, GTK_STYLE_CLASS_LEVEL_BAR); self->priv->cur_value = 0.0; self->priv->min_value = 0.0; self->priv->max_value = 1.0; gtk_level_bar_ensure_offset (self, GTK_LEVEL_BAR_OFFSET_LOW, 0.25); gtk_level_bar_ensure_offset (self, GTK_LEVEL_BAR_OFFSET_HIGH, 0.75); gtk_level_bar_update_level_style_classes (self); self->priv->bar_mode = GTK_LEVEL_BAR_MODE_CONTINUOUS; gtk_level_bar_update_mode_style_classes (self); /* set initial orientation and style classes */ self->priv->orientation = GTK_ORIENTATION_HORIZONTAL; _gtk_orientable_set_style_classes (GTK_ORIENTABLE (self)); self->priv->inverted = FALSE; gtk_widget_set_has_window (GTK_WIDGET (self), FALSE); }
static void gtk_level_bar_set_orientation (GtkLevelBar *self, GtkOrientation orientation) { if (self->priv->orientation != orientation) { self->priv->orientation = orientation; _gtk_orientable_set_style_classes (GTK_ORIENTABLE (self)); gtk_widget_queue_resize (GTK_WIDGET (self)); } }
static void gtk_cell_view_set_property (GObject *object, guint param_id, const GValue *value, GParamSpec *pspec) { GtkCellView *view = GTK_CELL_VIEW (object); GtkCellViewPrivate *priv = view->priv; GtkCellArea *area; GtkCellAreaContext *context; switch (param_id) { case PROP_ORIENTATION: priv->orientation = g_value_get_enum (value); if (priv->context) gtk_cell_area_context_reset (priv->context); _gtk_orientable_set_style_classes (GTK_ORIENTABLE (object)); break; case PROP_BACKGROUND: { GdkColor color; if (!g_value_get_string (value)) gtk_cell_view_set_background_color (view, NULL); else if (gdk_color_parse (g_value_get_string (value), &color)) gtk_cell_view_set_background_color (view, &color); else g_warning ("Don't know color `%s'", g_value_get_string (value)); g_object_notify (object, "background-gdk"); } break; case PROP_BACKGROUND_GDK: gtk_cell_view_set_background_color (view, g_value_get_boxed (value)); break; case PROP_BACKGROUND_RGBA: gtk_cell_view_set_background_rgba (view, g_value_get_boxed (value)); break; case PROP_BACKGROUND_SET: view->priv->background_set = g_value_get_boolean (value); break; case PROP_MODEL: gtk_cell_view_set_model (view, g_value_get_object (value)); break; case PROP_CELL_AREA: /* Construct-only, can only be assigned once */ area = g_value_get_object (value); if (area) { if (priv->area != NULL) { g_warning ("cell-area has already been set, ignoring construct property"); g_object_ref_sink (area); g_object_unref (area); } else priv->area = g_object_ref_sink (area); } break; case PROP_CELL_AREA_CONTEXT: /* Construct-only, can only be assigned once */ context = g_value_get_object (value); if (context) { if (priv->context != NULL) { g_warning ("cell-area-context has already been set, ignoring construct property"); g_object_ref_sink (context); g_object_unref (context); } else priv->context = g_object_ref (context); } break; case PROP_DRAW_SENSITIVE: gtk_cell_view_set_draw_sensitive (view, g_value_get_boolean (value)); break; case PROP_FIT_MODEL: gtk_cell_view_set_fit_model (view, g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, param_id, pspec); break; } }