From 0d6119ab6f06762f650025ccb3dbdb626c445a58 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Wed, 1 Feb 2023 18:21:39 -0330 Subject: reverse direction of layout --- src/main.rs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/src/main.rs b/src/main.rs index b241afa..f3f3d9a 100644 --- a/src/main.rs +++ b/src/main.rs @@ -49,7 +49,7 @@ impl App { self.perform_operation(op); } } - KeyCode::Enter => { + KeyCode::Enter if self.input_buffer.len() > 0 => { self.stack.push(self.input_buffer.parse::().unwrap()); self.input_buffer = String::new(); } @@ -66,17 +66,23 @@ impl App { fn draw(&self, f: &mut Frame) { let chunks = Layout::default() .direction(Direction::Vertical) - .constraints([Constraint::Length(1), Constraint::Percentage(100)].as_ref()) + .constraints( + [ + Constraint::Max(u16::MAX), + Constraint::Length(self.stack.len() as u16), + Constraint::Length(1), + ] + .as_ref(), + ) .split(f.size()); - f.render_widget(Paragraph::new(self.input_buffer.as_str()), chunks[0]); - let items: Vec = (self.stack) .iter() - .rev() .map(|f| ListItem::new(format!("{}", f))) .collect(); f.render_widget(List::new(items), chunks[1]); + + f.render_widget(Paragraph::new(self.input_buffer.as_str()), chunks[2]); } fn perform_operation(&mut self, op: Operator) { -- cgit v1.2.3