pub struct Simulator<'a, Message, Theme = Theme, Renderer = Renderer> { /* private fields */ }Expand description
A user interface that can be interacted with and inspected programmatically.
Implementations§
Source§impl<'a, Message, Theme, Renderer> Simulator<'a, Message, Theme, Renderer>where
    Theme: Base,
    Renderer: Renderer + Headless,
 
impl<'a, Message, Theme, Renderer> Simulator<'a, Message, Theme, Renderer>where
    Theme: Base,
    Renderer: Renderer + Headless,
Sourcepub fn new(element: impl Into<Element<'a, Message, Theme, Renderer>>) -> Self
 
pub fn new(element: impl Into<Element<'a, Message, Theme, Renderer>>) -> Self
Creates a new Simulator with default [Settings] and a default size (1024x768).
Sourcepub fn with_settings(
    settings: Settings,
    element: impl Into<Element<'a, Message, Theme, Renderer>>,
) -> Self
 
pub fn with_settings( settings: Settings, element: impl Into<Element<'a, Message, Theme, Renderer>>, ) -> Self
Creates a new Simulator with the given [Settings] and a default size (1024x768).
Sourcepub fn with_size(
    settings: Settings,
    size: impl Into<Size>,
    element: impl Into<Element<'a, Message, Theme, Renderer>>,
) -> Self
 
pub fn with_size( settings: Settings, size: impl Into<Size>, element: impl Into<Element<'a, Message, Theme, Renderer>>, ) -> Self
Creates a new Simulator with the given [Settings] and size.
Sourcepub fn point_at(&mut self, position: impl Into<Point>)
 
pub fn point_at(&mut self, position: impl Into<Point>)
Points the mouse cursor at the given position in the Simulator.
This does not produce mouse movement events!
Sourcepub fn tap_key(&mut self, key: impl Into<Key>) -> Status
 
pub fn tap_key(&mut self, key: impl Into<Key>) -> Status
Simulates a key press, followed by a release, in the Simulator.
Sourcepub fn typewrite(&mut self, text: &str) -> Status
 
pub fn typewrite(&mut self, text: &str) -> Status
Simulates a user typing in the keyboard the given text in the Simulator.
Sourcepub fn simulate(
    &mut self,
    events: impl IntoIterator<Item = Event>,
) -> Vec<Status>
 
pub fn simulate( &mut self, events: impl IntoIterator<Item = Event>, ) -> Vec<Status>
Simulates the given raw sequence of events in the Simulator.
Sourcepub fn into_messages(
    self,
) -> impl Iterator<Item = Message> + use<Message, Theme, Renderer>
 
pub fn into_messages( self, ) -> impl Iterator<Item = Message> + use<Message, Theme, Renderer>
Turns the Simulator into the sequence of messages produced by any interactions.
Auto Trait Implementations§
impl<'a, Message, Theme, Renderer> Freeze for Simulator<'a, Message, Theme, Renderer>where
    Renderer: Freeze,
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !RefUnwindSafe for Simulator<'a, Message, Theme, Renderer>
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !Send for Simulator<'a, Message, Theme, Renderer>
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !Sync for Simulator<'a, Message, Theme, Renderer>
impl<'a, Message, Theme, Renderer> Unpin for Simulator<'a, Message, Theme, Renderer>
impl<'a, Message, Theme = Theme, Renderer = Renderer<Renderer, Renderer>> !UnwindSafe for Simulator<'a, Message, Theme, Renderer>
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
Mutably borrows from an owned value. Read more
§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>
Convert 
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>
Convert 
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)
Convert 
&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)
Convert 
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§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<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>
Converts 
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>
Converts 
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