Struct sixtyfps_compilerlib::object_tree::Component [−][src]
pub struct Component { 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, usize>>, pub root_constraints: RefCell<LayoutConstraints>, pub child_insertion_point: RefCell<Option<(ElementRc, ChildrenPlaceholder)>>, pub setup_code: RefCell<Vec<Expression>>, pub used_global: RefCell<Vec<Rc<Component>>>, pub used_structs: RefCell<Vec<Type>>, pub popup_windows: RefCell<Vec<PopupWindow>>, }
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, usize>>
Map of resources that should be embedded in the generated code, indexed by their absolute path on disk on the build system and valued by a unique integer id, that can be used by the generator for symbol generation.
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.
setup_code: RefCell<Vec<Expression>>
Code to be inserted into the constructor
used_global: RefCell<Vec<Rc<Component>>>
All the globals used by this component and its children. FIXME: can we have cycle?
used_structs: RefCell<Vec<Type>>
popup_windows: RefCell<Vec<PopupWindow>>
Implementations
Trait Implementations
Auto Trait Implementations
impl !RefUnwindSafe for Component
impl !UnwindSafe for Component