refactor!: reuse text style of tree item

BREAKING CHANGE: TreeItem style is gone
This commit is contained in:
EdJoPaTo
2024-05-06 10:24:41 +02:00
parent 775e5cc4ef
commit 65fd1c04ed
2 changed files with 9 additions and 16 deletions
+9 -6
View File
@@ -276,8 +276,8 @@ where
height, height,
}; };
let item_style = self.style.patch(item.style); let text = &item.text;
buf.set_style(area, item_style); let item_style = text.style;
let is_selected = state.selected == *identifier; let is_selected = state.selected == *identifier;
let after_highlight_symbol_x = if has_selection { let after_highlight_symbol_x = if has_selection {
@@ -314,10 +314,13 @@ where
x x
}; };
let max_element_width = area.width.saturating_sub(after_depth_x - x); let text_area = Rect {
for (j, line) in item.text.lines.iter().enumerate() { x: after_depth_x,
buf.set_line(after_depth_x, y + j as u16, line, max_element_width); width: area.width.saturating_sub(after_depth_x - x),
} ..area
};
text.render(text_area, buf);
if is_selected { if is_selected {
buf.set_style(area, self.highlight_style); buf.set_style(area, self.highlight_style);
} }
-10
View File
@@ -1,6 +1,5 @@
use std::collections::HashSet; use std::collections::HashSet;
use ratatui::style::Style;
use ratatui::text::Text; use ratatui::text::Text;
/// One item inside a [`Tree`](crate::Tree). /// One item inside a [`Tree`](crate::Tree).
@@ -38,7 +37,6 @@ use ratatui::text::Text;
pub struct TreeItem<'a, Identifier> { pub struct TreeItem<'a, Identifier> {
pub(super) identifier: Identifier, pub(super) identifier: Identifier,
pub(super) text: Text<'a>, pub(super) text: Text<'a>,
pub(super) style: Style,
pub(super) children: Vec<Self>, pub(super) children: Vec<Self>,
} }
@@ -55,7 +53,6 @@ where
Self { Self {
identifier, identifier,
text: text.into(), text: text.into(),
style: Style::new(),
children: Vec::new(), children: Vec::new(),
} }
} }
@@ -83,7 +80,6 @@ where
Ok(Self { Ok(Self {
identifier, identifier,
text: text.into(), text: text.into(),
style: Style::new(),
children, children,
}) })
} }
@@ -112,12 +108,6 @@ where
self.text.height() self.text.height()
} }
#[must_use]
pub const fn style(mut self, style: Style) -> Self {
self.style = style;
self
}
/// Add a child to the `TreeItem`. /// Add a child to the `TreeItem`.
/// ///
/// # Errors /// # Errors