Enum i_slint_compiler::langtype::ElementType

source ·
pub enum ElementType {
    Component(Rc<Component>),
    Builtin(Rc<BuiltinElement>),
    Native(Rc<NativeClass>),
    Error,
    Global,
}
Expand description

The base of an element

Variants§

§

Component(Rc<Component>)

The element is based of a component

§

Builtin(Rc<BuiltinElement>)

The element is a builtin element

§

Native(Rc<NativeClass>)

The native type was resolved by the resolve_native_class pass.

§

Error

The base element couldn’t be looked up

§

Global

This should be the base type of the root element of a global component

Implementations§

source§

impl ElementType

source

pub fn lookup_property<'a>(&self, name: &'a str) -> PropertyLookupResult<'a>

source

pub fn property_list(&self) -> Vec<(String, Type)>

List of sub properties valid for the auto completion

source

pub fn accepts_child_element( &self, name: &str, tr: &TypeRegister, ) -> Result<Option<ElementType>, String>

This function looks at the element and checks whether it can have Elements of type name as children. It returns an Error if that is not possible or an Option of the ElementType if it is. The option is unset when the compiler does not know the type well enough to avoid further probing.

source

pub fn lookup_type_for_child_element( &self, name: &str, tr: &TypeRegister, ) -> Result<ElementType, String>

This function looks at the element and checks whether it can have Elements of type name as children. In addition to what accepts_child_element does, this method also probes the type of name. It returns an Error if that is not possible or an ElementType if it is.

source

pub fn lookup_member_function(&self, name: &str) -> Option<BuiltinFunction>

source

pub fn collect_contextual_types( &self, context_restricted_types: &mut HashMap<String, HashSet<String>>, )

source

pub fn as_builtin(&self) -> &BuiltinElement

Assume this is a builtin type, panic if it isn’t

source

pub fn as_native(&self) -> &NativeClass

Assume this is a builtin type, panic if it isn’t

source

pub fn as_component(&self) -> &Rc<Component>

Assume it is a Component, panic if it isn’t

source

pub fn type_name(&self) -> Option<&str>

Returns the Slint type name if applicable (for example Rectangle or MyButton when component MyButton {} is used as MyButton element)

Trait Implementations§

source§

impl Clone for ElementType

source§

fn clone(&self) -> ElementType

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for ElementType

source§

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

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

impl Default for ElementType

source§

fn default() -> Self

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

impl Display for ElementType

source§

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

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

impl PartialEq for ElementType

source§

fn eq(&self, other: &Self) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

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> CloneToUninit for T
where T: Clone,

source§

default unsafe fn clone_to_uninit(&self, dst: *mut T)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T> ToSmolStr for T
where T: Display + ?Sized,

source§

impl<T> ToString for T
where T: Display + ?Sized,

source§

default fn to_string(&self) -> String

Converts the given value to a String. Read more
source§

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

§

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

§

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.