Struct i_slint_compiler::object_tree::Component
source · pub struct Component {Show 13 fields
pub id: String,
pub root_element: ElementRc,
pub parent_element: Weak<RefCell<Element>>,
pub optimized_elements: RefCell<Vec<ElementRc>>,
pub embedded_file_resources: RefCell<HashMap<String, EmbeddedResources>>,
pub root_constraints: RefCell<LayoutConstraints>,
pub child_insertion_point: RefCell<Option<(ElementRc, ChildrenPlaceholder)>>,
pub inlined_init_code: RefCell<BTreeMap<usize, Expression>>,
pub init_code: RefCell<Vec<Expression>>,
pub used_types: RefCell<UsedSubTypes>,
pub popup_windows: RefCell<Vec<PopupWindow>>,
pub exported_global_names: RefCell<Vec<ExportedName>>,
pub is_root_component: Cell<bool>,
}
Expand description
A component is a type in the language which can be instantiated, Or is materialized for repeated expression.
Fields§
§id: String
§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
embedded_file_resources: RefCell<HashMap<String, EmbeddedResources>>
Map of resources that should be embedded in the generated code, indexed by their absolute path on disk on the build system
root_constraints: RefCell<LayoutConstraints>
The layout constraints of the root item
child_insertion_point: RefCell<Option<(ElementRc, ChildrenPlaceholder)>>
When creating this component and inserting “children”, append them to the children of the element pointer to by this field.
inlined_init_code: RefCell<BTreeMap<usize, Expression>>
Code inserted from inlined components, ordered by offset of the place where it was inlined from. This way we can preserve the order across multiple inlining passes.
init_code: RefCell<Vec<Expression>>
Code to be inserted into the constructor, such as font registration, focus setting or init callback code collected from elements.
used_types: RefCell<UsedSubTypes>
The list of used extra types used (recursively) by this root component. (This only make sense on the root component)
popup_windows: RefCell<Vec<PopupWindow>>
§exported_global_names: RefCell<Vec<ExportedName>>
The names under which this component should be accessible if it is a global singleton and exported.
is_root_component: Cell<bool>
This is the main entry point for the code generators. Such a component should have the full API, etc.
Implementations§
source§impl Component
impl Component
pub fn from_node(
node: Component,
diag: &mut BuildDiagnostics,
tr: &TypeRegister
) -> Rc<Self>
sourcepub fn is_global(&self) -> bool
pub fn is_global(&self) -> bool
This component is a global component introduced with the “global” keyword
pub fn visible_in_public_api(&self) -> bool
sourcepub fn global_aliases(&self) -> Vec<String> ⓘ
pub fn global_aliases(&self) -> Vec<String> ⓘ
Returns the names of aliases to global singletons, exactly as specified in the .slint markup (not normalized).