pub struct DocumentTree { /* private fields */ }Implementations§
Source§impl DocumentTree
impl DocumentTree
Sourcepub fn from_raw(arena: Arena<TreeNode>, root_id: NodeId) -> Self
pub fn from_raw(arena: Arena<TreeNode>, root_id: NodeId) -> Self
Create a document tree from an existing arena and root ID.
This is useful for deserialization and testing.
Sourcepub fn get(&self, id: NodeId) -> Option<&TreeNode>
pub fn get(&self, id: NodeId) -> Option<&TreeNode>
Get a node by its ID.
Returns None if the node doesn’t exist.
Sourcepub fn get_mut(&mut self, id: NodeId) -> Option<&mut TreeNode>
pub fn get_mut(&mut self, id: NodeId) -> Option<&mut TreeNode>
Get a mutable reference to a node by its ID.
Returns None if the node doesn’t exist.
Sourcepub fn add_child(
&mut self,
parent: NodeId,
title: &str,
content: &str,
) -> NodeId
pub fn add_child( &mut self, parent: NodeId, title: &str, content: &str, ) -> NodeId
Add a child node to the specified parent.
Returns the ID of the newly created child node.
Sourcepub fn add_child_with_pages(
&mut self,
parent: NodeId,
title: &str,
content: &str,
start_page: usize,
end_page: usize,
) -> NodeId
pub fn add_child_with_pages( &mut self, parent: NodeId, title: &str, content: &str, start_page: usize, end_page: usize, ) -> NodeId
Add a child node with page boundaries.
Returns the ID of the newly created child node.
Sourcepub fn parent(&self, id: NodeId) -> Option<NodeId>
pub fn parent(&self, id: NodeId) -> Option<NodeId>
Get the parent of a node.
Returns None if the node is the root or doesn’t have a parent.
Sourcepub fn node_count(&self) -> usize
pub fn node_count(&self) -> usize
Get the number of nodes in the tree.
Sourcepub fn set_summary(&mut self, id: NodeId, summary: &str)
pub fn set_summary(&mut self, id: NodeId, summary: &str)
Update a node’s summary.
Sourcepub fn set_content(&mut self, id: NodeId, content: &str)
pub fn set_content(&mut self, id: NodeId, content: &str)
Update a node’s content.
Sourcepub fn set_page_boundaries(&mut self, id: NodeId, start: usize, end: usize)
pub fn set_page_boundaries(&mut self, id: NodeId, start: usize, end: usize)
Set page boundaries for a node.
Sourcepub fn set_line_indices(&mut self, id: NodeId, start: usize, end: usize)
pub fn set_line_indices(&mut self, id: NodeId, start: usize, end: usize)
Set line indices for a node.
Sourcepub fn contains_page(&self, id: NodeId, page: usize) -> bool
pub fn contains_page(&self, id: NodeId, page: usize) -> bool
Check if a node contains a specific page.
Sourcepub fn set_node_id(&mut self, id: NodeId, node_id: &str)
pub fn set_node_id(&mut self, id: NodeId, node_id: &str)
Set the node ID (identifier string).
Sourcepub fn set_physical_index(&mut self, id: NodeId, index: &str)
pub fn set_physical_index(&mut self, id: NodeId, index: &str)
Set the physical index marker.
Sourcepub fn set_token_count(&mut self, id: NodeId, count: usize)
pub fn set_token_count(&mut self, id: NodeId, count: usize)
Update token count for a node.
Sourcepub fn to_structure_json(&self, doc_name: &str) -> DocumentStructure
pub fn to_structure_json(&self, doc_name: &str) -> DocumentStructure
Export the tree structure to JSON format (PageIndex compatible).
Trait Implementations§
Source§impl Clone for DocumentTree
impl Clone for DocumentTree
Source§fn clone(&self) -> DocumentTree
fn clone(&self) -> DocumentTree
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for DocumentTree
impl Debug for DocumentTree
Source§impl<'de> Deserialize<'de> for DocumentTree
impl<'de> Deserialize<'de> for DocumentTree
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>,
Auto Trait Implementations§
impl Freeze for DocumentTree
impl RefUnwindSafe for DocumentTree
impl Send for DocumentTree
impl Sync for DocumentTree
impl Unpin for DocumentTree
impl UnsafeUnpin for DocumentTree
impl UnwindSafe for DocumentTree
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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<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>
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>
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