Struct gtk4::ScrolledWindow
source · #[repr(transparent)]pub struct ScrolledWindow { /* private fields */ }
Expand description
ScrolledWindow
is a container that makes its child scrollable.
It does so using either internally added scrollbars or externally associated adjustments, and optionally draws a frame around the child.
Widgets with native scrolling support, i.e. those whose classes implement
the Scrollable
interface, are added directly. For other types
of widget, the class Viewport
acts as an adaptor, giving
scrollability to other widgets. set_child()
intelligently accounts for whether or not the added child is a Scrollable
.
If it isn’t, then it wraps the child in a Viewport
. Therefore, you can
just add any child widget and not worry about the details.
If set_child()
has added a Viewport
for you,
it will be automatically removed when you unset the child.
Unless hscrollbar-policy
and
vscrollbar-policy
are PolicyType::Never
or
PolicyType::External
, ScrolledWindow
adds internal Scrollbar
widgets
around its child. The scroll position of the child, and if applicable the
scrollbars, is controlled by the hadjustment
and vadjustment
that are associated with the
ScrolledWindow
. See the docs on Scrollbar
for the details,
but note that the “step_increment” and “page_increment” fields are only
effective if the policy causes scrollbars to be present.
If a ScrolledWindow
doesn’t behave quite as you would like, or
doesn’t have exactly the right layout, it’s very possible to set up
your own scrolling with Scrollbar
and for example a Grid
.
Touch support
ScrolledWindow
has built-in support for touch devices. When a
touchscreen is used, swiping will move the scrolled window, and will
expose ‘kinetic’ behavior. This can be turned off with the
kinetic-scrolling
property if it is undesired.
ScrolledWindow
also displays visual ‘overshoot’ indication when
the content is pulled beyond the end, and this situation can be
captured with the edge-overshot
signal.
If no mouse device is present, the scrollbars will overlaid as
narrow, auto-hiding indicators over the content. If traditional
scrollbars are desired although no mouse is present, this behaviour
can be turned off with the overlay-scrolling
property.
CSS nodes
ScrolledWindow
has a main CSS node with name scrolledwindow.
It gets a .frame style class added when has-frame
is true
.
It uses subnodes with names overshoot and undershoot to draw the overflow and underflow indications. These nodes get the .left, .right, .top or .bottom style class added depending on where the indication is drawn.
ScrolledWindow
also sets the positional style classes (.left, .right,
.top, .bottom) and style classes related to overlay scrolling
(.overlay-indicator, .dragging, .hovering) on its scrollbars.
If both scrollbars are visible, the area where they meet is drawn with a subnode named junction.
Accessibility
ScrolledWindow
uses the AccessibleRole::Group
role.
Properties
child
The child widget.
Readable | Writeable
hadjustment
Readable | Writeable | Construct
has-frame
Whether to draw a frame around the contents.
Readable | Writeable
hscrollbar-policy
When the horizontal scrollbar is displayed.
Use ScrolledWindow::set_policy()
to set
this property.
Readable | Writeable
kinetic-scrolling
Whether kinetic scrolling is enabled or not.
Kinetic scrolling only applies to devices with source GDK_SOURCE_TOUCHSCREEN
.
Readable | Writeable
max-content-height
The maximum content height of @scrolled_window.
Readable | Writeable
max-content-width
The maximum content width of @scrolled_window.
Readable | Writeable
min-content-height
The minimum content height of @scrolled_window.
Readable | Writeable
min-content-width
The minimum content width of @scrolled_window.
Readable | Writeable
overlay-scrolling
Whether overlay scrolling is enabled or not.
If it is, the scrollbars are only added as traditional widgets when a mouse is present. Otherwise, they are overlaid on top of the content, as narrow indicators.
Note that overlay scrolling can also be globally disabled, with
the gtk-overlay-scrolling
setting.
Readable | Writeable
propagate-natural-height
Whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height.
This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child.
Readable | Writeable
propagate-natural-width
Whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width.
This is useful in cases where an attempt should be made to allocate exactly enough space for the natural size of the child.
Readable | Writeable
vadjustment
Readable | Writeable | Construct
vscrollbar-policy
When the vertical scrollbar is displayed.
Use ScrolledWindow::set_policy()
to set
this property.
Readable | Writeable
window-placement
Where the contents are located with respect to the scrollbars.
Readable | Writeable
Widget
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
edge-overshot
Emitted whenever user initiated scrolling makes the scrolled window firmly surpass the limits defined by the adjustment in that orientation.
A similar behavior without edge resistance is provided by the
edge-reached
signal.
Note: The @pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.
edge-reached
Emitted whenever user-initiated scrolling makes the scrolled window exactly reach the lower or upper limits defined by the adjustment in that orientation.
A similar behavior with edge resistance is provided by the
edge-overshot
signal.
Note: The @pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.
move-focus-out
Emitted when focus is moved away from the scrolled window by a keybinding.
This is a keybinding signal.
The default bindings for this signal are
Ctrl + Tab
to move forward and Ctrl + Shift + Tab
to
move backward.
Action
scroll-child
Emitted when a keybinding that scrolls is pressed.
This is a keybinding signal.
The horizontal or vertical adjustment is updated which triggers a signal that the scrolled window’s child may listen to and scroll itself.
Action
Widget
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.
Action
query-tooltip
Emitted when the widgets 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
, glib::ObjectExt
, AccessibleExt
, BuildableExt
, ConstraintTargetExt
, WidgetExtManual
, AccessibleExtManual
Implementations§
source§impl ScrolledWindow
impl ScrolledWindow
sourcepub fn new() -> ScrolledWindow
pub fn new() -> ScrolledWindow
sourcepub fn builder() -> ScrolledWindowBuilder
pub fn builder() -> ScrolledWindowBuilder
Creates a new builder-pattern struct instance to construct ScrolledWindow
objects.
This method returns an instance of ScrolledWindowBuilder
which can be used to create ScrolledWindow
objects.
sourcepub fn hadjustment(&self) -> Adjustment
pub fn hadjustment(&self) -> Adjustment
Returns the horizontal scrollbar’s adjustment.
This is the adjustment used to connect the horizontal scrollbar to the child widget’s horizontal scroll functionality.
Returns
the horizontal Adjustment
sourcepub fn hscrollbar(&self) -> Widget
pub fn hscrollbar(&self) -> Widget
sourcepub fn is_kinetic_scrolling(&self) -> bool
pub fn is_kinetic_scrolling(&self) -> bool
sourcepub fn max_content_height(&self) -> i32
pub fn max_content_height(&self) -> i32
sourcepub fn max_content_width(&self) -> i32
pub fn max_content_width(&self) -> i32
sourcepub fn min_content_height(&self) -> i32
pub fn min_content_height(&self) -> i32
sourcepub fn min_content_width(&self) -> i32
pub fn min_content_width(&self) -> i32
sourcepub fn is_overlay_scrolling(&self) -> bool
pub fn is_overlay_scrolling(&self) -> bool
sourcepub fn placement(&self) -> CornerType
pub fn placement(&self) -> CornerType
Gets the placement of the contents with respect to the scrollbars.
Returns
the current placement value.
sourcepub fn policy(&self) -> (PolicyType, PolicyType)
pub fn policy(&self) -> (PolicyType, PolicyType)
Retrieves the current policy values for the horizontal and vertical scrollbars.
See set_policy()
.
Returns
hscrollbar_policy
location to store the policy for the horizontal scrollbar
vscrollbar_policy
location to store the policy for the vertical scrollbar
sourcepub fn propagates_natural_height(&self) -> bool
pub fn propagates_natural_height(&self) -> bool
Reports whether the natural height of the child will be calculated and propagated through the scrolled window’s requested natural height.
Returns
whether natural height propagation is enabled.
sourcepub fn propagates_natural_width(&self) -> bool
pub fn propagates_natural_width(&self) -> bool
Reports whether the natural width of the child will be calculated and propagated through the scrolled window’s requested natural width.
Returns
whether natural width propagation is enabled.
sourcepub fn vadjustment(&self) -> Adjustment
pub fn vadjustment(&self) -> Adjustment
Returns the vertical scrollbar’s adjustment.
This is the adjustment used to connect the vertical scrollbar to the child widget’s vertical scroll functionality.
Returns
the vertical Adjustment
sourcepub fn vscrollbar(&self) -> Widget
pub fn vscrollbar(&self) -> Widget
sourcepub fn set_hadjustment(&self, hadjustment: Option<&impl IsA<Adjustment>>)
pub fn set_hadjustment(&self, hadjustment: Option<&impl IsA<Adjustment>>)
Sets the Adjustment
for the horizontal scrollbar.
hadjustment
the Adjustment
to use, or None
to create a new one
sourcepub fn set_has_frame(&self, has_frame: bool)
pub fn set_has_frame(&self, has_frame: bool)
Changes the frame drawn around the contents of @self.
has_frame
whether to draw a frame around scrolled window contents
sourcepub fn set_kinetic_scrolling(&self, kinetic_scrolling: bool)
pub fn set_kinetic_scrolling(&self, kinetic_scrolling: bool)
Turns kinetic scrolling on or off.
Kinetic scrolling only applies to devices with source
GDK_SOURCE_TOUCHSCREEN
.
kinetic_scrolling
true
to enable kinetic scrolling
sourcepub fn set_max_content_height(&self, height: i32)
pub fn set_max_content_height(&self, height: i32)
Sets the maximum height that @self should keep visible.
The @self will grow up to this height before it starts scrolling the content.
It is a programming error to set the maximum content height to a value
smaller than min-content-height
.
height
the maximum content height
sourcepub fn set_max_content_width(&self, width: i32)
pub fn set_max_content_width(&self, width: i32)
Sets the maximum width that @self should keep visible.
The @self will grow up to this width before it starts scrolling the content.
It is a programming error to set the maximum content width to a
value smaller than min-content-width
.
width
the maximum content width
sourcepub fn set_min_content_height(&self, height: i32)
pub fn set_min_content_height(&self, height: i32)
Sets the minimum height that @self should keep visible.
Note that this can and (usually will) be smaller than the minimum size of the content.
It is a programming error to set the minimum content height to a
value greater than max-content-height
.
height
the minimal content height
sourcepub fn set_min_content_width(&self, width: i32)
pub fn set_min_content_width(&self, width: i32)
Sets the minimum width that @self should keep visible.
Note that this can and (usually will) be smaller than the minimum size of the content.
It is a programming error to set the minimum content width to a
value greater than max-content-width
.
width
the minimal content width
sourcepub fn set_overlay_scrolling(&self, overlay_scrolling: bool)
pub fn set_overlay_scrolling(&self, overlay_scrolling: bool)
Enables or disables overlay scrolling for this scrolled window.
overlay_scrolling
whether to enable overlay scrolling
sourcepub fn set_placement(&self, window_placement: CornerType)
pub fn set_placement(&self, window_placement: CornerType)
Sets the placement of the contents with respect to the scrollbars for the scrolled window.
The default is CornerType::TopLeft
, meaning the child is
in the top left, with the scrollbars underneath and to the right.
Other values in CornerType
are CornerType::TopRight
,
CornerType::BottomLeft
, and CornerType::BottomRight
.
See also placement()
and
unset_placement()
.
window_placement
position of the child window
sourcepub fn set_policy(
&self,
hscrollbar_policy: PolicyType,
vscrollbar_policy: PolicyType
)
pub fn set_policy( &self, hscrollbar_policy: PolicyType, vscrollbar_policy: PolicyType )
Sets the scrollbar policy for the horizontal and vertical scrollbars.
The policy determines when the scrollbar should appear; it is a value
from the PolicyType
enumeration. If PolicyType::Always
, the
scrollbar is always present; if PolicyType::Never
, the scrollbar is
never present; if PolicyType::Automatic
, the scrollbar is present only
if needed (that is, if the slider part of the bar would be smaller
than the trough — the display is larger than the page size).
hscrollbar_policy
policy for horizontal bar
vscrollbar_policy
policy for vertical bar
sourcepub fn set_propagate_natural_height(&self, propagate: bool)
pub fn set_propagate_natural_height(&self, propagate: bool)
Sets whether the natural height of the child should be calculated and propagated through the scrolled window’s requested natural height.
propagate
whether to propagate natural height
sourcepub fn set_propagate_natural_width(&self, propagate: bool)
pub fn set_propagate_natural_width(&self, propagate: bool)
Sets whether the natural width of the child should be calculated and propagated through the scrolled window’s requested natural width.
propagate
whether to propagate natural width
sourcepub fn set_vadjustment(&self, vadjustment: Option<&impl IsA<Adjustment>>)
pub fn set_vadjustment(&self, vadjustment: Option<&impl IsA<Adjustment>>)
Sets the Adjustment
for the vertical scrollbar.
vadjustment
the Adjustment
to use, or None
to create a new one
sourcepub fn unset_placement(&self)
pub fn unset_placement(&self)
Unsets the placement of the contents with respect to the scrollbars.
If no window placement is set for a scrolled window,
it defaults to CornerType::TopLeft
.
sourcepub fn hscrollbar_policy(&self) -> PolicyType
pub fn hscrollbar_policy(&self) -> PolicyType
When the horizontal scrollbar is displayed.
Use set_policy()
to set
this property.
sourcepub fn set_hscrollbar_policy(&self, hscrollbar_policy: PolicyType)
pub fn set_hscrollbar_policy(&self, hscrollbar_policy: PolicyType)
When the horizontal scrollbar is displayed.
Use set_policy()
to set
this property.
sourcepub fn vscrollbar_policy(&self) -> PolicyType
pub fn vscrollbar_policy(&self) -> PolicyType
When the vertical scrollbar is displayed.
Use set_policy()
to set
this property.
sourcepub fn set_vscrollbar_policy(&self, vscrollbar_policy: PolicyType)
pub fn set_vscrollbar_policy(&self, vscrollbar_policy: PolicyType)
When the vertical scrollbar is displayed.
Use set_policy()
to set
this property.
sourcepub fn window_placement(&self) -> CornerType
pub fn window_placement(&self) -> CornerType
Where the contents are located with respect to the scrollbars.
sourcepub fn set_window_placement(&self, window_placement: CornerType)
pub fn set_window_placement(&self, window_placement: CornerType)
Where the contents are located with respect to the scrollbars.
sourcepub fn connect_edge_overshot<F: Fn(&Self, PositionType) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_edge_overshot<F: Fn(&Self, PositionType) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted whenever user initiated scrolling makes the scrolled window firmly surpass the limits defined by the adjustment in that orientation.
A similar behavior without edge resistance is provided by the
edge-reached
signal.
Note: The @pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.
pos
edge side that was hit
sourcepub fn connect_edge_reached<F: Fn(&Self, PositionType) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_edge_reached<F: Fn(&Self, PositionType) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted whenever user-initiated scrolling makes the scrolled window exactly reach the lower or upper limits defined by the adjustment in that orientation.
A similar behavior with edge resistance is provided by the
edge-overshot
signal.
Note: The @pos argument is LTR/RTL aware, so callers should be aware too if intending to provide behavior on horizontal edges.
pos
edge side that was reached
sourcepub fn connect_move_focus_out<F: Fn(&Self, DirectionType) + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_move_focus_out<F: Fn(&Self, DirectionType) + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when focus is moved away from the scrolled window by a keybinding.
This is a keybinding signal.
The default bindings for this signal are
Ctrl + Tab
to move forward and Ctrl + Shift + Tab
to
move backward.
direction_type
either DirectionType::TabForward
or
DirectionType::TabBackward
pub fn emit_move_focus_out(&self, direction_type: DirectionType)
sourcepub fn connect_scroll_child<F: Fn(&Self, ScrollType, bool) -> bool + 'static>(
&self,
f: F
) -> SignalHandlerId
pub fn connect_scroll_child<F: Fn(&Self, ScrollType, bool) -> bool + 'static>( &self, f: F ) -> SignalHandlerId
Emitted when a keybinding that scrolls is pressed.
This is a keybinding signal.
The horizontal or vertical adjustment is updated which triggers a signal that the scrolled window’s child may listen to and scroll itself.
scroll
a ScrollType
describing how much to scroll
horizontal
whether the keybinding scrolls the child horizontally or not
pub fn emit_scroll_child(&self, scroll: ScrollType, horizontal: bool) -> bool
pub fn connect_child_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_hadjustment_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_has_frame_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_hscrollbar_policy_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_kinetic_scrolling_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_max_content_height_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_max_content_width_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_min_content_height_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_min_content_width_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_overlay_scrolling_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_propagate_natural_height_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_propagate_natural_width_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_vadjustment_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_vscrollbar_policy_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
pub fn connect_window_placement_notify<F: Fn(&Self) + 'static>( &self, f: F ) -> SignalHandlerId
Trait Implementations§
source§impl Clone for ScrolledWindow
impl Clone for ScrolledWindow
source§impl Debug for ScrolledWindow
impl Debug for ScrolledWindow
source§impl Default for ScrolledWindow
impl Default for ScrolledWindow
source§impl Display for ScrolledWindow
impl Display for ScrolledWindow
source§impl HasParamSpec for ScrolledWindow
impl HasParamSpec for ScrolledWindow
type ParamSpec = ParamSpecObject
§type SetValue = ScrolledWindow
type SetValue = ScrolledWindow
type BuilderFn = fn(_: &str) -> ParamSpecObjectBuilder<'_, ScrolledWindow>
fn param_spec_builder() -> Self::BuilderFn
source§impl Hash for ScrolledWindow
impl Hash for ScrolledWindow
source§impl Ord for ScrolledWindow
impl Ord for ScrolledWindow
source§impl ParentClassIs for ScrolledWindow
impl ParentClassIs for ScrolledWindow
source§impl<OT: ObjectType> PartialEq<OT> for ScrolledWindow
impl<OT: ObjectType> PartialEq<OT> for ScrolledWindow
source§impl<OT: ObjectType> PartialOrd<OT> for ScrolledWindow
impl<OT: ObjectType> PartialOrd<OT> for ScrolledWindow
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 ScrolledWindow
impl StaticType for ScrolledWindow
source§fn static_type() -> Type
fn static_type() -> Type
Self
.impl Eq for ScrolledWindow
impl IsA<Accessible> for ScrolledWindow
impl IsA<Buildable> for ScrolledWindow
impl IsA<ConstraintTarget> for ScrolledWindow
impl IsA<Widget> for ScrolledWindow
Auto Trait Implementations§
impl RefUnwindSafe for ScrolledWindow
impl !Send for ScrolledWindow
impl !Sync for ScrolledWindow
impl Unpin for ScrolledWindow
impl UnwindSafe for ScrolledWindow
Blanket Implementations§
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> 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: CanDowncast<T>,
fn downcast<T>(self) -> Result<T, Self>where T: ObjectType, Self: CanDowncast<T>,
T
. Read moresource§fn downcast_ref<T>(&self) -> Option<&T>where
T: ObjectType,
Self: CanDowncast<T>,
fn downcast_ref<T>(&self) -> Option<&T>where T: ObjectType, Self: CanDowncast<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>,
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>,
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>,
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>,
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>,
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>,
source§impl<T> IntoClosureReturnValue for Twhere
T: Into<Value>,
impl<T> IntoClosureReturnValue for Twhere T: Into<Value>,
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>)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>,
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
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
fn connect<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
signal_name
on this object. Read moresource§fn connect_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
fn connect_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + Send + Sync + 'static,
signal_id
on this object. Read moresource§fn connect_local<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + 'static,
fn connect_local<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,
signal_name
on this object. Read moresource§fn connect_local_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value> + 'static,
fn connect_local_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value> + 'static,
signal_id
on this object. Read moresource§unsafe fn connect_unsafe<F>(
&self,
signal_name: &str,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value>,
unsafe fn connect_unsafe<F>( &self, signal_name: &str, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,
signal_name
on this object. Read moresource§unsafe fn connect_unsafe_id<F>(
&self,
signal_id: SignalId,
details: Option<Quark>,
after: bool,
callback: F
) -> SignalHandlerIdwhere
F: Fn(&[Value]) -> Option<Value>,
unsafe fn connect_unsafe_id<F>( &self, signal_id: SignalId, details: Option<Quark>, after: bool, callback: F ) -> SignalHandlerIdwhere F: Fn(&[Value]) -> Option<Value>,
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) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec) + Send + Sync + 'static,
fn connect_notify<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + Send + Sync + 'static,
notify
signal of the object. Read moresource§fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec) + 'static,
fn connect_notify_local<F>(&self, name: Option<&str>, f: F) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec) + 'static,
notify
signal of the object. Read moresource§unsafe fn connect_notify_unsafe<F>(
&self,
name: Option<&str>,
f: F
) -> SignalHandlerIdwhere
F: Fn(&T, &ParamSpec),
unsafe fn connect_notify_unsafe<F>( &self, name: Option<&str>, f: F ) -> SignalHandlerIdwhere F: Fn(&T, &ParamSpec),
notify
signal of the object. Read more