Struct Shell
pub struct Shell<'a, Message> { /* private fields */ }
advanced
only.Expand description
Implementations§
§impl<'a, Message> Shell<'a, Message>
impl<'a, Message> Shell<'a, Message>
pub fn new(messages: &'a mut Vec<Message>) -> Shell<'a, Message>
pub fn new(messages: &'a mut Vec<Message>) -> Shell<'a, Message>
Creates a new Shell
with the provided buffer of messages.
pub fn publish(&mut self, message: Message)
pub fn publish(&mut self, message: Message)
Publish the given Message
for an application to process it.
pub fn capture_event(&mut self)
pub fn capture_event(&mut self)
Marks the current event as captured. Prevents “event bubbling”.
A widget should capture an event when no ancestor should handle it.
pub fn event_status(&self) -> Status
pub fn event_status(&self) -> Status
Returns the current event::Status
of the Shell
.
pub fn is_event_captured(&self) -> bool
pub fn is_event_captured(&self) -> bool
Returns whether the current event has been captured.
pub fn request_redraw(&mut self)
pub fn request_redraw(&mut self)
Requests a new frame to be drawn as soon as possible.
pub fn request_redraw_at(&mut self, redraw_request: impl Into<RedrawRequest>)
pub fn request_redraw_at(&mut self, redraw_request: impl Into<RedrawRequest>)
Requests a new frame to be drawn at the given window::RedrawRequest
.
pub fn redraw_request(&self) -> RedrawRequest
pub fn redraw_request(&self) -> RedrawRequest
Returns the request a redraw should happen, if any.
pub fn replace_redraw_request(
shell: &mut Shell<'a, Message>,
redraw_request: RedrawRequest,
)
pub fn replace_redraw_request( shell: &mut Shell<'a, Message>, redraw_request: RedrawRequest, )
Replaces the redraw request of the Shell
; without conflict resolution.
This is useful if you want to overwrite the redraw request to a previous value. Since it’s a fairly advanced use case and should rarely be used, it is a static method.
pub fn request_input_method<T>(&mut self, ime: &InputMethod<T>)
pub fn request_input_method<T>(&mut self, ime: &InputMethod<T>)
Requests the current [InputMethod
] strategy.
Important: This request will only be honored by the
Shell
only during a window::Event::RedrawRequested
.
pub fn input_method(&self) -> &InputMethod
pub fn input_method(&self) -> &InputMethod
Returns the current [InputMethod
] strategy.
pub fn input_method_mut(&mut self) -> &mut InputMethod
pub fn input_method_mut(&mut self) -> &mut InputMethod
Returns the current [InputMethod
] strategy.
pub fn is_layout_invalid(&self) -> bool
pub fn is_layout_invalid(&self) -> bool
Returns whether the current layout is invalid or not.
pub fn invalidate_layout(&mut self)
pub fn invalidate_layout(&mut self)
Invalidates the current application layout.
The shell will relayout the application widgets.
pub fn revalidate_layout(&mut self, f: impl FnOnce())
pub fn revalidate_layout(&mut self, f: impl FnOnce())
Triggers the given function if the layout is invalid, cleaning it in the process.
pub fn are_widgets_invalid(&self) -> bool
pub fn are_widgets_invalid(&self) -> bool
Returns whether the widgets of the current application have been invalidated.
pub fn invalidate_widgets(&mut self)
pub fn invalidate_widgets(&mut self)
Invalidates the current application widgets.
The shell will rebuild and relayout the widget tree.
Trait Implementations§
Auto Trait Implementations§
impl<'a, Message> Freeze for Shell<'a, Message>
impl<'a, Message> RefUnwindSafe for Shell<'a, Message>where
Message: RefUnwindSafe,
impl<'a, Message> Send for Shell<'a, Message>where
Message: Send,
impl<'a, Message> Sync for Shell<'a, Message>where
Message: Sync,
impl<'a, Message> Unpin for Shell<'a, Message>
impl<'a, Message> !UnwindSafe for Shell<'a, Message>
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
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<State, Message> IntoBoot<State, Message> for State
impl<State, Message> IntoBoot<State, Message> for State
Source§fn into_boot(self) -> (State, Task<Message>)
fn into_boot(self) -> (State, Task<Message>)
Application
.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 more