20 #ifndef __gtk2_ardour_window_manager_h__
21 #define __gtk2_ardour_window_manager_h__
26 #include <boost/function.hpp>
27 #include <glibmm/refptr.h>
28 #include <sigc++/trackable.h>
38 class VisibilityTracker;
43 class SessionHandlePtr;
81 ProxyBase (
const std::string& name,
const std::string& menu_name,
const XMLNode&);
101 virtual Gtk::Window*
get (
bool create =
false) = 0;
110 operator bool()
const {
return _window != 0; }
135 Gtk::Window*
get (
bool create =
false) {
156 Gtk::Window*
get (
bool create =
false) {
173 return dynamic_cast<T*
> (
get (
true));
178 return dynamic_cast<T*
> (
_window);
182 SessionHandlePtr::set_session (s);
197 Proxy (
const std::string& name,
const std::string& menu_name)
200 Proxy (
const std::string& name,
const std::string& menu_name,
const XMLNode* node)
203 Gtk::Window*
get (
bool create =
false) {
220 return dynamic_cast<T*
> (
get(
true));
225 return dynamic_cast<T*
> (
_window);
229 SessionHandlePtr::set_session (s);
virtual ARDOUR::SessionHandlePtr * session_handle()=0
ARDOUR::SessionHandlePtr * session_handle()
ProxyBase(const std::string &name, const std::string &menu_name)
const std::string & menu_name() const
bool _visible
true if the window should be visible on startup
XMLNode & get_state() const
ProxyWithConstructor(const std::string &name, const std::string &menu_name, const boost::function< T *()> &c, const XMLNode *node)
bool delete_event_handler(GdkEventAny *ev)
Glib::RefPtr< Gtk::ActionGroup > window_actions
Glib::RefPtr< Gtk::Action > action() const
void set_session(ARDOUR::Session *)
Gtk::Window * current_transient_parent
static Manager & instance()
void set_action(Glib::RefPtr< Gtk::Action >)
void set_session(ARDOUR::Session *s)
ARDOUR::SessionHandlePtr * session_handle()
void show_visible() const
const std::string & name() const
void register_window(ProxyBase *)
ARDOUR::SessionHandlePtr * session_handle()
void use_window(Gtk::Window &)
void set_transient_for(Gtk::Window *)
Gtkmm2ext::VisibilityTracker * vistracker
boost::function< T *()> creator
Gtk::Window * operator->()
std::string action_name() const
ProxyWithConstructor(const std::string &name, const std::string &menu_name, const boost::function< T *()> &c)
void set_session(ARDOUR::Session *s)
void set_state(const XMLNode &)
boost::function< T *()> creator
ProxyTemporary(const std::string &name, Gtk::Window *win)
std::list< ProxyBase * > Windows
Gtk::Window * transient_parent() const
Proxy(const std::string &name, const std::string &menu_name, const XMLNode *node)
void toggle_window(ProxyBase *)
virtual void set_session(ARDOUR::Session *)
Glib::RefPtr< Gtk::Action > _action
void add_state(XMLNode &) const
Proxy(const std::string &name, const std::string &menu_name)
static Manager * _instance