[gtk/constraint-flexible-space: 8/9] Add gtk_constraint_layout_remove_constraint
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/constraint-flexible-space: 8/9] Add gtk_constraint_layout_remove_constraint
- Date: Wed, 26 Jun 2019 04:27:06 +0000 (UTC)
commit 959bc0e81614b4bccbecfae35f18caa491f445dd
Author: Matthias Clasen <mclasen redhat com>
Date: Wed Jun 26 03:40:03 2019 +0000
Add gtk_constraint_layout_remove_constraint
Otherwise, you can't do many interesting things.
gtk/gtkconstraintlayout.c | 20 ++++++++++++++++++++
gtk/gtkconstraintlayout.h | 3 +++
2 files changed, 23 insertions(+)
---
diff --git a/gtk/gtkconstraintlayout.c b/gtk/gtkconstraintlayout.c
index c93b842c65..6c3c509b36 100644
--- a/gtk/gtkconstraintlayout.c
+++ b/gtk/gtkconstraintlayout.c
@@ -1216,6 +1216,26 @@ 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);
+}
+
static void
gtk_constraint_guide_constraint_target_iface_init (GtkConstraintTargetInterface *iface)
{
diff --git a/gtk/gtkconstraintlayout.h b/gtk/gtkconstraintlayout.h
index ceba1ef98d..9b0dc20baf 100644
--- a/gtk/gtkconstraintlayout.h
+++ b/gtk/gtkconstraintlayout.h
@@ -54,6 +54,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);
GDK_AVAILABLE_IN_ALL
void gtk_constraint_layout_add_guide (GtkConstraintLayout *manager,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]