Skip to content

Gtk.CellView

class — extends Widget, Accessible, Buildable, CellLayout, ConstraintTarget, Orientable

:::warning Deprecated since 4.10 This API is deprecated. :::

A widget displaying a single row of a GtkTreeModel

A GtkCellView displays a single row of a GtkTreeModel using a GtkCellArea and GtkCellAreaContext. A GtkCellAreaContext can be provided to the GtkCellView at construction time in order to keep the cellview in context of a group of cell views, this ensures that the renderers displayed will be properly aligned with each other (like the aligned cells in the menus of GtkComboBox).

GtkCellView is GtkOrientable in order to decide in which orientation the underlying GtkCellAreaContext should be allocated. Taking the GtkComboBox menu as an example, cellviews should be oriented horizontally if the menus are listed top-to-bottom and thus all share the same width but may have separate individual heights (left-to-right menus should be allocated vertically since they all share the same height but may have variable widths).

CSS nodes

GtkCellView has a single CSS node with name cellview.

Constructors

new

@classmethod
def new(cls) -> Widget

:::warning Deprecated since 4.10 This API is deprecated. :::

Creates a new GtkCellView widget.

new_with_context

@classmethod
def new_with_context(cls, area: CellArea, context: CellAreaContext) -> Widget

:::warning Deprecated since 4.10 This API is deprecated. :::

Creates a new GtkCellView widget with a specific GtkCellArea to layout cells and a specific GtkCellAreaContext.

Specifying the same context for a handful of cells lets the underlying area synchronize the geometry for those cells, in this way alignments with cellviews for other rows are possible.

Parameters:

  • area — the GtkCellArea to layout cells
  • context — the GtkCellAreaContext in which to calculate cell geometry

new_with_markup

@classmethod
def new_with_markup(cls, markup: str) -> Widget

:::warning Deprecated since 4.10 This API is deprecated. :::

Creates a new GtkCellView widget, adds a GtkCellRendererText to it, and makes it show markup. The text can be marked up with the Pango text markup language.

Parameters:

  • markup — the text to display in the cell view

new_with_text

@classmethod
def new_with_text(cls, text: str) -> Widget

:::warning Deprecated since 4.10 This API is deprecated. :::

Creates a new GtkCellView widget, adds a GtkCellRendererText to it, and makes it show text.

Parameters:

  • text — the text to display in the cell view

new_with_texture

@classmethod
def new_with_texture(cls, texture: Gdk.Texture) -> Widget

:::warning Deprecated since 4.10 This API is deprecated. :::

Creates a new GtkCellView widget, adds a GtkCellRendererPixbuf to it, and makes it show texture.

Parameters:

  • texture — the image to display in the cell view

Methods

get_displayed_row

def get_displayed_row(self) -> TreePath | None

:::warning Deprecated since 4.10 This API is deprecated. :::

Returns a GtkTreePath referring to the currently displayed row. If no row is currently displayed, None is returned.

get_draw_sensitive

def get_draw_sensitive(self) -> bool

:::warning Deprecated since 4.10 This API is deprecated. :::

Gets whether cell_view is configured to draw all of its cells in a sensitive state.

get_fit_model

def get_fit_model(self) -> bool

:::warning Deprecated since 4.10 This API is deprecated. :::

Gets whether cell_view is configured to request space to fit the entire GtkTreeModel.

get_model

def get_model(self) -> TreeModel | None

:::warning Deprecated since 4.10 This API is deprecated. :::

Returns the model for cell_view. If no model is used None is returned.

set_displayed_row

def set_displayed_row(self, path: TreePath | None = ...) -> None

:::warning Deprecated since 4.10 This API is deprecated. :::

Sets the row of the model that is currently displayed by the GtkCellView. If the path is unset, then the contents of the cellview “stick” at their last value; this is not normally a desired result, but may be a needed intermediate state if say, the model for the GtkCellView becomes temporarily empty.

Parameters:

  • path — a GtkTreePath or None to unset.

set_draw_sensitive

def set_draw_sensitive(self, draw_sensitive: bool) -> None

:::warning Deprecated since 4.10 This API is deprecated. :::

Sets whether cell_view should draw all of its cells in a sensitive state, this is used by GtkComboBox menus to ensure that rows with insensitive cells that contain children appear sensitive in the parent menu item.

Parameters:

  • draw_sensitive — whether to draw all cells in a sensitive state.

set_fit_model

def set_fit_model(self, fit_model: bool) -> None

:::warning Deprecated since 4.10 This API is deprecated. :::

Sets whether cell_view should request space to fit the entire GtkTreeModel.

This is used by GtkComboBox to ensure that the cell view displayed on the combo box’s button always gets enough space and does not resize when selection changes.

Parameters:

  • fit_model — whether cell_view should request space for the whole model.

set_model

def set_model(self, model: TreeModel | None = ...) -> None

:::warning Deprecated since 4.10 This API is deprecated. :::

Sets the model for cell_view. If cell_view already has a model set, it will remove it before setting the new model. If model is None, then it will unset the old model.

Parameters:

  • model — a GtkTreeModel

Properties

cell_area

cell_area: CellArea  # read/write

The GtkCellArea rendering cells

If no area is specified when creating the cell view with CellView.new_with_context a horizontally oriented GtkCellAreaBox will be used.

since 3.0

cell_area_context

cell_area_context: CellAreaContext  # read/write

The GtkCellAreaContext used to compute the geometry of the cell view.

A group of cell views can be assigned the same context in order to ensure the sizes and cell alignments match across all the views with the same context.

GtkComboBox menus uses this to assign the same context to all cell views in the menu items for a single menu (each submenu creates its own context since the size of each submenu does not depend on parent or sibling menus).

since 3.0

draw_sensitive

draw_sensitive: bool  # read/write

Whether all cells should be draw as sensitive for this view regardless of the actual cell properties (used to make menus with submenus appear sensitive when the items in submenus might be insensitive).

since 3.0

fit_model

fit_model: bool  # read/write

Whether the view should request enough space to always fit the size of every row in the model (used by the combo box to ensure the combo box size doesn't change when different items are selected).

since 3.0

model

model: TreeModel  # read/write

The model for cell view

since 2.10