diff options
Diffstat (limited to 'src/handlers/view.rs')
| -rw-r--r-- | src/handlers/view.rs | 20 |
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(); + } +} |