diff options
author | Cosimo Cecchi <cosimoc@gnome.org> | 2016-02-24 12:00:46 -0800 |
---|---|---|
committer | Cosimo Cecchi <cosimoc@gnome.org> | 2016-02-28 12:30:43 -0800 |
commit | a0e7b9ed3b6b3383196ec93d11e649e42c28c3e4 (patch) | |
tree | 394479283ff43cd8d5d7c4b838b965b00148e6a7 | |
parent | 0cc9096b1b0ce994b3eb99d7bdb0adf45b03b54b (diff) | |
download | gtk+-a0e7b9ed3b6b3383196ec93d11e649e42c28c3e4.tar.gz |
boxgadget: add APIs to insert gadgets next to siblings
-rw-r--r-- | gtk/gtkboxgadget.c | 34 | ||||
-rw-r--r-- | gtk/gtkboxgadgetprivate.h | 13 |
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); |