/** * gtk_level_bar_get_mode: * @self: a #GtkLevelBar * * Returns the value of the #GtkLevelBar:mode property. * * Returns: a #GtkLevelBarMode * * Since: 3.6 */ GtkLevelBarMode gtk_level_bar_get_mode (GtkLevelBar *self) { g_return_val_if_fail (GTK_IS_LEVEL_BAR (self), 0); return self->priv->bar_mode; }
/** * gtk_level_bar_get_inverted: * @self: a #GtkLevelBar * * Return the value of the #GtkLevelBar:inverted property. * * Return value: %TRUE if the level bar is inverted * * Since: 3.8 */ gboolean gtk_level_bar_get_inverted (GtkLevelBar *self) { g_return_val_if_fail (GTK_IS_LEVEL_BAR (self), FALSE); return self->priv->inverted; }
/** * gtk_level_bar_get_value: * @self: a #GtkLevelBar * * Returns the value of the #GtkLevelBar:value property. * * Returns: a value in the interval between * #GtkLevelBar:min-value and #GtkLevelBar:max-value * * Since: 3.6 */ gdouble gtk_level_bar_get_value (GtkLevelBar *self) { g_return_val_if_fail (GTK_IS_LEVEL_BAR (self), 0.0); return self->priv->cur_value; }
/** * gtk_level_bar_set_value: * @self: a #GtkLevelBar * @value: a value in the interval between * #GtkLevelBar:min-value and #GtkLevelBar:max-value * * Sets the value of the #GtkLevelBar:value property. * * Since: 3.6 */ void gtk_level_bar_set_value (GtkLevelBar *self, gdouble value) { g_return_if_fail (GTK_IS_LEVEL_BAR (self)); if (value != self->priv->cur_value) { gtk_level_bar_set_value_internal (self, value); gtk_level_bar_update_level_style_classes (self); } }
/** * gtk_level_bar_set_inverted: * @self: a #GtkLevelBar * @inverted: %TRUE to invert the level bar * * Sets the value of the #GtkLevelBar:inverted property. * * Since: 3.8 */ void gtk_level_bar_set_inverted (GtkLevelBar *self, gboolean inverted) { g_return_if_fail (GTK_IS_LEVEL_BAR (self)); if (self->priv->inverted != inverted) { self->priv->inverted = inverted; gtk_widget_queue_resize (GTK_WIDGET (self)); g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_INVERTED]); } }
/** * gtk_level_bar_set_mode: * @self: a #GtkLevelBar * @mode: a #GtkLevelBarMode * * Sets the value of the #GtkLevelBar:mode property. * * Since: 3.6 */ void gtk_level_bar_set_mode (GtkLevelBar *self, GtkLevelBarMode mode) { g_return_if_fail (GTK_IS_LEVEL_BAR (self)); if (self->priv->bar_mode != mode) { self->priv->bar_mode = mode; g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MODE]); gtk_level_bar_update_mode_style_classes (self); gtk_widget_queue_resize (GTK_WIDGET (self)); } }
/** * gtk_level_bar_add_offset_value: * @self: a #GtkLevelBar * @name: the name of the new offset * @value: the value for the new offset * * Adds a new offset marker on @self at the position specified by @value. * When the bar value is in the interval topped by @value (or between @value * and #GtkLevelBar:max-value in case the offset is the last one on the bar) * a style class named <literal>level-</literal>@name will be applied * when rendering the level bar fill. * If another offset marker named @name exists, its value will be * replaced by @value. * * Since: 3.6 */ void gtk_level_bar_add_offset_value (GtkLevelBar *self, const gchar *name, gdouble value) { GQuark name_quark; g_return_if_fail (GTK_IS_LEVEL_BAR (self)); g_return_if_fail (gtk_level_bar_value_in_interval (self, value)); if (!gtk_level_bar_ensure_offset (self, name, value)) return; gtk_level_bar_update_level_style_classes (self); name_quark = g_quark_from_string (name); g_signal_emit (self, signals[SIGNAL_OFFSET_CHANGED], name_quark, name); }
/** * gtk_level_bar_remove_offset_value: * @self: a #GtkLevelBar * @name: (allow-none): the name of an offset in the bar * * Removes an offset marker previously added with * gtk_level_bar_add_offset_value(). * * Since: 3.6 */ void gtk_level_bar_remove_offset_value (GtkLevelBar *self, const gchar *name) { GList *existing; g_return_if_fail (GTK_IS_LEVEL_BAR (self)); existing = g_list_find_custom (self->priv->offsets, name, offset_find_func); if (existing) { gtk_level_bar_offset_free (existing->data); self->priv->offsets = g_list_delete_link (self->priv->offsets, existing); gtk_level_bar_update_level_style_classes (self); } }
/** * gtk_level_bar_set_min_value: * @self: a #GtkLevelBar * @value: a positive value * * Sets the value of the #GtkLevelBar:min-value property. * * Since: 3.6 */ void gtk_level_bar_set_min_value (GtkLevelBar *self, gdouble value) { g_return_if_fail (GTK_IS_LEVEL_BAR (self)); g_return_if_fail (value >= 0.0); if (value != self->priv->min_value) { self->priv->min_value = value; g_object_notify_by_pspec (G_OBJECT (self), properties[PROP_MIN_VALUE]); if (self->priv->min_value > self->priv->cur_value) gtk_level_bar_set_value_internal (self, self->priv->min_value); gtk_level_bar_update_level_style_classes (self); } }
/** * gtk_level_bar_set_inverted: * @self: a #GtkLevelBar * @inverted: %TRUE to invert the level bar * * Sets the value of the #GtkLevelBar:inverted property. * * Since: 3.8 */ void gtk_level_bar_set_inverted (GtkLevelBar *self, gboolean inverted) { GtkLevelBarPrivate *priv; g_return_if_fail (GTK_IS_LEVEL_BAR (self)); priv = self->priv; if (priv->inverted != inverted) { priv->inverted = inverted; gtk_widget_queue_resize (GTK_WIDGET (self)); g_object_notify (G_OBJECT (self), "inverted"); } }
/** * gtk_level_bar_get_offset_value: * @self: a #GtkLevelBar * @name: (allow-none): the name of an offset in the bar * @value: (out): location where to store the value * * Fetches the value specified for the offset marker @name in @self, * returning %TRUE in case an offset named @name was found. * * Returns: %TRUE if the specified offset is found * * Since: 3.6 */ gboolean gtk_level_bar_get_offset_value (GtkLevelBar *self, const gchar *name, gdouble *value) { GList *existing; GtkLevelBarOffset *offset = NULL; g_return_val_if_fail (GTK_IS_LEVEL_BAR (self), 0.0); existing = g_list_find_custom (self->priv->offsets, name, offset_find_func); if (existing) offset = existing->data; if (!offset) return FALSE; if (value) *value = offset->value; return TRUE; }