Trait gtk::prelude::CellRendererExt [−][src]
pub trait CellRendererExt: 'static {
Show methods
fn activate<P: IsA<Widget>>(
&self,
event: &Event,
widget: &P,
path: &str,
background_area: &Rectangle,
cell_area: &Rectangle,
flags: CellRendererState
) -> bool;
fn aligned_area<P: IsA<Widget>>(
&self,
widget: &P,
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<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32);
fn preferred_height_for_width<P: IsA<Widget>>(
&self,
widget: &P,
width: i32
) -> (i32, i32);
fn preferred_size<P: IsA<Widget>>(
&self,
widget: &P
) -> (Requisition, Requisition);
fn preferred_width<P: IsA<Widget>>(&self, widget: &P) -> (i32, i32);
fn preferred_width_for_height<P: IsA<Widget>>(
&self,
widget: &P,
height: i32
) -> (i32, i32);
fn request_mode(&self) -> SizeRequestMode;
fn is_sensitive(&self) -> bool;
fn state<P: IsA<Widget>>(
&self,
widget: Option<&P>,
cell_state: CellRendererState
) -> StateFlags;
fn is_visible(&self) -> bool;
fn is_activatable(&self) -> bool;
fn render<P: IsA<Widget>>(
&self,
cr: &Context,
widget: &P,
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<P: IsA<Widget>>(
&self,
event: Option<&Event>,
widget: &P,
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
Trait containing all CellRenderer methods.
Implementors
CellRendererPixbuf, CellRendererProgress, CellRendererSpinner, CellRendererText, CellRendererToggle, CellRenderer
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
fn aligned_area<P: IsA<Widget>>(
&self,
widget: &P,
flags: CellRendererState,
cell_area: &Rectangle
) -> Rectangle
fn aligned_area<P: IsA<Widget>>(
&self,
widget: &P,
flags: CellRendererState,
cell_area: &Rectangle
) -> RectangleGets 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.
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
fn preferred_size<P: IsA<Widget>>(
&self,
widget: &P
) -> (Requisition, Requisition)
fn preferred_size<P: IsA<Widget>>(
&self,
widget: &P
) -> (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
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
fn request_mode(&self) -> SizeRequestMode
fn request_mode(&self) -> SizeRequestModeGets whether the cell renderer prefers a height-for-width layout or a width-for-height layout.
Returns
The SizeRequestMode preferred by this renderer.
fn is_sensitive(&self) -> bool
fn is_sensitive(&self) -> boolfn state<P: IsA<Widget>>(
&self,
widget: Option<&P>,
cell_state: CellRendererState
) -> StateFlags
fn state<P: IsA<Widget>>(
&self,
widget: Option<&P>,
cell_state: CellRendererState
) -> StateFlagsTranslates the cell renderer state to StateFlags,
based on the cell renderer and widget sensitivity, and
the given CellRendererState.
widget
cell_state
cell renderer state
Returns
the widget state flags applying to self
fn is_visible(&self) -> bool
fn is_visible(&self) -> boolfn is_activatable(&self) -> bool
fn is_activatable(&self) -> boolInvokes 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
fn set_alignment(&self, xalign: f32, yalign: f32)
fn set_alignment(&self, xalign: f32, yalign: f32)fn set_fixed_size(&self, width: i32, height: i32)
fn set_fixed_size(&self, width: i32, height: i32)fn set_padding(&self, xpad: i32, ypad: i32)
fn set_padding(&self, xpad: i32, ypad: i32)fn set_sensitive(&self, sensitive: bool)
fn set_sensitive(&self, sensitive: bool)fn set_visible(&self, visible: bool)
fn set_visible(&self, visible: bool)fn start_editing<P: IsA<Widget>>(
&self,
event: Option<&Event>,
widget: &P,
path: &str,
background_area: &Rectangle,
cell_area: &Rectangle,
flags: CellRendererState
) -> Option<CellEditable>
fn start_editing<P: IsA<Widget>>(
&self,
event: Option<&Event>,
widget: &P,
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
fn 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
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
fn set_cell_background(&self, cell_background: Option<&str>)fn cell_background_rgba(&self) -> Option<RGBA>
fn cell_background_rgba(&self) -> Option<RGBA>Cell background as a gdk::RGBA
fn 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) -> boolfn set_cell_background_set(&self, cell_background_set: bool)fn is_editing(&self) -> boolfn set_height(&self, height: i32)fn is_expanded(&self) -> boolfn set_is_expanded(&self, is_expanded: bool)fn is_expander(&self) -> boolfn set_is_expander(&self, is_expander: bool)fn mode(&self) -> CellRendererModefn set_mode(&self, mode: CellRendererMode)fn set_xalign(&self, xalign: f32)fn set_yalign(&self, yalign: f32)fn connect_editing_canceled<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_editing_canceled<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdThis 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().
fn 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
) -> SignalHandlerIdThis 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
fn connect_cell_background_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_cell_background_rgba_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_cell_background_set_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_editing_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_height_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerIdfn connect_is_expanded_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_is_expander_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_mode_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerIdfn connect_sensitive_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_visible_notify<F: Fn(&Self) + 'static>(
&self,
f: F
) -> SignalHandlerIdfn connect_width_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerIdfn connect_xalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerIdfn connect_xpad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerIdfn connect_yalign_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerIdfn connect_ypad_notify<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId