pub trait AdaptWidget: Widget + Sized {
// Provided methods
fn align(self, hints: AlignHints) -> Align<Self> { ... }
fn pack(self, hints: AlignHints) -> Pack<Self> { ... }
fn margins(self, dirs: Directions, style: MarginStyle) -> Margins<Self> { ... }
fn map<A, F>(self, f: F) -> Map<A, Self, F>
where F: for<'a> Fn(&'a A) -> &'a Self::Data { ... }
fn on_configure<F>(self, f: F) -> AdaptEvents<Self>
where F: Fn(&mut AdaptConfigCx<'_, '_>, &mut Self) + 'static { ... }
fn on_update<F>(self, f: F) -> AdaptEvents<Self>
where F: Fn(&mut AdaptConfigCx<'_, '_>, &mut Self, &Self::Data) + 'static { ... }
fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
where M: Debug + 'static,
H: Fn(&mut AdaptEventCx<'_, '_>, &mut Self, M) + 'static { ... }
fn map_message<M, N, H>(self, handler: H) -> AdaptEvents<Self>
where M: Debug + 'static,
N: Debug + 'static,
H: Fn(usize, M) -> N + 'static { ... }
fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
where H: Fn(&mut AdaptEventCx<'_, '_>, &mut Self, &Self::Data) + 'static { ... }
fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self> { ... }
fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self> { ... }
fn with_label<D, T>(self, direction: D, label: T) -> WithLabel<Self, D>
where D: Directional,
T: Into<AccessString> { ... }
}
Expand description
Provides some convenience methods on widgets
Provided Methods§
Sourcefn align(self, hints: AlignHints) -> Align<Self>
fn align(self, hints: AlignHints) -> Align<Self>
Apply an alignment hint
The inner widget chooses how to apply (or ignore) this hint.
Returns a wrapper around the input widget.
Sourcefn pack(self, hints: AlignHints) -> Pack<Self>
fn pack(self, hints: AlignHints) -> Pack<Self>
Apply an alignment hint, squash and align the result
The inner widget chooses how to apply (or ignore) this hint. The widget is then prevented from stretching beyond its ideal size, aligning within the available rect.
Returns a wrapper around the input widget.
Sourcefn margins(self, dirs: Directions, style: MarginStyle) -> Margins<Self>
fn margins(self, dirs: Directions, style: MarginStyle) -> Margins<Self>
Specify margins
This replaces a widget’s margins.
Returns a wrapper around the input widget.
Sourcefn map<A, F>(self, f: F) -> Map<A, Self, F>
fn map<A, F>(self, f: F) -> Map<A, Self, F>
Map data type via a function
Returns a wrapper around the input widget.
Sourcefn 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,
Call the given closure on Events::configure
Returns a wrapper around the input widget.
Sourcefn on_update<F>(self, f: F) -> AdaptEvents<Self>
fn on_update<F>(self, f: F) -> AdaptEvents<Self>
Call the given closure on Events::update
Returns a wrapper around the input widget.
Sourcefn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
fn on_message<M, H>(self, handler: H) -> AdaptEvents<Self>
Add a handler on message of type M
Where access to input data is required, use Self::on_messages
instead.
Returns a wrapper around the input widget.
Sourcefn map_message<M, N, H>(self, handler: H) -> AdaptEvents<Self>
fn map_message<M, N, H>(self, handler: H) -> AdaptEvents<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));
Sourcefn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
fn on_messages<H>(self, handler: H) -> AdaptEvents<Self>
Add a generic message handler
Returns a wrapper around the input widget.
Sourcefn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
fn with_min_size_px(self, w: i32, h: i32) -> Reserve<Self>
Construct a wrapper, setting minimum size in pixels
The input size is scaled by the scale factor.
Returns a wrapper around the input widget.
Sourcefn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
fn with_min_size_em(self, w: f32, h: f32) -> Reserve<Self>
Construct a wrapper, setting minimum size in Em
This depends on the font size, though not the exact font in use.
Returns a wrapper around the input widget.
Sourcefn 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>
Construct a wrapper widget adding a label
Returns a wrapper around the input widget.
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.