use super::widget::{Widget, DisplayMode, WidgetSize, WidgetPos}; use crate::error; pub struct Frame { size: WidgetSize, pos: WidgetPos, display_mode: DisplayMode, children: Vec>, } impl Widget for Frame { fn set_size(&mut self, new_size: WidgetSize) -> Result<(), error::WitError>{ self.size = new_size; Ok(()) } fn size(&self) -> WidgetSize { self.size } fn add_child(&mut self, child: Box) -> Result<(), error::WitError>{ self.children.push(child); Ok(()) } fn children(&self) -> &[Box] { self.children.as_slice() } fn set_pos(&mut self, new_pos: WidgetPos) -> Result<(), error::WitError>{ self.pos = new_pos; Ok(()) } fn pos(&self) -> WidgetPos { self.pos } fn set_display_mode(&mut self, new_display_mode: DisplayMode) -> Result<(), error::WitError>{ self.display_mode = new_display_mode; Ok(()) } fn display_mode(&self) -> DisplayMode { self.display_mode } }