summaryrefslogtreecommitdiffstats
path: root/src/hbox.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/hbox.rs')
-rw-r--r--src/hbox.rs13
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;