aboutsummaryrefslogtreecommitdiff
path: root/src/handlers/view.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/handlers/view.rs')
-rw-r--r--src/handlers/view.rs20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/handlers/view.rs b/src/handlers/view.rs
new file mode 100644
index 0000000..64aeb98
--- /dev/null
+++ b/src/handlers/view.rs
@@ -0,0 +1,20 @@
+use relm4::gtk;
+
+use crate::AppModel;
+use crate::stages::ALL_STAGE_TYPES;
+
+/// Toggles between horizontal and vertical layout orientation.
+pub fn change_orientation(model: &mut AppModel) {
+ model.orientation = match model.orientation {
+ gtk::Orientation::Horizontal => gtk::Orientation::Vertical,
+ _ => gtk::Orientation::Horizontal,
+ };
+}
+
+/// Updates the selected stage type from dropdown selection.
+pub fn stage_type_selected(model: &mut AppModel, index: usize) {
+ if index < ALL_STAGE_TYPES.len() {
+ model.stage_type = ALL_STAGE_TYPES[index];
+ model.update_image();
+ }
+}