fix previous commit
[ardour.git] / gtk2_ardour / panner_interface.h
index 8dd19d1a143bd91adb20702efd0402906cd0e95f..a18c08352873b1474cd13ff82fe68cea4b1fe4d1 100644 (file)
@@ -23,6 +23,7 @@
 #include <boost/shared_ptr.hpp>
 #include <gtkmm/drawingarea.h>
 #include <gtkmm/label.h>
+#include "gtkmm2ext/persistent_tooltip.h"
 #include "pbd/destructible.h"
 
 namespace ARDOUR {
@@ -31,6 +32,21 @@ namespace ARDOUR {
 
 class PannerEditor;
 
+class PannerPersistentTooltip : public Gtkmm2ext::PersistentTooltip
+{
+public:
+       PannerPersistentTooltip (Gtk::Widget* w);
+
+       void target_start_drag ();
+       void target_stop_drag ();
+
+       bool dragging () const;
+
+private:
+       bool _dragging;
+};
+       
+
 /** Parent class for some panner UI classes that contains some common code */
 class PannerInterface : public Gtk::DrawingArea, public PBD::Destructible
 {
@@ -43,12 +59,11 @@ public:
        }
 
        void edit ();
+       void set_send_drawing_mode (bool);
 
 protected:
-       virtual void set_drag_data () = 0;
+       virtual void set_tooltip () = 0;
 
-       void show_drag_data_window ();
-       void hide_drag_data_window ();
        void value_change ();
        
         bool on_enter_notify_event (GdkEventCrossing *);
@@ -58,14 +73,11 @@ protected:
        bool on_button_release_event (GdkEventButton*);
 
        boost::shared_ptr<ARDOUR::Panner> _panner;
-        Gtk::Window* _drag_data_window;
-        Gtk::Label*  _drag_data_label;
-        bool _dragging;
+       PannerPersistentTooltip _tooltip;
 
-private:
-       bool drag_data_timeout ();
-       sigc::connection _drag_data_timeout;
+       bool _send_mode;
 
+private:
        virtual PannerEditor* editor () = 0;
        PannerEditor* _editor;
 };