summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@gnome.org>2016-02-24 12:00:46 -0800
committerCosimo Cecchi <cosimoc@gnome.org>2016-02-28 12:30:43 -0800
commita0e7b9ed3b6b3383196ec93d11e649e42c28c3e4 (patch)
tree394479283ff43cd8d5d7c4b838b965b00148e6a7
parent0cc9096b1b0ce994b3eb99d7bdb0adf45b03b54b (diff)
downloadgtk+-a0e7b9ed3b6b3383196ec93d11e649e42c28c3e4.tar.gz
boxgadget: add APIs to insert gadgets next to siblings
-rw-r--r--gtk/gtkboxgadget.c34
-rw-r--r--gtk/gtkboxgadgetprivate.h13
2 files changed, 47 insertions, 0 deletions
diff --git a/gtk/gtkboxgadget.c b/gtk/gtkboxgadget.c
index 9f72d543b1..2380236500 100644
--- a/gtk/gtkboxgadget.c
+++ b/gtk/gtkboxgadget.c
@@ -691,6 +691,40 @@ expand_func_from_flags (gboolean hexpand,
}
void
+gtk_box_gadget_insert_gadget_before (GtkBoxGadget *gadget,
+ GtkCssGadget *sibling,
+ GtkCssGadget *cssgadget,
+ gboolean hexpand,
+ gboolean vexpand,
+ GtkAlign align)
+{
+ /* Insert at the end if no sibling specified */
+ int pos = -1;
+
+ if (sibling)
+ gtk_box_gadget_find_object (gadget, G_OBJECT (sibling), &pos);
+
+ gtk_box_gadget_insert_gadget (gadget, pos, cssgadget, hexpand, vexpand, align);
+}
+
+void
+gtk_box_gadget_insert_gadget_after (GtkBoxGadget *gadget,
+ GtkCssGadget *sibling,
+ GtkCssGadget *cssgadget,
+ gboolean hexpand,
+ gboolean vexpand,
+ GtkAlign align)
+{
+ /* Insert at the beginning if no sibling specified */
+ int pos = 0;
+
+ if (sibling && gtk_box_gadget_find_object (gadget, G_OBJECT (sibling), &pos))
+ pos++;
+
+ gtk_box_gadget_insert_gadget (gadget, pos, cssgadget, hexpand, vexpand, align);
+}
+
+void
gtk_box_gadget_insert_gadget (GtkBoxGadget *gadget,
int pos,
GtkCssGadget *cssgadget,
diff --git a/gtk/gtkboxgadgetprivate.h b/gtk/gtkboxgadgetprivate.h
index 8979f70e9d..c970a3be49 100644
--- a/gtk/gtkboxgadgetprivate.h
+++ b/gtk/gtkboxgadgetprivate.h
@@ -72,6 +72,19 @@ void gtk_box_gadget_insert_gadget (GtkBoxGadget
gboolean hexpand,
gboolean vexpand,
GtkAlign align);
+void gtk_box_gadget_insert_gadget_before (GtkBoxGadget *gadget,
+ GtkCssGadget *sibling,
+ GtkCssGadget *cssgadget,
+ gboolean hexpand,
+ gboolean vexpand,
+ GtkAlign align);
+void gtk_box_gadget_insert_gadget_after (GtkBoxGadget *gadget,
+ GtkCssGadget *sibling,
+ GtkCssGadget *cssgadget,
+ gboolean hexpand,
+ gboolean vexpand,
+ GtkAlign align);
+
void gtk_box_gadget_remove_gadget (GtkBoxGadget *gadget,
GtkCssGadget *cssgadget);
void gtk_box_gadget_reverse_children (GtkBoxGadget *gadget);