[gtk+/treeview-refactor: 81/102] Implemented GtkCellLayoutIface->reorder on GtkCellAreaBox.
- From: Tristan Van Berkom <tvb src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk+/treeview-refactor: 81/102] Implemented GtkCellLayoutIface->reorder on GtkCellAreaBox.
- Date: Tue, 26 Oct 2010 09:22:21 +0000 (UTC)
commit fe3f948d0a6f7d628f58d0fc456b315dc1dc30be
Author: Tristan Van Berkom <tristan van berkom gmail com>
Date: Sun Oct 24 20:08:21 2010 +0900
Implemented GtkCellLayoutIface->reorder on GtkCellAreaBox.
gtk/gtkcellareabox.c | 26 ++++++++++++++++++++++++++
1 files changed, 26 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkcellareabox.c b/gtk/gtkcellareabox.c
index 75e004a..80cb16e 100644
--- a/gtk/gtkcellareabox.c
+++ b/gtk/gtkcellareabox.c
@@ -82,6 +82,9 @@ static void gtk_cell_area_box_layout_pack_start (GtkCellLayout
static void gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout,
GtkCellRenderer *renderer,
gboolean expand);
+static void gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout,
+ GtkCellRenderer *renderer,
+ gint position);
/* CellInfo metadata handling */
@@ -359,6 +362,7 @@ gtk_cell_area_box_cell_layout_init (GtkCellLayoutIface *iface)
{
iface->pack_start = gtk_cell_area_box_layout_pack_start;
iface->pack_end = gtk_cell_area_box_layout_pack_end;
+ iface->reorder = gtk_cell_area_box_layout_reorder;
}
static void
@@ -377,6 +381,28 @@ gtk_cell_area_box_layout_pack_end (GtkCellLayout *cell_layout,
gtk_cell_area_box_pack_end (GTK_CELL_AREA_BOX (cell_layout), renderer, expand);
}
+static void
+gtk_cell_area_box_layout_reorder (GtkCellLayout *cell_layout,
+ GtkCellRenderer *renderer,
+ gint position)
+{
+ GtkCellAreaBox *box = GTK_CELL_AREA_BOX (cell_layout);
+ GtkCellAreaBoxPrivate *priv = box->priv;
+ GList *node;
+ CellInfo *info;
+
+ node = g_list_find_custom (priv->cells, renderer,
+ (GCompareFunc)cell_info_find);
+
+ if (node)
+ {
+ info = node->data;
+
+ priv->cells = g_list_delete_link (priv->cells, node);
+ priv->cells = g_list_insert (priv->cells, info, position);
+ }
+}
+
/*************************************************************
* API *
*************************************************************/
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]