diff options
author | Carl Hetherington <carl@carlh.net> | 2012-06-11 21:21:10 +0000 |
---|---|---|
committer | Carl Hetherington <carl@carlh.net> | 2012-06-11 21:21:10 +0000 |
commit | f4ed14a83b3dfc0af9b92db5f73f3389c7773a04 (patch) | |
tree | 567975a635ed74a761df1452054cf4d41caad286 /gtk2_ardour/panner_interface.h | |
parent | 366b7ac36baecba48e59e9d96f8b2fd27633957b (diff) |
Factor out 'persistent' tooltip code from the panner
interface and use it for processor box sliders (#4461).
git-svn-id: svn://localhost/ardour2/branches/3.0@12661 d708f5d6-7413-0410-9779-e7cbd77b26cf
Diffstat (limited to 'gtk2_ardour/panner_interface.h')
-rw-r--r-- | gtk2_ardour/panner_interface.h | 27 |
1 files changed, 18 insertions, 9 deletions
diff --git a/gtk2_ardour/panner_interface.h b/gtk2_ardour/panner_interface.h index 8dd19d1a14..02f4e210bd 100644 --- a/gtk2_ardour/panner_interface.h +++ b/gtk2_ardour/panner_interface.h @@ -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 { @@ -45,10 +61,8 @@ public: void edit (); 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 +72,9 @@ 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; - virtual PannerEditor* editor () = 0; PannerEditor* _editor; }; |