コード例 #1
0
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();
	}
}
コード例 #2
0
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);
}