summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-06-26 03:40:03 +0000
committerEmmanuele Bassi <ebassi@gnome.org>2019-06-27 17:38:02 +0100
commitbd5c55864651a5bcc5a68116b2a77fd6fc8b398d (patch)
tree1406b45ab3fec70cd08232e784a8626c45124802
parentad40630008059ce0bee48ec047fb15c60ee81066 (diff)
downloadgtk+-bd5c55864651a5bcc5a68116b2a77fd6fc8b398d.tar.gz
Add gtk_constraint_layout_remove_constraint
Otherwise, you can't do many interesting things.
-rw-r--r--gtk/gtkconstraintlayout.c20
-rw-r--r--gtk/gtkconstraintlayout.h3
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: