// Map, wardley map editor for linux // Copyright (C) 2026 Rubén Beltrán del Río // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see . use crate::components::header::HeaderAction; use relm4::prelude::*; use crate::AppModel; use wmap_renderer::StageType; /// 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, }; model .header .emit(HeaderAction::SetLayoutOrientation(model.orientation)); } /// Updates the selected stage type from dropdown selection. pub fn stage_type_selected(model: &mut AppModel, stage_type: StageType) { model.stage_type = stage_type; model.update_image(); } /// Updates the selected stage type from dropdown selection. pub fn change_horizontal_layout(model: &mut AppModel, is_enabled: bool) { model.horizontal_layout_enabled = is_enabled; model .header .emit(HeaderAction::SetHorizontalLayoutEnabled(is_enabled)); }