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.
By default, this uses TextClass::Standard; see Self::set_class
and Self::with_class.
Line-wrapping is enabled; default alignment is derived from the script (usually top-left).
§Special behaviour
This is a Viewport widget.
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).
Returns true when the content size may have changed.
Sourcepub fn set_class(&mut self, class: TextClass)
pub fn set_class(&mut self, class: TextClass)
Set text class
Default: TextClass::Standard
Sourcepub fn with_class(self, class: TextClass) -> Self
pub fn with_class(self, class: TextClass) -> Self
Set text class (inline)
Default: TextClass::Standard
Source§impl SelectableText<(), String>
impl SelectableText<(), String>
Sourcepub fn set_string(&mut self, string: String) -> bool
pub fn set_string(&mut self, string: String) -> bool
Set text contents from a string
Returns true when the content size may have changed.
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 post_configure(&mut self, cx: &mut ConfigCx<'_>)
fn post_configure(&mut self, cx: &mut ConfigCx<'_>)
Source§fn recurse_indices(&self) -> ChildIndices
fn recurse_indices(&self) -> ChildIndices
Source§fn handle_mouse_over(&mut self, cx: &mut EventCx<'_>, state: bool)
fn handle_mouse_over(&mut self, cx: &mut EventCx<'_>, state: bool)
Source§fn handle_messages(&mut self, cx: &mut EventCx<'_>, data: &Self::Data)
fn handle_messages(&mut self, cx: &mut EventCx<'_>, data: &Self::Data)
Source§fn handle_resize(
&mut self,
cx: &mut ConfigCx<'_>,
data: &Self::Data,
) -> Option<ActionResize>
fn handle_resize( &mut self, cx: &mut ConfigCx<'_>, data: &Self::Data, ) -> Option<ActionResize>
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> Viewport for SelectableText<A, T>
impl<A, T: FormattableText + 'static> Viewport for SelectableText<A, T>
Source§fn content_size(&self) -> Size
fn content_size(&self) -> Size
Source§fn draw_with_offset(&self, draw: DrawCx<'_>, rect: Rect, offset: Offset)
fn draw_with_offset(&self, draw: DrawCx<'_>, rect: Rect, offset: Offset)
Source§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 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<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