columnview: Rename to GtkColumnViewCellWidget
authorBenjamin Otte <otte@redhat.com>
Mon, 27 Mar 2023 18:53:48 +0000 (20:53 +0200)
committerBenjamin Otte <otte@redhat.com>
Sat, 1 Apr 2023 18:49:40 +0000 (20:49 +0200)
Just like with Row/RowWidget, I want to use Cell/CellWidget.

gtk/gtkcolumnviewcell.c [deleted file]
gtk/gtkcolumnviewcellprivate.h [deleted file]
gtk/gtkcolumnviewcellwidget.c [new file with mode: 0644]
gtk/gtkcolumnviewcellwidgetprivate.h [new file with mode: 0644]
gtk/gtkcolumnviewcolumn.c
gtk/gtkcolumnviewcolumnprivate.h
gtk/gtkcolumnviewrowwidget.c
gtk/meson.build
po/POTFILES.in

diff --git a/gtk/gtkcolumnviewcell.c b/gtk/gtkcolumnviewcell.c
deleted file mode 100644 (file)
index d2c6784..0000000
+++ /dev/null
@@ -1,283 +0,0 @@
-/*
- * Copyright © 2019 Benjamin Otte
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors: Benjamin Otte <otte@gnome.org>
- */
-
-#include "config.h"
-
-#include "gtkcolumnviewcellprivate.h"
-
-#include "gtkcolumnviewcolumnprivate.h"
-#include "gtkcolumnviewrowwidgetprivate.h"
-#include "gtkcssnodeprivate.h"
-#include "gtkcssnumbervalueprivate.h"
-#include "gtklistitemprivate.h"
-#include "gtklistitemwidgetprivate.h"
-#include "gtkprivate.h"
-#include "gtkwidgetprivate.h"
-
-
-struct _GtkColumnViewCell
-{
-  GtkListItemWidget parent_instance;
-
-  GtkColumnViewColumn *column;
-
-  /* This list isn't sorted - next/prev refer to list elements, not rows in the list */
-  GtkColumnViewCell *next_cell;
-  GtkColumnViewCell *prev_cell;
-};
-
-struct _GtkColumnViewCellClass
-{
-  GtkListItemWidgetClass parent_class;
-};
-
-G_DEFINE_TYPE (GtkColumnViewCell, gtk_column_view_cell, GTK_TYPE_LIST_ITEM_WIDGET)
-
-static gpointer
-gtk_column_view_cell_create_object (GtkListFactoryWidget *fw)
-{
-  GtkListItem *list_item;
-
-  list_item = gtk_list_item_new ();
-
-  gtk_list_item_set_selectable (list_item, FALSE);
-  gtk_list_item_set_activatable (list_item, FALSE);
-  gtk_list_item_set_focusable (list_item, FALSE);
-
-  return list_item;
-}
-
-static void
-gtk_column_view_cell_teardown_object (GtkListFactoryWidget *fw,
-                                      gpointer              object)
-{
-  GTK_LIST_FACTORY_WIDGET_CLASS (gtk_column_view_cell_parent_class)->teardown_object (fw, object);
-
-  gtk_widget_set_focusable (GTK_WIDGET (fw), FALSE);
-}
-
-static int
-get_number (GtkCssValue *value)
-{
-  double d = _gtk_css_number_value_get (value, 100);
-
-  if (d < 1)
-    return ceil (d);
-  else
-    return floor (d);
-}
-
-static int
-unadjust_width (GtkWidget *widget,
-                int        width)
-{
-  GtkCssStyle *style;
-  int widget_margins;
-  int css_extra;
-
-  style = gtk_css_node_get_style (gtk_widget_get_css_node (widget));
-  css_extra = get_number (style->size->margin_left) +
-              get_number (style->size->margin_right) +
-              get_number (style->border->border_left_width) +
-              get_number (style->border->border_right_width) +
-              get_number (style->size->padding_left) +
-              get_number (style->size->padding_right);
-  widget_margins = widget->priv->margin.left + widget->priv->margin.right;
-
-  return MAX (0, width - widget_margins - css_extra);
-}
-
-static void
-gtk_column_view_cell_measure (GtkWidget      *widget,
-                              GtkOrientation  orientation,
-                              int             for_size,
-                              int            *minimum,
-                              int            *natural,
-                              int            *minimum_baseline,
-                              int            *natural_baseline)
-{
-  GtkColumnViewCell *cell = GTK_COLUMN_VIEW_CELL (widget);
-  GtkWidget *child = gtk_widget_get_first_child (widget);
-  int fixed_width = gtk_column_view_column_get_fixed_width (cell->column);
-  int unadj_width;
-
-  unadj_width = unadjust_width (widget, fixed_width);
-
-  if (orientation == GTK_ORIENTATION_VERTICAL)
-    {
-      if (fixed_width > -1)
-        {
-          if (for_size == -1)
-            for_size = unadj_width;
-          else
-            for_size = MIN (for_size, unadj_width);
-        }
-    }
-
-  if (child)
-    gtk_widget_measure (child, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline);
-
-  if (orientation == GTK_ORIENTATION_HORIZONTAL)
-    {
-      if (fixed_width > -1)
-        {
-          *minimum = 0;
-          *natural = unadj_width;
-        }
-    }
-}
-
-static void
-gtk_column_view_cell_size_allocate (GtkWidget *widget,
-                                    int        width,
-                                    int        height,
-                                    int        baseline)
-{
-  GtkWidget *child = gtk_widget_get_first_child (widget);
-
-  if (child)
-    {
-      int min;
-
-      gtk_widget_measure (child, GTK_ORIENTATION_HORIZONTAL, height, &min, NULL, NULL, NULL);
-
-      gtk_widget_allocate (child, MAX (min, width), height, baseline, NULL);
-    }
-}
-
-static void
-gtk_column_view_cell_dispose (GObject *object)
-{
-  GtkColumnViewCell *self = GTK_COLUMN_VIEW_CELL (object);
-
-  if (self->column)
-    {
-      gtk_column_view_column_remove_cell (self->column, self);
-
-      if (self->prev_cell)
-        self->prev_cell->next_cell = self->next_cell;
-      if (self->next_cell)
-        self->next_cell->prev_cell = self->prev_cell;
-
-      self->prev_cell = NULL;
-      self->next_cell = NULL;
-
-      g_clear_object (&self->column);
-    }
-
-  G_OBJECT_CLASS (gtk_column_view_cell_parent_class)->dispose (object);
-}
-
-static GtkSizeRequestMode
-gtk_column_view_cell_get_request_mode (GtkWidget *widget)
-{
-  GtkWidget *child = gtk_widget_get_first_child (widget);
-
-  if (child)
-    return gtk_widget_get_request_mode (child);
-  else
-    return GTK_SIZE_REQUEST_CONSTANT_SIZE;
-}
-
-static void
-gtk_column_view_cell_class_init (GtkColumnViewCellClass *klass)
-{
-  GtkListFactoryWidgetClass *factory_class = GTK_LIST_FACTORY_WIDGET_CLASS (klass);
-  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
-  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
-  factory_class->create_object = gtk_column_view_cell_create_object;
-  factory_class->teardown_object = gtk_column_view_cell_teardown_object;
-
-  widget_class->measure = gtk_column_view_cell_measure;
-  widget_class->size_allocate = gtk_column_view_cell_size_allocate;
-  widget_class->get_request_mode = gtk_column_view_cell_get_request_mode;
-
-  gobject_class->dispose = gtk_column_view_cell_dispose;
-
-  gtk_widget_class_set_css_name (widget_class, I_("cell"));
-  gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_GRID_CELL);
-}
-
-static void
-gtk_column_view_cell_resize_func (GtkWidget *widget)
-{
-  GtkColumnViewCell *self = GTK_COLUMN_VIEW_CELL (widget);
-
-  if (self->column)
-    gtk_column_view_column_queue_resize (self->column);
-}
-
-static void
-gtk_column_view_cell_init (GtkColumnViewCell *self)
-{
-  GtkWidget *widget = GTK_WIDGET (self);
-
-  gtk_widget_set_focusable (widget, FALSE);
-  gtk_widget_set_overflow (widget, GTK_OVERFLOW_HIDDEN);
-  /* FIXME: Figure out if setting the manager class to INVALID should work */
-  gtk_widget_set_layout_manager (widget, NULL);
-  widget->priv->resize_func = gtk_column_view_cell_resize_func;
-}
-
-GtkWidget *
-gtk_column_view_cell_new (GtkColumnViewColumn *column)
-{
-  GtkColumnViewCell *self;
-
-  self = g_object_new (GTK_TYPE_COLUMN_VIEW_CELL,
-                       "factory", gtk_column_view_column_get_factory (column),
-                       NULL);
-
-  self->column = g_object_ref (column);
-
-  self->next_cell = gtk_column_view_column_get_first_cell (self->column);
-  if (self->next_cell)
-    self->next_cell->prev_cell = self;
-
-  gtk_column_view_column_add_cell (self->column, self);
-
-  return GTK_WIDGET (self);
-}
-
-void
-gtk_column_view_cell_remove (GtkColumnViewCell *self)
-{
-  GtkWidget *widget = GTK_WIDGET (self);
-
-  gtk_column_view_row_widget_remove_child (GTK_COLUMN_VIEW_ROW_WIDGET (gtk_widget_get_parent (widget)), widget);
-}
-
-GtkColumnViewCell *
-gtk_column_view_cell_get_next (GtkColumnViewCell *self)
-{
-  return self->next_cell;
-}
-
-GtkColumnViewCell *
-gtk_column_view_cell_get_prev (GtkColumnViewCell *self)
-{
-  return self->prev_cell;
-}
-
-GtkColumnViewColumn *
-gtk_column_view_cell_get_column (GtkColumnViewCell *self)
-{
-  return self->column;
-}
diff --git a/gtk/gtkcolumnviewcellprivate.h b/gtk/gtkcolumnviewcellprivate.h
deleted file mode 100644 (file)
index 5e78ea4..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright © 2019 Benjamin Otte
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- *
- * Authors: Benjamin Otte <otte@gnome.org>
- */
-
-#pragma once
-
-#include "gtkcolumnviewcolumn.h"
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_COLUMN_VIEW_CELL         (gtk_column_view_cell_get_type ())
-#define GTK_COLUMN_VIEW_CELL(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_COLUMN_VIEW_CELL, GtkColumnViewCell))
-#define GTK_COLUMN_VIEW_CELL_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_COLUMN_VIEW_CELL, GtkColumnViewCellClass))
-#define GTK_IS_COLUMN_VIEW_CELL(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_COLUMN_VIEW_CELL))
-#define GTK_IS_COLUMN_VIEW_CELL_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_COLUMN_VIEW_CELL))
-#define GTK_COLUMN_VIEW_CELL_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_COLUMN_VIEW_CELL, GtkColumnViewCellClass))
-
-typedef struct _GtkColumnViewCell GtkColumnViewCell;
-typedef struct _GtkColumnViewCellClass GtkColumnViewCellClass;
-
-GType                   gtk_column_view_cell_get_type           (void) G_GNUC_CONST;
-
-GtkWidget *             gtk_column_view_cell_new                (GtkColumnViewColumn    *column);
-
-void                    gtk_column_view_cell_remove             (GtkColumnViewCell      *self);
-
-GtkColumnViewCell *     gtk_column_view_cell_get_next           (GtkColumnViewCell      *self);
-GtkColumnViewCell *     gtk_column_view_cell_get_prev           (GtkColumnViewCell      *self);
-GtkColumnViewColumn *   gtk_column_view_cell_get_column         (GtkColumnViewCell      *self);
-
-G_END_DECLS
-
diff --git a/gtk/gtkcolumnviewcellwidget.c b/gtk/gtkcolumnviewcellwidget.c
new file mode 100644 (file)
index 0000000..11c0a78
--- /dev/null
@@ -0,0 +1,283 @@
+/*
+ * Copyright © 2019 Benjamin Otte
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Benjamin Otte <otte@gnome.org>
+ */
+
+#include "config.h"
+
+#include "gtkcolumnviewcellwidgetprivate.h"
+
+#include "gtkcolumnviewcolumnprivate.h"
+#include "gtkcolumnviewrowwidgetprivate.h"
+#include "gtkcssnodeprivate.h"
+#include "gtkcssnumbervalueprivate.h"
+#include "gtklistitemprivate.h"
+#include "gtklistitemwidgetprivate.h"
+#include "gtkprivate.h"
+#include "gtkwidgetprivate.h"
+
+
+struct _GtkColumnViewCellWidget
+{
+  GtkListItemWidget parent_instance;
+
+  GtkColumnViewColumn *column;
+
+  /* This list isn't sorted - next/prev refer to list elements, not rows in the list */
+  GtkColumnViewCellWidget *next_cell;
+  GtkColumnViewCellWidget *prev_cell;
+};
+
+struct _GtkColumnViewCellWidgetClass
+{
+  GtkListItemWidgetClass parent_class;
+};
+
+G_DEFINE_TYPE (GtkColumnViewCellWidget, gtk_column_view_cell_widget, GTK_TYPE_LIST_ITEM_WIDGET)
+
+static gpointer
+gtk_column_view_cell_widget_create_object (GtkListFactoryWidget *fw)
+{
+  GtkListItem *list_item;
+
+  list_item = gtk_list_item_new ();
+
+  gtk_list_item_set_selectable (list_item, FALSE);
+  gtk_list_item_set_activatable (list_item, FALSE);
+  gtk_list_item_set_focusable (list_item, FALSE);
+
+  return list_item;
+}
+
+static void
+gtk_column_view_cell_widget_teardown_object (GtkListFactoryWidget *fw,
+                                             gpointer              object)
+{
+  GTK_LIST_FACTORY_WIDGET_CLASS (gtk_column_view_cell_widget_parent_class)->teardown_object (fw, object);
+
+  gtk_widget_set_focusable (GTK_WIDGET (fw), FALSE);
+}
+
+static int
+get_number (GtkCssValue *value)
+{
+  double d = _gtk_css_number_value_get (value, 100);
+
+  if (d < 1)
+    return ceil (d);
+  else
+    return floor (d);
+}
+
+static int
+unadjust_width (GtkWidget *widget,
+                int        width)
+{
+  GtkCssStyle *style;
+  int widget_margins;
+  int css_extra;
+
+  style = gtk_css_node_get_style (gtk_widget_get_css_node (widget));
+  css_extra = get_number (style->size->margin_left) +
+              get_number (style->size->margin_right) +
+              get_number (style->border->border_left_width) +
+              get_number (style->border->border_right_width) +
+              get_number (style->size->padding_left) +
+              get_number (style->size->padding_right);
+  widget_margins = widget->priv->margin.left + widget->priv->margin.right;
+
+  return MAX (0, width - widget_margins - css_extra);
+}
+
+static void
+gtk_column_view_cell_widget_measure (GtkWidget      *widget,
+                                     GtkOrientation  orientation,
+                                     int             for_size,
+                                     int            *minimum,
+                                     int            *natural,
+                                     int            *minimum_baseline,
+                                     int            *natural_baseline)
+{
+  GtkColumnViewCellWidget *cell = GTK_COLUMN_VIEW_CELL_WIDGET (widget);
+  GtkWidget *child = gtk_widget_get_first_child (widget);
+  int fixed_width = gtk_column_view_column_get_fixed_width (cell->column);
+  int unadj_width;
+
+  unadj_width = unadjust_width (widget, fixed_width);
+
+  if (orientation == GTK_ORIENTATION_VERTICAL)
+    {
+      if (fixed_width > -1)
+        {
+          if (for_size == -1)
+            for_size = unadj_width;
+          else
+            for_size = MIN (for_size, unadj_width);
+        }
+    }
+
+  if (child)
+    gtk_widget_measure (child, orientation, for_size, minimum, natural, minimum_baseline, natural_baseline);
+
+  if (orientation == GTK_ORIENTATION_HORIZONTAL)
+    {
+      if (fixed_width > -1)
+        {
+          *minimum = 0;
+          *natural = unadj_width;
+        }
+    }
+}
+
+static void
+gtk_column_view_cell_widget_size_allocate (GtkWidget *widget,
+                                           int        width,
+                                           int        height,
+                                           int        baseline)
+{
+  GtkWidget *child = gtk_widget_get_first_child (widget);
+
+  if (child)
+    {
+      int min;
+
+      gtk_widget_measure (child, GTK_ORIENTATION_HORIZONTAL, height, &min, NULL, NULL, NULL);
+
+      gtk_widget_allocate (child, MAX (min, width), height, baseline, NULL);
+    }
+}
+
+static void
+gtk_column_view_cell_widget_dispose (GObject *object)
+{
+  GtkColumnViewCellWidget *self = GTK_COLUMN_VIEW_CELL_WIDGET (object);
+
+  if (self->column)
+    {
+      gtk_column_view_column_remove_cell (self->column, self);
+
+      if (self->prev_cell)
+        self->prev_cell->next_cell = self->next_cell;
+      if (self->next_cell)
+        self->next_cell->prev_cell = self->prev_cell;
+
+      self->prev_cell = NULL;
+      self->next_cell = NULL;
+
+      g_clear_object (&self->column);
+    }
+
+  G_OBJECT_CLASS (gtk_column_view_cell_widget_parent_class)->dispose (object);
+}
+
+static GtkSizeRequestMode
+gtk_column_view_cell_widget_get_request_mode (GtkWidget *widget)
+{
+  GtkWidget *child = gtk_widget_get_first_child (widget);
+
+  if (child)
+    return gtk_widget_get_request_mode (child);
+  else
+    return GTK_SIZE_REQUEST_CONSTANT_SIZE;
+}
+
+static void
+gtk_column_view_cell_widget_class_init (GtkColumnViewCellWidgetClass *klass)
+{
+  GtkListFactoryWidgetClass *factory_class = GTK_LIST_FACTORY_WIDGET_CLASS (klass);
+  GtkWidgetClass *widget_class = GTK_WIDGET_CLASS (klass);
+  GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+  factory_class->create_object = gtk_column_view_cell_widget_create_object;
+  factory_class->teardown_object = gtk_column_view_cell_widget_teardown_object;
+
+  widget_class->measure = gtk_column_view_cell_widget_measure;
+  widget_class->size_allocate = gtk_column_view_cell_widget_size_allocate;
+  widget_class->get_request_mode = gtk_column_view_cell_widget_get_request_mode;
+
+  gobject_class->dispose = gtk_column_view_cell_widget_dispose;
+
+  gtk_widget_class_set_css_name (widget_class, I_("cell"));
+  gtk_widget_class_set_accessible_role (widget_class, GTK_ACCESSIBLE_ROLE_GRID_CELL);
+}
+
+static void
+gtk_column_view_cell_widget_resize_func (GtkWidget *widget)
+{
+  GtkColumnViewCellWidget *self = GTK_COLUMN_VIEW_CELL_WIDGET (widget);
+
+  if (self->column)
+    gtk_column_view_column_queue_resize (self->column);
+}
+
+static void
+gtk_column_view_cell_widget_init (GtkColumnViewCellWidget *self)
+{
+  GtkWidget *widget = GTK_WIDGET (self);
+
+  gtk_widget_set_focusable (widget, FALSE);
+  gtk_widget_set_overflow (widget, GTK_OVERFLOW_HIDDEN);
+  /* FIXME: Figure out if setting the manager class to INVALID should work */
+  gtk_widget_set_layout_manager (widget, NULL);
+  widget->priv->resize_func = gtk_column_view_cell_widget_resize_func;
+}
+
+GtkWidget *
+gtk_column_view_cell_widget_new (GtkColumnViewColumn *column)
+{
+  GtkColumnViewCellWidget *self;
+
+  self = g_object_new (GTK_TYPE_COLUMN_VIEW_CELL_WIDGET,
+                       "factory", gtk_column_view_column_get_factory (column),
+                       NULL);
+
+  self->column = g_object_ref (column);
+
+  self->next_cell = gtk_column_view_column_get_first_cell (self->column);
+  if (self->next_cell)
+    self->next_cell->prev_cell = self;
+
+  gtk_column_view_column_add_cell (self->column, self);
+
+  return GTK_WIDGET (self);
+}
+
+void
+gtk_column_view_cell_widget_remove (GtkColumnViewCellWidget *self)
+{
+  GtkWidget *widget = GTK_WIDGET (self);
+
+  gtk_column_view_row_widget_remove_child (GTK_COLUMN_VIEW_ROW_WIDGET (gtk_widget_get_parent (widget)), widget);
+}
+
+GtkColumnViewCellWidget *
+gtk_column_view_cell_widget_get_next (GtkColumnViewCellWidget *self)
+{
+  return self->next_cell;
+}
+
+GtkColumnViewCellWidget *
+gtk_column_view_cell_widget_get_prev (GtkColumnViewCellWidget *self)
+{
+  return self->prev_cell;
+}
+
+GtkColumnViewColumn *
+gtk_column_view_cell_widget_get_column (GtkColumnViewCellWidget *self)
+{
+  return self->column;
+}
diff --git a/gtk/gtkcolumnviewcellwidgetprivate.h b/gtk/gtkcolumnviewcellwidgetprivate.h
new file mode 100644 (file)
index 0000000..4e8f3a6
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * Copyright © 2019 Benjamin Otte
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Benjamin Otte <otte@gnome.org>
+ */
+
+#pragma once
+
+#include "gtkcolumnviewcolumn.h"
+
+G_BEGIN_DECLS
+
+#define GTK_TYPE_COLUMN_VIEW_CELL_WIDGET         (gtk_column_view_cell_widget_get_type ())
+#define GTK_COLUMN_VIEW_CELL_WIDGET(o)           (G_TYPE_CHECK_INSTANCE_CAST ((o), GTK_TYPE_COLUMN_VIEW_CELL_WIDGET, GtkColumnViewCellWidget))
+#define GTK_COLUMN_VIEW_CELL_WIDGET_CLASS(k)     (G_TYPE_CHECK_CLASS_CAST ((k), GTK_TYPE_COLUMN_VIEW_CELL_WIDGET, GtkColumnViewCellWidgetClass))
+#define GTK_IS_COLUMN_VIEW_CELL_WIDGET(o)        (G_TYPE_CHECK_INSTANCE_TYPE ((o), GTK_TYPE_COLUMN_VIEW_CELL_WIDGET))
+#define GTK_IS_COLUMN_VIEW_CELL_WIDGET_CLASS(k)  (G_TYPE_CHECK_CLASS_TYPE ((k), GTK_TYPE_COLUMN_VIEW_CELL_WIDGET))
+#define GTK_COLUMN_VIEW_CELL_WIDGET_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), GTK_TYPE_COLUMN_VIEW_CELL_WIDGET, GtkColumnViewCellWidgetClass))
+
+typedef struct _GtkColumnViewCellWidget GtkColumnViewCellWidget;
+typedef struct _GtkColumnViewCellWidgetClass GtkColumnViewCellWidgetClass;
+
+GType                           gtk_column_view_cell_widget_get_type           (void) G_GNUC_CONST;
+
+GtkWidget *                     gtk_column_view_cell_widget_new                (GtkColumnViewColumn             *column);
+
+void                            gtk_column_view_cell_widget_remove             (GtkColumnViewCellWidget         *self);
+
+GtkColumnViewCellWidget *       gtk_column_view_cell_widget_get_next           (GtkColumnViewCellWidget         *self);
+GtkColumnViewCellWidget *       gtk_column_view_cell_widget_get_prev           (GtkColumnViewCellWidget         *self);
+GtkColumnViewColumn *           gtk_column_view_cell_widget_get_column         (GtkColumnViewCellWidget         *self);
+
+G_END_DECLS
index beb88fd95cc0de3a8627a61deb940a7c463625ba..4027f87f2d8b52b7b3df1cf19510778742872fc7 100644 (file)
@@ -78,7 +78,7 @@ struct _GtkColumnViewColumn
   GMenuModel *menu;
 
   /* This list isn't sorted - this is just caching for performance */
-  GtkColumnViewCell *first_cell; /* no reference, just caching */
+  GtkColumnViewCellWidget *first_cell; /* no reference, just caching */
 };
 
 struct _GtkColumnViewColumnClass
@@ -400,7 +400,7 @@ gtk_column_view_column_new (const char         *title,
   return result;
 }
 
-GtkColumnViewCell *
+GtkColumnViewCellWidget *
 gtk_column_view_column_get_first_cell (GtkColumnViewColumn *self)
 {
   return self->first_cell;
@@ -408,7 +408,7 @@ gtk_column_view_column_get_first_cell (GtkColumnViewColumn *self)
 
 void
 gtk_column_view_column_add_cell (GtkColumnViewColumn *self,
-                                 GtkColumnViewCell   *cell)
+                                 GtkColumnViewCellWidget   *cell)
 {
   self->first_cell = cell;
 
@@ -418,10 +418,10 @@ gtk_column_view_column_add_cell (GtkColumnViewColumn *self,
 
 void
 gtk_column_view_column_remove_cell (GtkColumnViewColumn *self,
-                                    GtkColumnViewCell   *cell)
+                                    GtkColumnViewCellWidget   *cell)
 {
   if (cell == self->first_cell)
-    self->first_cell = gtk_column_view_cell_get_next (cell);
+    self->first_cell = gtk_column_view_cell_widget_get_next (cell);
 
   gtk_column_view_column_queue_resize (self);
   gtk_widget_queue_resize (GTK_WIDGET (cell));
@@ -430,7 +430,7 @@ gtk_column_view_column_remove_cell (GtkColumnViewColumn *self,
 void
 gtk_column_view_column_queue_resize (GtkColumnViewColumn *self)
 {
-  GtkColumnViewCell *cell;
+  GtkColumnViewCellWidget *cell;
 
   if (self->minimum_size_request < 0)
     return;
@@ -441,7 +441,7 @@ gtk_column_view_column_queue_resize (GtkColumnViewColumn *self)
   if (self->header)
     gtk_widget_queue_resize (self->header);
 
-  for (cell = self->first_cell; cell; cell = gtk_column_view_cell_get_next (cell))
+  for (cell = self->first_cell; cell; cell = gtk_column_view_cell_widget_get_next (cell))
     {
       gtk_widget_queue_resize (GTK_WIDGET (cell));
     }
@@ -460,7 +460,7 @@ gtk_column_view_column_measure (GtkColumnViewColumn *self,
 
   if (self->minimum_size_request < 0)
     {
-      GtkColumnViewCell *cell;
+      GtkColumnViewCellWidget *cell;
       int min, nat, cell_min, cell_nat;
 
       if (self->header)
@@ -473,7 +473,7 @@ gtk_column_view_column_measure (GtkColumnViewColumn *self,
           nat = 0;
         }
 
-      for (cell = self->first_cell; cell; cell = gtk_column_view_cell_get_next (cell))
+      for (cell = self->first_cell; cell; cell = gtk_column_view_cell_widget_get_next (cell))
         {
           gtk_widget_measure (GTK_WIDGET (cell),
                               GTK_ORIENTATION_HORIZONTAL,
@@ -537,7 +537,7 @@ gtk_column_view_column_create_cells (GtkColumnViewColumn *self)
 
       list_item = GTK_COLUMN_VIEW_ROW_WIDGET (row);
       base = GTK_LIST_ITEM_BASE (row);
-      cell = gtk_column_view_cell_new (self);
+      cell = gtk_column_view_cell_widget_new (self);
       gtk_column_view_row_widget_add_child (list_item, cell);
       gtk_list_item_base_update (GTK_LIST_ITEM_BASE (cell),
                                  gtk_list_item_base_get_position (base),
@@ -550,7 +550,7 @@ static void
 gtk_column_view_column_remove_cells (GtkColumnViewColumn *self)
 {
   while (self->first_cell)
-    gtk_column_view_cell_remove (self->first_cell);
+    gtk_column_view_cell_widget_remove (self->first_cell);
 }
 
 static void
@@ -632,13 +632,13 @@ void
 gtk_column_view_column_set_position (GtkColumnViewColumn *self,
                                      guint                position)
 {
-  GtkColumnViewCell *cell;
+  GtkColumnViewCellWidget *cell;
 
   gtk_column_view_row_widget_reorder_child (gtk_column_view_get_header_widget (self->view),
                                       self->header,
                                       position);
 
-  for (cell = self->first_cell; cell; cell = gtk_column_view_cell_get_next (cell))
+  for (cell = self->first_cell; cell; cell = gtk_column_view_cell_widget_get_next (cell))
     {
       GtkColumnViewRowWidget *list_item;
 
index aa7f1c73fd470847eacef36842f18c40570a28e1..13b5680886c0187c6631c9136c8a6a0f0d6143cd 100644 (file)
@@ -21,7 +21,7 @@
 
 #include "gtk/gtkcolumnviewcolumn.h"
 
-#include "gtk/gtkcolumnviewcellprivate.h"
+#include "gtk/gtkcolumnviewcellwidgetprivate.h"
 
 
 void                    gtk_column_view_column_set_column_view          (GtkColumnViewColumn    *self,
@@ -31,10 +31,10 @@ void                    gtk_column_view_column_set_position             (GtkColu
                                                                          guint                   position);
 
 void                    gtk_column_view_column_add_cell                 (GtkColumnViewColumn    *self,
-                                                                         GtkColumnViewCell      *cell);
+                                                                         GtkColumnViewCellWidget      *cell);
 void                    gtk_column_view_column_remove_cell              (GtkColumnViewColumn    *self,
-                                                                         GtkColumnViewCell      *cell);
-GtkColumnViewCell *     gtk_column_view_column_get_first_cell           (GtkColumnViewColumn    *self);
+                                                                         GtkColumnViewCellWidget      *cell);
+GtkColumnViewCellWidget *     gtk_column_view_column_get_first_cell           (GtkColumnViewColumn    *self);
 GtkWidget *             gtk_column_view_column_get_header               (GtkColumnViewColumn    *self);
 
 void                    gtk_column_view_column_queue_resize             (GtkColumnViewColumn    *self);
index 7cc4e724f9870c2ec31b9fcf35d12b1eed403ea9..1c5fd0ae5e32b11231987bcdceb90cb5eca856ba 100644 (file)
@@ -23,7 +23,7 @@
 
 #include "gtkbinlayout.h"
 #include "gtkcolumnviewprivate.h"
-#include "gtkcolumnviewcellprivate.h"
+#include "gtkcolumnviewcellwidgetprivate.h"
 #include "gtkcolumnviewcolumnprivate.h"
 #include "gtkcolumnviewrowprivate.h"
 #include "gtkcolumnviewtitleprivate.h"
@@ -57,8 +57,8 @@ gtk_column_view_row_widget_is_header (GtkColumnViewRowWidget *self)
 static GtkColumnViewColumn *
 gtk_column_view_row_child_get_column (GtkWidget *child)
 {
-  if (GTK_IS_COLUMN_VIEW_CELL (child))
-    return gtk_column_view_cell_get_column (GTK_COLUMN_VIEW_CELL (child));
+  if (GTK_IS_COLUMN_VIEW_CELL_WIDGET (child))
+    return gtk_column_view_cell_widget_get_column (GTK_COLUMN_VIEW_CELL_WIDGET (child));
   else
     return gtk_column_view_title_get_column (GTK_COLUMN_VIEW_TITLE (child));
 
@@ -373,7 +373,7 @@ gtk_column_view_row_widget_root (GtkWidget *widget)
             {
               GtkWidget *cell;
 
-              cell = gtk_column_view_cell_new (column);
+              cell = gtk_column_view_cell_widget_new (column);
               gtk_column_view_row_widget_add_child (self, cell);
               gtk_list_item_base_update (GTK_LIST_ITEM_BASE (cell),
                                          gtk_list_item_base_get_position (base),
index 522b345ae6a696377d562c25b080342de9d96e39..1914193d48c35cae866952927d1cf3dafa180f01 100644 (file)
@@ -38,7 +38,7 @@ gtk_private_sources = files([
   'gtkcolorpickershell.c',
   'gtkcolorscale.c',
   'gtkcolorswatch.c',
-  'gtkcolumnviewcell.c',
+  'gtkcolumnviewcellwidget.c',
   'gtkcolumnviewrowwidget.c',
   'gtkcolumnviewtitle.c',
   'gtkconstraintexpression.c',
index 1d87546711e3b313228ede70025192cf79b33ed6..2fe8f10bf58e72d25a6bc7cb0191e6152e7b72f2 100644 (file)
@@ -142,7 +142,7 @@ gtk/gtkcolorplane.c
 gtk/gtkcolorscale.c
 gtk/gtkcolorswatch.c
 gtk/gtkcolumnview.c
-gtk/gtkcolumnviewcell.c
+gtk/gtkcolumnviewcellwidget.c
 gtk/gtkcolumnviewcolumn.c
 gtk/gtkcolumnviewtitle.c
 gtk/gtkconstraint.c