pub enum Value<T> {
Constant(T),
Dynamic(Dynamic<T>),
}Expand description
A value that may be either constant or dynamic.
Variants§
Constant(T)
A value that will not ever change externally.
Dynamic(Dynamic<T>)
A value that may be updated externally.
Implementations§
source§impl<T> Value<T>
impl<T> Value<T>
sourcepub fn dynamic(value: T) -> Self
pub fn dynamic(value: T) -> Self
Returns a Value::Dynamic containing value.
sourcepub fn map<R>(&self, map: impl FnOnce(&T) -> R) -> R
pub fn map<R>(&self, map: impl FnOnce(&T) -> R) -> R
Maps the current contents to map and returns the result.
sourcepub fn map_tracking_redraw<R>(
&self,
context: &WidgetContext<'_, '_>,
map: impl FnOnce(&T) -> R
) -> R
pub fn map_tracking_redraw<R>( &self, context: &WidgetContext<'_, '_>, map: impl FnOnce(&T) -> R ) -> R
Maps the current contents to map and returns the result.
If self is a dynamic, context will be invalidated when the value is
updated.
sourcepub fn map_tracking_invalidate<R>(
&self,
context: &WidgetContext<'_, '_>,
map: impl FnOnce(&T) -> R
) -> R
pub fn map_tracking_invalidate<R>( &self, context: &WidgetContext<'_, '_>, map: impl FnOnce(&T) -> R ) -> R
Maps the current contents to map and returns the result.
If self is a dynamic, context will be invalidated when the value is
updated.
sourcepub fn map_mut<R>(&mut self, map: impl FnOnce(&mut T) -> R) -> R
pub fn map_mut<R>(&mut self, map: impl FnOnce(&mut T) -> R) -> R
Maps the current contents with exclusive access and returns the result.
sourcepub fn map_each<R, F>(&self, map: F) -> Value<R>
pub fn map_each<R, F>(&self, map: F) -> Value<R>
Returns a new value that is updated using U::from(T.clone()) each time
self is updated.
sourcepub fn get_tracking_redraw(&self, context: &WidgetContext<'_, '_>) -> Twhere
T: Clone,
pub fn get_tracking_redraw(&self, context: &WidgetContext<'_, '_>) -> Twhere
T: Clone,
Returns a clone of the currently stored value.
If self is a dynamic, context will be refreshed when the value is
updated.
sourcepub fn get_tracking_invalidate(&self, context: &WidgetContext<'_, '_>) -> Twhere
T: Clone,
pub fn get_tracking_invalidate(&self, context: &WidgetContext<'_, '_>) -> Twhere
T: Clone,
Returns a clone of the currently stored value.
If self is a dynamic, context will be invalidated when the value is
updated.
sourcepub fn generation(&self) -> Option<Generation>
pub fn generation(&self) -> Option<Generation>
Returns the current generation of the data stored, if the contained
value is Dynamic.
sourcepub fn redraw_when_changed(&self, context: &WidgetContext<'_, '_>)
pub fn redraw_when_changed(&self, context: &WidgetContext<'_, '_>)
Marks the widget for redraw when this value is updated.
This function has no effect if the value is constant.
sourcepub fn invalidate_when_changed(&self, context: &WidgetContext<'_, '_>)
pub fn invalidate_when_changed(&self, context: &WidgetContext<'_, '_>)
Marks the widget for redraw when this value is updated.
This function has no effect if the value is constant.
Trait Implementations§
source§impl<T> IntoComponentValue for Value<T>
impl<T> IntoComponentValue for Value<T>
source§fn into_component_value(self) -> Value<Component>
fn into_component_value(self) -> Value<Component>
self stored in a component value.source§impl<T> IntoDynamic<T> for Value<T>
impl<T> IntoDynamic<T> for Value<T>
source§fn into_dynamic(self) -> Dynamic<T>
fn into_dynamic(self) -> Dynamic<T>
self as a dynamic.source§impl<T> IntoValue<T> for Value<T>
impl<T> IntoValue<T> for Value<T>
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value.source§impl MakeWidgetWithTag for Value<String>
impl MakeWidgetWithTag for Value<String>
source§fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
fn make_with_tag(self, id: WidgetTag) -> WidgetInstance
Auto Trait Implementations§
impl<T> RefUnwindSafe for Value<T>where
T: RefUnwindSafe,
impl<T> Send for Value<T>where
T: Send,
impl<T> Sync for Value<T>
impl<T> Unpin for Value<T>where
T: Unpin,
impl<T> UnwindSafe for Value<T>where
T: UnwindSafe,
Blanket Implementations§
source§impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
impl<S, D, Swp, Dwp, T> AdaptInto<D, Swp, Dwp, T> for Swhere
T: Real + Zero + Arithmetics + Clone,
Swp: WhitePoint<T>,
Dwp: WhitePoint<T>,
D: AdaptFrom<S, Swp, Dwp, T>,
source§fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
fn adapt_into_using<M>(self, method: M) -> Dwhere
M: TransformMatrix<T>,
source§fn adapt_into(self) -> D
fn adapt_into(self) -> D
source§impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
impl<T, C> ArraysFrom<C> for Twhere
C: IntoArrays<T>,
source§fn arrays_from(colors: C) -> T
fn arrays_from(colors: C) -> T
source§impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
impl<T, C> ArraysInto<C> for Twhere
C: FromArrays<T>,
source§fn arrays_into(self) -> C
fn arrays_into(self) -> C
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
source§impl<T> Checkable for Twhere
T: IntoDynamic<CheckboxState>,
impl<T> Checkable for Twhere
T: IntoDynamic<CheckboxState>,
source§fn into_checkbox(self, label: impl MakeWidget) -> Checkbox
fn into_checkbox(self, label: impl MakeWidget) -> Checkbox
self as the value and label.source§impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
impl<T, C> ComponentsFrom<C> for Twhere
C: IntoComponents<T>,
source§fn components_from(colors: C) -> T
fn components_from(colors: C) -> T
§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
§fn into_any(self: Box<T>) -> Box<dyn Any>
fn into_any(self: Box<T>) -> Box<dyn Any>
Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can
then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.§fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>
Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be
further downcast into Rc<ConcreteType> where ConcreteType implements Trait.§fn as_any(&self) -> &(dyn Any + 'static)
fn as_any(&self) -> &(dyn Any + 'static)
&Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &Any’s vtable from &Trait’s.§fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
&mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot
generate &mut Any’s vtable from &mut Trait’s.§impl<T> DowncastSync for T
impl<T> DowncastSync for T
source§impl<T> FromAngle<T> for T
impl<T> FromAngle<T> for T
source§fn from_angle(angle: T) -> T
fn from_angle(angle: T) -> T
angle.source§impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
impl<T, U> FromStimulus<U> for Twhere
U: IntoStimulus<T>,
source§fn from_stimulus(other: U) -> T
fn from_stimulus(other: U) -> T
other into Self, while performing the appropriate scaling,
rounding and clamping.source§impl<T> InputValue<Cow<'static, str>> for T
impl<T> InputValue<Cow<'static, str>> for T
source§fn into_input(self) -> Input<Storage>
fn into_input(self) -> Input<Storage>
source§impl<T> InputValue<CowString> for Twhere
T: IntoDynamic<CowString>,
impl<T> InputValue<CowString> for Twhere
T: IntoDynamic<CowString>,
source§fn into_input(self) -> Input<Storage>
fn into_input(self) -> Input<Storage>
source§impl<T> InputValue<MaskedString> for Twhere
T: IntoDynamic<MaskedString>,
impl<T> InputValue<MaskedString> for Twhere
T: IntoDynamic<MaskedString>,
source§fn into_input(self) -> Input<Storage>
fn into_input(self) -> Input<Storage>
source§impl<T> InputValue<String> for Twhere
T: IntoDynamic<String>,
impl<T> InputValue<String> for Twhere
T: IntoDynamic<String>,
source§fn into_input(self) -> Input<Storage>
fn into_input(self) -> Input<Storage>
source§impl<T> Instrument for T
impl<T> Instrument for T
source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
impl<T, U> IntoAngle<U> for Twhere
U: FromAngle<T>,
source§fn into_angle(self) -> U
fn into_angle(self) -> U
T.source§impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
impl<T, U> IntoColor<U> for Twhere
U: FromColor<T>,
source§fn into_color(self) -> U
fn into_color(self) -> U
source§impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
impl<T, U> IntoColorUnclamped<U> for Twhere
U: FromColorUnclamped<T>,
source§fn into_color_unclamped(self) -> U
fn into_color_unclamped(self) -> U
source§impl<T> IntoStimulus<T> for T
impl<T> IntoStimulus<T> for T
source§fn into_stimulus(self) -> T
fn into_stimulus(self) -> T
self into T, while performing the appropriate scaling,
rounding and clamping.source§impl<T> IntoStoredComponent for Twhere
T: IntoComponentValue,
impl<T> IntoStoredComponent for Twhere
T: IntoComponentValue,
source§fn into_stored_component(self) -> StoredComponent
fn into_stored_component(self) -> StoredComponent
source§impl<T> IntoValue<T> for T
impl<T> IntoValue<T> for T
source§fn into_value(self) -> Value<T>
fn into_value(self) -> Value<T>
Value.source§impl<T> MakeWidget for Twhere
T: MakeWidgetWithTag,
impl<T> MakeWidget for Twhere
T: MakeWidgetWithTag,
source§fn make_widget(self) -> WidgetInstance
fn make_widget(self) -> WidgetInstance
source§fn into_window(self) -> Window<WidgetInstance>
fn into_window(self) -> Window<WidgetInstance>
self as the root widget.source§fn with_styles(self, styles: impl IntoValue<Styles>) -> Stylewhere
Self: Sized,
fn with_styles(self, styles: impl IntoValue<Styles>) -> Stylewhere
Self: Sized,
styles with this widget. Read moresource§fn with<C: ComponentDefinition>(
self,
name: &C,
component: impl IntoValue<C::ComponentType>
) -> Style
fn with<C: ComponentDefinition>( self, name: &C, component: impl IntoValue<C::ComponentType> ) -> Style
self.source§fn with_dynamic<C: ComponentDefinition>(
self,
name: &C,
dynamic: impl IntoDynamicComponentValue
) -> Style
fn with_dynamic<C: ComponentDefinition>( self, name: &C, dynamic: impl IntoDynamicComponentValue ) -> Style
self, resolving its value using
dynamic at runtime.source§fn xxxx_large(self) -> Style
fn xxxx_large(self) -> Style
self with the largest text size.source§fn default_size(self) -> Style
fn default_size(self) -> Style
self with the third smallest text size.source§fn with_next_focus(
self,
next_focus: impl IntoValue<Option<WidgetId>>
) -> WidgetInstance
fn with_next_focus( self, next_focus: impl IntoValue<Option<WidgetId>> ) -> WidgetInstance
source§fn with_enabled(self, enabled: impl IntoValue<bool>) -> WidgetInstance
fn with_enabled(self, enabled: impl IntoValue<bool>) -> WidgetInstance
enabled and returns
self. Read moresource§fn into_default(self) -> WidgetInstance
fn into_default(self) -> WidgetInstance
source§fn into_escape(self) -> WidgetInstance
fn into_escape(self) -> WidgetInstance
source§fn and(self, other: impl MakeWidget) -> Children
fn and(self, other: impl MakeWidget) -> Children
self and other.source§fn expand_weighted(self, weight: u8) -> Expand
fn expand_weighted(self, weight: u8) -> Expand
self to grow to fill its parent proportionally with other
weighted siblings.source§fn expand_horizontally(self) -> Expand
fn expand_horizontally(self) -> Expand
self to grow to fill its parent horizontally.source§fn expand_vertically(self) -> Expand
fn expand_vertically(self) -> Expand
self to grow to fill its parent vertically.source§fn into_checkbox(self, value: impl IntoDynamic<CheckboxState>) -> Checkbox
fn into_checkbox(self, value: impl IntoDynamic<CheckboxState>) -> Checkbox
source§fn align_left(self) -> Align
fn align_left(self) -> Align
self to the left.source§fn align_right(self) -> Align
fn align_right(self) -> Align
self to the right.source§fn align_bottom(self) -> Align
fn align_bottom(self) -> Align
self to the bottom.source§fn fit_horizontally(self) -> Align
fn fit_horizontally(self) -> Align
self horizontally within its parent.source§fn fit_vertically(self) -> Align
fn fit_vertically(self) -> Align
self vertically within its parent.source§fn vertical_scroll(self) -> Scroll
fn vertical_scroll(self) -> Scroll
self vertically.source§fn horizontal_scroll(self) -> Scroll
fn horizontal_scroll(self) -> Scroll
self horizontally.source§fn widget_ref(self) -> WidgetRef
fn widget_ref(self) -> WidgetRef
WidgetRef for use as child widget.source§fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
fn contain_level(self, level: impl IntoValue<ContainerLevel>) -> Container
self in a Container with the specified level.source§fn background_color(self, color: impl IntoValue<Color>) -> Container
fn background_color(self, color: impl IntoValue<Color>) -> Container
color behind self.source§fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Container
fn pad_by(self, padding: impl IntoValue<Edges<Dimension>>) -> Container
self with the specified padding.source§fn themed(self, theme: impl IntoValue<ThemePair>) -> Themed
fn themed(self, theme: impl IntoValue<ThemePair>) -> Themed
theme to self and its children.source§fn themed_mode(self, mode: impl IntoValue<ThemeMode>) -> ThemedMode
fn themed_mode(self, mode: impl IntoValue<ThemeMode>) -> ThemedMode
mode to self and its children.source§fn collapse_horizontally(
self,
collapse_when: impl IntoDynamic<bool>
) -> Collapse
fn collapse_horizontally( self, collapse_when: impl IntoDynamic<bool> ) -> Collapse
self horizontally based on the dynamic boolean value. Read moresource§fn collapse_vertically(self, collapse_when: impl IntoDynamic<bool>) -> Collapse
fn collapse_vertically(self, collapse_when: impl IntoDynamic<bool>) -> Collapse
self vertically based on the dynamic
boolean value. Read moresource§fn validation(self, validation: impl IntoDynamic<Validation>) -> Validated
fn validation(self, validation: impl IntoDynamic<Validation>) -> Validated
source§fn tooltip(self, layer: &OverlayLayer, tip: impl MakeWidget) -> Tooltipped
fn tooltip(self, layer: &OverlayLayer, tip: impl MakeWidget) -> Tooltipped
tip on layer when self is hovered.source§impl<T> Open for Twhere
T: MakeWidget,
impl<T> Open for Twhere
T: MakeWidget,
source§fn open<App>(self, app: &App) -> Result<Option<WindowHandle>, EventLoopError>where
App: Application,
fn open<App>(self, app: &App) -> Result<Option<WindowHandle>, EventLoopError>where
App: Application,
app.source§impl<T> Run for Twhere
T: MakeWidget,
impl<T> Run for Twhere
T: MakeWidget,
source§impl<U, T> Slidable<U> for Twhere
T: IntoDynamic<U>,
U: SliderValue,
impl<U, T> Slidable<U> for Twhere
T: IntoDynamic<U>,
U: SliderValue,
source§impl<T, W> Switchable<T> for Wwhere
W: IntoDynamic<T>,
impl<T, W> Switchable<T> for Wwhere
W: IntoDynamic<T>,
source§impl<'a, T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
impl<'a, T, C> TryComponentsInto<C> for Twhere
C: TryFromComponents<T>,
§type Error = <C as TryFromComponents<T>>::Error
type Error = <C as TryFromComponents<T>>::Error
try_into_colors fails to cast.source§fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
fn try_components_into(self) -> Result<C, <T as TryComponentsInto<C>>::Error>
source§impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
impl<T, U> TryIntoColor<U> for Twhere
U: TryFromColor<T>,
source§fn try_into_color(self) -> Result<U, OutOfBounds<U>>
fn try_into_color(self) -> Result<U, OutOfBounds<U>>
OutOfBounds error is returned which contains
the unclamped color. Read more