use std::sync::Arc; use adw::{Application, ApplicationWindow, HeaderBar, SplitButton}; use gtk::{ traits::{BoxExt, GridExt, GtkApplicationExt, RangeExt, ScaleExt, WidgetExt}, ActionBar, AspectFrame, Box, Button, Grid, Image, Orientation, PositionType, Scale, Separator, ToggleButton, }; use crate::{ constants::{MARGIN_LEFT, MARGIN_RIGHT_SCALE_ADDITIONAL, MARGIN_TOP, TOGGLE_NEIGHBOURS_TEXT}, state::State, AnnotationImage, MARGIN_BOTTOM, }; #[derive(Debug, Clone, Builder)] pub struct ImageUI { pub window: Arc, pub application_vertical_widget: Arc, pub individual: Arc, pub center: Arc, pub neighbours: [Arc; 8], pub focus_scale: Arc, pub focus_neighbours_grid: Arc, pub focus_neighbours_aspect_frame: Arc, pub neighbour_toggle_button: Arc, pub open_button: Arc, pub back_button: Arc