i_slint_core

Macro ItemTreeVTable_static

Source
macro_rules! ItemTreeVTable_static {
    ($(#[$meta:meta])* $vis:vis static $ident:ident for $ty:ty) => { ... };
}
Expand description

Instantiate a static ItemTreeVTable for a given type and implements vtable::HasStaticVTable<ItemTreeVTable> for it.

// The preview above is misleading because of rust-lang/rust#45939, so it is reproduced below
macro_rules! ItemTreeVTable_static {
    ($(#[$meta:meta])* $vis:vis static $ident:ident for $ty:ty) => { ... }
}

Given a type MyType that implements the trait ItemTree , create a static variable of type ItemTreeVTable, and implements HasStaticVTable for it.

    struct Foo { ... }
    impl ItemTree for Foo { ... }
    ItemTreeVTable_static!(static FOO_VTABLE for Foo);
    // now VBox::new can be called
    let vbox = VBox::new(Foo{ ... });

Note: Was generated from the #[vtable] macro on ItemTreeVTable