[gtk+] box gadget: Add a function to reverse children



commit 5265db5dd616f654d1c17b395f97818b2b531000
Author: Matthias Clasen <mclasen redhat com>
Date:   Mon Jan 18 00:03:39 2016 -0500

    box gadget: Add a function to reverse children
    
    This can be used to handle text direction changes.

 gtk/gtkboxgadget.c        |   20 ++++++++++++++++++++
 gtk/gtkboxgadgetprivate.h |    1 +
 2 files changed, 21 insertions(+), 0 deletions(-)
---
diff --git a/gtk/gtkboxgadget.c b/gtk/gtkboxgadget.c
index f62b0d7..82c8632 100644
--- a/gtk/gtkboxgadget.c
+++ b/gtk/gtkboxgadget.c
@@ -651,3 +651,23 @@ gtk_box_gadget_remove_gadget (GtkBoxGadget *gadget,
 {
   gtk_box_gadget_remove_object (gadget, G_OBJECT (cssgadget));
 }
+
+void
+gtk_box_gadget_reverse_children (GtkBoxGadget *gadget)
+{
+  GtkBoxGadgetPrivate *priv = gtk_box_gadget_get_instance_private (GTK_BOX_GADGET (gadget));
+  int i, j;
+
+  gtk_css_node_reverse_children (gtk_css_gadget_get_node (GTK_CSS_GADGET (gadget)));
+
+  for (i = 0, j = priv->children->len - 1; i < j; i++, j--)
+    {
+      GtkBoxGadgetChild *child1 = &g_array_index (priv->children, GtkBoxGadgetChild, i);
+      GtkBoxGadgetChild *child2 = &g_array_index (priv->children, GtkBoxGadgetChild, j);
+      GtkBoxGadgetChild tmp;
+
+      tmp = *child1;
+      *child1 = *child2;
+      *child2 = tmp;
+    }
+}
diff --git a/gtk/gtkboxgadgetprivate.h b/gtk/gtkboxgadgetprivate.h
index 8063fcc..3662124 100644
--- a/gtk/gtkboxgadgetprivate.h
+++ b/gtk/gtkboxgadgetprivate.h
@@ -70,6 +70,7 @@ void                    gtk_box_gadget_insert_gadget            (GtkBoxGadget
                                                                  GtkAlign                align);
 void                    gtk_box_gadget_remove_gadget            (GtkBoxGadget           *gadget,
                                                                  GtkCssGadget           *cssgadget);
+void                    gtk_box_gadget_reverse_children         (GtkBoxGadget           *gadget);
 
 
 G_END_DECLS


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]