use std::cell::RefCell; use std::rc::Rc; use std::sync::Arc; use adw::glib::StaticTypeExt; use adw::subclass::prelude::AdwApplicationWindowImpl; use adw::{Breakpoint, OverlaySplitView}; use glib::subclass::InitializingObject; use gtk::prelude::WidgetExt; use gtk::subclass::prelude::*; use gtk::{glib, Button, CompositeTemplate, FlowBox, ListBox, SearchEntry}; use crate::components::base::utils::{Listeners, Position}; use crate::components::wifi::wifi_box::WifiBox; use crate::components::window::reset_window; use crate::components::window::sidebar_entry::SidebarEntry; type SidebarEntries = RefCell, Vec>)>>; #[derive(CompositeTemplate, Default)] #[template(resource = "/org/Xetibo/ReSet/resetMainWindow.ui")] pub struct ReSetWindow { #[template_child] pub reset_main: TemplateChild, #[template_child] pub reset_sidebar_breakpoint: TemplateChild, #[template_child] pub reset_overlay_split_view: TemplateChild, #[template_child] pub reset_search_entry: TemplateChild, #[template_child] pub reset_sidebar_list: TemplateChild, #[template_child] pub reset_sidebar_toggle: TemplateChild