use std::cell::RefCell; use std::rc::Rc; use gtk4::glib; use gtk4::subclass::prelude::*; use gtk4::{Box, Button, ListBox, Revealer}; use crate::dock_object::DockObject; #[derive(Debug, Default)] pub struct DockPopover { pub menu_handle: Rc>, pub all_windows_item_revealer: Rc>, pub window_list: Rc>, pub launch_new_item: Rc>, pub favorite_item: Rc>, pub quit_all_item: Rc>, //TODO figure out how to use lifetimes with glib::wrapper! macro pub dock_object: Rc>>, } #[glib::object_subclass] impl ObjectSubclass for DockPopover { const NAME: &'static str = "DockPopover"; type Type = super::DockPopover; type ParentType = Box; } impl ObjectImpl for DockPopover {} impl WidgetImpl for DockPopover {} impl BoxImpl for DockPopover {}