Just like with Row/RowWidget, I want to use Cell/CellWidget.
+++ /dev/null
-/*
- * 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;
-}
+++ /dev/null
-/*
- * 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
-
--- /dev/null
+/*
+ * 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;
+}
--- /dev/null
+/*
+ * 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
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
return result;
}
-GtkColumnViewCell *
+GtkColumnViewCellWidget *
gtk_column_view_column_get_first_cell (GtkColumnViewColumn *self)
{
return self->first_cell;
void
gtk_column_view_column_add_cell (GtkColumnViewColumn *self,
- GtkColumnViewCell *cell)
+ GtkColumnViewCellWidget *cell)
{
self->first_cell = cell;
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));
void
gtk_column_view_column_queue_resize (GtkColumnViewColumn *self)
{
- GtkColumnViewCell *cell;
+ GtkColumnViewCellWidget *cell;
if (self->minimum_size_request < 0)
return;
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));
}
if (self->minimum_size_request < 0)
{
- GtkColumnViewCell *cell;
+ GtkColumnViewCellWidget *cell;
int min, nat, cell_min, cell_nat;
if (self->header)
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,
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),
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
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;
#include "gtk/gtkcolumnviewcolumn.h"
-#include "gtk/gtkcolumnviewcellprivate.h"
+#include "gtk/gtkcolumnviewcellwidgetprivate.h"
void gtk_column_view_column_set_column_view (GtkColumnViewColumn *self,
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);
#include "gtkbinlayout.h"
#include "gtkcolumnviewprivate.h"
-#include "gtkcolumnviewcellprivate.h"
+#include "gtkcolumnviewcellwidgetprivate.h"
#include "gtkcolumnviewcolumnprivate.h"
#include "gtkcolumnviewrowprivate.h"
#include "gtkcolumnviewtitleprivate.h"
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));
{
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),
'gtkcolorpickershell.c',
'gtkcolorscale.c',
'gtkcolorswatch.c',
- 'gtkcolumnviewcell.c',
+ 'gtkcolumnviewcellwidget.c',
'gtkcolumnviewrowwidget.c',
'gtkcolumnviewtitle.c',
'gtkconstraintexpression.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