pub struct Element { /* private fields */ }
Expand description

A rendered ElementComponent instance.

Implementations§

source§

impl Element

source

pub fn new() -> Element

Creates a new Element with no children.

source

pub fn from_element_component(part: Box<dyn ElementComponent>) -> Element

Creates a new Element from the given component.

source

pub fn vec_of(self) -> Vec<Element>

Convenience method to construct a Vec<Element> from a single Element.

source

pub fn with<T>(self, component: Component<T>, value: T) -> Element
where T: SupportedValue + Sync + Send + Clone + 'static,

Adds the given component with value to the element.

source

pub fn init<T>(self, component: Component<T>, value: T) -> Element
where T: SupportedValue + Sync + Send + Clone + 'static,

Sets the given component to value on the element during initialization only.

source

pub fn init_default<T>(self, component: Component<T>) -> Element
where T: SupportedValue + Sync + Send + Clone + Default + 'static,

Calls Self::init with the default value for the component’s type.

source

pub fn remove<T>(self, component: Component<T>) -> Element
where T: SupportedValue + Clone,

Removes the given component from the element.

Warning: this only removes components on the current element.

source

pub fn children(self, children: Vec<Element>) -> Element

Sets the children of the element.

source

pub fn spawner<F>(self, handler: F) -> Element
where F: Fn(&mut World, Entity) -> EntityId + Sync + Send + 'static,

Set the function used to spawn the element.

source

pub fn despawner<F>(self, handler: F) -> Element
where F: Fn(&mut World, EntityId) + Sync + Send + 'static,

Set the function used to despawn the element.

source

pub fn on_spawned<F>(self, handler: F) -> Element
where F: Fn(&mut World, EntityId, &str) + Sync + Send + 'static,

Set the callback to call when the element is spawned. The third argument is the instance ID.

source

pub fn on_despawn<F>(self, handler: F) -> Element
where F: Fn(&mut World, EntityId, &str) + Sync + Send + 'static,

Set the callback to call when the element is despawned. The third argument is the instance ID.

source

pub fn key<T>(self, key: T) -> Element
where T: Into<String>,

Set the unique key used to identify this element.

This is used to disambiguate elements with the same type. This should be used when rendering lists of elements.

source

pub fn memoize_subtree(self, memo_key: impl Into<String>) -> Element

Avoid rendering the subtree, except when the memo_key is changed.

source

pub fn has_component(&self, component: impl Into<ComponentDesc>) -> bool

Returns true if the element has the given component.

source

pub fn spawn_tree(self) -> ElementTree

Available on crate feature guest only.

This spawns the elemet tree and returns it. The tree won’t be automatically updated, but can manually be updated by calling the update method.

source

pub fn spawn_interactive(self)

Available on crate feature guest only.

This spawns the element tree and sets up listeners to automatically update it.

This is equivalent to calling Self::spawn_tree and then calling ElementTree::update on the tree each frame.

You may want to update the tree manually if you want to replace the root Element:

let mut tree = Element::new().spawn_tree();
Frame::subscribe(move |_| {
    if some_condition {
        tree.migrate_root(&mut World, App::el(new_properties));
    }
    tree.update(&mut World);
});

Trait Implementations§

source§

impl Clone for Element

source§

fn clone(&self) -> Element

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Element

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result<(), Error>

Formats the value using the given formatter. Read more
source§

impl Default for Element

source§

fn default() -> Element

Returns the “default value” for a type. Read more
source§

impl From<Element> for UIElement

source§

fn from(el: Element) -> UIElement

Converts to this type from the input type.
source§

impl<T> From<T> for Element
where T: ElementComponent + 'static,

source§

fn from(part: T) -> Element

Converts to this type from the input type.
source§

impl StylesExt for Element

source§

fn section_style(self) -> Element

Apply the default style for a section header.
source§

fn header_style(self) -> Element

Apply the default style for a header.
source§

fn small_style(self) -> Element

Apply the default style for a small text.
source§

fn error_text_style(self) -> Element

Apply the default style for an error text.
source§

fn floating_panel(self) -> Element

Apply the default style for a floating panel.
source§

fn panel(self) -> Element

Apply the default style for a panel.
source§

fn keyboard(self) -> Element

A list of items with some space between them.
source§

impl UIExt for Element

source§

fn with_clickarea(self) -> ClickArea

Wraps this element in a ClickArea element.
source§

fn with_background(self, background: Vec4) -> Element

Adds a background color to this element.
source§

fn with_padding_even(self, value: f32) -> Element

Adds padding to all sides of this element.
source§

fn with_margin_even(self, value: f32) -> Element

Adds margin to all sides of this element.

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> AsAny for T
where T: Any,

source§

fn as_any(&self) -> &(dyn Any + 'static)

source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

source§

fn type_name(&self) -> &'static str

Gets the type name of self
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> Downcast for T
where T: AsAny + ?Sized,

source§

fn is<T>(&self) -> bool
where T: AsAny,

Returns true if the boxed type is the same as T. Read more
source§

fn downcast_ref<T>(&self) -> Option<&T>
where T: AsAny,

Forward to the method defined on the type Any.
source§

fn downcast_mut<T>(&mut self) -> Option<&mut T>
where T: AsAny,

Forward to the method defined on the type Any.
source§

impl<T> DynClone for T
where T: Clone,

source§

fn __clone_box(&self, _: Private) -> *mut ()

source§

impl<T> ElementComponentName for T

source§

fn element_component_name(&self) -> &'static str

Returns the name of the type implementing ElementComponent.
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

source§

impl<T> Instrument for T

source§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided Span, returning an Instrumented wrapper. Read more
source§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
source§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

source§

fn vzip(self) -> V

source§

impl<T> WithSubscriber for T

source§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a WithDispatch wrapper. Read more
source§

impl<T> AnyCloneable for T
where T: Clone + Debug + Any + 'static,