Struct scl_gui_widgets::widgets::Store  
source · pub struct Store<F, T> { /* private fields */ }Expand description
一个中间件组件,用于拦截数据流并进行处理
和 [druid::Lens] 不一样的地方是,它不强制你去设置数据,这允许你在无法转换数据的情况下保持子代数据不变或父代数据不变。
Implementations§
Trait Implementations§
source§impl<F: Data, T: Data> Widget<F> for Store<F, T>
 
impl<F: Data, T: Data> Widget<F> for Store<F, T>
source§fn event(
    &mut self,
    ctx: &mut EventCtx<'_, '_>,
    event: &Event,
    data: &mut F,
    env: &Env
)
 
fn event( &mut self, ctx: &mut EventCtx<'_, '_>, event: &Event, data: &mut F, env: &Env )
Handle an event. Read more
source§fn lifecycle(
    &mut self,
    ctx: &mut LifeCycleCtx<'_, '_>,
    event: &LifeCycle,
    _data: &F,
    env: &Env
)
 
fn lifecycle( &mut self, ctx: &mut LifeCycleCtx<'_, '_>, event: &LifeCycle, _data: &F, env: &Env )
Handle a life cycle notification. Read more
source§fn layout(
    &mut self,
    ctx: &mut LayoutCtx<'_, '_>,
    bc: &BoxConstraints,
    _data: &F,
    env: &Env
) -> Size
 
fn layout( &mut self, ctx: &mut LayoutCtx<'_, '_>, bc: &BoxConstraints, _data: &F, env: &Env ) -> Size
Compute layout. Read more
source§fn paint(&mut self, ctx: &mut PaintCtx<'_, '_, '_>, _data: &F, env: &Env)
 
fn paint(&mut self, ctx: &mut PaintCtx<'_, '_, '_>, _data: &F, env: &Env)
Paint the widget appearance. Read more
§fn compute_max_intrinsic(
    &mut self,
    axis: Axis,
    ctx: &mut LayoutCtx<'_, '_>,
    bc: &BoxConstraints,
    data: &T,
    env: &Env
) -> f64
 
fn compute_max_intrinsic( &mut self, axis: Axis, ctx: &mut LayoutCtx<'_, '_>, bc: &BoxConstraints, data: &T, env: &Env ) -> f64
Computes max intrinsic/preferred dimension of a widget on the provided axis. Read more
Auto Trait Implementations§
impl<F, T> !RefUnwindSafe for Store<F, T>
impl<F, T> !Send for Store<F, T>
impl<F, T> !Sync for Store<F, T>
impl<F, T> Unpin for Store<F, T>where T: Unpin,
impl<F, T> !UnwindSafe for Store<F, T>
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
§impl<T> Instrument for T
 
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
 
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
 
fn in_current_span(self) -> Instrumented<Self>
§impl<T> RoundFrom<T> for T
 
impl<T> RoundFrom<T> for T
§fn round_from(x: T) -> T
 
fn round_from(x: T) -> T
Performs the conversion.
§impl<T, U> RoundInto<U> for Twhere
    U: RoundFrom<T>,
 
impl<T, U> RoundInto<U> for Twhere U: RoundFrom<T>,
§fn round_into(self) -> U
 
fn round_into(self) -> U
Performs the conversion.
§impl<T, W> TestWidgetExt<T> for Wwhere
    T: Data,
    W: Widget<T> + 'static,
 
impl<T, W> TestWidgetExt<T> for Wwhere T: Data, W: Widget<T> + 'static,
source§impl<T, W> WidgetExt<T> for Wwhere
    T: Data,
    W: Widget<T> + 'static,
 
impl<T, W> WidgetExt<T> for Wwhere T: Data, W: Widget<T> + 'static,
source§fn on_command<CT: 'static>(
    self,
    selector: Selector<CT>,
    handler: impl Fn(&mut EventCtx<'_, '_>, &CT, &mut T) + 'static
) -> ControllerHost<Self, OnCmd<CT, T>>
 
fn on_command<CT: 'static>( self, selector: Selector<CT>, handler: impl Fn(&mut EventCtx<'_, '_>, &CT, &mut T) + 'static ) -> ControllerHost<Self, OnCmd<CT, T>>
用当该组件接收到指定的 [
druid::Command] 时产生回调的控制器 crate::widgets::OnCmd 包裹当前组件source§fn on_notify<CT: 'static>(
    self,
    selector: Selector<CT>,
    handler: impl Fn(&mut EventCtx<'_, '_>, &CT, &mut T) + 'static
) -> OnNotify<CT, T>
 
fn on_notify<CT: 'static>( self, selector: Selector<CT>, handler: impl Fn(&mut EventCtx<'_, '_>, &CT, &mut T) + 'static ) -> OnNotify<CT, T>
用当该组件接收到指定的 [
druid::Notification] 时产生回调的控制器 crate::widgets::OnNotify 包裹当前组件§impl<T, W> WidgetExt<T> for Wwhere
    T: Data,
    W: Widget<T> + 'static,
 
impl<T, W> WidgetExt<T> for Wwhere T: Data, W: Widget<T> + 'static,
§fn align_left(self) -> Align<T>
 
fn align_left(self) -> Align<T>
Wrap this widget in an [
Align] widget, configured to align left.§fn align_right(self) -> Align<T>
 
fn align_right(self) -> Align<T>
Wrap this widget in an [
Align] widget, configured to align right.§fn align_vertical(self, align: UnitPoint) -> Align<T>
 
fn align_vertical(self, align: UnitPoint) -> Align<T>
Wrap this widget in an [
Align] widget, configured to align vertically.§fn align_horizontal(self, align: UnitPoint) -> Align<T>
 
fn align_horizontal(self, align: UnitPoint) -> Align<T>
Wrap this widget in an [
Align] widget, configured to align horizontally.§fn fix_width(self, width: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
 
fn fix_width(self, width: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
Wrap this widget in a [
SizedBox] with an explicit width.§fn fix_height(self, height: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
 
fn fix_height(self, height: impl Into<KeyOrValue<f64>>) -> SizedBox<T>
Wrap this widget in a [
SizedBox] with an explicit height.§fn fix_size(
    self,
    width: impl Into<KeyOrValue<f64>>,
    height: impl Into<KeyOrValue<f64>>
) -> SizedBox<T>
 
fn fix_size( self, width: impl Into<KeyOrValue<f64>>, height: impl Into<KeyOrValue<f64>> ) -> SizedBox<T>
Wrap this widget in an [
SizedBox] with an explicit width and height§fn expand(self) -> SizedBox<T>
 
fn expand(self) -> SizedBox<T>
Wrap this widget in a [
SizedBox] with an infinite width and height. Read more§fn expand_width(self) -> SizedBox<T>
 
fn expand_width(self) -> SizedBox<T>
Wrap this widget in a [
SizedBox] with an infinite width. Read more§fn expand_height(self) -> SizedBox<T>
 
fn expand_height(self) -> SizedBox<T>
Wrap this widget in a [
SizedBox] with an infinite width. Read more§fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
 
fn background(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
§fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
 
fn foreground(self, brush: impl Into<BackgroundBrush<T>>) -> Container<T>
§fn border(
    self,
    color: impl Into<KeyOrValue<Color>>,
    width: impl Into<KeyOrValue<f64>>
) -> Container<T>
 
fn border( self, color: impl Into<KeyOrValue<Color>>, width: impl Into<KeyOrValue<f64>> ) -> Container<T>
Wrap this widget in a [
Container] with the given border. Read more§fn env_scope(self, f: impl Fn(&mut Env, &T) + 'static) -> EnvScope<T, Self>
 
fn env_scope(self, f: impl Fn(&mut Env, &T) + 'static) -> EnvScope<T, Self>
Wrap this widget in a [
EnvScope] widget, modifying the parent
[Env] with the provided closure.§fn controller<C>(self, controller: C) -> ControllerHost<Self, C>where
    C: Controller<T, Self>,
 
fn controller<C>(self, controller: C) -> ControllerHost<Self, C>where C: Controller<T, Self>,
Wrap this widget with the provided [
Controller].§fn on_added(
    self,
    f: impl Fn(&mut Self, &mut LifeCycleCtx<'_, '_>, &T, &Env) + 'static
) -> ControllerHost<Self, Added<T, Self>>
 
fn on_added( self, f: impl Fn(&mut Self, &mut LifeCycleCtx<'_, '_>, &T, &Env) + 'static ) -> ControllerHost<Self, Added<T, Self>>
Provide a closure that will be called when this widget is added to the widget tree. Read more
§fn on_click(
    self,
    f: impl Fn(&mut EventCtx<'_, '_>, &mut T, &Env) + 'static
) -> ControllerHost<Self, Click<T>>
 
fn on_click( self, f: impl Fn(&mut EventCtx<'_, '_>, &mut T, &Env) + 'static ) -> ControllerHost<Self, Click<T>>
Control the events of this widget with a [
Click] widget. The closure
provided will be called when the widget is clicked with the left mouse
button. Read more§fn debug_paint_layout(self) -> EnvScope<T, Self>
 
fn debug_paint_layout(self) -> EnvScope<T, Self>
Draw the 
layout Rects of  this widget and its children.§fn debug_widget_id(self) -> EnvScope<T, Self>
 
fn debug_widget_id(self) -> EnvScope<T, Self>
Display the 
WidgetIds for this widget and its children, when hot. Read more§fn debug_invalidation(self) -> DebugInvalidation<T, Self>
 
fn debug_invalidation(self) -> DebugInvalidation<T, Self>
Draw a color-changing rectangle over this widget, allowing you to see the
invalidation regions.
§fn debug_widget(self) -> EnvScope<T, Self>
 
fn debug_widget(self) -> EnvScope<T, Self>
Set the 
DEBUG_WIDGET env variable for this widget (and its descendants). Read more§fn lens<S, L>(self, lens: L) -> LensWrap<S, T, L, Self>where
    S: Data,
    L: Lens<S, T>,
 
fn lens<S, L>(self, lens: L) -> LensWrap<S, T, L, Self>where S: Data, L: Lens<S, T>,
Wrap this widget in a [
LensWrap] widget for the provided [Lens].