Struct zng_wgt_style::StyleMix

source ·
pub struct StyleMix<P>(/* private fields */);
Expand description

m Styleable widget mixin.

Widgets that inherit this mix-in have a style_fn property that can be set to a style_fn! that generates properties that are dynamically injected into the widget to alter its appearance.

The style mixin drastically affects the widget build process, only the style_base_fn, style_fn and when condition properties that affects these are instantiated with the widget, all the other properties and intrinsic nodes are instantiated on init, after the style is generated.

Widgets that inherit this mix-in must call style_intrinsic in their own widget_intrinsic, the call is missing the widget will log an error on instantiation and only the style_base_fn will be used. You can use the impl_style_fn! macro to generate the style var and property.

Implementations§

source§

impl<P: WidgetImpl> StyleMix<P>

source

pub fn style_intrinsic( &mut self, style_var: ContextVar<StyleFn>, style_fn: PropertyId, )

Setup the style build.

source§

impl<P> StyleMix<P>

source

pub fn custom_build( wgt: WidgetBuilder, cfg: Option<(ContextVar<StyleFn>, PropertyId)>, ) -> BoxedUiNode

The custom build that is set on intrinsic by the mixin.

source§

impl<P: WidgetImpl> StyleMix<P>

source

pub fn style_base_fn(&self, style: impl IntoVar<StyleFn>)

c Widget’s base style. All other styles set using style_fn are applied over this style.

Is nil by default.

Trait Implementations§

source§

impl<P> Deref for StyleMix<P>

source§

type Target = P

The resulting type after dereferencing.
source§

fn deref(&self) -> &Self::Target

Dereferences the value.
source§

impl<P> DerefMut for StyleMix<P>

source§

fn deref_mut(&mut self) -> &mut Self::Target

Mutably dereferences the value.

Auto Trait Implementations§

§

impl<P> Freeze for StyleMix<P>
where P: Freeze,

§

impl<P> RefUnwindSafe for StyleMix<P>
where P: RefUnwindSafe,

§

impl<P> Send for StyleMix<P>
where P: Send,

§

impl<P> Sync for StyleMix<P>
where P: Sync,

§

impl<P> Unpin for StyleMix<P>
where P: Unpin,

§

impl<P> UnwindSafe for StyleMix<P>
where P: UnwindSafe,

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> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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
§

impl<T> Pointable for T

§

const ALIGN: usize = _

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
source§

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

source§

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

source§

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.
§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
source§

impl<T> StateValue for T
where T: Any + Send + Sync,