X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=gtk2_ardour%2Fwindow_manager.h;h=6e89be3b267a66482aea6a6c08c5db34fe804cb0;hb=b754c4341e669729e29183abcd0857ec55eddb16;hp=2dd6a2262ea8f4db7310d8efafa97c20ee383a0a;hpb=1745340c67d66d8dd92e5b3a377e935ed5eea973;p=ardour.git diff --git a/gtk2_ardour/window_manager.h b/gtk2_ardour/window_manager.h index 2dd6a2262e..6e89be3b26 100644 --- a/gtk2_ardour/window_manager.h +++ b/gtk2_ardour/window_manager.h @@ -74,41 +74,41 @@ class Manager : public ARDOUR::SessionHandlePtr static Manager* _instance; }; - + class ProxyBase : public ARDOUR::SessionHandlePtr, public sigc::trackable { public: ProxyBase (const std::string& name, const std::string& menu_name); ProxyBase (const std::string& name, const std::string& menu_name, const XMLNode&); virtual ~ProxyBase(); - + void show (); void show_all (); void hide (); void present (); void maybe_show (); - + bool visible() const { return _visible; } const std::string& name() const { return _name; } const std::string& menu_name() const { return _menu_name; } - + std::string action_name() const; void set_action (Glib::RefPtr); Glib::RefPtr action() const { return _action; }; - + void drop_window (); void use_window (Gtk::Window&); - + virtual Gtk::Window* get (bool create = false) = 0; - + virtual void toggle (); - + void set_state (const XMLNode&); XMLNode& get_state () const; - + virtual ARDOUR::SessionHandlePtr* session_handle () = 0; operator bool() const { return _window != 0; } - + protected: std::string _name; std::string _menu_name; @@ -123,37 +123,37 @@ class ProxyBase : public ARDOUR::SessionHandlePtr, public sigc::trackable { void save_pos_and_size (); bool delete_event_handler (GdkEventAny *ev); - + void setup (); }; - + class ProxyTemporary: public ProxyBase { public: ProxyTemporary (const std::string& name, Gtk::Window* win); ~ProxyTemporary(); - - Gtk::Window* get (bool create = false) { + + Gtk::Window* get (bool create = false) { (void) create; return _window; } - - Gtk::Window* operator->() { + + Gtk::Window* operator->() { return _window; } ARDOUR::SessionHandlePtr* session_handle (); }; - + template class ProxyWithConstructor: public ProxyBase { public: ProxyWithConstructor (const std::string& name, const std::string& menu_name, const boost::function& c) : ProxyBase (name, menu_name) , creator (c) {} - + ProxyWithConstructor (const std::string& name, const std::string& menu_name, const boost::function& c, const XMLNode* node) : ProxyBase (name, menu_name, *node) , creator (c) {} - - Gtk::Window* get (bool create = false) { + + Gtk::Window* get (bool create = false) { if (!_window) { if (!create) { return 0; @@ -163,13 +163,13 @@ class ProxyWithConstructor: public ProxyBase { if (_window) { setup (); - } + } } return _window; } - T* operator->() { + T* operator->() { return dynamic_cast (get (true)); } @@ -199,8 +199,8 @@ class Proxy : public ProxyBase { Proxy (const std::string& name, const std::string& menu_name, const XMLNode* node) : ProxyBase (name, menu_name, *node) {} - - Gtk::Window* get (bool create = false) { + + Gtk::Window* get (bool create = false) { if (!_window) { if (!create) { return 0; @@ -210,13 +210,13 @@ class Proxy : public ProxyBase { if (_window) { setup (); - } + } } return _window; } - T* operator->() { + T* operator->() { return dynamic_cast (get(true)); } @@ -237,7 +237,7 @@ class Proxy : public ProxyBase { private: boost::function creator; }; - + } /* namespace */ #endif /* __gtk2_ardour_window_manager_h__ */