static void
nmt_route_table_set_property (GObject      *object,
                              guint         prop_id,
                              const GValue *value,
                              GParamSpec   *pspec)
{
	NmtRouteTablePrivate *priv = NMT_ROUTE_TABLE_GET_PRIVATE (object);
	GPtrArray *array;
	int i;

	switch (prop_id) {
	case PROP_FAMILY:
		priv->family = g_value_get_int (value);
		break;
	case PROP_ROUTES:
		array = g_value_get_boxed (value);
		g_ptr_array_set_size (priv->routes, 0);
		for (i = 0; i < array->len; i++) {
			nm_ip_route_ref (array->pdata[i]);
			g_ptr_array_add (priv->routes, array->pdata[i]);
		}
		nmt_widget_list_set_length (NMT_WIDGET_LIST (priv->list), priv->routes->len);
		break;
	default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
		break;
	}
}
Esempio n. 2
0
static void
nmt_widget_list_set_property (GObject      *object,
                              guint         prop_id,
                              const GValue *value,
                              GParamSpec   *pspec)
{
	NmtWidgetListPrivate *priv = NMT_WIDGET_LIST_GET_PRIVATE (object);

	switch (prop_id) {
	case PROP_CREATE_CALLBACK:
		priv->create_callback = g_value_get_pointer (value);
		break;
	case PROP_USER_DATA:
		priv->user_data = g_value_get_pointer (value);
		break;
	case PROP_DESTROY_NOTIFY:
		priv->destroy_notify = g_value_get_pointer (value);
		break;
	case PROP_LENGTH:
		priv->length = g_value_get_int (value);
		ensure_widgets (NMT_WIDGET_LIST (object));
		break;
	case PROP_EMPTY_WIDGET:
		priv->empty_widget = g_value_get_object (value);
		if (priv->empty_widget) {
			g_object_ref_sink (priv->empty_widget);
			nmt_newt_grid_add (NMT_NEWT_GRID (object), priv->empty_widget, 0, 0);
		}
		break;
	default:
		G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
		break;
	}
}