Trait gtk4::prelude::CellRendererExt
source · 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
Trait containing all CellRenderer
methods.
Implementors
CellRendererPixbuf
, CellRendererProgress
, CellRendererSpinner
, CellRendererText
, CellRendererToggle
, CellRenderer
Required Methods§
sourcefn aligned_area(
&self,
widget: &impl IsA<Widget>,
flags: CellRendererState,
cell_area: &Rectangle
) -> Rectangle
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.
sourcefn fixed_size(&self) -> (i32, i32)
fn fixed_size(&self) -> (i32, i32)
sourcefn is_expanded(&self) -> bool
fn is_expanded(&self) -> bool
sourcefn is_expander(&self) -> bool
fn is_expander(&self) -> bool
Checks whether the given CellRenderer
is an expander.
Returns
sourcefn preferred_height(&self, widget: &impl IsA<Widget>) -> (i32, i32)
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
sourcefn preferred_height_for_width(
&self,
widget: &impl IsA<Widget>,
width: i32
) -> (i32, i32)
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
sourcefn preferred_size(
&self,
widget: &impl IsA<Widget>
) -> (Requisition, Requisition)
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
sourcefn preferred_width(&self, widget: &impl IsA<Widget>) -> (i32, i32)
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
sourcefn preferred_width_for_height(
&self,
widget: &impl IsA<Widget>,
height: i32
) -> (i32, i32)
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
sourcefn request_mode(&self) -> SizeRequestMode
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.
sourcefn is_sensitive(&self) -> bool
fn is_sensitive(&self) -> bool
sourcefn state(
&self,
widget: Option<&impl IsA<Widget>>,
cell_state: CellRendererState
) -> StateFlags
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 CellRenderer
State.
widget
a Widget
cell_state
cell renderer state
Returns
the widget state flags applying to @self
sourcefn is_visible(&self) -> bool
fn is_visible(&self) -> bool
sourcefn is_activatable(&self) -> bool
fn is_activatable(&self) -> bool
sourcefn set_alignment(&self, xalign: f32, yalign: f32)
fn set_alignment(&self, xalign: f32, yalign: f32)
sourcefn set_fixed_size(&self, width: i32, height: i32)
fn set_fixed_size(&self, width: i32, height: i32)
sourcefn set_is_expanded(&self, is_expanded: bool)
fn set_is_expanded(&self, is_expanded: bool)
sourcefn set_is_expander(&self, is_expander: bool)
fn set_is_expander(&self, is_expander: bool)
sourcefn set_padding(&self, xpad: i32, ypad: i32)
fn set_padding(&self, xpad: i32, ypad: i32)
sourcefn set_sensitive(&self, sensitive: bool)
fn set_sensitive(&self, sensitive: bool)
sourcefn set_visible(&self, visible: bool)
fn set_visible(&self, visible: bool)
sourcefn snapshot(
&self,
snapshot: &Snapshot,
widget: &impl IsA<Widget>,
background_area: &Rectangle,
cell_area: &Rectangle,
flags: CellRendererState
)
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
sourcefn stop_editing(&self, canceled: bool)
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
fn set_cell_background(&self, cell_background: Option<&str>)
sourcefn cell_background_rgba(&self) -> Option<RGBA>
fn cell_background_rgba(&self) -> Option<RGBA>
Cell background as a gdk::RGBA
sourcefn set_cell_background_rgba(&self, cell_background_rgba: Option<&RGBA>)
fn set_cell_background_rgba(&self, cell_background_rgba: Option<&RGBA>)
Cell background as a gdk::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)
sourcefn connect_editing_canceled<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
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().
sourcefn connect_editing_started<F: Fn(&Self, &CellEditable, TreePath) + 'static>(
&self,
f: F
) -> SignalHandlerId
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