add nominal owners for all action groups
[ardour.git] / gtk2_ardour / window_manager.h
index 6279180249f6211fa7fc8543d6ea14f46d05c60b..93d71add928244f63cfe691a3d79dc6e3375e54d 100644 (file)
@@ -27,8 +27,6 @@
 #include <glibmm/refptr.h>
 #include <sigc++/trackable.h>
 
-#include "lua_script_manager.h"
-
 #include "gtkmm2ext/bindings.h"
 #include "gtkmm2ext/window_proxy.h"
 
@@ -54,7 +52,7 @@ class ProxyBase;
 
 class Manager : public ARDOUR::SessionHandlePtr
 {
-  public:
+public:
        static Manager& instance();
 
        void register_window (ProxyBase*);
@@ -68,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<ProxyBase*> Windows;
        Windows _windows;
        Glib::RefPtr<Gtk::ActionGroup> window_actions;
@@ -78,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;
@@ -108,12 +108,14 @@ class ProxyTemporary: public ProxyBase
        }
 
        ARDOUR::SessionHandlePtr* session_handle ();
+
+       void explicit_delete () { _window = 0 ; delete this; }
 };
 
 template<typename T>
 class ProxyWithConstructor: public ProxyBase
 {
-  public:
+public:
        ProxyWithConstructor (const std::string& name, const std::string& menu_name, const boost::function<T*()>& c)
                : ProxyBase (name, menu_name) , creator (c) {}
 
@@ -154,14 +156,14 @@ class ProxyWithConstructor: public ProxyBase
                }
        }
 
-                                        private:
+private:
        boost::function<T*()>   creator;
 };
 
 template<typename T>
 class Proxy : public ProxyBase
 {
-  public:
+public:
        Proxy (const std::string& name, const std::string& menu_name)
                : ProxyBase (name, menu_name) {}
 
@@ -202,7 +204,7 @@ class Proxy : public ProxyBase
                }
        }
 
-  private:
+private:
        boost::function<T*()>   creator;
 };