static void _is_store_get_value(GtkTreeModel *tree_model, GtkTreeIter *iter, gint column, GValue *value) { IsStore *self; IsStorePrivate *priv; IsStoreEntry *entry = NULL; g_return_if_fail(IS_IS_STORE(tree_model)); g_return_if_fail(iter != NULL); self = IS_STORE(tree_model); priv = self->priv; g_return_if_fail(iter->stamp == priv->stamp); g_assert(iter->user_data); g_value_init(value, column_types[column]); entry = (IsStoreEntry *) g_sequence_get((GSequenceIter *)iter->user_data); g_assert(entry); switch (column) { case IS_STORE_COL_NAME: g_value_set_string(value, entry->name); break; case IS_STORE_COL_LABEL: g_value_set_string(value, (entry->sensor ? is_sensor_get_label(entry->sensor) : NULL)); break; case IS_STORE_COL_IS_SENSOR: g_value_set_boolean(value, (entry->sensor != NULL)); break; case IS_STORE_COL_SENSOR: g_value_set_object(value, entry->sensor); break; case IS_STORE_COL_ENABLED: g_value_set_boolean(value, entry->enabled); break; case IS_STORE_COL_ICON: g_value_set_string(value, (entry->sensor ? is_sensor_get_icon(entry->sensor) : NULL)); break; default: g_assert_not_reached(); } }
static void update_sensor_from_max(IsMaxPlugin *self) { IsMaxPluginPrivate *priv; gchar *label; priv = self->priv; label = g_strdup_printf("↑%s", is_sensor_get_label(priv->max)); is_sensor_set_label(priv->sensor, label); is_sensor_set_icon(priv->sensor, is_sensor_get_icon(priv->max)); is_sensor_set_value(priv->sensor, is_sensor_get_value(priv->max)); is_sensor_set_units(priv->sensor, is_sensor_get_units(priv->max)); is_sensor_set_digits(priv->sensor, is_sensor_get_digits(priv->max)); g_free(label); }