a reverb is a reverb is a reverb
[ardour.git] / gtk2_ardour / ardour_window.h
index 0590234140bf7115532a48115f90462cb540de51..a4c5aaa0e434ffb15282589ecd6dc141522baf79 100644 (file)
 #include <gtkmm/window.h>
 #include <gtkmm/window.h>
 
+#include "gtkmm2ext/visibility_tracker.h"
+
 #include "ardour/session_handle.h"
 
+namespace WM {
+       class ProxyTemporary;
+}
+
 /**
  * This virtual parent class is so that each window uses the
  * same mechanism to declare its closing. It shares a common
  * method of connecting and disconnecting from a Session with
  * all other objects that have a handle on a Session.
  */
-class ArdourWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr
+class ArdourWindow : public Gtk::Window, public ARDOUR::SessionHandlePtr, public Gtkmm2ext::VisibilityTracker
 {
-  public:
+public:
        ArdourWindow (std::string title);
        ArdourWindow (Gtk::Window& parent, std::string title);
-       ~ArdourWindow();
+       virtual ~ArdourWindow();
 
-       bool on_enter_notify_event (GdkEventCrossing*);
-       bool on_leave_notify_event (GdkEventCrossing*);
+protected:
+       bool on_focus_in_event (GdkEventFocus*);
+       bool on_focus_out_event (GdkEventFocus*);
+       bool on_delete_event (GdkEventAny *);
+       bool on_key_press_event (GdkEventKey*);
        void on_unmap ();
 
-  private:
+private:
+       WM::ProxyTemporary* proxy;
        void init ();
 };