*/
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 ();
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.
*/
sigc::connection _timeout;
/** The tip text */
std::string _tip;
+ Pango::FontDescription _font;
+ bool _align_to_center;
+ int _margin_y;
};
}