Trait gtk4::prelude::CellRendererExt[][src]

pub trait CellRendererExt: 'static {
Show 61 methods 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 is_expanded(&self) -> bool;
fn is_expander(&self) -> bool;
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 set_alignment(&self, xalign: f32, yalign: f32);
fn set_fixed_size(&self, width: i32, height: i32);
fn set_is_expanded(&self, is_expanded: bool);
fn set_is_expander(&self, is_expander: bool);
fn set_padding(&self, xpad: i32, ypad: i32);
fn set_sensitive(&self, sensitive: bool);
fn set_visible(&self, visible: bool);
fn snapshot(
        &self,
        snapshot: &Snapshot,
        widget: &impl IsA<Widget>,
        background_area: &Rectangle,
        cell_area: &Rectangle,
        flags: CellRendererState
    );
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 is_editing(&self) -> bool;
fn height(&self) -> i32;
fn set_height(&self, height: i32);
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

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 gtk_cell_renderer_render()

Returns
aligned_area

the return location for the space inside @cell_area that would actually 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

yalign

location to fill in with the y alignment of the cell

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

Returns
width

location to fill in with the fixed width of the cell

height

location to fill in with the fixed height of the cell

Checks whether the given CellRenderer is expanded.

Returns

true if the cell renderer is expanded

Checks whether the given CellRenderer is an expander.

Returns

true if @self is an expander, and false otherwise

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

Returns
xpad

location to fill in with the x padding of the cell

ypad

location to fill in with the y padding of the cell

Retrieves 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

natural_size

location to store the natural size

Retrieves 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

natural_height

location for storing the preferred size

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

natural_size

location for storing the natural size

Retrieves 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

natural_size

location to store the natural size

Retrieves 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

natural_width

location for storing the preferred size

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

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

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 whether the given CellRenderer is expanded.

is_expanded

whether @self should be expanded

Sets whether the given CellRenderer is an expander.

is_expander

whether @self is an expander

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

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.

snapshot

a Snapshot 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

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

This function should be called by cell renderer implementations in response to the GtkCellEditable::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: gtk_cell_renderer_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 gtk_cell_editable_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 char      *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