pub struct AdaptEvents<W: Widget> {
pub inner: W,
/* private fields */
}Expand description
Wrapper with configure / update / message handling callbacks.
This type is constructed by some AdaptWidget methods.
Fields§
§inner: WThe inner widget
Implementations§
Source§impl<W: Widget> AdaptEvents<W>
impl<W: Widget> AdaptEvents<W>
Sourcepub fn on_configure<F>(self, f: F) -> Self
pub fn on_configure<F>(self, f: F) -> Self
Call the given closure on configuration
Specifically, the closure is called after Events::post_configure.
Sourcepub fn on_update<F>(self, f: F) -> Self
pub fn on_update<F>(self, f: F) -> Self
Call the given closure on update
The closure is called after the Self::on_configure handler
during configuration and after Events::update during update.
Sourcepub fn on_message<M, H>(self, handler: H) -> Self
pub fn on_message<M, H>(self, handler: H) -> Self
Add a handler on message of type M
The child index may be inferred via EventCx::last_child.
(Note: this is only possible since AdaptEvents is a special “thin” wrapper.)
Where access to input data is required, use Self::on_messages instead.
Sourcepub fn map_message<M, N, H>(self, handler: H) -> Self
pub fn map_message<M, N, H>(self, handler: H) -> Self
Add a child handler to map messages of type M to N
§Example
use kas::messages::Select;
use kas_widgets::{AdaptWidget, Row, Tab};
#[derive(Clone, Debug)]
struct MsgSelectIndex(usize);
let tabs = Row::new([Tab::new("A")])
.map_message(|index, Select| MsgSelectIndex(index));Sourcepub fn on_messages<H>(self, handler: H) -> Self
pub fn on_messages<H>(self, handler: H) -> Self
Add a generic message handler
The child index may be inferred via EventCx::last_child.
(Note: this is only possible since AdaptEvents is a special “thin” wrapper.)
Trait Implementations§
Source§impl<W: Widget> Deref for AdaptEvents<W>
impl<W: Widget> Deref for AdaptEvents<W>
Source§impl<W: Widget> DerefMut for AdaptEvents<W>
impl<W: Widget> DerefMut for AdaptEvents<W>
Source§impl<W: Widget> Layout for AdaptEvents<W>
impl<W: Widget> Layout for AdaptEvents<W>
Source§impl<W: Widget> Tile for AdaptEvents<W>
impl<W: Widget> Tile for AdaptEvents<W>
Source§fn child_indices(&self) -> ChildIndices
fn child_indices(&self) -> ChildIndices
Source§fn get_child(&self, index: usize) -> Option<&dyn Tile>
fn get_child(&self, index: usize) -> Option<&dyn Tile>
dyn Tile, if available Read moreSource§fn find_child_index(&self, id: &Id) -> Option<usize>
fn find_child_index(&self, id: &Id) -> Option<usize>
id, if any Read moreSource§fn translation(&self, index: usize) -> Offset
fn translation(&self, index: usize) -> Offset
index relative to this widget Read moreSource§fn role_child_properties(&self, cx: &mut dyn RoleCx, index: usize)
fn role_child_properties(&self, cx: &mut dyn RoleCx, index: usize)
index Read moreSource§impl<W> Viewport for AdaptEvents<W>
impl<W> Viewport for AdaptEvents<W>
Source§fn content_size(&self) -> Size
fn content_size(&self) -> Size
Source§fn set_offset(&mut self, cx: &mut SizeCx<'_>, viewport: Rect, offset: Offset)
fn set_offset(&mut self, cx: &mut SizeCx<'_>, viewport: Rect, offset: Offset)
Source§fn update_offset(
&mut self,
cx: &mut ConfigCx<'_>,
data: &Self::Data,
viewport: Rect,
offset: Offset,
)
fn update_offset( &mut self, cx: &mut ConfigCx<'_>, data: &Self::Data, viewport: Rect, offset: Offset, )
Source§impl<W: Widget> Widget for AdaptEvents<W>
impl<W: Widget> Widget for AdaptEvents<W>
Auto Trait Implementations§
impl<W> Freeze for AdaptEvents<W>where
W: Freeze,
impl<W> !RefUnwindSafe for AdaptEvents<W>
impl<W> !Send for AdaptEvents<W>
impl<W> !Sync for AdaptEvents<W>
impl<W> Unpin for AdaptEvents<W>where
W: Unpin,
impl<W> !UnwindSafe for AdaptEvents<W>
Blanket Implementations§
Source§impl<W> AdaptWidget for Wwhere
W: Widget,
impl<W> AdaptWidget for Wwhere
W: Widget,
Source§fn pack(self, hints: AlignHints) -> Pack<Self>
fn pack(self, hints: AlignHints) -> Pack<Self>
Source§fn with_stretch(
self,
horiz: impl Into<Option<Stretch>>,
vert: impl Into<Option<Stretch>>,
) -> WithStretch<Self>
fn with_stretch( self, horiz: impl Into<Option<Stretch>>, vert: impl Into<Option<Stretch>>, ) -> WithStretch<Self>
Source§fn with_margin_style(self, style: MarginStyle) -> WithMarginStyle<Self>
fn with_margin_style(self, style: MarginStyle) -> WithMarginStyle<Self>
Source§fn on_configure<F>(self, f: F) -> AdaptEvents<Self>where
F: Fn(&mut AdaptConfigCx<'_, '_>, &mut Self) + 'static,
fn on_configure<F>(self, f: F) -> AdaptEvents<Self>where
F: Fn(&mut AdaptConfigCx<'_, '_>, &mut Self) + 'static,
Events::configure Read moreSource§fn on_update<F>(self, f: F) -> AdaptEvents<Self>
fn on_update<F>(self, f: F) -> AdaptEvents<Self>
Events::update Read moreSource§fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
M Read moreSource§fn map_message<M, N, H>(self, handler: H) -> AdaptEvents<Self>
fn map_message<M, N, H>(self, handler: H) -> AdaptEvents<Self>
Source§fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
Source§fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
Source§fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
Source§fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>
fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>
Source§impl<W> AdaptWidgetAny for W
impl<W> AdaptWidgetAny for W
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<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
impl<S, T> CastApprox<T> for Swhere
T: ConvApprox<S>,
Source§fn try_cast_approx(self) -> Result<T, Error>
fn try_cast_approx(self) -> Result<T, Error>
Source§fn cast_approx(self) -> T
fn cast_approx(self) -> T
Source§impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
impl<S, T> CastFloat<T> for Swhere
T: ConvFloat<S>,
Source§fn cast_trunc(self) -> T
fn cast_trunc(self) -> T
Source§fn cast_nearest(self) -> T
fn cast_nearest(self) -> T
Source§fn cast_floor(self) -> T
fn cast_floor(self) -> T
Source§impl<T> Downcast for Twhere
T: Any,
impl<T> Downcast for Twhere
T: Any,
Source§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.Source§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.Source§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.Source§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.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<S, R> ThemeSize for R
impl<S, R> ThemeSize for R
Source§fn scale_factor(&self) -> f32
fn scale_factor(&self) -> f32
Source§fn font(&self, class: TextClass) -> FontSelector
fn font(&self, class: TextClass) -> FontSelector
classSource§fn wrapped_line_len(&self, class: TextClass, dpem: f32) -> (i32, i32)
fn wrapped_line_len(&self, class: TextClass, dpem: f32) -> (i32, i32)
(min, ideal) line length for text which wrapsSource§fn min_element_size(&self) -> i32
fn min_element_size(&self) -> i32
Source§fn min_scroll_size(&self, axis_is_vertical: bool, class: TextClass) -> i32
fn min_scroll_size(&self, axis_is_vertical: bool, class: TextClass) -> i32
Source§fn scroll_bar_width(&self) -> i32
fn scroll_bar_width(&self) -> i32
Source§fn margins(&self, style: MarginStyle) -> Margins
fn margins(&self, style: MarginStyle) -> Margins
Source§fn feature(&self, feature: Feature, axis_is_vertical: bool) -> SizeRules
fn feature(&self, feature: Feature, axis_is_vertical: bool) -> SizeRules
Source§fn align_feature(&self, feature: Feature, rect: Rect, align: AlignPair) -> Rect
fn align_feature(&self, feature: Feature, rect: Rect, align: AlignPair) -> Rect
Source§fn frame(&self, style: FrameStyle, axis_is_vertical: bool) -> FrameRules
fn frame(&self, style: FrameStyle, axis_is_vertical: bool) -> FrameRules
Source§impl<W> TileExt for W
impl<W> TileExt for W
Source§fn is_configured(&self) -> bool
fn is_configured(&self) -> bool
Source§fn is_strict_ancestor_of(&self, id: &Id) -> bool
fn is_strict_ancestor_of(&self, id: &Id) -> bool
id is not self and is a descendant Read more