pub struct MarkdownRendererState { /* private fields */ }Expand description
State for a MarkdownRenderer component.
Contains the markdown source, scroll position, and display options.
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new()
.with_source("# Title\n\nBody text.")
.with_title("Document");
assert_eq!(state.source(), "# Title\n\nBody text.");
assert_eq!(state.title(), Some("Document"));Implementations§
Source§impl MarkdownRendererState
impl MarkdownRendererState
Sourcepub fn new() -> Self
pub fn new() -> Self
Creates a new empty markdown renderer state.
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new();
assert!(state.source().is_empty());
assert_eq!(state.scroll_offset(), 0);Sourcepub fn with_source(self, source: impl Into<String>) -> Self
pub fn with_source(self, source: impl Into<String>) -> Self
Sets the markdown source (builder pattern).
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new()
.with_source("# Hello");
assert_eq!(state.source(), "# Hello");Sourcepub fn with_title(self, title: impl Into<String>) -> Self
pub fn with_title(self, title: impl Into<String>) -> Self
Sets the title (builder pattern).
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new()
.with_title("Preview");
assert_eq!(state.title(), Some("Preview"));Sourcepub fn with_show_source(self, show: bool) -> Self
pub fn with_show_source(self, show: bool) -> Self
Sets the show_source flag (builder pattern).
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new()
.with_show_source(true);
assert!(state.show_source());Sourcepub fn source(&self) -> &str
pub fn source(&self) -> &str
Returns the markdown source text.
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new()
.with_source("hello");
assert_eq!(state.source(), "hello");Sourcepub fn set_source(&mut self, source: impl Into<String>)
pub fn set_source(&mut self, source: impl Into<String>)
Sets the markdown source text and resets scroll to the top.
§Example
use envision::component::MarkdownRendererState;
let mut state = MarkdownRendererState::new();
state.set_source("# New");
assert_eq!(state.source(), "# New");
assert_eq!(state.scroll_offset(), 0);Sourcepub fn title(&self) -> Option<&str>
pub fn title(&self) -> Option<&str>
Returns the title.
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new()
.with_title("Title");
assert_eq!(state.title(), Some("Title"));Sourcepub fn set_title(&mut self, title: Option<String>)
pub fn set_title(&mut self, title: Option<String>)
Sets the title.
§Example
use envision::component::MarkdownRendererState;
let mut state = MarkdownRendererState::new();
state.set_title(Some("Document".to_string()));
assert_eq!(state.title(), Some("Document"));Sourcepub fn show_source(&self) -> bool
pub fn show_source(&self) -> bool
Returns whether the raw source view is active.
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new();
assert!(!state.show_source());Sourcepub fn set_show_source(&mut self, show: bool)
pub fn set_show_source(&mut self, show: bool)
Sets whether to show raw source.
§Example
use envision::component::MarkdownRendererState;
let mut state = MarkdownRendererState::new();
state.set_show_source(true);
assert!(state.show_source());Sourcepub fn scroll_offset(&self) -> usize
pub fn scroll_offset(&self) -> usize
Returns the current scroll offset.
§Example
use envision::component::MarkdownRendererState;
let state = MarkdownRendererState::new();
assert_eq!(state.scroll_offset(), 0);Sourcepub fn set_scroll_offset(&mut self, offset: usize)
pub fn set_scroll_offset(&mut self, offset: usize)
Sets the scroll offset.
§Example
use envision::component::MarkdownRendererState;
let mut state = MarkdownRendererState::new()
.with_source("line1\nline2\nline3\nline4\nline5");
state.set_scroll_offset(2);
assert_eq!(state.scroll_offset(), 2);Sourcepub fn update(&mut self, msg: MarkdownRendererMessage)
pub fn update(&mut self, msg: MarkdownRendererMessage)
Updates the state with a message.
§Example
use envision::component::{MarkdownRendererState, MarkdownRendererMessage};
let mut state = MarkdownRendererState::new()
.with_source("line 1\nline 2");
state.update(MarkdownRendererMessage::ScrollDown);
assert_eq!(state.scroll_offset(), 1);Trait Implementations§
Source§impl Clone for MarkdownRendererState
impl Clone for MarkdownRendererState
Source§fn clone(&self) -> MarkdownRendererState
fn clone(&self) -> MarkdownRendererState
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for MarkdownRendererState
impl Debug for MarkdownRendererState
Source§impl Default for MarkdownRendererState
impl Default for MarkdownRendererState
Source§fn default() -> MarkdownRendererState
fn default() -> MarkdownRendererState
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for MarkdownRendererState
impl<'de> Deserialize<'de> for MarkdownRendererState
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for MarkdownRendererState
impl PartialEq for MarkdownRendererState
Source§impl Serialize for MarkdownRendererState
impl Serialize for MarkdownRendererState
impl StructuralPartialEq for MarkdownRendererState
Auto Trait Implementations§
impl Freeze for MarkdownRendererState
impl RefUnwindSafe for MarkdownRendererState
impl Send for MarkdownRendererState
impl Sync for MarkdownRendererState
impl Unpin for MarkdownRendererState
impl UnsafeUnpin for MarkdownRendererState
impl UnwindSafe for MarkdownRendererState
Blanket Implementations§
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more