pub trait CellRendererExt: 'static {
Show 61 methods // Required 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§

source

fn aligned_area( &self, widget: &impl IsA<Widget>, flags: CellRendererState, cell_area: &Rectangle ) -> Rectangle

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.

source

fn alignment(&self) -> (f32, f32)

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

source

fn fixed_size(&self) -> (i32, i32)

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

source

fn is_expanded(&self) -> bool

Checks whether the given CellRenderer is expanded.

Returns

true if the cell renderer is expanded

source

fn is_expander(&self) -> bool

Checks whether the given CellRenderer is an expander.

Returns

true if @self is an expander, and false otherwise

source

fn padding(&self) -> (i32, i32)

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

source

fn preferred_height(&self, widget: &impl IsA<Widget>) -> (i32, i32)

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

source

fn preferred_height_for_width( &self, widget: &impl IsA<Widget>, width: i32 ) -> (i32, i32)

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

source

fn preferred_size( &self, widget: &impl IsA<Widget> ) -> (Requisition, Requisition)

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

source

fn preferred_width(&self, widget: &impl IsA<Widget>) -> (i32, i32)

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

source

fn preferred_width_for_height( &self, widget: &impl IsA<Widget>, height: i32 ) -> (i32, i32)

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

source

fn request_mode(&self) -> SizeRequestMode

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

Returns

The SizeRequestMode preferred by this renderer.

source

fn is_sensitive(&self) -> bool

Returns the cell renderer’s sensitivity.

Returns

true if the cell renderer is sensitive

source

fn state( &self, widget: Option<&impl IsA<Widget>>, cell_state: CellRendererState ) -> StateFlags

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

source

fn is_visible(&self) -> bool

Returns the cell renderer’s visibility.

Returns

true if the cell renderer is visible

source

fn is_activatable(&self) -> bool

Checks whether the cell renderer can do something when activated.

Returns

true if the cell renderer can do anything when activated

source

fn set_alignment(&self, xalign: f32, yalign: f32)

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

source

fn set_fixed_size(&self, width: i32, height: i32)

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

source

fn set_is_expanded(&self, is_expanded: bool)

Sets whether the given CellRenderer is expanded.

is_expanded

whether @self should be expanded

source

fn set_is_expander(&self, is_expander: bool)

Sets whether the given CellRenderer is an expander.

is_expander

whether @self is an expander

source

fn set_padding(&self, xpad: i32, ypad: i32)

Sets the renderer’s padding.

xpad

the x padding of the cell renderer

ypad

the y padding of the cell renderer

source

fn set_sensitive(&self, sensitive: bool)

Sets the cell renderer’s sensitivity.

sensitive

the sensitivity of the cell

source

fn set_visible(&self, visible: bool)

Sets the cell renderer’s visibility.

visible

the visibility of the cell

source

fn snapshot( &self, snapshot: &Snapshot, widget: &impl IsA<Widget>, background_area: &Rectangle, cell_area: &Rectangle, flags: CellRendererState )

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

source

fn stop_editing(&self, canceled: bool)

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

source

fn set_cell_background(&self, cell_background: Option<&str>)

source

fn cell_background_rgba(&self) -> Option<RGBA>

Cell background as a gdk::RGBA

source

fn set_cell_background_rgba(&self, cell_background_rgba: Option<&RGBA>)

Cell background as a gdk::RGBA

source

fn is_cell_background_set(&self) -> bool

source

fn is_editing(&self) -> bool

source

fn height(&self) -> i32

source

fn set_height(&self, height: i32)

source

fn mode(&self) -> CellRendererMode

source

fn set_mode(&self, mode: CellRendererMode)

source

fn width(&self) -> i32

source

fn set_width(&self, width: i32)

source

fn xalign(&self) -> f32

source

fn set_xalign(&self, xalign: f32)

source

fn xpad(&self) -> u32

source

fn set_xpad(&self, xpad: u32)

source

fn yalign(&self) -> f32

source

fn set_yalign(&self, yalign: f32)

source

fn ypad(&self) -> u32

source

fn set_ypad(&self, ypad: u32)

source

fn connect_editing_canceled<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

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

source

fn connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>( &self, f: F ) -> SignalHandlerId

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

source

fn connect_cell_background_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_cell_background_rgba_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_cell_background_set_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_editing_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_is_expanded_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_is_expander_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_sensitive_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_visible_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId

source

fn connect_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

source

fn connect_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId

Implementors§