pub struct CellArea { /* private fields */ }Since 4.10
Expand description
List views use widgets for displaying their
contents
An abstract class for laying out CellRenderers
The CellArea is an abstract class for CellLayout
widgets (also referred to as โlayouting widgetsโ) to interface with
an arbitrary number of CellRenderers and interact with the user
for a given TreeModel row.
The cell area handles events, focus navigation, drawing and size requests and allocations for a given row of data.
Usually users dont have to interact with the CellArea directly
unless they are implementing a cell-layouting widget themselves.
ยงRequesting area sizes
As outlined in
GtkWidgetโs geometry management section,
GTK uses a height-for-width
geometry management system to compute the sizes of widgets and user
interfaces. CellArea uses the same semantics to calculate the
size of an area for an arbitrary number of TreeModel rows.
When requesting the size of a cell area one needs to calculate
the size for a handful of rows, and this will be done differently by
different layouting widgets. For instance a TreeViewColumn
always lines up the areas from top to bottom while a IconView
on the other hand might enforce that all areas received the same
width and wrap the areas around, requesting height for more cell
areas when allocated less width.
Itโs also important for areas to maintain some cell
alignments with areas rendered for adjacent rows (cells can
appear โcolumnizedโ inside an area even when the size of
cells are different in each row). For this reason the CellArea
uses a CellAreaContext object to store the alignments
and sizes along the way (as well as the overall largest minimum
and natural size for all the rows which have been calculated
with the said context).
The CellAreaContext is an opaque object specific to the
CellArea which created it (see CellAreaExt::create_context()).
The owning cell-layouting widget can create as many contexts as
it wishes to calculate sizes of rows which should receive the
same size in at least one orientation (horizontally or vertically),
However, itโs important that the same CellAreaContext which
was used to request the sizes for a given TreeModel row be
used when rendering or processing events for that row.
In order to request the width of all the rows at the root level
of a TreeModel one would do the following:
โ ๏ธ The following code is in c โ ๏ธ
GtkTreeIter iter;
int minimum_width;
int natural_width;
valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
{
gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
gtk_cell_area_get_preferred_width (area, context, widget, NULL, NULL);
valid = gtk_tree_model_iter_next (model, &iter);
}
gtk_cell_area_context_get_preferred_width (context, &minimum_width, &natural_width);Note that in this example itโs not important to observe the
returned minimum and natural width of the area for each row
unless the cell-layouting object is actually interested in the
widths of individual rows. The overall width is however stored
in the accompanying CellAreaContext object and can be consulted
at any time.
This can be useful since CellLayout widgets usually have to
support requesting and rendering rows in treemodels with an
exceedingly large amount of rows. The CellLayout widget in
that case would calculate the required width of the rows in an
idle or timeout source (see timeout_add()) and when the widget
is requested its actual width in WidgetImpl::measure()
it can simply consult the width accumulated so far in the
CellAreaContext object.
A simple example where rows are rendered from top to bottom and take up the full width of the layouting widget would look like:
โ ๏ธ The following code is in c โ ๏ธ
static void
foo_get_preferred_width (GtkWidget *widget,
int *minimum_size,
int *natural_size)
{
Foo *self = FOO (widget);
FooPrivate *priv = foo_get_instance_private (self);
foo_ensure_at_least_one_handfull_of_rows_have_been_requested (self);
gtk_cell_area_context_get_preferred_width (priv->context, minimum_size, natural_size);
}In the above example the Foo widget has to make sure that some
row sizes have been calculated (the amount of rows that Foo judged
was appropriate to request space for in a single timeout iteration)
before simply returning the amount of space required by the area via
the CellAreaContext.
Requesting the height for width (or width for height) of an area is
a similar task except in this case the CellAreaContext does not
store the data (actually, it does not know how much space the layouting
widget plans to allocate it for every row. Itโs up to the layouting
widget to render each row of data with the appropriate height and
width which was requested by the CellArea).
In order to request the height for width of all the rows at the
root level of a TreeModel one would do the following:
โ ๏ธ The following code is in c โ ๏ธ
GtkTreeIter iter;
int minimum_height;
int natural_height;
int full_minimum_height = 0;
int full_natural_height = 0;
valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
{
gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
gtk_cell_area_get_preferred_height_for_width (area, context, widget,
width, &minimum_height, &natural_height);
if (width_is_for_allocation)
cache_row_height (&iter, minimum_height, natural_height);
full_minimum_height += minimum_height;
full_natural_height += natural_height;
valid = gtk_tree_model_iter_next (model, &iter);
}Note that in the above example we would need to cache the heights returned for each row so that we would know what sizes to render the areas for each row. However we would only want to really cache the heights if the request is intended for the layouting widgets real allocation.
In some cases the layouting widget is requested the height for an
arbitrary for_width, this is a special case for layouting widgets
who need to request size for tens of thousands of rows. For this
case itโs only important that the layouting widget calculate
one reasonably sized chunk of rows and return that height
synchronously. The reasoning here is that any layouting widget is
at least capable of synchronously calculating enough height to fill
the screen height (or scrolled window height) in response to a single
call to WidgetImpl::measure(). Returning
a perfect height for width that is larger than the screen area is
inconsequential since after the layouting receives an allocation
from a scrolled window it simply continues to drive the scrollbar
values while more and more height is required for the row heights
that are calculated in the background.
ยงRendering Areas
Once area sizes have been acquired at least for the rows in the
visible area of the layouting widget they can be rendered at
WidgetImpl::snapshot() time.
A crude example of how to render all the rows at the root level runs as follows:
โ ๏ธ The following code is in c โ ๏ธ
GtkAllocation allocation;
GdkRectangle cell_area = { 0, };
GtkTreeIter iter;
int minimum_width;
int natural_width;
gtk_widget_get_allocation (widget, &allocation);
cell_area.width = allocation.width;
valid = gtk_tree_model_get_iter_first (model, &iter);
while (valid)
{
cell_area.height = get_cached_height_for_row (&iter);
gtk_cell_area_apply_attributes (area, model, &iter, FALSE, FALSE);
gtk_cell_area_render (area, context, widget, cr,
&cell_area, &cell_area, state_flags, FALSE);
cell_area.y += cell_area.height;
valid = gtk_tree_model_iter_next (model, &iter);
}Note that the cached height in this example really depends on how
the layouting widget works. The layouting widget might decide to
give every row its minimum or natural height or, if the model content
is expected to fit inside the layouting widget without scrolling, it
would make sense to calculate the allocation for each row at
the time the widget is allocated using distribute_natural_allocation().
ยงHandling Events and Driving Keyboard Focus
Passing events to the area is as simple as handling events on any
normal widget and then passing them to the CellAreaExt::event()
API as they come in. Usually CellArea is only interested in
button events, however some customized derived areas can be implemented
who are interested in handling other events. Handling an event can
trigger the focus-changed signal to fire; as well
as add-editable in the case that an editable cell
was clicked and needs to start editing. You can call
CellAreaExt::stop_editing() at any time to cancel any cell editing
that is currently in progress.
The CellArea drives keyboard focus from cell to cell in a way
similar to Widget. For layouting widgets that support giving
focus to cells itโs important to remember to pass GTK_CELL_RENDERER_FOCUSED
to the area functions for the row that has focus and to tell the
area to paint the focus at render time.
Layouting widgets that accept focus on cells should implement the
WidgetImpl::focus() virtual method. The layouting widget is always
responsible for knowing where TreeModel rows are rendered inside
the widget, so at WidgetImpl::focus() time the layouting widget
should use the CellArea methods to navigate focus inside the area
and then observe the DirectionType to pass the focus to adjacent
rows and areas.
A basic example of how the WidgetImpl::focus() virtual method
should be implemented:
static gboolean
foo_focus (GtkWidget *widget,
GtkDirectionType direction)
{
Foo *self = FOO (widget);
FooPrivate *priv = foo_get_instance_private (self);
int focus_row = priv->focus_row;
gboolean have_focus = FALSE;
if (!gtk_widget_has_focus (widget))
gtk_widget_grab_focus (widget);
valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, priv->focus_row);
while (valid)
{
gtk_cell_area_apply_attributes (priv->area, priv->model, &iter, FALSE, FALSE);
if (gtk_cell_area_focus (priv->area, direction))
{
priv->focus_row = focus_row;
have_focus = TRUE;
break;
}
else
{
if (direction == GTK_DIR_RIGHT ||
direction == GTK_DIR_LEFT)
break;
else if (direction == GTK_DIR_UP ||
direction == GTK_DIR_TAB_BACKWARD)
{
if (focus_row == 0)
break;
else
{
focus_row--;
valid = gtk_tree_model_iter_nth_child (priv->model, &iter, NULL, focus_row);
}
}
else
{
if (focus_row == last_row)
break;
else
{
focus_row++;
valid = gtk_tree_model_iter_next (priv->model, &iter);
}
}
}
}
return have_focus;
}Note that the layouting widget is responsible for matching the
DirectionType values to the way it lays out its cells.
ยงCell Properties
The CellArea introduces cell properties for CellRenderers.
This provides some general interfaces for defining the relationship
cell areas have with their cells. For instance in a CellAreaBox
a cell might โexpandโ and receive extra space when the area is allocated
more than its full natural request, or a cell might be configured to โalignโ
with adjacent rows which were requested and rendered with the same
CellAreaContext.
Use [CellAreaClassExt::install_cell_property()][crate::subclass::prelude::CellAreaClassExt::install_cell_property()] to install cell
properties for a cell area class and CellAreaClassExt::find_cell_property()
or CellAreaClassExt::list_cell_properties() to get information about
existing cell properties.
To set the value of a cell property, use [CellAreaExtManual::cell_set_property()][crate::prelude::CellAreaExtManual::cell_set_property()],
Gtk::CellArea::cell_set() or Gtk::CellArea::cell_set_valist(). To obtain
the value of a cell property, use [CellAreaExtManual::cell_get_property()][crate::prelude::CellAreaExtManual::cell_get_property()]
Gtk::CellArea::cell_get() or Gtk::CellArea::cell_get_valist().
This is an Abstract Base Class, you cannot instantiate it.
ยงProperties
ยงedit-widget
The widget currently editing the edited cell
This property is read-only and only changes as a result of a call gtk_cell_area_activate_cell().
Readable
ยงedited-cell
The cell in the area that is currently edited
This property is read-only and only changes as a result of a call gtk_cell_area_activate_cell().
Readable
ยงfocus-cell
The cell in the area that currently has focus
Readable | Writable
ยงSignals
ยงadd-editable
Indicates that editing has started on @renderer and that @editable should be added to the owning cell-layouting widget at @cell_area.
ยงapply-attributes
This signal is emitted whenever applying attributes to @area from @model
ยงfocus-changed
Indicates that focus changed on this @area. This signal is emitted either as a result of focus handling or event handling.
Itโs possible that the signal is emitted even if the currently focused renderer did not change, this is because focus may change to the same renderer in the same cell area for a different row of data.
ยงremove-editable
Indicates that editing finished on @renderer and that @editable should be removed from the owning cell-layouting widget.
ยงImplements
CellAreaExt, [trait@glib::ObjectExt], BuildableExt, CellLayoutExt, CellAreaExtManual, CellLayoutExtManual
GLib type: GObject with reference counted clone semantics.
Implementationsยง
Trait Implementationsยง
impl Eq for CellArea
impl IsA<Buildable> for CellArea
impl IsA<CellArea> for CellAreaBox
impl IsA<CellLayout> for CellArea
Sourceยงimpl<T: CellAreaImpl> IsSubclassable<T> for CellArea
impl<T: CellAreaImpl> IsSubclassable<T> for CellArea
Sourceยงfn class_init(class: &mut Class<Self>)
fn class_init(class: &mut Class<Self>)
ยงfn instance_init(instance: &mut InitializingObject<T>)
fn instance_init(instance: &mut InitializingObject<T>)
Sourceยงimpl Ord for CellArea
impl Ord for CellArea
Sourceยงfn cmp(&self, other: &Self) -> Ordering
fn cmp(&self, other: &Self) -> Ordering
Comparison for two GObjects.
Compares the memory addresses of the provided objects.
1.21.0 (const: unstable) ยท Sourceยงfn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Sourceยงimpl<OT: ObjectType> PartialEq<OT> for CellArea
impl<OT: ObjectType> PartialEq<OT> for CellArea
Sourceยงimpl<OT: ObjectType> PartialOrd<OT> for CellArea
impl<OT: ObjectType> PartialOrd<OT> for CellArea
Sourceยงfn partial_cmp(&self, other: &OT) -> Option<Ordering>
fn partial_cmp(&self, other: &OT) -> Option<Ordering>
Partial comparison for two GObjects.
Compares the memory addresses of the provided objects.
Auto Trait Implementationsยง
impl !Send for CellArea
impl !Sync for CellArea
impl Freeze for CellArea
impl RefUnwindSafe for CellArea
impl Unpin for CellArea
impl UnsafeUnpin for CellArea
impl UnwindSafe for CellArea
Blanket Implementationsยง
Sourceยงimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Sourceยงfn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Sourceยงimpl<O> BuildableExt for Owhere
O: IsA<Buildable>,
impl<O> BuildableExt for Owhere
O: IsA<Buildable>,
Sourceยงfn buildable_id(&self) -> Option<GString>
fn buildable_id(&self) -> Option<GString>
ยงimpl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere
T: ObjectType,
ยงfn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
T. Read moreยงfn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
T. Read moreยงfn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast<T>(self) -> Result<T, Self>where
T: ObjectType,
Self: MayDowncastTo<T>,
T. Read moreยงfn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: MayDowncastTo<T>,
T. Read moreยงfn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
fn dynamic_cast<T>(self) -> Result<T, Self>where
T: ObjectType,
T. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while upcast will do many checks at compile-time already. downcast will
perform the same checks at runtime as dynamic_cast, but will also ensure some amount of
compile-time safety. Read moreยงfn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
fn dynamic_cast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
T. This handles upcasting, downcasting
and casting between interface and interface implementors. All checks are performed at
runtime, while downcast and upcast will do many checks at compile-time already. Read moreยงunsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
T unconditionally. Read moreยงunsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
unsafe fn unsafe_cast_ref<T>(&self) -> &Twhere
T: ObjectType,
&T unconditionally. Read moreSourceยงimpl<O> CellAreaExt for Owhere
O: IsA<CellArea>,
impl<O> CellAreaExt for Owhere
O: IsA<CellArea>,
Sourceยงfn activate(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
cell_area: &Rectangle,
flags: CellRendererState,
edit_only: bool,
) -> bool
fn activate( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, cell_area: &Rectangle, flags: CellRendererState, edit_only: bool, ) -> bool
Since 4.10
Sourceยงfn activate_cell(
&self,
widget: &impl IsA<Widget>,
renderer: &impl IsA<CellRenderer>,
event: impl AsRef<Event>,
cell_area: &Rectangle,
flags: CellRendererState,
) -> bool
fn activate_cell( &self, widget: &impl IsA<Widget>, renderer: &impl IsA<CellRenderer>, event: impl AsRef<Event>, cell_area: &Rectangle, flags: CellRendererState, ) -> bool
Since 4.10
Sourceยงfn add(&self, renderer: &impl IsA<CellRenderer>)
fn add(&self, renderer: &impl IsA<CellRenderer>)
Since 4.10
Sourceยงfn add_focus_sibling(
&self,
renderer: &impl IsA<CellRenderer>,
sibling: &impl IsA<CellRenderer>,
)
fn add_focus_sibling( &self, renderer: &impl IsA<CellRenderer>, sibling: &impl IsA<CellRenderer>, )
Since 4.10
Sourceยงfn apply_attributes(
&self,
tree_model: &impl IsA<TreeModel>,
iter: &TreeIter,
is_expander: bool,
is_expanded: bool,
)
fn apply_attributes( &self, tree_model: &impl IsA<TreeModel>, iter: &TreeIter, is_expander: bool, is_expanded: bool, )
Since 4.10
Sourceยงfn attribute_connect(
&self,
renderer: &impl IsA<CellRenderer>,
attribute: &str,
column: i32,
)
fn attribute_connect( &self, renderer: &impl IsA<CellRenderer>, attribute: &str, column: i32, )
Since 4.10
Sourceยงfn attribute_disconnect(
&self,
renderer: &impl IsA<CellRenderer>,
attribute: &str,
)
fn attribute_disconnect( &self, renderer: &impl IsA<CellRenderer>, attribute: &str, )
Since 4.10
Sourceยงfn attribute_get_column(
&self,
renderer: &impl IsA<CellRenderer>,
attribute: &str,
) -> i32
fn attribute_get_column( &self, renderer: &impl IsA<CellRenderer>, attribute: &str, ) -> i32
Since 4.10
Sourceยงfn copy_context(&self, context: &impl IsA<CellAreaContext>) -> CellAreaContext
fn copy_context(&self, context: &impl IsA<CellAreaContext>) -> CellAreaContext
Since 4.10
Sourceยงfn create_context(&self) -> CellAreaContext
fn create_context(&self) -> CellAreaContext
Since 4.10
CellAreaContext to be used with @self for
all purposes. CellAreaContext stores geometry information
for rows for which it was operated on, it is important to use
the same context for the same row of data at all times (i.e.
one should render and handle events with the same CellAreaContext
which was used to request the size of those rows of data). Read moreSourceยงfn event(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
event: impl AsRef<Event>,
cell_area: &Rectangle,
flags: CellRendererState,
) -> i32
fn event( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, event: impl AsRef<Event>, cell_area: &Rectangle, flags: CellRendererState, ) -> i32
Since 4.10
Sourceยงfn focus(&self, direction: DirectionType) -> bool
fn focus(&self, direction: DirectionType) -> bool
Since 4.10
Sourceยงfn foreach<P: FnMut(&CellRenderer) -> bool>(&self, callback: P)
fn foreach<P: FnMut(&CellRenderer) -> bool>(&self, callback: P)
Since 4.10
CellRenderer in @self. Read moreSourceยงfn foreach_alloc<P: FnMut(&CellRenderer, &Rectangle, &Rectangle) -> bool>(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
cell_area: &Rectangle,
background_area: &Rectangle,
callback: P,
)
fn foreach_alloc<P: FnMut(&CellRenderer, &Rectangle, &Rectangle) -> bool>( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, cell_area: &Rectangle, background_area: &Rectangle, callback: P, )
Since 4.10
CellRenderer in @self with the
allocated rectangle inside @cell_area. Read moreSourceยงfn cell_allocation(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
renderer: &impl IsA<CellRenderer>,
cell_area: &Rectangle,
) -> Rectangle
fn cell_allocation( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, renderer: &impl IsA<CellRenderer>, cell_area: &Rectangle, ) -> Rectangle
Since 4.10
Sourceยงfn cell_at_position(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
cell_area: &Rectangle,
x: i32,
y: i32,
) -> (CellRenderer, Rectangle)
fn cell_at_position( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, cell_area: &Rectangle, x: i32, y: i32, ) -> (CellRenderer, Rectangle)
Since 4.10
CellRenderer at @x and @y coordinates inside @self and optionally
returns the full cell allocation for it inside @cell_area. Read moreSourceยงfn current_path_string(&self) -> GString
fn current_path_string(&self) -> GString
Since 4.10
Sourceยงfn edit_widget(&self) -> Option<CellEditable>
fn edit_widget(&self) -> Option<CellEditable>
Since 4.10
CellEditable widget currently used
to edit the currently edited cell. Read moreSourceยงfn edited_cell(&self) -> Option<CellRenderer>
fn edited_cell(&self) -> Option<CellRenderer>
Since 4.10
CellRenderer in @self that is currently
being edited. Read moreSourceยงfn focus_cell(&self) -> Option<CellRenderer>
fn focus_cell(&self) -> Option<CellRenderer>
Since 4.10
Sourceยงfn focus_from_sibling(
&self,
renderer: &impl IsA<CellRenderer>,
) -> Option<CellRenderer>
fn focus_from_sibling( &self, renderer: &impl IsA<CellRenderer>, ) -> Option<CellRenderer>
Since 4.10
CellRenderer which is expected to be focusable
for which @renderer is, or may be a sibling. Read moreSourceยงfn focus_siblings(&self, renderer: &impl IsA<CellRenderer>) -> Vec<CellRenderer>
fn focus_siblings(&self, renderer: &impl IsA<CellRenderer>) -> Vec<CellRenderer>
Since 4.10
Sourceยงfn preferred_height(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
) -> (i32, i32)
fn preferred_height( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, ) -> (i32, i32)
Since 4.10
Sourceยงfn preferred_height_for_width(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
width: i32,
) -> (i32, i32)
fn preferred_height_for_width( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, width: i32, ) -> (i32, i32)
Since 4.10
Sourceยงfn preferred_width(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
) -> (i32, i32)
fn preferred_width( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, ) -> (i32, i32)
Since 4.10
Sourceยงfn preferred_width_for_height(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
height: i32,
) -> (i32, i32)
fn preferred_width_for_height( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, height: i32, ) -> (i32, i32)
Since 4.10
Sourceยงfn request_mode(&self) -> SizeRequestMode
fn request_mode(&self) -> SizeRequestMode
Since 4.10
Sourceยงfn has_renderer(&self, renderer: &impl IsA<CellRenderer>) -> bool
fn has_renderer(&self, renderer: &impl IsA<CellRenderer>) -> bool
Since 4.10
Sourceยงfn inner_cell_area(
&self,
widget: &impl IsA<Widget>,
cell_area: &Rectangle,
) -> Rectangle
fn inner_cell_area( &self, widget: &impl IsA<Widget>, cell_area: &Rectangle, ) -> Rectangle
Since 4.10
CellArea implementations
to get the inner area where a given CellRenderer will be
rendered. It removes any padding previously added by gtk_cell_area_request_renderer(). Read moreSourceยงfn is_activatable(&self) -> bool
fn is_activatable(&self) -> bool
Since 4.10
Sourceยงfn is_focus_sibling(
&self,
renderer: &impl IsA<CellRenderer>,
sibling: &impl IsA<CellRenderer>,
) -> bool
fn is_focus_sibling( &self, renderer: &impl IsA<CellRenderer>, sibling: &impl IsA<CellRenderer>, ) -> bool
Since 4.10
Sourceยงfn remove(&self, renderer: &impl IsA<CellRenderer>)
fn remove(&self, renderer: &impl IsA<CellRenderer>)
Since 4.10
Sourceยงfn remove_focus_sibling(
&self,
renderer: &impl IsA<CellRenderer>,
sibling: &impl IsA<CellRenderer>,
)
fn remove_focus_sibling( &self, renderer: &impl IsA<CellRenderer>, sibling: &impl IsA<CellRenderer>, )
Since 4.10
Sourceยงfn request_renderer(
&self,
renderer: &impl IsA<CellRenderer>,
orientation: Orientation,
widget: &impl IsA<Widget>,
for_size: i32,
) -> (i32, i32)
fn request_renderer( &self, renderer: &impl IsA<CellRenderer>, orientation: Orientation, widget: &impl IsA<Widget>, for_size: i32, ) -> (i32, i32)
Since 4.10
CellArea implementations
to request size for cell renderers. Itโs important to use this
function to request size and then use gtk_cell_area_inner_cell_area()
at render and event time since this function will add padding
around the cell for focus painting. Read moreSourceยงfn set_focus_cell(&self, renderer: Option<&impl IsA<CellRenderer>>)
fn set_focus_cell(&self, renderer: Option<&impl IsA<CellRenderer>>)
Since 4.10
Sourceยงfn snapshot(
&self,
context: &impl IsA<CellAreaContext>,
widget: &impl IsA<Widget>,
snapshot: &impl IsA<Snapshot>,
background_area: &Rectangle,
cell_area: &Rectangle,
flags: CellRendererState,
paint_focus: bool,
)
fn snapshot( &self, context: &impl IsA<CellAreaContext>, widget: &impl IsA<Widget>, snapshot: &impl IsA<Snapshot>, background_area: &Rectangle, cell_area: &Rectangle, flags: CellRendererState, paint_focus: bool, )
Since 4.10
Sourceยงfn stop_editing(&self, canceled: bool)
fn stop_editing(&self, canceled: bool)
Since 4.10
Sourceยงfn connect_add_editable<F: Fn(&Self, &CellRenderer, &CellEditable, &Rectangle, TreePath) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_add_editable<F: Fn(&Self, &CellRenderer, &CellEditable, &Rectangle, TreePath) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงfn connect_apply_attributes<F: Fn(&Self, &TreeModel, &TreeIter, bool, bool) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_apply_attributes<F: Fn(&Self, &TreeModel, &TreeIter, bool, bool) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงfn connect_focus_changed<F: Fn(&Self, &CellRenderer, TreePath) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_focus_changed<F: Fn(&Self, &CellRenderer, TreePath) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงfn connect_remove_editable<F: Fn(&Self, &CellRenderer, &CellEditable) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_remove_editable<F: Fn(&Self, &CellRenderer, &CellEditable) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงfn connect_edit_widget_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_edit_widget_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงfn connect_edited_cell_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_edited_cell_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงfn connect_focus_cell_notify<F: Fn(&Self) + 'static>(
&self,
f: F,
) -> SignalHandlerId
fn connect_focus_cell_notify<F: Fn(&Self) + 'static>( &self, f: F, ) -> SignalHandlerId
Since 4.10
Sourceยงimpl<O> CellAreaExtManual for Owhere
O: IsA<CellArea>,
impl<O> CellAreaExtManual for Owhere
O: IsA<CellArea>,
Sourceยงfn add_with_properties(
&self,
renderer: &impl IsA<CellRenderer>,
properties: &[(&str, &dyn ToValue)],
)
fn add_with_properties( &self, renderer: &impl IsA<CellRenderer>, properties: &[(&str, &dyn ToValue)], )
Since 4.10
Sourceยงfn cell_get_value(
&self,
renderer: &impl IsA<CellRenderer>,
property_name: impl IntoGStr,
) -> Value
fn cell_get_value( &self, renderer: &impl IsA<CellRenderer>, property_name: impl IntoGStr, ) -> Value
Since 4.10
Sourceยงfn cell_get<V: for<'b> FromValue<'b> + 'static>(
&self,
renderer: &impl IsA<CellRenderer>,
property_name: impl IntoGStr,
) -> V
fn cell_get<V: for<'b> FromValue<'b> + 'static>( &self, renderer: &impl IsA<CellRenderer>, property_name: impl IntoGStr, ) -> V
Since 4.10
Self::cell_get_value but panics if the value is of a
different type.Sourceยงfn cell_set(
&self,
renderer: &impl IsA<CellRenderer>,
property_name: impl IntoGStr,
value: impl Into<Value>,
)
fn cell_set( &self, renderer: &impl IsA<CellRenderer>, property_name: impl IntoGStr, value: impl Into<Value>, )
Since 4.10
Sourceยงimpl<O> CellLayoutExt for Owhere
O: IsA<CellLayout>,
impl<O> CellLayoutExt for Owhere
O: IsA<CellLayout>,
Sourceยงfn add_attribute(
&self,
cell: &impl IsA<CellRenderer>,
attribute: &str,
column: i32,
)
fn add_attribute( &self, cell: &impl IsA<CellRenderer>, attribute: &str, column: i32, )
Since 4.10
Sourceยงfn clear(&self)
fn clear(&self)
Since 4.10
Sourceยงfn clear_attributes(&self, cell: &impl IsA<CellRenderer>)
fn clear_attributes(&self, cell: &impl IsA<CellRenderer>)
Since 4.10
Sourceยงfn cells(&self) -> Vec<CellRenderer>
fn cells(&self) -> Vec<CellRenderer>
Since 4.10
Sourceยงfn pack_end(&self, cell: &impl IsA<CellRenderer>, expand: bool)
fn pack_end(&self, cell: &impl IsA<CellRenderer>, expand: bool)
Since 4.10
Sourceยงfn pack_start(&self, cell: &impl IsA<CellRenderer>, expand: bool)
fn pack_start(&self, cell: &impl IsA<CellRenderer>, expand: bool)
Since 4.10
Sourceยงfn reorder(&self, cell: &impl IsA<CellRenderer>, position: i32)
fn reorder(&self, cell: &impl IsA<CellRenderer>, position: i32)
Since 4.10
Sourceยงfn set_cell_data_func<P: Fn(&CellLayout, &CellRenderer, &TreeModel, &TreeIter) + 'static>(
&self,
cell: &impl IsA<CellRenderer>,
func: P,
)
fn set_cell_data_func<P: Fn(&CellLayout, &CellRenderer, &TreeModel, &TreeIter) + 'static>( &self, cell: &impl IsA<CellRenderer>, func: P, )
Since 4.10
CellLayoutDataFunc to use for @self. Read moreSourceยงimpl<O> CellLayoutExtManual for Owhere
O: IsA<CellLayout>,
impl<O> CellLayoutExtManual for Owhere
O: IsA<CellLayout>,
Sourceยงfn set_attributes(
&self,
cell: &impl IsA<CellRenderer>,
attributes: &[(&str, i32)],
)
fn set_attributes( &self, cell: &impl IsA<CellRenderer>, attributes: &[(&str, i32)], )
Since 4.10
Sourceยงfn unset_cell_data_func(&self, cell: &impl IsA<CellRenderer>)
fn unset_cell_data_func(&self, cell: &impl IsA<CellRenderer>)
Since 4.10
Sourceยงimpl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *const GList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(_: *const GList, _: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(_: *const GList, _: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *const GPtrArray, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec( _: *const GPtrArray, _: usize, ) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(_: *const GPtrArray, _: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *const GSList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(_: *const GSList, _: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(_: *const GSList, _: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(ptr: *mut GList, num: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec( ptr: *mut GPtrArray, num: usize, ) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(ptr: *mut GPtrArray, num: usize) -> Vec<T>
ยงimpl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>
unsafe fn from_glib_container_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>
unsafe fn from_glib_full_num_as_vec(ptr: *mut GSList, num: usize) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GList) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GPtrArray) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *const GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *const GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(_: *const GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(_: *const GSList) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GList) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GPtrArray> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GPtrArray) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GPtrArray) -> Vec<T>
ยงimpl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
impl<T> FromGlibPtrArrayContainerAsVec<<T as GlibPtrDefault>::GlibType, *mut GSList> for Twhere
T: GlibPtrDefault + FromGlibPtrNone<<T as GlibPtrDefault>::GlibType> + FromGlibPtrFull<<T as GlibPtrDefault>::GlibType>,
unsafe fn from_glib_none_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_container_as_vec(ptr: *mut GSList) -> Vec<T>
unsafe fn from_glib_full_as_vec(ptr: *mut GSList) -> Vec<T>
impl<'a, T, C, E> FromValueOptional<'a> for T
Sourceยงimpl<O> GObjectPropertyExpressionExt for Owhere
O: IsA<Object>,
impl<O> GObjectPropertyExpressionExt for Owhere
O: IsA<Object>,
Sourceยงfn property_expression(&self, property_name: &str) -> PropertyExpression
fn property_expression(&self, property_name: &str) -> PropertyExpression
Sourceยงfn property_expression_weak(&self, property_name: &str) -> PropertyExpression
fn property_expression_weak(&self, property_name: &str) -> PropertyExpression
Sourceยงfn this_expression(property_name: &str) -> PropertyExpression
fn this_expression(property_name: &str) -> PropertyExpression
this object.ยงimpl<T> IntoClosureReturnValue for Twhere
T: Into<Value>,
impl<T> IntoClosureReturnValue for Twhere
T: Into<Value>,
fn into_closure_return_value(self) -> Option<Value>
ยงimpl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
impl<U> IsSubclassableExt for Uwhere
U: IsClass + ParentClassIs,
fn parent_class_init<T>(class: &mut Class<U>)where
T: ObjectSubclass,
<U as ParentClassIs>::Parent: IsSubclassable<T>,
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)where
T: ObjectSubclass,
<U as ParentClassIs>::Parent: IsSubclassable<T>,
impl<Super, Sub> MayDowncastTo<Sub> for Superwhere
Super: IsA<Super>,
Sub: IsA<Super>,
ยงimpl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere
T: ObjectType,
ยงfn is<U>(&self) -> boolwhere
U: StaticType,
fn is<U>(&self) -> boolwhere
U: StaticType,
true if the object is an instance of (can be cast to) T.ยงfn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass] of the object. Read moreยงfn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
T. Read moreยงfn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
fn interface<U>(&self) -> Option<InterfaceRef<'_, U>>where
U: IsInterface,
T of the object. Read moreยงfn set_property(&self, property_name: &str, value: impl Into<Value>)
fn set_property(&self, property_name: &str, value: impl Into<Value>)
ยงfn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
ยงfn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
ยงfn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
ยงfn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
fn property<V>(&self, property_name: &str) -> Vwhere
V: for<'b> FromValue<'b> + 'static,
property_name of the object and cast it to the type V. Read moreยงfn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name of the object. Read moreยงfn has_property(&self, property_name: &str) -> bool
fn has_property(&self, property_name: &str) -> bool
property_name.ยงfn has_property_with_type(&self, property_name: &str, type_: Type) -> bool
fn has_property_with_type(&self, property_name: &str, type_: Type) -> bool
property_name of the given type_.ยงfn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name of this object. Read moreยงfn find_property(&self, property_name: &str) -> Option<ParamSpec>
fn find_property(&self, property_name: &str) -> Option<ParamSpec>
ParamSpec of the property property_name of this object.ยงfn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec of the properties of this object.ยงfn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
ยงunsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
unsafe fn set_qdata<QD>(&self, key: Quark, value: QD)where
QD: 'static,
key. Read moreยงunsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn qdata<QD>(&self, key: Quark) -> Option<NonNull<QD>>where
QD: 'static,
key. Read moreยงunsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
unsafe fn steal_qdata<QD>(&self, key: Quark) -> Option<QD>where
QD: 'static,
key. Read moreยงunsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
unsafe fn set_data<QD>(&self, key: &str, value: QD)where
QD: 'static,
key. Read moreยงunsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
unsafe fn data<QD>(&self, key: &str) -> Option<NonNull<QD>>where
QD: 'static,
key. Read moreยงunsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
unsafe fn steal_data<QD>(&self, key: &str) -> Option<QD>where
QD: 'static,
key. Read moreยงfn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
ยงfn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
ยงfn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
ยงfn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
ยงfn connect<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name on this object. Read moreยงfn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id on this object. Read moreยงfn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name on this object. Read moreยงfn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id on this object. Read moreยงunsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F,
) -> SignalHandlerId
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F, ) -> SignalHandlerId
signal_name on this object. Read moreยงunsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F,
) -> SignalHandlerId
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F, ) -> SignalHandlerId
signal_id on this object. Read moreยงfn connect_closure(
&self,
signal_name: &str,
after: bool,
closure: RustClosure,
) -> SignalHandlerId
fn connect_closure( &self, signal_name: &str, after: bool, closure: RustClosure, ) -> SignalHandlerId
signal_name on this object. Read moreยงfn connect_closure_id(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
closure: RustClosure,
) -> SignalHandlerId
fn connect_closure_id( &self, signal_id: SignalId, details: Option<Quark>, after: bool, closure: RustClosure, ) -> SignalHandlerId
signal_id on this object. Read moreยงfn watch_closure(&self, closure: &impl AsRef<Closure>)
fn watch_closure(&self, closure: &impl AsRef<Closure>)
closure to the lifetime of the object. When
the objectโs reference count drops to zero, the closure will be
invalidated. An invalidated closure will ignore any calls to
invoke_with_values, or
invoke when using Rust closures.ยงfn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit<R>(&self, signal_id: SignalId, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
fn emit_with_values(&self, signal_id: SignalId, args: &[Value]) -> Option<Value>
Self::emit] but takes Value for the arguments.ยงfn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name<R>(&self, signal_name: &str, args: &[&dyn ToValue]) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_by_name_with_values(
&self,
signal_name: &str,
args: &[Value],
) -> Option<Value>
fn emit_by_name_with_values( &self, signal_name: &str, args: &[Value], ) -> Option<Value>
ยงfn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_by_name_with_details<R>(
&self,
signal_name: &str,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_by_name_with_details_and_values(
&self,
signal_name: &str,
details: Quark,
args: &[Value],
) -> Option<Value>
fn emit_by_name_with_details_and_values( &self, signal_name: &str, details: Quark, args: &[Value], ) -> Option<Value>
ยงfn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
fn emit_with_details<R>(
&self,
signal_id: SignalId,
details: Quark,
args: &[&dyn ToValue],
) -> Rwhere
R: TryFromClosureReturnValue,
ยงfn emit_with_details_and_values(
&self,
signal_id: SignalId,
details: Quark,
args: &[Value],
) -> Option<Value>
fn emit_with_details_and_values( &self, signal_id: SignalId, details: Quark, args: &[Value], ) -> Option<Value>
ยงfn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
ยงfn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify signal of the object. Read moreยงfn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerId
notify signal of the object. Read moreยงunsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F,
) -> SignalHandlerId
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F, ) -> SignalHandlerId
notify signal of the object. Read more