[gtk/kill-containers: 5/33] treeview: Derive from GtkWidget
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/kill-containers: 5/33] treeview: Derive from GtkWidget
- Date: Fri, 8 May 2020 05:06:57 +0000 (UTC)
commit 35c4862d43b1e0d91076c39757ca7baa76d56128
Author: Matthias Clasen <mclasen redhat com>
Date: Tue May 5 07:27:04 2020 -0400
treeview: Derive from GtkWidget
Drop the GtkContainer vfuncs.
gtk/a11y/gtktreeviewaccessible.c | 2 +-
gtk/gtktreeview.c | 49 ++++++++--------------------------------
gtk/gtktreeviewcolumn.c | 2 +-
3 files changed, 12 insertions(+), 41 deletions(-)
---
diff --git a/gtk/a11y/gtktreeviewaccessible.c b/gtk/a11y/gtktreeviewaccessible.c
index 51a9cf1e7b..95bb61a2ab 100644
--- a/gtk/a11y/gtktreeviewaccessible.c
+++ b/gtk/a11y/gtktreeviewaccessible.c
@@ -78,7 +78,7 @@ static void atk_selection_interface_init (AtkSelectionIface
static void atk_component_interface_init (AtkComponentIface *iface);
static void gtk_cell_accessible_parent_interface_init (GtkCellAccessibleParentIface *iface);
-G_DEFINE_TYPE_WITH_CODE (GtkTreeViewAccessible, gtk_tree_view_accessible, GTK_TYPE_CONTAINER_ACCESSIBLE,
+G_DEFINE_TYPE_WITH_CODE (GtkTreeViewAccessible, gtk_tree_view_accessible, GTK_TYPE_WIDGET_ACCESSIBLE,
G_ADD_PRIVATE (GtkTreeViewAccessible)
G_IMPLEMENT_INTERFACE (ATK_TYPE_TABLE, atk_table_interface_init)
G_IMPLEMENT_INTERFACE (ATK_TYPE_SELECTION, atk_selection_interface_init)
diff --git a/gtk/gtktreeview.c b/gtk/gtktreeview.c
index 1c86c99658..35fb8422cc 100644
--- a/gtk/gtktreeview.c
+++ b/gtk/gtktreeview.c
@@ -322,7 +322,7 @@ typedef struct _GtkTreeViewClass GtkTreeViewClass;
struct _GtkTreeViewClass
{
- GtkContainerClass parent_class;
+ GtkWidgetClass parent_class;
void (* row_activated) (GtkTreeView *tree_view,
GtkTreePath *path,
@@ -364,7 +364,7 @@ struct _GtkTreeViewClass
struct _GtkTreeView
{
- GtkContainer parent;
+ GtkWidget parent;
GtkTreeModel *model;
@@ -683,12 +683,8 @@ static gboolean gtk_tree_view_grab_focus (GtkWidget *widget);
static void gtk_tree_view_css_changed (GtkWidget *widget,
GtkCssStyleChange *change);
-/* container signals */
-static void gtk_tree_view_remove (GtkContainer *container,
- GtkWidget *widget);
-static void gtk_tree_view_forall (GtkContainer *container,
- GtkCallback callback,
- gpointer callback_data);
+static void gtk_tree_view_remove (GtkTreeView *tree_view,
+ GtkWidget *widget);
/* Source side drag signals */
static void gtk_tree_view_dnd_finished_cb (GdkDrag *drag,
@@ -998,10 +994,10 @@ static GParamSpec *tree_view_props [LAST_PROP] = { NULL };
/* GType Methods
*/
-G_DEFINE_TYPE_WITH_CODE (GtkTreeView, gtk_tree_view, GTK_TYPE_CONTAINER,
- G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
- gtk_tree_view_buildable_init)
- G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE,
+G_DEFINE_TYPE_WITH_CODE (GtkTreeView, gtk_tree_view, GTK_TYPE_WIDGET,
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_BUILDABLE,
+ gtk_tree_view_buildable_init)
+ G_IMPLEMENT_INTERFACE (GTK_TYPE_SCROLLABLE,
gtk_tree_view_scrollable_init))
static void
@@ -1009,7 +1005,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
{
GObjectClass *o_class = G_OBJECT_CLASS (class);
GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (class);
- GtkContainerClass *container_class = GTK_CONTAINER_CLASS (class);
/* GObject signals */
o_class->set_property = gtk_tree_view_set_property;
@@ -1028,10 +1023,6 @@ gtk_tree_view_class_init (GtkTreeViewClass *class)
widget_class->grab_focus = gtk_tree_view_grab_focus;
widget_class->css_changed = gtk_tree_view_css_changed;
- /* GtkContainer signals */
- container_class->remove = gtk_tree_view_remove;
- container_class->forall = gtk_tree_view_forall;
-
class->move_cursor = gtk_tree_view_real_move_cursor;
class->select_all = gtk_tree_view_real_select_all;
class->unselect_all = gtk_tree_view_real_unselect_all;
@@ -7442,10 +7433,9 @@ gtk_tree_view_drag_data_received (GObject *source,
static void
-gtk_tree_view_remove (GtkContainer *container,
- GtkWidget *widget)
+gtk_tree_view_remove (GtkTreeView *tree_view,
+ GtkWidget *widget)
{
- GtkTreeView *tree_view = GTK_TREE_VIEW (container);
GtkTreeViewChild *child = NULL;
GList *tmp_list;
@@ -7485,25 +7475,6 @@ gtk_tree_view_remove (GtkContainer *container,
}
}
-static void
-gtk_tree_view_forall (GtkContainer *container,
- GtkCallback callback,
- gpointer callback_data)
-{
- GtkTreeView *tree_view = GTK_TREE_VIEW (container);
- GtkTreeViewChild *child = NULL;
- GList *tmp_list;
-
- tmp_list = tree_view->children;
- while (tmp_list)
- {
- child = tmp_list->data;
- tmp_list = tmp_list->next;
-
- (* callback) (child->widget, callback_data);
- }
-}
-
/* Returns TRUE is any of the columns contains a cell that can-focus.
* If this is not the case, a column-spanning focus rectangle will be
* drawn.
diff --git a/gtk/gtktreeviewcolumn.c b/gtk/gtktreeviewcolumn.c
index 923712126b..0692717a65 100644
--- a/gtk/gtktreeviewcolumn.c
+++ b/gtk/gtktreeviewcolumn.c
@@ -1341,7 +1341,7 @@ _gtk_tree_view_column_unset_tree_view (GtkTreeViewColumn *column)
if (priv->tree_view == NULL)
return;
- gtk_container_remove (GTK_CONTAINER (priv->tree_view), priv->button);
+ gtk_widget_unparent (priv->button);
if (priv->property_changed_signal)
{
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]