From fbf1a451c85871db598cf1df2ad9a50edbe07cd2 Mon Sep 17 00:00:00 2001 From: Josh McKinney Date: Tue, 3 Oct 2023 16:50:14 -0700 Subject: [PATCH] chore: simplify constraints (#556) Use bare arrays rather than array refs / Vecs for all constraint examples. Ref: https://github.com/ratatui-org/ratatui-book/issues/94 --- README.md | 6 ++--- examples/barchart.rs | 4 ++-- examples/block.rs | 6 ++--- examples/calendar.rs | 28 +++++++++------------- examples/canvas.rs | 4 ++-- examples/chart.rs | 13 ++++------- examples/colors.rs | 26 ++++++++++----------- examples/colors_rgb.rs | 2 +- examples/custom_widget.rs | 4 ++-- examples/demo/ui.rs | 34 +++++++++++---------------- examples/demo2/tabs/traceroute.rs | 2 +- examples/docsrs.rs | 6 ++--- examples/gauge.rs | 15 +++++------- examples/inline.rs | 4 ++-- examples/layout.rs | 6 ++--- examples/list.rs | 2 +- examples/modifiers.rs | 6 ++--- examples/paragraph.rs | 15 +++++------- examples/popup.rs | 28 +++++++++------------- examples/scrollbar.rs | 17 ++++++-------- examples/sparkline.rs | 13 ++++------- examples/table.rs | 2 +- examples/tabs.rs | 2 +- examples/user_input.rs | 13 ++++------- src/layout.rs | 39 ++++++++++++++----------------- src/lib.rs | 6 ++--- tests/widgets_gauge.rs | 4 ++-- 27 files changed, 134 insertions(+), 173 deletions(-) diff --git a/README.md b/README.md index 4a0a32a8..d890a889 100644 --- a/README.md +++ b/README.md @@ -190,7 +190,7 @@ use ratatui::{prelude::*, widgets::*}; fn ui(frame: &mut Frame) { let main_layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(1), Constraint::Min(0), Constraint::Length(1), @@ -207,7 +207,7 @@ fn ui(frame: &mut Frame) { let inner_layout = Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Percentage(50), Constraint::Percentage(50)]) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(main_layout[1]); frame.render_widget( Block::default().borders(Borders::ALL).title("Left"), @@ -242,7 +242,7 @@ use ratatui::{prelude::*, widgets::*}; fn ui(frame: &mut Frame) { let areas = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(1), Constraint::Length(1), Constraint::Length(1), diff --git a/examples/barchart.rs b/examples/barchart.rs index e8d7073b..5a7e6063 100644 --- a/examples/barchart.rs +++ b/examples/barchart.rs @@ -139,7 +139,7 @@ fn run_app( fn ui(f: &mut Frame, app: &App) { let chunks = Layout::default() .direction(Direction::Vertical) - .constraints([Constraint::Ratio(1, 3), Constraint::Ratio(2, 3)].as_ref()) + .constraints([Constraint::Ratio(1, 3), Constraint::Ratio(2, 3)]) .split(f.size()); let barchart = BarChart::default() @@ -152,7 +152,7 @@ fn ui(f: &mut Frame, app: &App) { let chunks = Layout::default() .direction(Direction::Horizontal) - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(chunks[1]); draw_bar_with_group_labels(f, app, chunks[0]); diff --git a/examples/block.rs b/examples/block.rs index df0642cd..e92d90c7 100644 --- a/examples/block.rs +++ b/examples/block.rs @@ -105,18 +105,18 @@ fn ui(frame: &mut Frame) { fn calculate_layout(area: Rect) -> (Rect, Vec>) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(1), Constraint::Min(0)]) + .constraints([Constraint::Length(1), Constraint::Min(0)]) .split(area); let title_area = layout[0]; let main_areas = Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Max(4); 9]) + .constraints([Constraint::Max(4); 9]) .split(layout[1]) .iter() .map(|&area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Percentage(50), Constraint::Percentage(50)]) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(area) .to_vec() }) diff --git a/examples/calendar.rs b/examples/calendar.rs index f265e268..e8852860 100644 --- a/examples/calendar.rs +++ b/examples/calendar.rs @@ -69,14 +69,11 @@ fn split_rows(area: &Rect) -> Rc<[Rect]> { let list_layout = Layout::default() .direction(Direction::Vertical) .margin(0) - .constraints( - [ - Constraint::Percentage(33), - Constraint::Percentage(33), - Constraint::Percentage(33), - ] - .as_ref(), - ); + .constraints([ + Constraint::Percentage(33), + Constraint::Percentage(33), + Constraint::Percentage(33), + ]); list_layout.split(*area) } @@ -85,15 +82,12 @@ fn split_cols(area: &Rect) -> Rc<[Rect]> { let list_layout = Layout::default() .direction(Direction::Horizontal) .margin(0) - .constraints( - [ - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - ] - .as_ref(), - ); + .constraints([ + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + ]); list_layout.split(*area) } diff --git a/examples/canvas.rs b/examples/canvas.rs index 12d99502..142f7c57 100644 --- a/examples/canvas.rs +++ b/examples/canvas.rs @@ -109,12 +109,12 @@ impl App { fn ui(&self, frame: &mut Frame) { let main_layout = Layout::default() .direction(Direction::Horizontal) - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(frame.size()); let right_layout = Layout::default() .direction(Direction::Vertical) - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(main_layout[1]); frame.render_widget(self.map_canvas(), main_layout[0]); diff --git a/examples/chart.rs b/examples/chart.rs index 35ac600c..9fd4162c 100644 --- a/examples/chart.rs +++ b/examples/chart.rs @@ -146,14 +146,11 @@ fn ui(f: &mut Frame, app: &App) { let size = f.size(); let chunks = Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Ratio(1, 3), - Constraint::Ratio(1, 3), - Constraint::Ratio(1, 3), - ] - .as_ref(), - ) + .constraints([ + Constraint::Ratio(1, 3), + Constraint::Ratio(1, 3), + Constraint::Ratio(1, 3), + ]) .split(size); let x_labels = vec![ Span::styled( diff --git a/examples/colors.rs b/examples/colors.rs index 7a85b638..05cd9981 100644 --- a/examples/colors.rs +++ b/examples/colors.rs @@ -44,7 +44,7 @@ fn run_app(terminal: &mut Terminal) -> io::Result<()> { fn ui(frame: &mut Frame) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(30), Constraint::Length(17), Constraint::Length(2), @@ -78,7 +78,7 @@ const NAMED_COLORS: [Color; 16] = [ fn render_named_colors(frame: &mut Frame, area: Rect) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(3); 10]) + .constraints([Constraint::Length(3); 10]) .split(area); render_fg_named_colors(frame, Color::Reset, layout[0]); @@ -101,13 +101,13 @@ fn render_fg_named_colors(frame: &mut Frame, bg: Color, area: Rect) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(1); 2]) + .constraints([Constraint::Length(1); 2]) .split(inner) .iter() .flat_map(|area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Ratio(1, 8); 8]) + .constraints([Constraint::Ratio(1, 8); 8]) .split(*area) .to_vec() }) @@ -126,13 +126,13 @@ fn render_bg_named_colors(frame: &mut Frame, fg: Color, area: Rect) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(1); 2]) + .constraints([Constraint::Length(1); 2]) .split(inner) .iter() .flat_map(|area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Ratio(1, 8); 8]) + .constraints([Constraint::Ratio(1, 8); 8]) .split(*area) .to_vec() }) @@ -151,7 +151,7 @@ fn render_indexed_colors(frame: &mut Frame, area: Rect) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(1), // 0 - 15 Constraint::Length(1), // blank Constraint::Min(6), // 16 - 123 @@ -164,7 +164,7 @@ fn render_indexed_colors(frame: &mut Frame, area: Rect) { // 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 let color_layout = Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Length(5); 16]) + .constraints([Constraint::Length(5); 16]) .split(layout[0]); for i in 0..16 { let color = Color::Indexed(i); @@ -198,7 +198,7 @@ fn render_indexed_colors(frame: &mut Frame, area: Rect) { .flat_map(|area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Length(27); 3]) + .constraints([Constraint::Length(27); 3]) .split(*area) .to_vec() }) @@ -206,7 +206,7 @@ fn render_indexed_colors(frame: &mut Frame, area: Rect) { .flat_map(|area| { Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(1); 6]) + .constraints([Constraint::Length(1); 6]) .split(area) .to_vec() }) @@ -214,7 +214,7 @@ fn render_indexed_colors(frame: &mut Frame, area: Rect) { .flat_map(|area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Min(4); 6]) + .constraints([Constraint::Min(4); 6]) .split(area) .to_vec() }) @@ -246,7 +246,7 @@ fn title_block(title: String) -> Block<'static> { fn render_indexed_grayscale(frame: &mut Frame, area: Rect) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(1), // 232 - 243 Constraint::Length(1), // 244 - 255 ]) @@ -255,7 +255,7 @@ fn render_indexed_grayscale(frame: &mut Frame, area: Rect) { .flat_map(|area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Length(6); 12]) + .constraints([Constraint::Length(6); 12]) .split(*area) .to_vec() }) diff --git a/examples/colors_rgb.rs b/examples/colors_rgb.rs index d531fe1d..b15c859a 100644 --- a/examples/colors_rgb.rs +++ b/examples/colors_rgb.rs @@ -89,7 +89,7 @@ impl RgbColors { fn layout(area: Rect) -> Rc<[Rect]> { Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(1), Constraint::Min(0)]) + .constraints([Constraint::Length(1), Constraint::Min(0)]) .split(area) } diff --git a/examples/custom_widget.rs b/examples/custom_widget.rs index 89193918..f5878f8b 100644 --- a/examples/custom_widget.rs +++ b/examples/custom_widget.rs @@ -173,7 +173,7 @@ fn run_app(terminal: &mut Terminal) -> io::Result<()> { fn ui(frame: &mut Frame, states: &[State; 3]) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(1), Constraint::Max(3), Constraint::Length(1), @@ -194,7 +194,7 @@ fn ui(frame: &mut Frame, states: &[State; 3]) { fn render_buttons(frame: &mut Frame<'_>, area: Rect, states: &[State; 3]) { let layout = Layout::default() .direction(Direction::Horizontal) - .constraints(vec![ + .constraints([ Constraint::Length(15), Constraint::Length(15), Constraint::Length(15), diff --git a/examples/demo/ui.rs b/examples/demo/ui.rs index 37cd33ef..41b15e10 100644 --- a/examples/demo/ui.rs +++ b/examples/demo/ui.rs @@ -7,7 +7,7 @@ use crate::app::App; pub fn draw(f: &mut Frame, app: &mut App) { let chunks = Layout::default() - .constraints([Constraint::Length(3), Constraint::Min(0)].as_ref()) + .constraints([Constraint::Length(3), Constraint::Min(0)]) .split(f.size()); let titles = app .tabs @@ -30,14 +30,11 @@ pub fn draw(f: &mut Frame, app: &mut App) { fn draw_first_tab(f: &mut Frame, app: &mut App, area: Rect) { let chunks = Layout::default() - .constraints( - [ - Constraint::Length(9), - Constraint::Min(8), - Constraint::Length(7), - ] - .as_ref(), - ) + .constraints([ + Constraint::Length(9), + Constraint::Min(8), + Constraint::Length(7), + ]) .split(area); draw_gauges(f, app, chunks[0]); draw_charts(f, app, chunks[1]); @@ -46,14 +43,11 @@ fn draw_first_tab(f: &mut Frame, app: &mut App, area: Rect) { fn draw_gauges(f: &mut Frame, app: &mut App, area: Rect) { let chunks = Layout::default() - .constraints( - [ - Constraint::Length(2), - Constraint::Length(3), - Constraint::Length(1), - ] - .as_ref(), - ) + .constraints([ + Constraint::Length(2), + Constraint::Length(3), + Constraint::Length(1), + ]) .margin(1) .split(area); let block = Block::default().borders(Borders::ALL).title("Graphs"); @@ -108,11 +102,11 @@ fn draw_charts(f: &mut Frame, app: &mut App, area: Rect) { .split(area); { let chunks = Layout::default() - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(chunks[0]); { let chunks = Layout::default() - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .direction(Direction::Horizontal) .split(chunks[0]); @@ -280,7 +274,7 @@ fn draw_text(f: &mut Frame, area: Rect) { fn draw_second_tab(f: &mut Frame, app: &mut App, area: Rect) { let chunks = Layout::default() - .constraints([Constraint::Percentage(30), Constraint::Percentage(70)].as_ref()) + .constraints([Constraint::Percentage(30), Constraint::Percentage(70)]) .direction(Direction::Horizontal) .split(area); let up_style = Style::default().fg(Color::Green); diff --git a/examples/demo2/tabs/traceroute.rs b/examples/demo2/tabs/traceroute.rs index dc78d5f7..ae9d7006 100644 --- a/examples/demo2/tabs/traceroute.rs +++ b/examples/demo2/tabs/traceroute.rs @@ -30,7 +30,7 @@ impl Widget for TracerouteTab { Block::new().style(THEME.content).render(area, buf); let area = Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Ratio(1, 2), Constraint::Ratio(1, 2)]) + .constraints([Constraint::Ratio(1, 2), Constraint::Ratio(1, 2)]) .split(area); let left_area = layout(area[0], Direction::Vertical, vec![0, 3]); render_hops(self.selected_row, left_area[0], buf); diff --git a/examples/docsrs.rs b/examples/docsrs.rs index ab25f2fc..9ef725b5 100644 --- a/examples/docsrs.rs +++ b/examples/docsrs.rs @@ -55,7 +55,7 @@ fn handle_events() -> io::Result { fn layout(frame: &mut Frame) { let main_layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(1), Constraint::Min(0), Constraint::Length(1), @@ -72,7 +72,7 @@ fn layout(frame: &mut Frame) { let inner_layout = Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Percentage(50), Constraint::Percentage(50)]) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(main_layout[1]); frame.render_widget( Block::default().borders(Borders::ALL).title("Left"), @@ -87,7 +87,7 @@ fn layout(frame: &mut Frame) { fn styling(frame: &mut Frame) { let areas = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Constraint::Length(1), Constraint::Length(1), Constraint::Length(1), diff --git a/examples/gauge.rs b/examples/gauge.rs index 0d84c63e..8e9d888e 100644 --- a/examples/gauge.rs +++ b/examples/gauge.rs @@ -106,15 +106,12 @@ fn run_app( fn ui(f: &mut Frame, app: &App) { let chunks = Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - ] - .as_ref(), - ) + .constraints([ + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + ]) .split(f.size()); let gauge = Gauge::default() diff --git a/examples/inline.rs b/examples/inline.rs index 77462b39..577b20a3 100644 --- a/examples/inline.rs +++ b/examples/inline.rs @@ -223,7 +223,7 @@ fn ui(f: &mut Frame, downloads: &Downloads) { f.render_widget(block, size); let chunks = Layout::default() - .constraints(vec![Constraint::Length(2), Constraint::Length(4)]) + .constraints([Constraint::Length(2), Constraint::Length(4)]) .margin(1) .split(size); @@ -237,7 +237,7 @@ fn ui(f: &mut Frame, downloads: &Downloads) { let chunks = Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Percentage(20), Constraint::Percentage(80)]) + .constraints([Constraint::Percentage(20), Constraint::Percentage(80)]) .split(chunks[1]); // in progress downloads diff --git a/examples/layout.rs b/examples/layout.rs index 0257564a..e9630f0b 100644 --- a/examples/layout.rs +++ b/examples/layout.rs @@ -50,7 +50,7 @@ fn run_app(terminal: &mut Terminal) -> io::Result<()> { fn ui(frame: &mut Frame) { let main_layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Length(4), // text Length(50), // examples Min(0), // fills remaining space @@ -71,7 +71,7 @@ fn ui(frame: &mut Frame) { let example_rows = Layout::default() .direction(Direction::Vertical) - .constraints(vec![ + .constraints([ Length(9), Length(9), Length(9), @@ -85,7 +85,7 @@ fn ui(frame: &mut Frame) { .flat_map(|area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![ + .constraints([ Length(14), Length(14), Length(14), diff --git a/examples/list.rs b/examples/list.rs index 9c0d1043..2734a38b 100644 --- a/examples/list.rs +++ b/examples/list.rs @@ -202,7 +202,7 @@ fn ui(f: &mut Frame, app: &mut App) { // Create two chunks with equal horizontal screen space let chunks = Layout::default() .direction(Direction::Horizontal) - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(f.size()); // Iterate through all elements in the `items` app and append some debug text to it. diff --git a/examples/modifiers.rs b/examples/modifiers.rs index 1fb58384..fbfcc4ac 100644 --- a/examples/modifiers.rs +++ b/examples/modifiers.rs @@ -46,7 +46,7 @@ fn run_app(terminal: &mut Terminal) -> io::Result<()> { fn ui(frame: &mut Frame) { let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(1), Constraint::Min(0)]) + .constraints([Constraint::Length(1), Constraint::Min(0)]) .split(frame.size()); frame.render_widget( Paragraph::new("Note: not all terminals support all modifiers") @@ -55,13 +55,13 @@ fn ui(frame: &mut Frame) { ); let layout = Layout::default() .direction(Direction::Vertical) - .constraints(vec![Constraint::Length(1); 50]) + .constraints([Constraint::Length(1); 50]) .split(layout[1]) .iter() .flat_map(|area| { Layout::default() .direction(Direction::Horizontal) - .constraints(vec![Constraint::Percentage(20); 5]) + .constraints([Constraint::Percentage(20); 5]) .split(*area) .to_vec() }) diff --git a/examples/paragraph.rs b/examples/paragraph.rs index 976e6a71..ef77f727 100644 --- a/examples/paragraph.rs +++ b/examples/paragraph.rs @@ -94,15 +94,12 @@ fn ui(f: &mut Frame, app: &App) { let chunks = Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - ] - .as_ref(), - ) + .constraints([ + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + ]) .split(size); let text = vec![ diff --git a/examples/popup.rs b/examples/popup.rs index cf56bee7..3952829e 100644 --- a/examples/popup.rs +++ b/examples/popup.rs @@ -65,7 +65,7 @@ fn ui(f: &mut Frame, app: &App) { let size = f.size(); let chunks = Layout::default() - .constraints([Constraint::Percentage(20), Constraint::Percentage(80)].as_ref()) + .constraints([Constraint::Percentage(20), Constraint::Percentage(80)]) .split(size); let text = if app.show_popup { @@ -96,25 +96,19 @@ fn ui(f: &mut Frame, app: &App) { fn centered_rect(percent_x: u16, percent_y: u16, r: Rect) -> Rect { let popup_layout = Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Percentage((100 - percent_y) / 2), - Constraint::Percentage(percent_y), - Constraint::Percentage((100 - percent_y) / 2), - ] - .as_ref(), - ) + .constraints([ + Constraint::Percentage((100 - percent_y) / 2), + Constraint::Percentage(percent_y), + Constraint::Percentage((100 - percent_y) / 2), + ]) .split(r); Layout::default() .direction(Direction::Horizontal) - .constraints( - [ - Constraint::Percentage((100 - percent_x) / 2), - Constraint::Percentage(percent_x), - Constraint::Percentage((100 - percent_x) / 2), - ] - .as_ref(), - ) + .constraints([ + Constraint::Percentage((100 - percent_x) / 2), + Constraint::Percentage(percent_x), + Constraint::Percentage((100 - percent_x) / 2), + ]) .split(popup_layout[1])[1] } diff --git a/examples/scrollbar.rs b/examples/scrollbar.rs index 44dc094c..bcdbce69 100644 --- a/examples/scrollbar.rs +++ b/examples/scrollbar.rs @@ -107,16 +107,13 @@ fn ui(f: &mut Frame, app: &mut App) { let chunks = Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Min(1), - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - Constraint::Percentage(25), - ] - .as_ref(), - ) + .constraints([ + Constraint::Min(1), + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + Constraint::Percentage(25), + ]) .split(size); let text = vec![ diff --git a/examples/sparkline.rs b/examples/sparkline.rs index b170df4a..70df8c8f 100644 --- a/examples/sparkline.rs +++ b/examples/sparkline.rs @@ -129,14 +129,11 @@ fn run_app( fn ui(f: &mut Frame, app: &App) { let chunks = Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Length(3), - Constraint::Length(3), - Constraint::Min(0), - ] - .as_ref(), - ) + .constraints([ + Constraint::Length(3), + Constraint::Length(3), + Constraint::Min(0), + ]) .split(f.size()); let sparkline = Sparkline::default() .block( diff --git a/examples/table.rs b/examples/table.rs index bcd1948e..0b503647 100644 --- a/examples/table.rs +++ b/examples/table.rs @@ -115,7 +115,7 @@ fn run_app(terminal: &mut Terminal, mut app: App) -> io::Result<( fn ui(f: &mut Frame, app: &mut App) { let rects = Layout::default() - .constraints([Constraint::Percentage(100)].as_ref()) + .constraints([Constraint::Percentage(100)]) .split(f.size()); let selected_style = Style::default().add_modifier(Modifier::REVERSED); diff --git a/examples/tabs.rs b/examples/tabs.rs index da16d8e1..ecb19a4f 100644 --- a/examples/tabs.rs +++ b/examples/tabs.rs @@ -82,7 +82,7 @@ fn ui(f: &mut Frame, app: &App) { let size = f.size(); let chunks = Layout::default() .direction(Direction::Vertical) - .constraints([Constraint::Length(3), Constraint::Min(0)].as_ref()) + .constraints([Constraint::Length(3), Constraint::Min(0)]) .split(size); let block = Block::default().on_white().black(); diff --git a/examples/user_input.rs b/examples/user_input.rs index 8b3078cf..4c6668b3 100644 --- a/examples/user_input.rs +++ b/examples/user_input.rs @@ -174,14 +174,11 @@ fn run_app(terminal: &mut Terminal, mut app: App) -> io::Result<( fn ui(f: &mut Frame, app: &App) { let chunks = Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Length(1), - Constraint::Length(3), - Constraint::Min(1), - ] - .as_ref(), - ) + .constraints([ + Constraint::Length(1), + Constraint::Length(3), + Constraint::Min(1), + ]) .split(f.size()); let (msg, style) = match app.input_mode { diff --git a/src/layout.rs b/src/layout.rs index 3f7f4759..07aae26c 100644 --- a/src/layout.rs +++ b/src/layout.rs @@ -198,7 +198,7 @@ pub(crate) enum SegmentSize { /// fn render(frame: &mut Frame, area: Rect) { /// let layout = Layout::default() /// .direction(Direction::Vertical) -/// .constraints(vec![Constraint::Length(5), Constraint::Min(0)]) +/// .constraints([Constraint::Length(5), Constraint::Min(0)]) /// .split(Rect::new(0, 0, 10, 10)); /// frame.render_widget(Paragraph::new("foo"), layout[0]); /// frame.render_widget(Paragraph::new("bar"), layout[1]); @@ -276,7 +276,7 @@ impl Layout { /// ```rust /// # use ratatui::prelude::*; /// let layout = Layout::default() - /// .constraints(vec![ + /// .constraints([ /// Constraint::Percentage(20), /// Constraint::Ratio(1, 5), /// Constraint::Length(2), @@ -307,7 +307,7 @@ impl Layout { /// ```rust /// # use ratatui::prelude::*; /// let layout = Layout::default() - /// .constraints(vec![Constraint::Min(0)]) + /// .constraints([Constraint::Min(0)]) /// .margin(2) /// .split(Rect::new(0, 0, 10, 10)); /// assert_eq!(layout[..], [Rect::new(2, 2, 6, 6)]); @@ -327,7 +327,7 @@ impl Layout { /// ```rust /// # use ratatui::prelude::*; /// let layout = Layout::default() - /// .constraints(vec![Constraint::Min(0)]) + /// .constraints([Constraint::Min(0)]) /// .horizontal_margin(2) /// .split(Rect::new(0, 0, 10, 10)); /// assert_eq!(layout[..], [Rect::new(2, 0, 6, 10)]); @@ -344,7 +344,7 @@ impl Layout { /// ```rust /// # use ratatui::prelude::*; /// let layout = Layout::default() - /// .constraints(vec![Constraint::Min(0)]) + /// .constraints([Constraint::Min(0)]) /// .vertical_margin(2) /// .split(Rect::new(0, 0, 10, 10)); /// assert_eq!(layout[..], [Rect::new(0, 2, 10, 6)]); @@ -362,13 +362,13 @@ impl Layout { /// # use ratatui::prelude::*; /// let layout = Layout::default() /// .direction(Direction::Horizontal) - /// .constraints(vec![Constraint::Length(5), Constraint::Min(0)]) + /// .constraints([Constraint::Length(5), Constraint::Min(0)]) /// .split(Rect::new(0, 0, 10, 10)); /// assert_eq!(layout[..], [Rect::new(0, 0, 5, 10), Rect::new(5, 0, 5, 10)]); /// /// let layout = Layout::default() /// .direction(Direction::Vertical) - /// .constraints(vec![Constraint::Length(5), Constraint::Min(0)]) + /// .constraints([Constraint::Length(5), Constraint::Min(0)]) /// .split(Rect::new(0, 0, 10, 10)); /// assert_eq!(layout[..], [Rect::new(0, 0, 10, 5), Rect::new(0, 5, 10, 5)]); /// ``` @@ -397,13 +397,13 @@ impl Layout { /// # use ratatui::prelude::*; /// let layout = Layout::default() /// .direction(Direction::Vertical) - /// .constraints(vec![Constraint::Length(5), Constraint::Min(0)]) + /// .constraints([Constraint::Length(5), Constraint::Min(0)]) /// .split(Rect::new(2, 2, 10, 10)); /// assert_eq!(layout[..], [Rect::new(2, 2, 10, 5), Rect::new(2, 7, 10, 5)]); /// /// let layout = Layout::default() /// .direction(Direction::Horizontal) - /// .constraints(vec![Constraint::Ratio(1, 3), Constraint::Ratio(2, 3)]) + /// .constraints([Constraint::Ratio(1, 3), Constraint::Ratio(2, 3)]) /// .split(Rect::new(0, 0, 9, 2)); /// assert_eq!(layout[..], [Rect::new(0, 0, 3, 2), Rect::new(3, 0, 6, 2)]); /// ``` @@ -605,14 +605,11 @@ mod tests { Layout::default() .direction(Direction::Vertical) - .constraints( - [ - Constraint::Percentage(10), - Constraint::Max(5), - Constraint::Min(1), - ] - .as_ref(), - ) + .constraints([ + Constraint::Percentage(10), + Constraint::Max(5), + Constraint::Min(1), + ]) .split(target); assert!(!Layout::init_cache(15)); LAYOUT_CACHE.with(|c| { @@ -1239,7 +1236,7 @@ mod tests { #[test] fn edge_cases() { let layout = Layout::default() - .constraints(vec![ + .constraints([ Constraint::Percentage(50), Constraint::Percentage(50), Constraint::Min(0), @@ -1255,7 +1252,7 @@ mod tests { ); let layout = Layout::default() - .constraints(vec![ + .constraints([ Constraint::Max(1), Constraint::Percentage(99), Constraint::Min(0), @@ -1273,7 +1270,7 @@ mod tests { // minimal bug from // https://github.com/ratatui-org/ratatui/pull/404#issuecomment-1681850644 let layout = Layout::default() - .constraints(vec![Min(1), Length(0), Min(1)]) + .constraints([Min(1), Length(0), Min(1)]) .direction(Direction::Horizontal) .split(Rect::new(0, 0, 1, 1)); assert_eq!( @@ -1286,7 +1283,7 @@ mod tests { ); let layout = Layout::default() - .constraints(vec![Length(3), Min(4), Length(1), Min(4)]) + .constraints([Length(3), Min(4), Length(1), Min(4)]) .direction(Direction::Horizontal) .split(Rect::new(0, 0, 7, 1)); assert_eq!( diff --git a/src/lib.rs b/src/lib.rs index e4dd64e8..82da86ac 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -169,7 +169,7 @@ //! fn ui(frame: &mut Frame) { //! let main_layout = Layout::default() //! .direction(Direction::Vertical) -//! .constraints(vec![ +//! .constraints([ //! Constraint::Length(1), //! Constraint::Min(0), //! Constraint::Length(1), @@ -186,7 +186,7 @@ //! //! let inner_layout = Layout::default() //! .direction(Direction::Horizontal) -//! .constraints(vec![Constraint::Percentage(50), Constraint::Percentage(50)]) +//! .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) //! .split(main_layout[1]); //! frame.render_widget( //! Block::default().borders(Borders::ALL).title("Left"), @@ -221,7 +221,7 @@ //! fn ui(frame: &mut Frame) { //! let areas = Layout::default() //! .direction(Direction::Vertical) -//! .constraints(vec![ +//! .constraints([ //! Constraint::Length(1), //! Constraint::Length(1), //! Constraint::Length(1), diff --git a/tests/widgets_gauge.rs b/tests/widgets_gauge.rs index fbf6d468..316b896e 100644 --- a/tests/widgets_gauge.rs +++ b/tests/widgets_gauge.rs @@ -18,7 +18,7 @@ fn widgets_gauge_renders() { let chunks = Layout::default() .direction(Direction::Vertical) .margin(2) - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(f.size()); let gauge = Gauge::default() @@ -87,7 +87,7 @@ fn widgets_gauge_renders_no_unicode() { let chunks = Layout::default() .direction(Direction::Vertical) .margin(2) - .constraints([Constraint::Percentage(50), Constraint::Percentage(50)].as_ref()) + .constraints([Constraint::Percentage(50), Constraint::Percentage(50)]) .split(f.size()); let gauge = Gauge::default()