Skip to main content

CellRendererExt

Trait CellRendererExt 

Source
pub trait CellRendererExt:
    IsA<CellRenderer>
    + Sealed
    + 'static {
Show 64 methods // Provided 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

Provided Methods§

Source

fn activate( &self, event: &Event, widget: &impl IsA<Widget>, path: &str, background_area: &Rectangle, cell_area: &Rectangle, flags: CellRendererState, ) -> bool

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

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

§Returns
§aligned_area

the return location for the space inside cell_area that would acually 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, or None

§yalign

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

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, or None

§height

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

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, or None

§ypad

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

Source

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

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

Source

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

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

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, or None

§natural_size

location for storing the natural size, or None

Source

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

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

Source

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

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

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, or None

§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 render( &self, cr: &Context, 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.

§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

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_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 start_editing( &self, event: Option<&Event>, widget: &impl IsA<Widget>, path: &str, background_area: &Rectangle, cell_area: &Rectangle, flags: CellRendererState, ) -> Option<CellEditable>

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

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 editing-canceled signal.

This function should be called by cell renderer implementations in response to the 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 set_cell_background_set(&self, cell_background_set: bool)

Source

fn is_editing(&self) -> bool

Source

fn height(&self) -> i32

Source

fn set_height(&self, height: i32)

Source

fn is_expanded(&self) -> bool

Source

fn set_is_expanded(&self, is_expanded: bool)

Source

fn is_expander(&self) -> bool

Source

fn set_is_expander(&self, is_expander: bool)

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: 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 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

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

Dyn Compatibility§

This trait is not dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§