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

Creates a new MarkupView that uses a rich text HTML renderer.

Requires the html feature (enabled per default).

Creates a new MarkupView with the given renderer.

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.

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.

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

Draws the view with the given printer (includes bounds) and focus. Read more

Called once the size for this view has been decided. Read more

Returns the minimum size the view requires with the given restrictions. Read more

Attempt to give this view the focus. Read more

Called when an event is received (key press, mouse event, …). Read more

What part of the view is important and should be visible? Read more

Should return true if the view content changed since the last call to layout(). Read more

Runs a closure on the view identified by the given selector. Read more

Moves the focus to the view identified by the given selector. Read more

Returns the type of this view. Read more

Auto Trait Implementations

Blanket Implementations

Gets the TypeId of self. Read more

Downcast self to a Any.

Downcast self to a mutable Any.

Returns a boxed any from a boxed self. Read more

Immutably borrows from an owned value. Read more

Mutably borrows from an owned value. Read more

Runs a callback on all views identified by sel. Read more

Runs a callback on the view identified by sel. Read more

Convenient method to use call_on with a view::Selector::Name.

Convenient method to find a view wrapped in an NamedView.

Performs the conversion.

Performs the conversion.

Returns a Box<View>.

Wraps this view into an NamedView with the given id. Read more

Wraps self in a ResizedView with the given size constraints.

Wraps self into a fixed-size ResizedView.

Wraps self into a fixed-width ResizedView.

Wraps self into a fixed-width ResizedView.

Wraps self into a full-screen ResizedView.

Wraps self into a full-width ResizedView.

Wraps self into a full-height ResizedView.

Wraps self into a limited-size ResizedView.

Wraps self into a limited-width ResizedView.

Wraps self into a limited-height ResizedView.

Wraps self into a ResizedView at least sized size.

Wraps self in a ResizedView at least min_width wide.

Wraps self in a ResizedView at least min_height tall.

Wraps self in a ScrollView.

The type returned in the event of a conversion error.

Performs the conversion.

The type returned in the event of a conversion error.

Performs the conversion.

Calls the given closure and return the result. Read more

Calls the given closure on self.

Calls the given closure on self.

Calls the given closure if condition == true.