X-Git-Url: https://main.carlh.net/gitweb/?a=blobdiff_plain;f=libs%2Fgtkmm2ext%2Fgtkmm2ext%2Fpersistent_tooltip.h;h=9e87f89a1b97a0bc887eaa67ba47d3ad1fc31ce8;hb=957393c43515de4dcebb26bebf6805c146f83c20;hp=840280f701b77cf5aef49573cd01f4859e6cdcb9;hpb=37b1f5017e904005fae6b815b1519b3fa595d8d3;p=ardour.git diff --git a/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h b/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h index 840280f701..9e87f89a1b 100644 --- a/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h +++ b/libs/gtkmm2ext/gtkmm2ext/persistent_tooltip.h @@ -31,15 +31,21 @@ namespace Gtkmm2ext { */ class LIBGTKMM2EXT_API PersistentTooltip : public sigc::trackable { -public: - PersistentTooltip (Gtk::Widget *); + public: + PersistentTooltip (Gtk::Widget *, bool draggable = false, int margin_y = 0); virtual ~PersistentTooltip (); - + void set_tip (std::string); + void set_font (Pango::FontDescription font); + void set_center_alignment (bool align_to_center); virtual bool dragging () const; + static void set_tooltips_enabled (bool en) { _tooltips_enabled = en; } + static bool tooltips_enabled () { return _tooltips_enabled; } -private: + private: + static bool _tooltips_enabled; + static unsigned int _tooltip_timeout; bool timeout (); void show (); void hide (); @@ -54,6 +60,10 @@ private: Gtk::Window* _window; /** Our label */ Gtk::Label* _label; + + /** allow to drag + */ + bool _draggable; /** true if we are `dragging', in the sense that button 1 is being held over _target. */ @@ -62,6 +72,9 @@ private: sigc::connection _timeout; /** The tip text */ std::string _tip; + Pango::FontDescription _font; + bool _align_to_center; + int _margin_y; }; }