21 #ifndef __gtk2_ardour_window_manager_h__
22 #define __gtk2_ardour_window_manager_h__
27 #include <sigc++/trackable.h>
33 #include <glibmm/refptr.h>
45 class VisibilityTracker;
50 class SessionHandlePtr;
146 return dynamic_cast<T*
> (
get (
true));
151 return dynamic_cast<T*
> (
_window);
161 if (wsp && wsp != sp) {
199 return dynamic_cast<T*
> (
get(
true));
204 return dynamic_cast<T*
> (
_window);
214 if (wsp && wsp != sp) {
virtual void set_session(ARDOUR::Session *)
const std::string & menu_name() const
const std::string & name() const
void show_visible() const
void set_transient_for(Gtk::Window *)
Glib::RefPtr< Gtk::ActionGroup > window_actions
void toggle_window(ProxyBase *)
void remove(const ProxyBase *)
void window_proxy_was_unmapped(ProxyBase *)
void add_state(XMLNode &) const
void set_session(ARDOUR::Session *)
std::list< ProxyBase * > Windows
void window_proxy_was_mapped(ProxyBase *)
void register_window(ProxyBase *)
Gtk::Window * transient_parent() const
static Manager & instance()
static Manager * _instance
Gtk::Window * current_transient_parent
ProxyBase(const std::string &name, const std::string &menu_name)
virtual ARDOUR::SessionHandlePtr * session_handle()=0
ProxyBase(const std::string &name, const std::string &menu_name, const XMLNode &)
ARDOUR::SessionHandlePtr * session_handle()
Gtk::Window * operator->()
Gtk::Window * get(bool create=false)
ProxyTemporary(const std::string &name, Gtk::Window *win)
ProxyWithConstructor(const std::string &name, const std::string &menu_name, const std::function< T *()> &c, const XMLNode *node)
void set_session(ARDOUR::Session *s)
ARDOUR::SessionHandlePtr * session_handle()
Gtk::Window * get(bool create=false)
std::function< T *()> creator
ProxyWithConstructor(const std::string &name, const std::string &menu_name, const std::function< T *()> &c)
std::function< T *()> creator
Proxy(const std::string &name, const std::string &menu_name)
ARDOUR::SessionHandlePtr * session_handle()
Gtk::Window * get(bool create=false)
Proxy(const std::string &name, const std::string &menu_name, const XMLNode *node)
void set_session(ARDOUR::Session *s)
void set_session(lua_State *L, Session *s)