X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fwindow_manager.h;h=93d71add928244f63cfe691a3d79dc6e3375e54d;hb=6b1b72a247bf04c81292fc41af4f69c9b7f90379;hp=37744e5964801bc1b8ac7abc7d0da64852ae3aa9;hpb=bc487bb4b02a9780938d6cf8528c888e59161aa9;p=ardour.git diff --git a/gtk2_ardour/window_manager.h b/gtk2_ardour/window_manager.h index 37744e5964..93d71add92 100644 --- a/gtk2_ardour/window_manager.h +++ b/gtk2_ardour/window_manager.h @@ -52,7 +52,7 @@ class ProxyBase; class Manager : public ARDOUR::SessionHandlePtr { - public: +public: static Manager& instance(); void register_window (ProxyBase*); @@ -66,7 +66,7 @@ class Manager : public ARDOUR::SessionHandlePtr void set_transient_for (Gtk::Window*); Gtk::Window* transient_parent() const { return current_transient_parent; } - private: +private: typedef std::list Windows; Windows _windows; Glib::RefPtr window_actions; @@ -76,25 +76,27 @@ class Manager : public ARDOUR::SessionHandlePtr ~Manager(); static Manager* _instance; +private: + void window_proxy_was_mapped (ProxyBase*); + void window_proxy_was_unmapped (ProxyBase*); }; class ProxyBase : public ARDOUR::SessionHandlePtr, public Gtkmm2ext::WindowProxy { - public: +public: ProxyBase (const std::string& name, const std::string& menu_name); ProxyBase (const std::string& name, const std::string& menu_name, const XMLNode&); virtual ARDOUR::SessionHandlePtr* session_handle () = 0; - protected: +protected: void setup (); }; class ProxyTemporary: public ProxyBase { - public: +public: ProxyTemporary (const std::string& name, Gtk::Window* win); - ~ProxyTemporary(); Gtk::Window* get (bool create = false) { (void) create; @@ -106,12 +108,14 @@ class ProxyTemporary: public ProxyBase } ARDOUR::SessionHandlePtr* session_handle (); + + void explicit_delete () { _window = 0 ; delete this; } }; template class ProxyWithConstructor: public ProxyBase { - public: +public: ProxyWithConstructor (const std::string& name, const std::string& menu_name, const boost::function& c) : ProxyBase (name, menu_name) , creator (c) {} @@ -152,14 +156,14 @@ class ProxyWithConstructor: public ProxyBase } } - private: +private: boost::function creator; }; template class Proxy : public ProxyBase { - public: +public: Proxy (const std::string& name, const std::string& menu_name) : ProxyBase (name, menu_name) {} @@ -200,7 +204,7 @@ class Proxy : public ProxyBase } } - private: +private: boost::function creator; };