pub struct SelectableText<A, T: FormattableText + 'static> { /* private fields */ }
Expand description
A text label supporting selection
The ScrollText
widget should be preferred in most cases; this widget
is a component of ScrollText
and has some special behaviour.
Line-wrapping is enabled; default alignment is derived from the script (usually top-left).
Minimum size requirements of this widget are reduced, while the vertical
size is allowed to exceed the assigned rect. It is recommended to draw
using Self::draw_with_offset
.
Implementations§
Source§impl<T: FormattableText + 'static> SelectableText<(), T>
impl<T: FormattableText + 'static> SelectableText<(), T>
Source§impl<A, T: FormattableText + 'static> SelectableText<A, T>
impl<A, T: FormattableText + 'static> SelectableText<A, T>
Sourcepub fn new_fn(text_fn: impl Fn(&ConfigCx<'_>, &A) -> T + 'static) -> Selfwhere
T: Default,
pub fn new_fn(text_fn: impl Fn(&ConfigCx<'_>, &A) -> T + 'static) -> Selfwhere
T: Default,
Construct an SelectableText
with the given text derivation function
The text is set from input data on update.
Sourcepub fn set_text(&mut self, text: T) -> bool
pub fn set_text(&mut self, text: T) -> bool
Set text in an existing Label
Note: this must not be called before fonts have been initialised (usually done by the theme when the main loop starts).
Sourcepub fn typeset_size(&self) -> Size
pub fn typeset_size(&self) -> Size
Get the size of the type-set text
We only support content spilling over on the bottom edge.
Sourcepub fn draw_with_offset(&self, draw: DrawCx<'_>, rect: Rect, offset: Offset)
pub fn draw_with_offset(&self, draw: DrawCx<'_>, rect: Rect, offset: Offset)
Draw with an offset
Draws at position self.rect().pos - offset
bounded by rect
.
This may be called instead of Layout::draw
.
Source§impl SelectableText<(), String>
impl SelectableText<(), String>
Sourcepub fn set_string(&mut self, cx: &mut EventState, string: String)
pub fn set_string(&mut self, cx: &mut EventState, string: String)
Set text contents from a string
Trait Implementations§
Source§impl<A, T: FormattableText + 'static> Events for SelectableText<A, T>
impl<A, T: FormattableText + 'static> Events for SelectableText<A, T>
Source§fn mouse_over_icon(&self) -> Option<CursorIcon>
fn mouse_over_icon(&self) -> Option<CursorIcon>
Source§fn handle_event(
&mut self,
cx: &mut EventCx<'_>,
_: &Self::Data,
event: Event<'_>,
) -> IsUsed
fn handle_event( &mut self, cx: &mut EventCx<'_>, _: &Self::Data, event: Event<'_>, ) -> IsUsed
Source§const REDRAW_ON_MOUSE_OVER: bool = false
const REDRAW_ON_MOUSE_OVER: bool = false
Source§fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn configure_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
Source§fn update_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
fn update_recurse(&mut self, cx: &mut ConfigCx<'_>, data: &Self::Data)
Source§fn handle_mouse_over(&mut self, cx: &mut EventCx<'_>, state: bool)
fn handle_mouse_over(&mut self, cx: &mut EventCx<'_>, state: bool)
Source§impl<A, T: FormattableText + 'static> Layout for SelectableText<A, T>
impl<A, T: FormattableText + 'static> Layout for SelectableText<A, T>
Source§impl<A, T: FormattableText + 'static> MacroDefinedLayout for SelectableText<A, T>
impl<A, T: FormattableText + 'static> MacroDefinedLayout for SelectableText<A, T>
Source§impl<A, T: FormattableText + 'static> Tile for SelectableText<A, T>
impl<A, T: FormattableText + 'static> Tile for SelectableText<A, T>
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 child_indices(&self) -> ChildIndices
fn child_indices(&self) -> ChildIndices
Source§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<A, T: FormattableText + 'static> Widget for SelectableText<A, T>
impl<A, T: FormattableText + 'static> Widget for SelectableText<A, T>
Auto Trait Implementations§
impl<A, T> Freeze for SelectableText<A, T>where
T: Freeze,
impl<A, T> !RefUnwindSafe for SelectableText<A, T>
impl<A, T> !Send for SelectableText<A, T>
impl<A, T> !Sync for SelectableText<A, T>
impl<A, T> Unpin for SelectableText<A, T>where
T: Unpin,
impl<A, T> !UnwindSafe for SelectableText<A, T>
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 margins(self, dirs: Directions, style: MarginStyle) -> Margins<Self>
fn margins(self, dirs: Directions, style: MarginStyle) -> Margins<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<W> TileExt for W
impl<W> TileExt for W
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