summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMatthias Melcher <fltk@matthiasm.com>2006-05-21 09:41:47 +0000
committerMatthias Melcher <fltk@matthiasm.com>2006-05-21 09:41:47 +0000
commitb9e4886cfe155e1c524a423c12b4efbe35e76972 (patch)
tree79bf9dc8e2d9d788e66e780feed053fcd5067a3b /src
parent20ad7d23fa75c594748887c8a773c6b476e8fbd6 (diff)
Tabs now show the correct tooltip (STR #1282)
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.1@5139 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
Diffstat (limited to 'src')
-rw-r--r--src/Fl_Tabs.cxx16
1 files changed, 16 insertions, 0 deletions
diff --git a/src/Fl_Tabs.cxx b/src/Fl_Tabs.cxx
index 59c06b4d5..37fcdf7ab 100644
--- a/src/Fl_Tabs.cxx
+++ b/src/Fl_Tabs.cxx
@@ -35,6 +35,7 @@
#include <FL/Fl.H>
#include <FL/Fl_Tabs.H>
#include <FL/fl_draw.H>
+#include <FL/Fl_Tooltip.H>
#define BORDER 2
#define EXTRASPACE 10
@@ -144,6 +145,21 @@ int Fl_Tabs::handle(int event) {
} else push(o);
if (Fl::visible_focus() && event == FL_RELEASE) Fl::focus(this);
return 1;
+ case FL_MOVE: {
+ int ret = Fl_Group::handle(event);
+ Fl_Widget *o = Fl_Tooltip::current(), *n = o;
+ int H = tab_height();
+ if ( (H>=0) && (Fl::event_y()>y()+H) )
+ return ret;
+ else if ( (H<0) && (Fl::event_y() < y()+h()+H) )
+ return ret;
+ else {
+ n = which(Fl::event_x(), Fl::event_y());
+ if (!n) n = this;
+ }
+ if (n!=o)
+ Fl_Tooltip::enter(n);
+ return ret; }
case FL_FOCUS:
case FL_UNFOCUS:
if (!Fl::visible_focus()) return Fl_Group::handle(event);