pub struct Element {
Show 21 fields pub id: String, pub base_type: ElementType, pub bindings: BindingsMap, pub property_analysis: RefCell<HashMap<String, PropertyAnalysis>>, pub children: Vec<ElementRc>, pub enclosing_component: Weak<Component>, pub property_declarations: BTreeMap<String, PropertyDeclaration>, pub named_references: NamedReferenceContainer, pub repeated: Option<RepeatedElementInfo>, pub states: Vec<State>, pub transitions: Vec<Transition>, pub child_of_layout: bool, pub layout_info_prop: Option<(NamedReference, NamedReference)>, pub accessibility_props: AccessibilityProps, pub is_flickable_viewport: bool, pub has_popup_child: bool, pub item_index: OnceCell<usize>, pub item_index_of_first_children: OnceCell<usize>, pub is_legacy_syntax: bool, pub inline_depth: i32, pub node: Option<Element>,
}
Expand description

An Element is an instantiation of a Component

Fields§

§id: String

The id as named in the original .slint file.

Note that it can only be used for lookup before inlining. After inlining there can be duplicated id in the component. The id are then re-assigned unique id in the assign_id pass

§base_type: ElementType§bindings: BindingsMap

Currently contains also the callbacks. FIXME: should that be changed?

§property_analysis: RefCell<HashMap<String, PropertyAnalysis>>§children: Vec<ElementRc>§enclosing_component: Weak<Component>

The component which contains this element.

§property_declarations: BTreeMap<String, PropertyDeclaration>§named_references: NamedReferenceContainer

Main owner for a reference to a property.

§repeated: Option<RepeatedElementInfo>

This element is part of a for <xxx> in <model>:

§states: Vec<State>§transitions: Vec<Transition>§child_of_layout: bool

true when this item’s geometry is handled by a layout

§layout_info_prop: Option<(NamedReference, NamedReference)>

The property pointing to the layout info. (horizontal, vertical)

§accessibility_props: AccessibilityProps§is_flickable_viewport: bool

true if this Element is the fake Flickable viewport

§has_popup_child: bool

true if this Element may have a popup as child meaning it cannot be optimized because the popup references it.

§item_index: OnceCell<usize>

This is the component-local index of this item in the item tree array. It is generated after the last pass and before the generators run.

§item_index_of_first_children: OnceCell<usize>

the index of the first children in the tree, set with item_index

§is_legacy_syntax: bool

True when this element is in a component was declared with the := symbol instead of the component keyword

§inline_depth: i32

How many times the element was inlined

§node: Option<Element>

The AST node, if available

Implementations§

Return the type of a property in this element or its base, along with the final name, in case the provided name points towards a property alias. Type::Invalid is returned if the property does not exist.

Return the Span of this element in the AST for error reporting

Returns the element’s name as specified in the markup, not normalized.

Return true if the binding is set, either on this element or in a base

If need_explicit is true, then only consider binding set in the code, not the ones set by the compiler later.

Set the property property_name of this Element only if it was not set. the expression_fn will only be called if it isn’t set

returns true if the binding was changed

Trait Implementations§

Formats the value using the given formatter. Read more
Returns the “default value” for a type. Read more

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

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

The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.