From a6425ae123f9a1492d380d860d74f4589d180879 Mon Sep 17 00:00:00 2001 From: Sam Anthony Date: Sat, 4 Feb 2023 10:54:22 -0330 Subject: version number widget --- src/ui.rs | 17 ++++++++++++----- 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/ui.rs b/src/ui.rs index 36ce949..8efd060 100644 --- a/src/ui.rs +++ b/src/ui.rs @@ -6,8 +6,8 @@ use crossterm::{ use std::io; use tui::{ backend::{Backend, CrosstermBackend}, - layout::{Constraint, Direction, Layout}, - widgets::{List, ListItem, Paragraph}, + layout::{Alignment, Constraint, Direction, Layout}, + widgets::{List, ListItem, Paragraph, Widget}, Frame, Terminal, }; @@ -16,8 +16,9 @@ use crate::Calculator; impl Calculator { pub fn draw(&self, f: &mut Frame) { let chunks = layout(self.stack.len()).split(f.size()); - f.render_widget(stack_list(&self.stack), chunks[1]); - f.render_widget(Paragraph::new(self.input_buffer.as_str()), chunks[2]); + f.render_widget(version_number_widget(), chunks[0]); + f.render_widget(stack_widget(&self.stack), chunks[2]); + f.render_widget(Paragraph::new(self.input_buffer.as_str()), chunks[3]); } } @@ -48,6 +49,7 @@ fn layout(stack_size: usize) -> Layout { .direction(Direction::Vertical) .constraints( [ + Constraint::Length(1), Constraint::Max(u16::MAX), Constraint::Length(stack_size as u16), Constraint::Length(1), @@ -56,7 +58,7 @@ fn layout(stack_size: usize) -> Layout { ) } -fn stack_list(stack: &Vec) -> List { +fn stack_widget(stack: &Vec) -> impl Widget { List::new( stack .iter() @@ -64,3 +66,8 @@ fn stack_list(stack: &Vec) -> List { .collect::>(), ) } + +fn version_number_widget() -> impl Widget { + Paragraph::new(format!("pfc-{}", option_env!("CARGO_PKG_VERSION").unwrap())) + .alignment(Alignment::Center) +} -- cgit v1.2.3