Struct Component

Source
pub struct Component {
Show 15 fields pub node: Option<SyntaxNode>, pub id: SmolStr, pub root_element: ElementRc, pub parent_element: Weak<RefCell<Element>>, pub optimized_elements: RefCell<Vec<ElementRc>>, pub root_constraints: RefCell<LayoutConstraints>, pub child_insertion_point: RefCell<Option<ChildrenInsertionPoint>>, pub init_code: RefCell<InitCode>, pub popup_windows: RefCell<Vec<PopupWindow>>, pub timers: RefCell<Vec<Timer>>, pub menu_item_tree: RefCell<Vec<Rc<Component>>>, pub inherits_popup_window: Cell<bool>, pub exported_global_names: RefCell<Vec<ExportedName>>, pub used: Cell<bool>, pub private_properties: RefCell<Vec<(SmolStr, Type)>>,
}
Expand description

A component is a type in the language which can be instantiated, Or is materialized for repeated expression.

Fields§

§node: Option<SyntaxNode>§id: SmolStr§root_element: ElementRc§parent_element: Weak<RefCell<Element>>

The parent element within the parent component if this component represents a repeated element

§optimized_elements: RefCell<Vec<ElementRc>>

List of elements that are not attached to the root anymore because they have been optimized away, but their properties may still be in use

§root_constraints: RefCell<LayoutConstraints>

The layout constraints of the root item

§child_insertion_point: RefCell<Option<ChildrenInsertionPoint>>

When creating this component and inserting “children”, append them to the children of the element pointer to by this field.

§init_code: RefCell<InitCode>§popup_windows: RefCell<Vec<PopupWindow>>§timers: RefCell<Vec<Timer>>§menu_item_tree: RefCell<Vec<Rc<Component>>>§inherits_popup_window: Cell<bool>

This component actually inherits PopupWindow (although that has been changed to a Window by the lower_popups pass)

§exported_global_names: RefCell<Vec<ExportedName>>

The names under which this component should be accessible if it is a global singleton and exported.

§used: Cell<bool>

True if this component is used as a sub-component by at least one other component.

§private_properties: RefCell<Vec<(SmolStr, Type)>>

The list of properties (name and type) declared as private in the component. This is used to issue better error in the generated code if the property is used.

Implementations§

Source§

impl Component

Source

pub fn from_node( node: Component, diag: &mut BuildDiagnostics, tr: &TypeRegister, ) -> Rc<Self>

Source

pub fn is_global(&self) -> bool

This component is a global component introduced with the “global” keyword

Source

pub fn global_aliases(&self) -> Vec<SmolStr>

Returns the names of aliases to global singletons, exactly as specified in the .slint markup (not normalized).

Source

pub fn repeater_count(&self) -> u32

Trait Implementations§

Source§

impl Debug for Component

Source§

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

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

impl Default for Component

Source§

fn default() -> Component

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

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> 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
where F: FnOnce(&Self) -> bool,

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
Source§

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

Source§

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>,

Source§

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<T> ErasedDestructor for T
where T: 'static,