pub trait ModuleT: Downcast {
type Context;
// Required method
fn render(
&mut self,
core: &mut Self::Context,
ctx: &Context,
frame: &mut Frame,
ui: &mut Ui,
);
// Provided methods
fn name(&self) -> Option<&'static str> { ... }
fn modal(&self) -> bool { ... }
fn secure(&self) -> bool { ... }
fn style(&self) -> ModuleStyle { ... }
fn activate(&mut self, _core: &mut Self::Context) { ... }
fn deactivate(&mut self, _core: &mut Self::Context) { ... }
fn main(&mut self, _core: &mut Self::Context) { ... }
fn shutdown(&mut self) { ... }
}Expand description
Trait implemented by a UI module: a self-contained, downcastable unit with lifecycle hooks (activate/deactivate/main/render/shutdown) operating over an associated application context.
Required Associated Types§
Required Methods§
Provided Methods§
Sourcefn name(&self) -> Option<&'static str>
fn name(&self) -> Option<&'static str>
Returns an explicit display name for the module, or None to use the
name derived from its type.
Sourcefn modal(&self) -> bool
fn modal(&self) -> bool
Returns whether the module should be presented modally. Defaults to
false.
Sourcefn secure(&self) -> bool
fn secure(&self) -> bool
Returns whether the module handles sensitive data and should be treated
as secure. Defaults to false.
Sourcefn style(&self) -> ModuleStyle
fn style(&self) -> ModuleStyle
Returns the layout style the module should be rendered with. Defaults to
ModuleStyle::Default.
Sourcefn activate(&mut self, _core: &mut Self::Context)
fn activate(&mut self, _core: &mut Self::Context)
Called when the module becomes the active/focused module.
Sourcefn deactivate(&mut self, _core: &mut Self::Context)
fn deactivate(&mut self, _core: &mut Self::Context)
Called when the module loses focus or is switched away from.
Implementations§
Source§impl<Context> dyn ModuleT<Context = Context>where
Context: Any + 'static,
impl<Context> dyn ModuleT<Context = Context>where
Context: Any + 'static,
Sourcepub fn is<__T: ModuleT<Context = Context>>(&self) -> bool
pub fn is<__T: ModuleT<Context = Context>>(&self) -> bool
Returns true if the trait object wraps an object of type __T.
Sourcepub fn downcast<__T: ModuleT<Context = Context>>(
self: Box<Self>,
) -> Result<Box<__T>, Box<Self>>
pub fn downcast<__T: ModuleT<Context = Context>>( self: Box<Self>, ) -> Result<Box<__T>, Box<Self>>
Returns a boxed object from a boxed trait object if the underlying object is of type
__T. Returns the original boxed trait if it isn’t.
Sourcepub fn downcast_rc<__T: ModuleT<Context = Context>>(
self: Rc<Self>,
) -> Result<Rc<__T>, Rc<Self>>
pub fn downcast_rc<__T: ModuleT<Context = Context>>( self: Rc<Self>, ) -> Result<Rc<__T>, Rc<Self>>
Returns an Rc-ed object from an Rc-ed trait object if the underlying object is of
type __T. Returns the original Rc-ed trait if it isn’t.
Sourcepub fn downcast_ref<__T: ModuleT<Context = Context>>(&self) -> Option<&__T>
pub fn downcast_ref<__T: ModuleT<Context = Context>>(&self) -> Option<&__T>
Returns a reference to the object within the trait object if it is of type __T, or
None if it isn’t.
Sourcepub fn downcast_mut<__T: ModuleT<Context = Context>>(
&mut self,
) -> Option<&mut __T>
pub fn downcast_mut<__T: ModuleT<Context = Context>>( &mut self, ) -> Option<&mut __T>
Returns a mutable reference to the object within the trait object if it is of type
__T, or None if it isn’t.
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".