diff options
Diffstat (limited to 'src/hbox.rs')
-rw-r--r-- | src/hbox.rs | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/src/hbox.rs b/src/hbox.rs index 15644f5..4537961 100644 --- a/src/hbox.rs +++ b/src/hbox.rs @@ -54,10 +54,23 @@ impl<T> HBox<T> where T: Widget + PartialEq { widget } + pub fn remove_widget(&mut self, index: usize) -> T { + self.widgets.remove(index) + } + pub fn prepend_widget(&mut self, widget: T) { self.widgets.insert(0, widget); } + pub fn insert_widget(&mut self, index: usize, widget: T) { + self.widgets.insert(index, widget); + } + + pub fn replace_widget(&mut self, index: usize, mut widget: T) -> T { + std::mem::swap(&mut self.widgets[index], &mut widget); + widget + } + pub fn toggle_zoom(&mut self) -> HResult<()> { self.clear().log(); self.zoom_active = !self.zoom_active; |