[WIP] Console Box for Main UI

This commit is contained in:
Alex Emmet 2026-02-19 09:54:17 +01:00
commit b8658e84b9
9 changed files with 409 additions and 19 deletions

View file

@ -1,7 +1,7 @@
use std::any::Any;
use crossterm::event::KeyEvent;
use ratatui::{Frame, layout::Rect};
use ratatui::{Frame, layout::Rect, widgets::Borders};
use crate::gui::{interaction_result::InteractionResult, screens::screens::Screen};
@ -11,6 +11,15 @@ pub trait Element: Send + Sync + Any {
fn render(&self, f: &mut Frame, r: Rect);
}
pub trait JoinableElement: Send + Sync + Any {
fn as_any(&self) -> &dyn Any;
fn as_any_mut(&mut self) -> &mut dyn Any;
fn as_element(&self) -> &dyn Element;
fn as_element_mut(&mut self) -> &mut dyn Element;
fn set_borders(&mut self, borders: Borders);
fn set_joins(&mut self, joins: Borders);
}
pub trait InfoElement: Send + Sync + Any {
fn as_any(&self) -> &dyn Any;