pub trait CellRendererExt: 'static {
Show 64 methods fn activate(
        &self,
        event: &Event,
        widget: &impl IsA<Widget>,
        path: &str,
        background_area: &Rectangle,
        cell_area: &Rectangle,
        flags: CellRendererState
    ) -> bool; fn aligned_area(
        &self,
        widget: &impl IsA<Widget>,
        flags: CellRendererState,
        cell_area: &Rectangle
    ) -> Rectangle; fn alignment(&self) -> (f32, f32); fn fixed_size(&self) -> (i32, i32); fn padding(&self) -> (i32, i32); fn preferred_height(&self, widget: &impl IsA<Widget>) -> (i32, i32); fn preferred_height_for_width(
        &self,
        widget: &impl IsA<Widget>,
        width: i32
    ) -> (i32, i32); fn preferred_size(
        &self,
        widget: &impl IsA<Widget>
    ) -> (Requisition, Requisition); fn preferred_width(&self, widget: &impl IsA<Widget>) -> (i32, i32); fn preferred_width_for_height(
        &self,
        widget: &impl IsA<Widget>,
        height: i32
    ) -> (i32, i32); fn request_mode(&self) -> SizeRequestMode; fn is_sensitive(&self) -> bool; fn state(
        &self,
        widget: Option<&impl IsA<Widget>>,
        cell_state: CellRendererState
    ) -> StateFlags; fn is_visible(&self) -> bool; fn is_activatable(&self) -> bool; fn render(
        &self,
        cr: &Context,
        widget: &impl IsA<Widget>,
        background_area: &Rectangle,
        cell_area: &Rectangle,
        flags: CellRendererState
    ); fn set_alignment(&self, xalign: f32, yalign: f32); fn set_fixed_size(&self, width: i32, height: i32); fn set_padding(&self, xpad: i32, ypad: i32); fn set_sensitive(&self, sensitive: bool); fn set_visible(&self, visible: bool); fn start_editing(
        &self,
        event: Option<&Event>,
        widget: &impl IsA<Widget>,
        path: &str,
        background_area: &Rectangle,
        cell_area: &Rectangle,
        flags: CellRendererState
    ) -> Option<CellEditable>; fn stop_editing(&self, canceled: bool); fn set_cell_background(&self, cell_background: Option<&str>); fn cell_background_rgba(&self) -> Option<RGBA>; fn set_cell_background_rgba(&self, cell_background_rgba: Option<&RGBA>); fn is_cell_background_set(&self) -> bool; fn set_cell_background_set(&self, cell_background_set: bool); fn is_editing(&self) -> bool; fn height(&self) -> i32; fn set_height(&self, height: i32); fn is_expanded(&self) -> bool; fn set_is_expanded(&self, is_expanded: bool); fn is_expander(&self) -> bool; fn set_is_expander(&self, is_expander: bool); fn mode(&self) -> CellRendererMode; fn set_mode(&self, mode: CellRendererMode); fn width(&self) -> i32; fn set_width(&self, width: i32); fn xalign(&self) -> f32; fn set_xalign(&self, xalign: f32); fn xpad(&self) -> u32; fn set_xpad(&self, xpad: u32); fn yalign(&self) -> f32; fn set_yalign(&self, yalign: f32); fn ypad(&self) -> u32; fn set_ypad(&self, ypad: u32); fn connect_editing_canceled<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_cell_background_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_cell_background_rgba_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_cell_background_set_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_editing_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_height_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_is_expanded_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_is_expander_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_mode_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_sensitive_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_visible_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_width_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_xalign_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_xpad_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_yalign_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId; fn connect_ypad_notify<F: Fn(&Self) + 'static>(
        &self,
        f: F
    ) -> SignalHandlerId;
}
Expand description

Required Methods

Passes an activate event to the cell renderer for possible processing. Some cell renderers may use events; for example, CellRendererToggle toggles when it gets a mouse click.

event

a GdkEvent

widget

widget that received the event

path

widget-dependent string representation of the event location; e.g. for TreeView, a string representation of TreePath

background_area

background area as passed to render()

cell_area

cell area as passed to render()

flags

render flags

Returns

true if the event was consumed/handled

Gets the aligned area used by self inside cell_area. Used for finding the appropriate edit and focus rectangle.

widget

the Widget this cell will be rendering to

flags

render flags

cell_area

cell area which would be passed to render()

Returns
aligned_area

the return location for the space inside cell_area that would acually be used to render.

Fills in xalign and yalign with the appropriate values of self.

Returns
xalign

location to fill in with the x alignment of the cell, or None

yalign

location to fill in with the y alignment of the cell, or None

Fills in width and height with the appropriate size of self.

Returns
width

location to fill in with the fixed width of the cell, or None

height

location to fill in with the fixed height of the cell, or None

Fills in xpad and ypad with the appropriate values of self.

Returns
xpad

location to fill in with the x padding of the cell, or None

ypad

location to fill in with the y padding of the cell, or None

Retreives a renderer’s natural size when rendered to widget.

widget

the Widget this cell will be rendering to

Returns
minimum_size

location to store the minimum size, or None

natural_size

location to store the natural size, or None

Retreives a cell renderers’s minimum and natural height if it were rendered to widget with the specified width.

widget

the Widget this cell will be rendering to

width

the size which is available for allocation

Returns
minimum_height

location for storing the minimum size, or None

natural_height

location for storing the preferred size, or None

Retrieves the minimum and natural size of a cell taking into account the widget’s preference for height-for-width management.

widget

the Widget this cell will be rendering to

Returns
minimum_size

location for storing the minimum size, or None

natural_size

location for storing the natural size, or None

Retreives a renderer’s natural size when rendered to widget.

widget

the Widget this cell will be rendering to

Returns
minimum_size

location to store the minimum size, or None

natural_size

location to store the natural size, or None

Retreives a cell renderers’s minimum and natural width if it were rendered to widget with the specified height.

widget

the Widget this cell will be rendering to

height

the size which is available for allocation

Returns
minimum_width

location for storing the minimum size, or None

natural_width

location for storing the preferred size, or None

Gets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.

Returns

The SizeRequestMode preferred by this renderer.

Returns the cell renderer’s sensitivity.

Returns

true if the cell renderer is sensitive

Translates the cell renderer state to StateFlags, based on the cell renderer and widget sensitivity, and the given CellRendererState.

widget

a Widget, or None

cell_state

cell renderer state

Returns

the widget state flags applying to self

Returns the cell renderer’s visibility.

Returns

true if the cell renderer is visible

Checks whether the cell renderer can do something when activated.

Returns

true if the cell renderer can do anything when activated

Invokes the virtual render function of the CellRenderer. The three passed-in rectangles are areas in cr. Most renderers will draw within cell_area; the xalign, yalign, xpad, and ypad fields of the CellRenderer should be honored with respect to cell_area. background_area includes the blank space around the cell, and also the area containing the tree expander; so the background_area rectangles for all cells tile to cover the entire window.

cr

a cairo context to draw to

widget

the widget owning window

background_area

entire cell area (including tree expanders and maybe padding on the sides)

cell_area

area normally rendered by a cell renderer

flags

flags that affect rendering

Sets the renderer’s alignment within its available space.

xalign

the x alignment of the cell renderer

yalign

the y alignment of the cell renderer

Sets the renderer size to be explicit, independent of the properties set.

width

the width of the cell renderer, or -1

height

the height of the cell renderer, or -1

Sets the renderer’s padding.

xpad

the x padding of the cell renderer

ypad

the y padding of the cell renderer

Sets the cell renderer’s sensitivity.

sensitive

the sensitivity of the cell

Sets the cell renderer’s visibility.

visible

the visibility of the cell

Starts editing the contents of this self, through a new CellEditable widget created by the GtkCellRendererClass.start_editing virtual function.

event

a GdkEvent

widget

widget that received the event

path

widget-dependent string representation of the event location; e.g. for TreeView, a string representation of TreePath

background_area

background area as passed to render()

cell_area

cell area as passed to render()

flags

render flags

Returns

A new CellEditable for editing this self, or None if editing is not possible

Informs the cell renderer that the editing is stopped. If canceled is true, the cell renderer will emit the signal::CellRenderer::editing-canceled signal.

This function should be called by cell renderer implementations in response to the signal::CellEditable::editing-done signal of CellEditable.

canceled

true if the editing has been canceled

Cell background as a gdk::RGBA

Cell background as a gdk::RGBA

This signal gets emitted when the user cancels the process of editing a cell. For example, an editable cell renderer could be written to cancel editing when the user presses Escape.

See also: stop_editing().

This signal gets emitted when a cell starts to be edited. The intended use of this signal is to do special setup on editable, e.g. adding a EntryCompletion or setting up additional columns in a ComboBox.

See CellEditableExt::start_editing() for information on the lifecycle of the editable and a way to do setup that doesn’t depend on the renderer.

Note that GTK+ doesn’t guarantee that cell renderers will continue to use the same kind of widget for editing in future releases, therefore you should check the type of editable before doing any specific setup, as in the following example:

⚠️ The following code is in C ⚠️

static void
text_editing_started (GtkCellRenderer *cell,
                      GtkCellEditable *editable,
                      const gchar     *path,
                      gpointer         data)
{
  if (GTK_IS_ENTRY (editable))
    {
      GtkEntry *entry = GTK_ENTRY (editable);

      // ... create a GtkEntryCompletion

      gtk_entry_set_completion (entry, completion);
    }
}
editable

the CellEditable

path

the path identifying the edited cell

Implementors