Struct i_slint_compiler::object_tree::Component
source · pub struct Component {Show 14 fields
pub node: Option<SyntaxNode>,
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 init_code: RefCell<InitCode>,
pub used_types: RefCell<UsedSubTypes>,
pub popup_windows: RefCell<Vec<PopupWindow>>,
pub exported_global_names: RefCell<Vec<ExportedName>>,
pub private_properties: RefCell<Vec<(String, Type)>>,
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§
§node: Option<SyntaxNode>§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.
init_code: RefCell<InitCode>§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.
private_properties: RefCell<Vec<(String, 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.
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).