- private:
- boost::function<T*()> creator;
- };
-
- void register_window (ProxyBase*);
- void remove (const ProxyBase*);
- void toggle_window (ProxyBase*);
- void show_visible () const;
- void set_session (ARDOUR::Session*);
- void add_state (XMLNode&) const;
-
- /* HACK HACK HACK */
- void set_transient_for (Gtk::Window*);
- Gtk::Window* transient_parent() const { return current_transient_parent; }
+ void set_session(ARDOUR::Session *s) {
+ SessionHandlePtr::set_session (s);
+ ARDOUR::SessionHandlePtr* sp = session_handle ();
+ if (sp) {
+ sp->set_session (s);
+ dynamic_cast<T*>(_window)->set_session(s);
+ }
+ }