diff options
author | Matthias Clasen <mclasen@redhat.com> | 2019-06-26 03:40:03 +0000 |
---|---|---|
committer | Emmanuele Bassi <ebassi@gnome.org> | 2019-06-27 17:38:02 +0100 |
commit | bd5c55864651a5bcc5a68116b2a77fd6fc8b398d (patch) | |
tree | 1406b45ab3fec70cd08232e784a8626c45124802 | |
parent | ad40630008059ce0bee48ec047fb15c60ee81066 (diff) | |
download | gtk+-bd5c55864651a5bcc5a68116b2a77fd6fc8b398d.tar.gz |
Add gtk_constraint_layout_remove_constraint
Otherwise, you can't do many interesting things.
-rw-r--r-- | gtk/gtkconstraintlayout.c | 20 | ||||
-rw-r--r-- | gtk/gtkconstraintlayout.h | 3 |
2 files changed, 23 insertions, 0 deletions
diff --git a/gtk/gtkconstraintlayout.c b/gtk/gtkconstraintlayout.c index 6cd6a7c70e..ac07219d4f 100644 --- a/gtk/gtkconstraintlayout.c +++ b/gtk/gtkconstraintlayout.c @@ -1106,3 +1106,23 @@ gtk_constraint_layout_add_constraint (GtkConstraintLayout *manager, g_hash_table_add (manager->constraints, constraint); } + +/** + * gtk_constraint_layout_remove_constraint: + * @manager: a #GtkConstraintLayout + * @constraint: a #GtkConstraint + * + * Removes @constraint from the layout manager, + * so that it no longer influences the layout. + */ +void +gtk_constraint_layout_remove_constraint (GtkConstraintLayout *manager, + GtkConstraint *constraint) +{ + g_return_if_fail (GTK_IS_CONSTRAINT_LAYOUT (manager)); + g_return_if_fail (GTK_IS_CONSTRAINT (constraint)); + g_return_if_fail (gtk_constraint_is_attached (constraint)); + + gtk_constraint_detach (constraint); + g_hash_table_remove (manager->constraints, constraint); +} diff --git a/gtk/gtkconstraintlayout.h b/gtk/gtkconstraintlayout.h index bd6528da3b..b5eba7b125 100644 --- a/gtk/gtkconstraintlayout.h +++ b/gtk/gtkconstraintlayout.h @@ -41,6 +41,9 @@ GtkLayoutManager * gtk_constraint_layout_new (void); GDK_AVAILABLE_IN_ALL void gtk_constraint_layout_add_constraint (GtkConstraintLayout *manager, GtkConstraint *constraint); +GDK_AVAILABLE_IN_ALL +void gtk_constraint_layout_remove_constraint (GtkConstraintLayout *manager, + GtkConstraint *constraint); /** * GtkConstraintLayoutChild: |