pub struct Window<Data: 'static> { /* private fields */ }Expand description
The window widget
This widget is the root of any UI tree used as a window. It manages window decorations.
§Messages
kas::messages::SetWindowTitle may be used to set the title.
kas::messages::SetWindowIcon may be used to set the icon.
Implementations§
Source§impl<Data: 'static> Window<Data>
impl<Data: 'static> Window<Data>
Sourcepub fn new(ui: impl Widget<Data = Data> + 'static, title: impl ToString) -> Self
pub fn new(ui: impl Widget<Data = Data> + 'static, title: impl ToString) -> Self
Construct a window with a W: Widget and a title
Sourcepub fn new_boxed(ui: Box<dyn Widget<Data = Data>>, title: impl ToString) -> Self
pub fn new_boxed(ui: Box<dyn Widget<Data = Data>>, title: impl ToString) -> Self
Construct a window from a boxed ui widget and a title
Sourcepub fn with_icon(self, icon: impl Into<Option<Icon>>) -> Self
pub fn with_icon(self, icon: impl Into<Option<Icon>>) -> Self
Set the window’s icon (inline)
Default: None
Sourcepub fn decorations(&self) -> Decorations
pub fn decorations(&self) -> Decorations
Get the preference for window decorations
Sourcepub fn with_decorations(self, decorations: Decorations) -> Self
pub fn with_decorations(self, decorations: Decorations) -> Self
Set the preference for window decorations
“Windowing” platforms (i.e. not mobile or web) usually include a title-bar, icons and potentially side borders. These are known as decorations.
This controls the preferred type of decorations. The resulting behaviour is platform-dependent.
Default: Decorations::Server.
Sourcepub fn restrictions(&self) -> (bool, bool)
pub fn restrictions(&self) -> (bool, bool)
Get window resizing restrictions: (restrict_min, restrict_max)
Sourcepub fn with_restrictions(self, restrict_min: bool, restrict_max: bool) -> Self
pub fn with_restrictions(self, restrict_min: bool, restrict_max: bool) -> Self
Whether to limit the maximum size of a window
All widgets’ size rules allow calculation of two sizes: the minimum size and the ideal size. Windows are initially sized to the ideal size.
If restrict_min, the window may not be sized below the minimum size.
Default value: true.
If restrict_max, the window may not be sized above the ideal size.
Default value: false.
Sourcepub fn drag_anywhere(&self) -> bool
pub fn drag_anywhere(&self) -> bool
Get “drag anywhere” state
Sourcepub fn with_drag_anywhere(self, drag_anywhere: bool) -> Self
pub fn with_drag_anywhere(self, drag_anywhere: bool) -> Self
Whether to allow dragging the window from the background
If true, then any unhandled click+drag in the window may be used to
drag the window on supported platforms. Default value: true.
Sourcepub fn transparent(&self) -> bool
pub fn transparent(&self) -> bool
Get whether this window should use transparent rendering
Sourcepub fn with_transparent(self, transparent: bool) -> Self
pub fn with_transparent(self, transparent: bool) -> Self
Whether the window supports transparency
If true, painting with alpha < 1.0 makes the background visible.
Additionally, window draw targets are cleared to transparent. This does
not stop theme elements from drawing a solid background.
Note: results may vary by platform. Current output does not use pre-multiplied alpha which some platforms expect, thus pixels with partial transparency may have incorrect appearance.
Default: false.
Sourcepub fn with_alt_bypass(self) -> Self
pub fn with_alt_bypass(self) -> Self
Enable Alt bypass
Access keys usually require that Alt be held. This method allows access keys to be activated without holding Alt.
Disable navigation focus
Usually, widgets may be focussed and this focus may be navigated using the Tab key. This method prevents widgets from gaining focus.
Trait Implementations§
Source§impl<Data: 'static> Events for Window<Data>
impl<Data: 'static> Events for Window<Data>
Source§fn handle_event(
&mut self,
cx: &mut EventCx<'_>,
_: &Self::Data,
event: Event<'_>,
) -> IsUsed
fn handle_event( &mut self, cx: &mut EventCx<'_>, _: &Self::Data, event: Event<'_>, ) -> IsUsed
Source§fn handle_messages(&mut self, cx: &mut EventCx<'_>, _: &Self::Data)
fn handle_messages(&mut self, cx: &mut EventCx<'_>, _: &Self::Data)
Source§fn handle_scroll(&mut self, cx: &mut EventCx<'_>, data: &Data, _: Scroll)
fn handle_scroll(&mut self, cx: &mut EventCx<'_>, data: &Data, _: Scroll)
Source§const REDRAW_ON_MOUSE_OVER: bool = false
const REDRAW_ON_MOUSE_OVER: bool = false
Source§fn mouse_over_icon(&self) -> Option<CursorIcon>
fn mouse_over_icon(&self) -> Option<CursorIcon>
Source§fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
Source§fn update(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn update(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
Source§impl<Data: 'static> Layout for Window<Data>
impl<Data: 'static> Layout for Window<Data>
Source§impl<Data: 'static> Tile for Window<Data>
impl<Data: 'static> Tile for Window<Data>
Source§fn get_child(&self, index: usize) -> Option<&dyn Tile>
fn get_child(&self, index: usize) -> Option<&dyn Tile>
dyn Tile, if available Read moreSource§fn child_indices(&self) -> ChildIndices
fn child_indices(&self) -> ChildIndices
Source§fn role_child_properties(&self, cx: &mut dyn RoleCx, index: usize)
fn role_child_properties(&self, cx: &mut dyn RoleCx, index: usize)
index Read moreAuto Trait Implementations§
impl<Data> Freeze for Window<Data>
impl<Data> !RefUnwindSafe for Window<Data>
impl<Data> !Send for Window<Data>
impl<Data> !Sync for Window<Data>
impl<Data> Unpin for Window<Data>
impl<Data> !UnwindSafe for Window<Data>
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
Source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
Source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
Source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
Source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<W> TileExt for W
impl<W> TileExt for W
Source§fn is_strict_ancestor_of(&self, id: &Id) -> bool
fn is_strict_ancestor_of(&self, id: &Id) -> bool
id is not self and is a descendant Read more