Struct cursive_markup::MarkupView
source · [−]pub struct MarkupView<R: Renderer + 'static> { /* private fields */ }
Expand description
A view for hypertext that has been rendered by a Renderer
.
This view displays hypertext (a combination of formatted text and links) that typically has
been parsed from a markup language. You can use the arrow keys to navigate between the links,
and the Enter key to select a link. If the focused link is changed, the on_link_focus
callback is triggered. If the focused link is selected using the Enter key, the
on_link_select
callback is triggered.
The displayed hypertext is created by a Renderer
implementation. The MarkupView
calls
the render
method with the size constraint provided by cursive
and receives a
RenderedDocument
that contains the text and the links. This document is cached until the
available width changes.
You can also limit the available width by setting a maximum line width with the
set_maximum_width
method.
Implementations
sourceimpl MarkupView<RichRenderer>
impl MarkupView<RichRenderer>
sourcepub fn html(html: &str) -> MarkupView<RichRenderer>
pub fn html(html: &str) -> MarkupView<RichRenderer>
Creates a new MarkupView
that uses a rich text HTML renderer.
Requires the html
feature (enabled per default).
sourceimpl<R: Renderer + 'static> MarkupView<R>
impl<R: Renderer + 'static> MarkupView<R>
sourcepub fn with_renderer(renderer: R) -> MarkupView<R>
pub fn with_renderer(renderer: R) -> MarkupView<R>
Creates a new MarkupView
with the given renderer.
sourcepub fn on_link_focus<F: Fn(&mut Cursive, &str) + 'static>(&mut self, f: F)
pub fn on_link_focus<F: Fn(&mut Cursive, &str) + 'static>(&mut self, f: F)
Sets the callback that is triggered if the link focus is changed.
Note that this callback is only triggered if the link focus is changed with the arrow keys. It is not triggered if the view takes focus. The callback will receive the target of the link as an argument.
sourcepub fn on_link_select<F: Fn(&mut Cursive, &str) + 'static>(&mut self, f: F)
pub fn on_link_select<F: Fn(&mut Cursive, &str) + 'static>(&mut self, f: F)
Sets the callback that is triggered if a link is selected.
This callback is triggered if a link is focused and the users presses the Enter key. The callback will receive the target of the link as an argument.
sourcepub fn set_maximum_width(&mut self, width: usize)
pub fn set_maximum_width(&mut self, width: usize)
Sets the maximum width of the view.
This means that the width that is available for the renderer is limited to the given value.
Trait Implementations
sourceimpl<R: Renderer + 'static> View for MarkupView<R>
impl<R: Renderer + 'static> View for MarkupView<R>
sourcefn draw(&self, printer: &Printer<'_, '_>)
fn draw(&self, printer: &Printer<'_, '_>)
Draws the view with the given printer (includes bounds) and focus. Read more
sourcefn layout(&mut self, constraint: XY<usize>)
fn layout(&mut self, constraint: XY<usize>)
Called once the size for this view has been decided. Read more
sourcefn required_size(&mut self, constraint: XY<usize>) -> XY<usize>
fn required_size(&mut self, constraint: XY<usize>) -> XY<usize>
Returns the minimum size the view requires with the given restrictions. Read more
sourcefn take_focus(
&mut self,
direction: Direction
) -> Result<EventResult, CannotFocus>
fn take_focus(
&mut self,
direction: Direction
) -> Result<EventResult, CannotFocus>
Attempt to give this view the focus. Read more
sourcefn on_event(&mut self, event: Event) -> EventResult
fn on_event(&mut self, event: Event) -> EventResult
Called when an event is received (key press, mouse event, …). Read more
sourcefn important_area(&self, _: XY<usize>) -> Rect
fn important_area(&self, _: XY<usize>) -> Rect
What part of the view is important and should be visible? Read more
sourcefn needs_relayout(&self) -> bool
fn needs_relayout(&self) -> bool
Should return true
if the view content changed since the last call
to layout()
. Read more
sourcefn call_on_any(
&mut self,
&Selector<'_>,
&'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
fn call_on_any(
&mut self,
&Selector<'_>,
&'a mut (dyn FnMut(&mut (dyn View + 'static)) + 'a)
)
Runs a closure on the view identified by the given selector. Read more
sourcefn focus_view(&mut self, &Selector<'_>) -> Result<EventResult, ViewNotFound>
fn focus_view(&mut self, &Selector<'_>) -> Result<EventResult, ViewNotFound>
Moves the focus to the view identified by the given selector. Read more
Auto Trait Implementations
impl<R> !RefUnwindSafe for MarkupView<R>
impl<R> !Send for MarkupView<R>
impl<R> !Sync for MarkupView<R>
impl<R> Unpin for MarkupView<R> where
R: Unpin,
impl<R> !UnwindSafe for MarkupView<R>
Blanket Implementations
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcepub fn borrow_mut(&mut self) -> &mut T
pub fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
sourceimpl<T> Finder for T where
T: View,
impl<T> Finder for T where
T: View,
sourcepub fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F) where
V: View,
F: FnMut(&mut V),
pub fn call_on_all<V, F>(&mut self, sel: &Selector<'_>, callback: F) where
V: View,
F: FnMut(&mut V),
Runs a callback on all views identified by sel
. Read more
sourcefn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R> where
V: View,
F: FnOnce(&mut V) -> R,
fn call_on<V, F, R>(&mut self, sel: &Selector<'_>, callback: F) -> Option<R> where
V: View,
F: FnOnce(&mut V) -> R,
Runs a callback on the view identified by sel
. Read more
sourceimpl<T> IntoBoxedView for T where
T: View,
impl<T> IntoBoxedView for T where
T: View,
sourcepub fn into_boxed_view(self) -> Box<dyn View + 'static, Global>
pub fn into_boxed_view(self) -> Box<dyn View + 'static, Global>
Returns a Box<View>
.
sourceimpl<T> Resizable for T where
T: View,
impl<T> Resizable for T where
T: View,
sourcefn resized(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
fn resized(
self,
width: SizeConstraint,
height: SizeConstraint
) -> ResizedView<Self>
Wraps self
in a ResizedView
with the given size constraints.
sourcefn fixed_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
fn fixed_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
Wraps self
into a fixed-size ResizedView
.
sourcefn fixed_width(self, width: usize) -> ResizedView<Self>
fn fixed_width(self, width: usize) -> ResizedView<Self>
Wraps self
into a fixed-width ResizedView
.
sourcefn fixed_height(self, height: usize) -> ResizedView<Self>
fn fixed_height(self, height: usize) -> ResizedView<Self>
Wraps self
into a fixed-width ResizedView
.
sourcefn full_screen(self) -> ResizedView<Self>
fn full_screen(self) -> ResizedView<Self>
Wraps self
into a full-screen ResizedView
.
sourcefn full_width(self) -> ResizedView<Self>
fn full_width(self) -> ResizedView<Self>
Wraps self
into a full-width ResizedView
.
sourcefn full_height(self) -> ResizedView<Self>
fn full_height(self) -> ResizedView<Self>
Wraps self
into a full-height ResizedView
.
sourcefn max_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
fn max_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
Wraps self
into a limited-size ResizedView
.
sourcefn max_width(self, max_width: usize) -> ResizedView<Self>
fn max_width(self, max_width: usize) -> ResizedView<Self>
Wraps self
into a limited-width ResizedView
.
sourcefn max_height(self, max_height: usize) -> ResizedView<Self>
fn max_height(self, max_height: usize) -> ResizedView<Self>
Wraps self
into a limited-height ResizedView
.
sourcefn min_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
fn min_size<S>(self, size: S) -> ResizedView<Self> where
S: Into<XY<usize>>,
Wraps self
into a ResizedView
at least sized size
.
sourcefn min_width(self, min_width: usize) -> ResizedView<Self>
fn min_width(self, min_width: usize) -> ResizedView<Self>
Wraps self
in a ResizedView
at least min_width
wide.
sourcefn min_height(self, min_height: usize) -> ResizedView<Self>
fn min_height(self, min_height: usize) -> ResizedView<Self>
Wraps self
in a ResizedView
at least min_height
tall.
sourceimpl<T> Scrollable for T where
T: View,
impl<T> Scrollable for T where
T: View,
sourcefn scrollable(self) -> ScrollView<Self>
fn scrollable(self) -> ScrollView<Self>
Wraps self
in a ScrollView
.