[gtk/kill-containers: 56/99] grid: Add gtk_grid_remove
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/kill-containers: 56/99] grid: Add gtk_grid_remove
- Date: Sun, 10 May 2020 02:27:46 +0000 (UTC)
commit b93773c79f68508eb19850dd522d078877b1430d
Author: Matthias Clasen <mclasen redhat com>
Date: Thu May 7 14:22:12 2020 -0400
grid: Add gtk_grid_remove
This is a replacement for gtk_container_remove.
docs/reference/gtk/gtk4-sections.txt | 1 +
gtk/gtkgrid.c | 25 ++++++++++++++++++++++---
gtk/gtkgrid.h | 12 ++++++++----
3 files changed, 31 insertions(+), 7 deletions(-)
---
diff --git a/docs/reference/gtk/gtk4-sections.txt b/docs/reference/gtk/gtk4-sections.txt
index b9e3691a1a..dbc7dfb9be 100644
--- a/docs/reference/gtk/gtk4-sections.txt
+++ b/docs/reference/gtk/gtk4-sections.txt
@@ -5278,6 +5278,7 @@ GtkGridClass
gtk_grid_new
gtk_grid_attach
gtk_grid_attach_next_to
+gtk_grid_remove
gtk_grid_get_child_at
gtk_grid_insert_row
gtk_grid_insert_column
diff --git a/gtk/gtkgrid.c b/gtk/gtkgrid.c
index 89af6bc311..d14860fe8f 100644
--- a/gtk/gtkgrid.c
+++ b/gtk/gtkgrid.c
@@ -287,8 +287,8 @@ gtk_grid_add (GtkContainer *container,
}
static void
-gtk_grid_remove (GtkContainer *container,
- GtkWidget *child)
+gtk_grid_real_remove (GtkContainer *container,
+ GtkWidget *child)
{
GtkGrid *grid = GTK_GRID (container);
gboolean was_visible;
@@ -335,7 +335,7 @@ gtk_grid_class_init (GtkGridClass *class)
object_class->set_property = gtk_grid_set_property;
container_class->add = gtk_grid_add;
- container_class->remove = gtk_grid_remove;
+ container_class->remove = gtk_grid_real_remove;
container_class->forall = gtk_grid_forall;
container_class->child_type = gtk_grid_child_type;
@@ -580,6 +580,25 @@ gtk_grid_get_child_at (GtkGrid *grid,
return NULL;
}
+/**
+ * gtk_grid_remove:
+ * @grid: a #GtkGrid
+ * @child: the child widget to remove
+ *
+ * Removes a child from @grid, after it has been added
+ * with gtk_grid_attach() or gtk_grid_attach_next_to().
+ */
+void
+gtk_grid_remove (GtkGrid *grid,
+ GtkWidget *child)
+{
+ g_return_if_fail (GTK_IS_GRID (grid));
+ g_return_if_fail (GTK_IS_WIDGET (child));
+ g_return_if_fail (gtk_widget_get_parent (child) == grid);
+
+ gtk_widget_unparent (child);
+}
+
/**
* gtk_grid_insert_row:
* @grid: a #GtkGrid
diff --git a/gtk/gtkgrid.h b/gtk/gtkgrid.h
index 243e11c17a..294e9942fa 100644
--- a/gtk/gtkgrid.h
+++ b/gtk/gtkgrid.h
@@ -82,6 +82,10 @@ GtkWidget *gtk_grid_get_child_at (GtkGrid *grid,
gint left,
gint top);
GDK_AVAILABLE_IN_ALL
+void gtk_grid_remove (GtkGrid *grid,
+ GtkWidget *child);
+
+GDK_AVAILABLE_IN_ALL
void gtk_grid_insert_row (GtkGrid *grid,
gint position);
GDK_AVAILABLE_IN_ALL
@@ -119,14 +123,14 @@ GDK_AVAILABLE_IN_ALL
guint gtk_grid_get_column_spacing (GtkGrid *grid);
GDK_AVAILABLE_IN_ALL
void gtk_grid_set_row_baseline_position (GtkGrid *grid,
- gint row,
- GtkBaselinePosition pos);
+ gint row,
+ GtkBaselinePosition pos);
GDK_AVAILABLE_IN_ALL
GtkBaselinePosition gtk_grid_get_row_baseline_position (GtkGrid *grid,
- gint row);
+ gint row);
GDK_AVAILABLE_IN_ALL
void gtk_grid_set_baseline_row (GtkGrid *grid,
- gint row);
+ gint row);
GDK_AVAILABLE_IN_ALL
gint gtk_grid_get_baseline_row (GtkGrid *grid);
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]