pub struct Widget { /* private fields */ }
Expand description
The base class for all widgets.
Widget
is the base class all widgets in GTK derive from. It manages the
widget lifecycle, layout, states and style.
§Height-for-width Geometry Management
GTK uses a height-for-width (and width-for-height) geometry management system. Height-for-width means that a widget can change how much vertical space it needs, depending on the amount of horizontal space that it is given (and similar for width-for-height). The most common example is a label that reflows to fill up the available width, wraps to fewer lines, and therefore needs less height.
Height-for-width geometry management is implemented in GTK by way of two virtual methods:
There are some important things to keep in mind when implementing height-for-width and when using it in widget implementations.
If you implement a direct Widget
subclass that supports
height-for-width or width-for-height geometry management for itself
or its child widgets, the WidgetImpl::request_mode()
virtual
function must be implemented as well and return the widget’s preferred
request mode. The default implementation of this virtual function
returns SizeRequestMode::ConstantSize
, which means that the widget will
only ever get -1 passed as the for_size value to its
WidgetImpl::measure()
implementation.
The geometry management system will query a widget hierarchy in
only one orientation at a time. When widgets are initially queried
for their minimum sizes it is generally done in two initial passes
in the SizeRequestMode
chosen by the toplevel.
For example, when queried in the normal SizeRequestMode::HeightForWidth
mode:
First, the default minimum and natural width for each widget
in the interface will be computed using WidgetExt::measure()
with an
orientation of Orientation::Horizontal
and a for_size of -1.
Because the preferred widths for each widget depend on the preferred
widths of their children, this information propagates up the hierarchy,
and finally a minimum and natural width is determined for the entire
toplevel. Next, the toplevel will use the minimum width to query for the
minimum height contextual to that width using WidgetExt::measure()
with an
orientation of Orientation::Vertical
and a for_size of the just computed
width. This will also be a highly recursive operation. The minimum height
for the minimum width is normally used to set the minimum size constraint
on the toplevel.
After the toplevel window has initially requested its size in both
dimensions it can go on to allocate itself a reasonable size (or a size
previously specified with GtkWindowExt::set_default_size()
). During the
recursive allocation process it’s important to note that request cycles
will be recursively executed while widgets allocate their children.
Each widget, once allocated a size, will go on to first share the
space in one orientation among its children and then request each child’s
height for its target allocated width or its width for allocated height,
depending. In this way a Widget
will typically be requested its size
a number of times before actually being allocated a size. The size a
widget is finally allocated can of course differ from the size it has
requested. For this reason, Widget
caches a small number of results
to avoid re-querying for the same sizes in one allocation cycle.
If a widget does move content around to intelligently use up the
allocated size then it must support the request in both
SizeRequestMode
s even if the widget in question only
trades sizes in a single orientation.
For instance, a Label
that does height-for-width word wrapping
will not expect to have WidgetImpl::measure()
with an orientation of
Orientation::Vertical
called because that call is specific to a
width-for-height request. In this case the label must return the height
required for its own minimum possible width. By following this rule any
widget that handles height-for-width or width-for-height requests will
always be allocated at least enough space to fit its own content.
Here are some examples of how a SizeRequestMode::HeightForWidth
widget
generally deals with width-for-height requests:
⚠️ The following code is in c ⚠️
static void
foo_widget_measure (GtkWidget *widget,
GtkOrientation orientation,
int for_size,
int *minimum_size,
int *natural_size,
int *minimum_baseline,
int *natural_baseline)
{
if (orientation == GTK_ORIENTATION_HORIZONTAL)
{
// Calculate minimum and natural width
}
else // VERTICAL
{
if (i_am_in_height_for_width_mode)
{
int min_width, dummy;
// First, get the minimum width of our widget
GTK_WIDGET_GET_CLASS (widget)->measure (widget, GTK_ORIENTATION_HORIZONTAL, -1,
&min_width, &dummy, &dummy, &dummy);
// Now use the minimum width to retrieve the minimum and natural height to display
// that width.
GTK_WIDGET_GET_CLASS (widget)->measure (widget, GTK_ORIENTATION_VERTICAL, min_width,
minimum_size, natural_size, &dummy, &dummy);
}
else
{
// ... some widgets do both.
}
}
}
Often a widget needs to get its own request during size request or allocation. For example, when computing height it may need to also compute width. Or when deciding how to use an allocation, the widget may need to know its natural size. In these cases, the widget should be careful to call its virtual methods directly, like in the code example above.
It will not work to use the wrapper function WidgetExt::measure()
inside your own WidgetImpl::size_allocate()
implementation.
These return a request adjusted by SizeGroup
, the widget’s
align and expand flags, as well as its CSS style.
If a widget used the wrappers inside its virtual method implementations, then the adjustments (such as widget margins) would be applied twice. GTK therefore does not allow this and will warn if you try to do it.
Of course if you are getting the size request for another widget, such
as a child widget, you must use WidgetExt::measure()
; otherwise, you
would not properly consider widget margins, SizeGroup
, and
so forth.
GTK also supports baseline vertical alignment of widgets. This means that widgets are positioned such that the typographical baseline of widgets in the same row are aligned. This happens if a widget supports baselines, has a vertical alignment using baselines, and is inside a widget that supports baselines and has a natural “row” that it aligns to the baseline, or a baseline assigned to it by the grandparent.
Baseline alignment support for a widget is also done by the
WidgetImpl::measure()
virtual function. It allows you to report
both a minimum and natural size.
If a widget ends up baseline aligned it will be allocated all the space in
the parent as if it was Align::Fill
, but the selected baseline can be
found via WidgetExt::baseline()
. If the baseline has a
value other than -1 you need to align the widget such that the baseline
appears at the position.
§GtkWidget as GtkBuildable
The Widget
implementation of the Buildable
interface
supports various custom elements to specify additional aspects of widgets
that are not directly expressed as properties.
If the widget uses a LayoutManager
, Widget
supports
a custom <layout>
element, used to define layout properties:
<object class="GtkGrid" id="my_grid">
<child>
<object class="GtkLabel" id="label1">
<property name="label">Description</property>
<layout>
<property name="column">0</property>
<property name="row">0</property>
<property name="row-span">1</property>
<property name="column-span">1</property>
</layout>
</object>
</child>
<child>
<object class="GtkEntry" id="description_entry">
<layout>
<property name="column">1</property>
<property name="row">0</property>
<property name="row-span">1</property>
<property name="column-span">1</property>
</layout>
</object>
</child>
</object>
Widget
allows style information such as style classes to
be associated with widgets, using the custom <style>
element:
<object class="GtkButton" id="button1">
<style>
<class name="my-special-button-class"/>
<class name="dark-button"/>
</style>
</object>
Widget
allows defining accessibility information, such as properties,
relations, and states, using the custom <accessibility>
element:
<object class="GtkButton" id="button1">
<accessibility>
<property name="label">Download</property>
<relation name="labelled-by">label1</relation>
</accessibility>
</object>
§Building composite widgets from template XML
GtkWidget
exposes some facilities to automate the procedure
of creating composite widgets using “templates”.
To create composite widgets with Builder
XML, one must associate
the interface description with the widget class at class initialization
time using WidgetClassExt::set_template()
.
The interface description semantics expected in composite template descriptions
is slightly different from regular Builder
XML.
Unlike regular interface descriptions, WidgetClassExt::set_template()
will expect a <template>
tag as a direct child of the toplevel
<interface>
tag. The <template>
tag must specify the “class” attribute
which must be the type name of the widget. Optionally, the “parent”
attribute may be specified to specify the direct parent type of the widget
type; this is ignored by Builder
but can be used by UI design tools to
introspect what kind of properties and internal children exist for a given
type when the actual type does not exist.
The XML which is contained inside the <template>
tag behaves as if it were
added to the <object>
tag defining the widget itself. You may set properties
on a widget by inserting <property>
tags into the <template>
tag, and also
add <child>
tags to add children and extend a widget in the normal way you
would with <object>
tags.
Additionally, <object>
tags can also be added before and after the initial
<template>
tag in the normal way, allowing one to define auxiliary objects
which might be referenced by other widgets declared as children of the
<template>
tag.
Since, unlike the <object>
tag, the <template>
tag does not contain an
“id” attribute, if you need to refer to the instance of the object itself that
the template will create, simply refer to the template class name in an
applicable element content.
Here is an example of a template definition, which includes an example of
this in the <signal>
tag:
<interface>
<template class="FooWidget" parent="GtkBox">
<property name="orientation">horizontal</property>
<property name="spacing">4</property>
<child>
<object class="GtkButton" id="hello_button">
<property name="label">Hello World</property>
<signal name="clicked" handler="hello_button_clicked" object="FooWidget" swapped="yes"/>
</object>
</child>
<child>
<object class="GtkButton" id="goodbye_button">
<property name="label">Goodbye World</property>
</object>
</child>
</template>
</interface>
Typically, you’ll place the template fragment into a file that is
bundled with your project, using GResource
. In order to load the
template, you need to call WidgetClassExt::set_template_from_resource()
from the class initialization of your Widget
type:
⚠️ The following code is in c ⚠️
static void
foo_widget_class_init (FooWidgetClass *klass)
{
// ...
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
"/com/example/ui/foowidget.ui");
}
You will also need to call Gtk::Widget::init_template()
from the
instance initialization function:
⚠️ The following code is in c ⚠️
static void
foo_widget_init (FooWidget *self)
{
gtk_widget_init_template (GTK_WIDGET (self));
// Initialize the rest of the widget...
}
as well as calling Gtk::Widget::dispose_template()
from the dispose
function:
⚠️ The following code is in c ⚠️
static void
foo_widget_dispose (GObject *gobject)
{
FooWidget *self = FOO_WIDGET (gobject);
// Dispose objects for which you have a reference...
// Clear the template children for this widget type
gtk_widget_dispose_template (GTK_WIDGET (self), FOO_TYPE_WIDGET);
G_OBJECT_CLASS (foo_widget_parent_class)->dispose (gobject);
}
You can access widgets defined in the template using the
Gtk::Widget::get_template_child()
function, but you will typically declare
a pointer in the instance private data structure of your type using the same
name as the widget in the template definition, and call
[WidgetClassExt::bind_template_child_full()
][crate::subclass::prelude::WidgetClassExt::bind_template_child_full()] (or one of its wrapper macros
widget_class_bind_template_child()
and widget_class_bind_template_child_private()
)
with that name, e.g.
⚠️ The following code is in c ⚠️
typedef struct {
GtkWidget *hello_button;
GtkWidget *goodbye_button;
} FooWidgetPrivate;
G_DEFINE_TYPE_WITH_PRIVATE (FooWidget, foo_widget, GTK_TYPE_BOX)
static void
foo_widget_dispose (GObject *gobject)
{
gtk_widget_dispose_template (GTK_WIDGET (gobject), FOO_TYPE_WIDGET);
G_OBJECT_CLASS (foo_widget_parent_class)->dispose (gobject);
}
static void
foo_widget_class_init (FooWidgetClass *klass)
{
// ...
G_OBJECT_CLASS (klass)->dispose = foo_widget_dispose;
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
"/com/example/ui/foowidget.ui");
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
FooWidget, hello_button);
gtk_widget_class_bind_template_child_private (GTK_WIDGET_CLASS (klass),
FooWidget, goodbye_button);
}
static void
foo_widget_init (FooWidget *widget)
{
gtk_widget_init_template (GTK_WIDGET (widget));
}
You can also use [WidgetClassExt::bind_template_callback_full()
][crate::subclass::prelude::WidgetClassExt::bind_template_callback_full()] (or
is wrapper macro widget_class_bind_template_callback()
) to connect
a signal callback defined in the template with a function visible in the
scope of the class, e.g.
⚠️ The following code is in c ⚠️
// the signal handler has the instance and user data swapped
// because of the swapped="yes" attribute in the template XML
static void
hello_button_clicked (FooWidget *self,
GtkButton *button)
{
g_print ("Hello, world!\n");
}
static void
foo_widget_class_init (FooWidgetClass *klass)
{
// ...
gtk_widget_class_set_template_from_resource (GTK_WIDGET_CLASS (klass),
"/com/example/ui/foowidget.ui");
gtk_widget_class_bind_template_callback (GTK_WIDGET_CLASS (klass), hello_button_clicked);
}
This is an Abstract Base Class, you cannot instantiate it.
§Properties
§can-focus
Whether the widget or any of its descendents can accept the input focus.
This property is meant to be set by widget implementations, typically in their instance init function.
Readable | Writeable
§can-target
Whether the widget can receive pointer events.
Readable | Writeable
§css-classes
A list of css classes applied to this widget.
Readable | Writeable
§css-name
The name of this widget in the CSS tree.
This property is meant to be set by widget implementations, typically in their instance init function.
Readable | Writeable | Construct Only
§cursor
The cursor used by @widget.
Readable | Writeable
§focus-on-click
Whether the widget should grab focus when it is clicked with the mouse.
This property is only relevant for widgets that can take focus.
Readable | Writeable
§focusable
Whether this widget itself will accept the input focus.
Readable | Writeable
§halign
How to distribute horizontal space if widget gets extra space.
Readable | Writeable
§has-default
Whether the widget is the default widget.
Readable
§has-focus
Whether the widget has the input focus.
Readable
§has-tooltip
Enables or disables the emission of the ::query-tooltip signal on @widget.
A value of true
indicates that @widget can have a tooltip, in this case
the widget will be queried using query-tooltip
to
determine whether it will provide a tooltip or not.
Readable | Writeable
§height-request
Override for height request of the widget.
If this is -1, the natural request will be used.
Readable | Writeable
§hexpand
Whether to expand horizontally.
Readable | Writeable
§hexpand-set
Whether to use the hexpand
property.
Readable | Writeable
§layout-manager
The LayoutManager
instance to use to compute the preferred size
of the widget, and allocate its children.
This property is meant to be set by widget implementations, typically in their instance init function.
Readable | Writeable
§margin-bottom
Margin on bottom side of widget.
This property adds margin outside of the widget’s normal size
request, the margin will be added in addition to the size from
WidgetExt::set_size_request()
for example.
Readable | Writeable
§margin-end
Margin on end of widget, horizontally.
This property supports left-to-right and right-to-left text directions.
This property adds margin outside of the widget’s normal size
request, the margin will be added in addition to the size from
WidgetExt::set_size_request()
for example.
Readable | Writeable
§margin-start
Margin on start of widget, horizontally.
This property supports left-to-right and right-to-left text directions.
This property adds margin outside of the widget’s normal size
request, the margin will be added in addition to the size from
WidgetExt::set_size_request()
for example.
Readable | Writeable
§margin-top
Margin on top side of widget.
This property adds margin outside of the widget’s normal size
request, the margin will be added in addition to the size from
WidgetExt::set_size_request()
for example.
Readable | Writeable
§name
The name of the widget.
Readable | Writeable
§opacity
The requested opacity of the widget.
Readable | Writeable
§overflow
How content outside the widget’s content area is treated.
This property is meant to be set by widget implementations, typically in their instance init function.
Readable | Writeable
§parent
The parent widget of this widget.
Readable
§receives-default
Whether the widget will receive the default action when it is focused.
Readable | Writeable
§root
The Root
widget of the widget tree containing this widget.
This will be None
if the widget is not contained in a root widget.
Readable
§scale-factor
The scale factor of the widget.
Readable
§sensitive
Whether the widget responds to input.
Readable | Writeable
§tooltip-markup
Sets the text of tooltip to be the given string, which is marked up with Pango markup.
Also see Tooltip::set_markup()
.
This is a convenience property which will take care of getting the
tooltip shown if the given string is not None
:
has-tooltip
will automatically be set to true
and there will be taken care of query-tooltip
in
the default signal handler.
Note that if both tooltip-text
and
tooltip-markup
are set, the last one wins.
Readable | Writeable
§tooltip-text
Sets the text of tooltip to be the given string.
Also see Tooltip::set_text()
.
This is a convenience property which will take care of getting the
tooltip shown if the given string is not None
:
has-tooltip
will automatically be set to true
and there will be taken care of query-tooltip
in
the default signal handler.
Note that if both tooltip-text
and
tooltip-markup
are set, the last one wins.
Readable | Writeable
§valign
How to distribute vertical space if widget gets extra space.
Readable | Writeable
§vexpand
Whether to expand vertically.
Readable | Writeable
§vexpand-set
Whether to use the vexpand
property.
Readable | Writeable
§visible
Whether the widget is visible.
Readable | Writeable
§width-request
Override for width request of the widget.
If this is -1, the natural request will be used.
Readable | Writeable
Accessible
§accessible-role
The accessible role of the given Accessible
implementation.
The accessible role cannot be changed once set.
Readable | Writeable
§Signals
§destroy
Signals that all holders of a reference to the widget should release the reference that they hold.
May result in finalization of the widget if all references are released.
This signal is not suitable for saving widget state.
§direction-changed
Emitted when the text direction of a widget changes.
§hide
Emitted when @widget is hidden.
§keynav-failed
Emitted if keyboard navigation fails.
See WidgetExt::keynav_failed()
for details.
§map
Emitted when @widget is going to be mapped.
A widget is mapped when the widget is visible (which is controlled with
visible
) and all its parents up to the toplevel widget
are also visible.
The ::map signal can be used to determine whether a widget will be drawn,
for instance it can resume an animation that was stopped during the
emission of unmap
.
§mnemonic-activate
Emitted when a widget is activated via a mnemonic.
The default handler for this signal activates @widget if @group_cycling
is false
, or just makes @widget grab focus if @group_cycling is true
.
§move-focus
Emitted when the focus is moved.
The ::move-focus signal is a keybinding signal.
The default bindings for this signal are Tab to move forward, and Shift+Tab to move backward.
Action
§query-tooltip
Emitted when the widget’s tooltip is about to be shown.
This happens when the has-tooltip
property
is true
and the hover timeout has expired with the cursor hovering
“above” @widget; or emitted when @widget got focus in keyboard mode.
Using the given coordinates, the signal handler should determine
whether a tooltip should be shown for @widget. If this is the case
true
should be returned, false
otherwise. Note that if
@keyboard_mode is true
, the values of @x and @y are undefined and
should not be used.
The signal handler is free to manipulate @tooltip with the therefore destined function calls.
§realize
Emitted when @widget is associated with a gdk::Surface
.
This means that WidgetExt::realize()
has been called
or the widget has been mapped (that is, it is going to be drawn).
§show
Emitted when @widget is shown.
§state-flags-changed
Emitted when the widget state changes.
§unmap
Emitted when @widget is going to be unmapped.
A widget is unmapped when either it or any of its parents up to the toplevel widget have been set as hidden.
As ::unmap indicates that a widget will not be shown any longer, it can be used to, for example, stop an animation on the widget.
§unrealize
Emitted when the gdk::Surface
associated with @widget is destroyed.
This means that WidgetExt::unrealize()
has been called
or the widget has been unmapped (that is, it is going to be hidden).
§Implements
WidgetExt
, [trait@glib::ObjectExt
], AccessibleExt
, BuildableExt
, ConstraintTargetExt
, WidgetExtManual
, AccessibleExtManual
Implementations§
source§impl Widget
impl Widget
pub const NONE: Option<&'static Widget> = None
sourcepub fn default_direction() -> TextDirection
pub fn default_direction() -> TextDirection
sourcepub fn set_default_direction(dir: TextDirection)
pub fn set_default_direction(dir: TextDirection)
Sets the default reading direction for widgets.
See WidgetExt::set_direction()
.
§dir
the new default direction. This cannot be TextDirection::None
.
Trait Implementations§
source§impl HasParamSpec for Widget
impl HasParamSpec for Widget
source§impl<T: WidgetImpl> IsSubclassable<T> for Widget
impl<T: WidgetImpl> IsSubclassable<T> for Widget
source§fn class_init(class: &mut Class<Self>)
fn class_init(class: &mut Class<Self>)
source§fn instance_init(instance: &mut InitializingObject<T>)
fn instance_init(instance: &mut InitializingObject<T>)
source§impl Ord for Widget
impl Ord for Widget
source§impl<OT: ObjectType> PartialEq<OT> for Widget
impl<OT: ObjectType> PartialEq<OT> for Widget
source§impl<OT: ObjectType> PartialOrd<OT> for Widget
impl<OT: ObjectType> PartialOrd<OT> for Widget
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
self
and other
) and is used by the <=
operator. Read moresource§impl StaticType for Widget
impl StaticType for Widget
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for Widget
impl IsA<Accessible> for Widget
impl IsA<Buildable> for Widget
impl IsA<ConstraintTarget> for Widget
impl IsA<Widget> for AboutDialog
impl IsA<Widget> for ActionBar
impl IsA<Widget> for Actionable
impl IsA<Widget> for AppChooser
impl IsA<Widget> for AppChooserButton
impl IsA<Widget> for AppChooserDialog
impl IsA<Widget> for AppChooserWidget
impl IsA<Widget> for ApplicationWindow
impl IsA<Widget> for AspectFrame
impl IsA<Widget> for Assistant
impl IsA<Widget> for Box
impl IsA<Widget> for Button
impl IsA<Widget> for Calendar
impl IsA<Widget> for CellEditable
impl IsA<Widget> for CellView
impl IsA<Widget> for CenterBox
impl IsA<Widget> for CheckButton
impl IsA<Widget> for ColorButton
impl IsA<Widget> for ColorChooserDialog
impl IsA<Widget> for ColorChooserWidget
impl IsA<Widget> for ColorDialogButton
v4_10
only.impl IsA<Widget> for ColumnView
impl IsA<Widget> for ComboBox
impl IsA<Widget> for ComboBoxText
impl IsA<Widget> for Dialog
impl IsA<Widget> for DragIcon
impl IsA<Widget> for DrawingArea
impl IsA<Widget> for DropDown
impl IsA<Widget> for Editable
impl IsA<Widget> for EditableLabel
impl IsA<Widget> for EmojiChooser
impl IsA<Widget> for Entry
impl IsA<Widget> for Expander
impl IsA<Widget> for FileChooserDialog
impl IsA<Widget> for FileChooserWidget
impl IsA<Widget> for Fixed
impl IsA<Widget> for FlowBox
impl IsA<Widget> for FlowBoxChild
impl IsA<Widget> for FontButton
impl IsA<Widget> for FontChooserDialog
impl IsA<Widget> for FontChooserWidget
impl IsA<Widget> for FontDialogButton
v4_10
only.impl IsA<Widget> for Frame
impl IsA<Widget> for GLArea
impl IsA<Widget> for GraphicsOffload
v4_14
only.impl IsA<Widget> for Grid
impl IsA<Widget> for GridView
impl IsA<Widget> for HeaderBar
impl IsA<Widget> for IconView
impl IsA<Widget> for Image
impl IsA<Widget> for InfoBar
impl IsA<Widget> for Inscription
v4_8
only.impl IsA<Widget> for Label
impl IsA<Widget> for LevelBar
impl IsA<Widget> for LinkButton
impl IsA<Widget> for ListBase
impl IsA<Widget> for ListBox
impl IsA<Widget> for ListBoxRow
impl IsA<Widget> for ListView
impl IsA<Widget> for LockButton
impl IsA<Widget> for MediaControls
impl IsA<Widget> for MenuButton
impl IsA<Widget> for MessageDialog
impl IsA<Widget> for Native
impl IsA<Widget> for Notebook
impl IsA<Widget> for Overlay
impl IsA<Widget> for PageSetupUnixDialog
impl IsA<Widget> for Paned
impl IsA<Widget> for PasswordEntry
impl IsA<Widget> for Picture
impl IsA<Widget> for Popover
impl IsA<Widget> for PopoverMenu
impl IsA<Widget> for PopoverMenuBar
impl IsA<Widget> for PrintUnixDialog
impl IsA<Widget> for ProgressBar
impl IsA<Widget> for Range
impl IsA<Widget> for Revealer
impl IsA<Widget> for Root
impl IsA<Widget> for Scale
impl IsA<Widget> for ScaleButton
impl IsA<Widget> for Scrollbar
impl IsA<Widget> for ScrolledWindow
impl IsA<Widget> for SearchBar
impl IsA<Widget> for SearchEntry
impl IsA<Widget> for Separator
impl IsA<Widget> for ShortcutLabel
impl IsA<Widget> for ShortcutsGroup
impl IsA<Widget> for ShortcutsSection
impl IsA<Widget> for ShortcutsShortcut
impl IsA<Widget> for ShortcutsWindow
impl IsA<Widget> for SpinButton
impl IsA<Widget> for Spinner
impl IsA<Widget> for Stack
impl IsA<Widget> for StackSidebar
impl IsA<Widget> for StackSwitcher
impl IsA<Widget> for Statusbar
impl IsA<Widget> for Switch
impl IsA<Widget> for Text
impl IsA<Widget> for TextView
impl IsA<Widget> for ToggleButton
impl IsA<Widget> for TreeExpander
impl IsA<Widget> for TreeView
impl IsA<Widget> for Video
impl IsA<Widget> for Viewport
impl IsA<Widget> for VolumeButton
impl IsA<Widget> for Window
impl IsA<Widget> for WindowControls
impl IsA<Widget> for WindowHandle
Auto Trait Implementations§
impl Freeze for Widget
impl RefUnwindSafe for Widget
impl !Send for Widget
impl !Sync for Widget
impl Unpin for Widget
impl UnwindSafe for Widget
Blanket Implementations§
source§impl<O> AccessibleExt for Owhere
O: IsA<Accessible>,
impl<O> AccessibleExt for Owhere
O: IsA<Accessible>,
source§fn announce(&self, message: &str, priority: AccessibleAnnouncementPriority)
fn announce(&self, message: &str, priority: AccessibleAnnouncementPriority)
v4_14
only.source§fn accessible_parent(&self) -> Option<Accessible>
fn accessible_parent(&self) -> Option<Accessible>
v4_10
only.source§fn accessible_role(&self) -> AccessibleRole
fn accessible_role(&self) -> AccessibleRole
source§fn at_context(&self) -> ATContext
fn at_context(&self) -> ATContext
v4_10
only.Accessible
. Read moresource§fn bounds(&self) -> Option<(i32, i32, i32, i32)>
fn bounds(&self) -> Option<(i32, i32, i32, i32)>
v4_10
only.source§fn first_accessible_child(&self) -> Option<Accessible>
fn first_accessible_child(&self) -> Option<Accessible>
v4_10
only.source§fn next_accessible_sibling(&self) -> Option<Accessible>
fn next_accessible_sibling(&self) -> Option<Accessible>
v4_10
only.source§fn platform_state(&self, state: AccessiblePlatformState) -> bool
fn platform_state(&self, state: AccessiblePlatformState) -> bool
v4_10
only.source§fn reset_property(&self, property: AccessibleProperty)
fn reset_property(&self, property: AccessibleProperty)
source§fn reset_relation(&self, relation: AccessibleRelation)
fn reset_relation(&self, relation: AccessibleRelation)
source§fn reset_state(&self, state: AccessibleState)
fn reset_state(&self, state: AccessibleState)
source§fn set_accessible_parent(
&self,
parent: Option<&impl IsA<Accessible>>,
next_sibling: Option<&impl IsA<Accessible>>
)
fn set_accessible_parent( &self, parent: Option<&impl IsA<Accessible>>, next_sibling: Option<&impl IsA<Accessible>> )
v4_10
only.source§fn update_next_accessible_sibling(
&self,
new_sibling: Option<&impl IsA<Accessible>>
)
fn update_next_accessible_sibling( &self, new_sibling: Option<&impl IsA<Accessible>> )
v4_10
only.source§fn set_accessible_role(&self, accessible_role: AccessibleRole)
fn set_accessible_role(&self, accessible_role: AccessibleRole)
Accessible
implementation. Read morefn connect_accessible_role_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
source§impl<O> AccessibleExtManual for Owhere
O: IsA<Accessible>,
impl<O> AccessibleExtManual for Owhere
O: IsA<Accessible>,
source§fn update_property(&self, properties: &[Property<'_>])
fn update_property(&self, properties: &[Property<'_>])
source§fn update_relation(&self, relations: &[Relation<'_>])
fn update_relation(&self, relations: &[Relation<'_>])
source§fn update_state(&self, states: &[State])
fn update_state(&self, states: &[State])
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 O
impl<O> BuildableExt for O
source§impl<T> Cast for Twhere
T: ObjectType,
impl<T> Cast for Twhere
T: ObjectType,
source§fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast<T>(self) -> Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
fn upcast_ref<T>(&self) -> &Twhere
T: ObjectType,
Self: IsA<T>,
T
. Read moresource§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 moresource§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 moresource§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 moresource§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 moresource§unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
unsafe fn unsafe_cast<T>(self) -> Twhere
T: ObjectType,
T
unconditionally. Read moresource§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<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>,
source§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>,
source§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>,
source§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>,
source§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>,
source§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>,
source§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>
source§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>
source§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>
source§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>
source§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>
source§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>
source§impl<O> GObjectPropertyExpressionExt for O
impl<O> GObjectPropertyExpressionExt for O
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.source§impl<T> IntoClosureReturnValue for T
impl<T> IntoClosureReturnValue for T
fn into_closure_return_value(self) -> Option<Value>
source§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>)
fn parent_instance_init<T>(instance: &mut InitializingObject<T>)
source§impl<T> ObjectExt for Twhere
T: ObjectType,
impl<T> ObjectExt for Twhere
T: ObjectType,
source§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
.source§fn object_class(&self) -> &Class<Object>
fn object_class(&self) -> &Class<Object>
ObjectClass
of the object. Read moresource§fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
fn class_of<U>(&self) -> Option<&Class<U>>where
U: IsClass,
T
. Read moresource§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 moresource§fn set_property_from_value(&self, property_name: &str, value: &Value)
fn set_property_from_value(&self, property_name: &str, value: &Value)
source§fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
fn set_properties(&self, property_values: &[(&str, &dyn ToValue)])
source§fn set_properties_from_value(&self, property_values: &[(&str, Value)])
fn set_properties_from_value(&self, property_values: &[(&str, Value)])
source§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 moresource§fn property_value(&self, property_name: &str) -> Value
fn property_value(&self, property_name: &str) -> Value
property_name
of the object. Read moresource§fn property_type(&self, property_name: &str) -> Option<Type>
fn property_type(&self, property_name: &str) -> Option<Type>
property_name
of this object. Read moresource§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.source§fn list_properties(&self) -> PtrSlice<ParamSpec>
fn list_properties(&self) -> PtrSlice<ParamSpec>
ParamSpec
of the properties of this object.source§fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
fn freeze_notify(&self) -> PropertyNotificationFreezeGuard
source§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 moresource§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 moresource§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 moresource§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 moresource§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 moresource§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 moresource§fn block_signal(&self, handler_id: &SignalHandlerId)
fn block_signal(&self, handler_id: &SignalHandlerId)
source§fn unblock_signal(&self, handler_id: &SignalHandlerId)
fn unblock_signal(&self, handler_id: &SignalHandlerId)
source§fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
fn stop_signal_emission(&self, signal_id: SignalId, detail: Option<Quark>)
source§fn stop_signal_emission_by_name(&self, signal_name: &str)
fn stop_signal_emission_by_name(&self, signal_name: &str)
source§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 moresource§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 moresource§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 moresource§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 moresource§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 moresource§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 moresource§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 moresource§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 moresource§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.source§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,
source§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.source§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,
source§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>
source§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,
source§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>
source§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,
source§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>
source§fn disconnect(&self, handler_id: SignalHandlerId)
fn disconnect(&self, handler_id: SignalHandlerId)
source§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 moresource§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 moresource§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 moresource§fn notify(&self, property_name: &str)
fn notify(&self, property_name: &str)
source§fn notify_by_pspec(&self, pspec: &ParamSpec)
fn notify_by_pspec(&self, pspec: &ParamSpec)
source§fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
fn add_weak_ref_notify<F>(&self, f: F) -> WeakRefNotify<T>
source§fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + 'static,
fn add_weak_ref_notify_local<F>(&self, f: F) -> WeakRefNotify<T>where
F: FnOnce() + 'static,
source§fn bind_property<'a, 'f, 't, O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str
) -> BindingBuilder<'a, 'f, 't>where
O: ObjectType,
fn bind_property<'a, 'f, 't, O>(
&'a self,
source_property: &'a str,
target: &'a O,
target_property: &'a str
) -> BindingBuilder<'a, 'f, 't>where
O: ObjectType,
source§unsafe fn run_dispose(&self)
unsafe fn run_dispose(&self)
source§impl<T> PropertyGet for Twhere
T: HasParamSpec,
impl<T> PropertyGet for Twhere
T: HasParamSpec,
source§impl<T> StaticTypeExt for Twhere
T: StaticType,
impl<T> StaticTypeExt for Twhere
T: StaticType,
source§fn ensure_type()
fn ensure_type()
source§impl<T> TransparentType for Twhere
T: TransparentPtrType,
impl<T> TransparentType for Twhere
T: TransparentPtrType,
type GlibType = <T as GlibPtrDefault>::GlibType
source§impl<T> TryFromClosureReturnValue for Twhere
T: for<'a> FromValue<'a> + StaticType + 'static,
impl<T> TryFromClosureReturnValue for Twhere
T: for<'a> FromValue<'a> + StaticType + 'static,
source§impl<O> WidgetExt for O
impl<O> WidgetExt for O
source§fn action_set_enabled(&self, action_name: &str, enabled: bool)
fn action_set_enabled(&self, action_name: &str, enabled: bool)
source§fn activate(&self) -> bool
fn activate(&self) -> bool
source§fn activate_action(
&self,
name: &str,
args: Option<&Variant>
) -> Result<(), BoolError>
fn activate_action( &self, name: &str, args: Option<&Variant> ) -> Result<(), BoolError>
source§fn activate_default(&self)
fn activate_default(&self)
default.activate
action from @self.source§fn add_controller(&self, controller: impl IsA<EventController>)
fn add_controller(&self, controller: impl IsA<EventController>)
source§fn add_css_class(&self, css_class: &str)
fn add_css_class(&self, css_class: &str)
source§fn add_mnemonic_label(&self, label: &impl IsA<Widget>)
fn add_mnemonic_label(&self, label: &impl IsA<Widget>)
source§fn child_focus(&self, direction: DirectionType) -> bool
fn child_focus(&self, direction: DirectionType) -> bool
source§fn compute_bounds(&self, target: &impl IsA<Widget>) -> Option<Rect>
fn compute_bounds(&self, target: &impl IsA<Widget>) -> Option<Rect>
source§fn compute_expand(&self, orientation: Orientation) -> bool
fn compute_expand(&self, orientation: Orientation) -> bool
source§fn compute_point(
&self,
target: &impl IsA<Widget>,
point: &Point
) -> Option<Point>
fn compute_point( &self, target: &impl IsA<Widget>, point: &Point ) -> Option<Point>
source§fn compute_transform(&self, target: &impl IsA<Widget>) -> Option<Matrix>
fn compute_transform(&self, target: &impl IsA<Widget>) -> Option<Matrix>
source§fn contains(&self, x: f64, y: f64) -> bool
fn contains(&self, x: f64, y: f64) -> bool
source§fn create_pango_context(&self) -> Context
fn create_pango_context(&self) -> Context
pango::Context
with the appropriate font map,
font options, font description, and base direction for drawing
text for this widget. Read moresource§fn create_pango_layout(&self, text: Option<&str>) -> Layout
fn create_pango_layout(&self, text: Option<&str>) -> Layout
pango::Layout
with the appropriate font map,
font description, and base direction for drawing text for
this widget. Read moresource§fn drag_check_threshold(
&self,
start_x: i32,
start_y: i32,
current_x: i32,
current_y: i32
) -> bool
fn drag_check_threshold( &self, start_x: i32, start_y: i32, current_x: i32, current_y: i32 ) -> bool
source§fn error_bell(&self)
fn error_bell(&self)
source§fn allocated_baseline(&self) -> i32
fn allocated_baseline(&self) -> i32
source§fn allocated_height(&self) -> i32
fn allocated_height(&self) -> i32
source§fn allocated_width(&self) -> i32
fn allocated_width(&self) -> i32
source§fn allocation(&self) -> Allocation
fn allocation(&self) -> Allocation
source§fn ancestor(&self, widget_type: Type) -> Option<Widget>
fn ancestor(&self, widget_type: Type) -> Option<Widget>
source§fn baseline(&self) -> i32
fn baseline(&self) -> i32
v4_12
only.source§fn can_focus(&self) -> bool
fn can_focus(&self) -> bool
source§fn can_target(&self) -> bool
fn can_target(&self) -> bool
source§fn is_child_visible(&self) -> bool
fn is_child_visible(&self) -> bool
source§fn color(&self) -> RGBA
fn color(&self) -> RGBA
v4_10
only.source§fn css_classes(&self) -> Vec<GString>
fn css_classes(&self) -> Vec<GString>
source§fn direction(&self) -> TextDirection
fn direction(&self) -> TextDirection
source§fn display(&self) -> Display
fn display(&self) -> Display
gdk::Display
for the toplevel window associated with
this widget. Read moresource§fn gets_focus_on_click(&self) -> bool
fn gets_focus_on_click(&self) -> bool
source§fn is_focusable(&self) -> bool
fn is_focusable(&self) -> bool
source§fn font_options(&self) -> Option<FontOptions>
fn font_options(&self) -> Option<FontOptions>
cairo::FontOptions
of widget. Read moresource§fn frame_clock(&self) -> Option<FrameClock>
fn frame_clock(&self) -> Option<FrameClock>
source§fn has_tooltip(&self) -> bool
fn has_tooltip(&self) -> bool
has-tooltip
property. Read moresource§fn hexpands(&self) -> bool
fn hexpands(&self) -> bool
source§fn is_hexpand_set(&self) -> bool
fn is_hexpand_set(&self) -> bool
source§fn layout_manager(&self) -> Option<LayoutManager>
fn layout_manager(&self) -> Option<LayoutManager>
source§fn margin_bottom(&self) -> i32
fn margin_bottom(&self) -> i32
source§fn margin_end(&self) -> i32
fn margin_end(&self) -> i32
source§fn margin_start(&self) -> i32
fn margin_start(&self) -> i32
source§fn margin_top(&self) -> i32
fn margin_top(&self) -> i32
source§fn widget_name(&self) -> GString
fn widget_name(&self) -> GString
source§fn pango_context(&self) -> Context
fn pango_context(&self) -> Context
pango::Context
with the appropriate font map, font description,
and base direction for this widget. Read moresource§fn preferred_size(&self) -> (Requisition, Requisition)
fn preferred_size(&self) -> (Requisition, Requisition)
source§fn primary_clipboard(&self) -> Clipboard
fn primary_clipboard(&self) -> Clipboard
source§fn is_realized(&self) -> bool
fn is_realized(&self) -> bool
source§fn receives_default(&self) -> bool
fn receives_default(&self) -> bool
source§fn request_mode(&self) -> SizeRequestMode
fn request_mode(&self) -> SizeRequestMode
source§fn scale_factor(&self) -> i32
fn scale_factor(&self) -> i32
source§fn get_sensitive(&self) -> bool
fn get_sensitive(&self) -> bool
source§fn settings(&self) -> Settings
fn settings(&self) -> Settings
source§fn size(&self, orientation: Orientation) -> i32
fn size(&self, orientation: Orientation) -> i32
source§fn size_request(&self) -> (i32, i32)
fn size_request(&self) -> (i32, i32)
source§fn state_flags(&self) -> StateFlags
fn state_flags(&self) -> StateFlags
source§fn style_context(&self) -> StyleContext
fn style_context(&self) -> StyleContext
source§fn tooltip_markup(&self) -> Option<GString>
fn tooltip_markup(&self) -> Option<GString>
source§fn tooltip_text(&self) -> Option<GString>
fn tooltip_text(&self) -> Option<GString>
source§fn vexpands(&self) -> bool
fn vexpands(&self) -> bool
source§fn is_vexpand_set(&self) -> bool
fn is_vexpand_set(&self) -> bool
source§fn get_visible(&self) -> bool
fn get_visible(&self) -> bool
source§fn grab_focus(&self) -> bool
fn grab_focus(&self) -> bool
source§fn has_css_class(&self, css_class: &str) -> bool
fn has_css_class(&self, css_class: &str) -> bool
source§fn has_default(&self) -> bool
fn has_default(&self) -> bool
source§fn has_visible_focus(&self) -> bool
fn has_visible_focus(&self) -> bool
source§fn in_destruction(&self) -> bool
fn in_destruction(&self) -> bool
source§fn insert_action_group(&self, name: &str, group: Option<&impl IsA<ActionGroup>>)
fn insert_action_group(&self, name: &str, group: Option<&impl IsA<ActionGroup>>)
source§fn insert_after(
&self,
parent: &impl IsA<Widget>,
previous_sibling: Option<&impl IsA<Widget>>
)
fn insert_after( &self, parent: &impl IsA<Widget>, previous_sibling: Option<&impl IsA<Widget>> )
source§fn insert_before(
&self,
parent: &impl IsA<Widget>,
next_sibling: Option<&impl IsA<Widget>>
)
fn insert_before( &self, parent: &impl IsA<Widget>, next_sibling: Option<&impl IsA<Widget>> )
source§fn is_ancestor(&self, ancestor: &impl IsA<Widget>) -> bool
fn is_ancestor(&self, ancestor: &impl IsA<Widget>) -> bool
source§fn is_drawable(&self) -> bool
fn is_drawable(&self) -> bool
source§fn is_focus(&self) -> bool
fn is_focus(&self) -> bool
source§fn is_sensitive(&self) -> bool
fn is_sensitive(&self) -> bool
source§fn is_visible(&self) -> bool
fn is_visible(&self) -> bool
::keynav-failed
signal on the widget. Read moresource§fn list_mnemonic_labels(&self) -> Vec<Widget>
fn list_mnemonic_labels(&self) -> Vec<Widget>
source§fn measure(
&self,
orientation: Orientation,
for_size: i32
) -> (i32, i32, i32, i32)
fn measure( &self, orientation: Orientation, for_size: i32 ) -> (i32, i32, i32, i32)
source§fn mnemonic_activate(&self, group_cycling: bool) -> bool
fn mnemonic_activate(&self, group_cycling: bool) -> bool
source§fn observe_children(&self) -> ListModel
fn observe_children(&self) -> ListModel
GListModel
to track the children of @self. Read moresource§fn observe_controllers(&self) -> ListModel
fn observe_controllers(&self) -> ListModel
source§fn pick(&self, x: f64, y: f64, flags: PickFlags) -> Option<Widget>
fn pick(&self, x: f64, y: f64, flags: PickFlags) -> Option<Widget>
source§fn queue_allocate(&self)
fn queue_allocate(&self)
WidgetImpl::size_allocate()
function. Read moresource§fn queue_draw(&self)
fn queue_draw(&self)
source§fn queue_resize(&self)
fn queue_resize(&self)
source§fn remove_controller(&self, controller: &impl IsA<EventController>)
fn remove_controller(&self, controller: &impl IsA<EventController>)
source§fn remove_css_class(&self, css_class: &str)
fn remove_css_class(&self, css_class: &str)
source§fn remove_mnemonic_label(&self, label: &impl IsA<Widget>)
fn remove_mnemonic_label(&self, label: &impl IsA<Widget>)
source§fn set_can_focus(&self, can_focus: bool)
fn set_can_focus(&self, can_focus: bool)
source§fn set_can_target(&self, can_target: bool)
fn set_can_target(&self, can_target: bool)
source§fn set_child_visible(&self, child_visible: bool)
fn set_child_visible(&self, child_visible: bool)
source§fn set_css_classes(&self, classes: &[&str])
fn set_css_classes(&self, classes: &[&str])
source§fn set_cursor(&self, cursor: Option<&Cursor>)
fn set_cursor(&self, cursor: Option<&Cursor>)
source§fn set_cursor_from_name(&self, name: Option<&str>)
fn set_cursor_from_name(&self, name: Option<&str>)
source§fn set_direction(&self, dir: TextDirection)
fn set_direction(&self, dir: TextDirection)
source§fn set_focus_child(&self, child: Option<&impl IsA<Widget>>)
fn set_focus_child(&self, child: Option<&impl IsA<Widget>>)
source§fn set_focus_on_click(&self, focus_on_click: bool)
fn set_focus_on_click(&self, focus_on_click: bool)
source§fn set_focusable(&self, focusable: bool)
fn set_focusable(&self, focusable: bool)
source§fn set_font_map(&self, font_map: Option<&impl IsA<FontMap>>)
fn set_font_map(&self, font_map: Option<&impl IsA<FontMap>>)
source§fn set_font_options(&self, options: Option<&FontOptions>)
fn set_font_options(&self, options: Option<&FontOptions>)
cairo::FontOptions
used for Pango rendering
in this widget. Read moresource§fn set_halign(&self, align: Align)
fn set_halign(&self, align: Align)
source§fn set_has_tooltip(&self, has_tooltip: bool)
fn set_has_tooltip(&self, has_tooltip: bool)
has-tooltip
property on @self to @has_tooltip. Read moresource§fn set_hexpand(&self, expand: bool)
fn set_hexpand(&self, expand: bool)
source§fn set_hexpand_set(&self, set: bool)
fn set_hexpand_set(&self, set: bool)
source§fn set_layout_manager(&self, layout_manager: Option<impl IsA<LayoutManager>>)
fn set_layout_manager(&self, layout_manager: Option<impl IsA<LayoutManager>>)
source§fn set_margin_bottom(&self, margin: i32)
fn set_margin_bottom(&self, margin: i32)
source§fn set_margin_end(&self, margin: i32)
fn set_margin_end(&self, margin: i32)
source§fn set_margin_start(&self, margin: i32)
fn set_margin_start(&self, margin: i32)
source§fn set_margin_top(&self, margin: i32)
fn set_margin_top(&self, margin: i32)
source§fn set_widget_name(&self, name: &str)
fn set_widget_name(&self, name: &str)
source§fn set_opacity(&self, opacity: f64)
fn set_opacity(&self, opacity: f64)
source§fn set_overflow(&self, overflow: Overflow)
fn set_overflow(&self, overflow: Overflow)
source§fn set_parent(&self, parent: &impl IsA<Widget>)
fn set_parent(&self, parent: &impl IsA<Widget>)
source§fn set_receives_default(&self, receives_default: bool)
fn set_receives_default(&self, receives_default: bool)
source§fn set_sensitive(&self, sensitive: bool)
fn set_sensitive(&self, sensitive: bool)
source§fn set_size_request(&self, width: i32, height: i32)
fn set_size_request(&self, width: i32, height: i32)
source§fn set_state_flags(&self, flags: StateFlags, clear: bool)
fn set_state_flags(&self, flags: StateFlags, clear: bool)
source§fn set_tooltip_markup(&self, markup: Option<&str>)
fn set_tooltip_markup(&self, markup: Option<&str>)
source§fn set_tooltip_text(&self, text: Option<&str>)
fn set_tooltip_text(&self, text: Option<&str>)
source§fn set_valign(&self, align: Align)
fn set_valign(&self, align: Align)
source§fn set_vexpand(&self, expand: bool)
fn set_vexpand(&self, expand: bool)
source§fn set_vexpand_set(&self, set: bool)
fn set_vexpand_set(&self, set: bool)
source§fn set_visible(&self, visible: bool)
fn set_visible(&self, visible: bool)
source§fn should_layout(&self) -> bool
fn should_layout(&self) -> bool
source§fn size_allocate(&self, allocation: &Allocation, baseline: i32)
fn size_allocate(&self, allocation: &Allocation, baseline: i32)
source§fn snapshot_child(
&self,
child: &impl IsA<Widget>,
snapshot: &impl IsA<Snapshot>
)
fn snapshot_child( &self, child: &impl IsA<Widget>, snapshot: &impl IsA<Snapshot> )
source§fn translate_coordinates(
&self,
dest_widget: &impl IsA<Widget>,
src_x: f64,
src_y: f64
) -> Option<(f64, f64)>
fn translate_coordinates( &self, dest_widget: &impl IsA<Widget>, src_x: f64, src_y: f64 ) -> Option<(f64, f64)>
source§fn trigger_tooltip_query(&self)
fn trigger_tooltip_query(&self)
source§fn unrealize(&self)
fn unrealize(&self)
source§fn unset_state_flags(&self, flags: StateFlags)
fn unset_state_flags(&self, flags: StateFlags)
source§fn height_request(&self) -> i32
fn height_request(&self) -> i32
source§fn set_height_request(&self, height_request: i32)
fn set_height_request(&self, height_request: i32)
source§fn width_request(&self) -> i32
fn width_request(&self) -> i32
source§fn set_width_request(&self, width_request: i32)
fn set_width_request(&self, width_request: i32)
source§fn connect_destroy<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_destroy<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
source§fn connect_direction_changed<F: Fn(&Self, TextDirection) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_direction_changed<F: Fn(&Self, TextDirection) + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_hide<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_hide<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
source§fn connect_map<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_map<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
source§fn connect_mnemonic_activate<F: Fn(&Self, bool) -> Propagation + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_mnemonic_activate<F: Fn(&Self, bool) -> Propagation + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_move_focus<F: Fn(&Self, DirectionType) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_move_focus<F: Fn(&Self, DirectionType) + 'static>( &self, f: F ) -> SignalHandlerId
fn emit_move_focus(&self, direction: DirectionType)
source§fn connect_query_tooltip<F: Fn(&Self, i32, i32, bool, &Tooltip) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_query_tooltip<F: Fn(&Self, i32, i32, bool, &Tooltip) -> bool + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_realize<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_realize<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
gdk::Surface
. Read moresource§fn connect_show<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_show<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
source§fn connect_state_flags_changed<F: Fn(&Self, StateFlags) + 'static>(
&self,
f: F
) -> SignalHandlerId
fn connect_state_flags_changed<F: Fn(&Self, StateFlags) + 'static>( &self, f: F ) -> SignalHandlerId
source§fn connect_unmap<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_unmap<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
source§fn connect_unrealize<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
fn connect_unrealize<F: Fn(&Self) + 'static>(&self, f: F) -> SignalHandlerId
gdk::Surface
associated with @widget is destroyed. Read more