diff --git a/src/Fl_Browser_.cxx b/src/Fl_Browser_.cxx index 4ae26e785..68ce30eae 100644 --- a/src/Fl_Browser_.cxx +++ b/src/Fl_Browser_.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.1 2001/08/02 20:18:54 easysw Exp $" +// "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.2 2001/08/02 21:11:43 easysw Exp $" // // Base Browser widget class for the Fast Light Tool Kit (FLTK). // @@ -551,9 +551,13 @@ int Fl_Browser_::handle(int event) { static char whichway; static int py; switch (event) { - case FL_MOUSEWHEEL: - position(position() + Fl::e_dy * incr_height()); + case FL_MOUSEWHEEL: { + int i = position() + Fl::e_dy * incr_height() * 3; + if (i < 0) i = 0; + else if (i > (full_height() - h())) i = full_height() - h(); + position(i); return (1); + } case FL_PUSH: if (!Fl::event_inside(X, Y, W, H)) return 0; @@ -711,5 +715,5 @@ void Fl_Browser_::item_select(void*, int) {} int Fl_Browser_::item_selected(void* l) const {return l==selection_;} // -// End of "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.1 2001/08/02 20:18:54 easysw Exp $". +// End of "$Id: Fl_Browser_.cxx,v 1.10.2.16.2.2 2001/08/02 21:11:43 easysw Exp $". // diff --git a/src/Fl_Group.cxx b/src/Fl_Group.cxx index db7d1bc43..34b2e692c 100644 --- a/src/Fl_Group.cxx +++ b/src/Fl_Group.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_Group.cxx,v 1.8.2.8.2.2 2001/08/02 15:31:59 easysw Exp $" +// "$Id: Fl_Group.cxx,v 1.8.2.8.2.3 2001/08/02 21:11:43 easysw Exp $" // // Group widget for the Fast Light Tool Kit (FLTK). // @@ -189,6 +189,21 @@ int Fl_Group::handle(int event) { Fl_Tooltip::exit(this); // tooltip default: + // For all other events, try to give to each child, starting at focus: + for (i = 0; i < children(); i ++) + if (Fl::focus_ == child(i)) break; + + if (i >= children()) i = 0; + + if (children()) { + for (int j = i;;) { + if (send(child(j), event)) return 1; + j++; + if (j >= children()) j = 0; + if (j == i) break; + } + } + return 0; } @@ -523,5 +538,5 @@ void Fl_Group::draw_outside_label(const Fl_Widget& w) const { } // -// End of "$Id: Fl_Group.cxx,v 1.8.2.8.2.2 2001/08/02 15:31:59 easysw Exp $". +// End of "$Id: Fl_Group.cxx,v 1.8.2.8.2.3 2001/08/02 21:11:43 easysw Exp $". // diff --git a/src/Fl_HelpView.cxx b/src/Fl_HelpView.cxx index d5a599157..15579c41b 100644 --- a/src/Fl_HelpView.cxx +++ b/src/Fl_HelpView.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_HelpView.cxx,v 1.1.2.2 2001/08/02 20:18:54 easysw Exp $" +// "$Id: Fl_HelpView.cxx,v 1.1.2.3 2001/08/02 21:11:43 easysw Exp $" // // Fl_HelpView widget routines. // @@ -2197,15 +2197,21 @@ Fl_HelpView::handle(int event) // I - Event to handle switch (event) { - case FL_MOVE : case FL_PUSH : + case FL_MOVE : xx = Fl::event_x() - x(); yy = Fl::event_y() - y() + topline_; if (!scrollbar_.visible() || xx < (w() - 20)) break; case FL_MOUSEWHEEL : - topline(topline() + Fl::e_dy * textsize_ * 3); + i = topline() + Fl::e_dy * textsize_ * 3; + if (i < 0) + i = 0; + else if (i > (size_ - h())) + i = size_ - h(); + + topline(i); return (1); default : @@ -3126,5 +3132,5 @@ scrollbar_callback(Fl_Widget *s, void *) // -// End of "$Id: Fl_HelpView.cxx,v 1.1.2.2 2001/08/02 20:18:54 easysw Exp $". +// End of "$Id: Fl_HelpView.cxx,v 1.1.2.3 2001/08/02 21:11:43 easysw Exp $". // diff --git a/src/Fl_x.cxx b/src/Fl_x.cxx index 63441ef4c..f97f8575e 100644 --- a/src/Fl_x.cxx +++ b/src/Fl_x.cxx @@ -1,5 +1,5 @@ // -// "$Id: Fl_x.cxx,v 1.24.2.24.2.1 2001/08/02 20:09:25 easysw Exp $" +// "$Id: Fl_x.cxx,v 1.24.2.24.2.2 2001/08/02 21:11:43 easysw Exp $" // // X specific code for the Fast Light Tool Kit (FLTK). // @@ -449,11 +449,11 @@ int fl_handle(const XEvent& xevent) case ButtonPress: Fl::e_keysym = FL_Button + xevent.xbutton.button; set_event_xy(); - if (xevent.xbutton.button == 4) { - Fl::e_dy = +1; + if (xevent.xbutton.button == Button4) { + Fl::e_dy = -1; // Up event = FL_MOUSEWHEEL; - } else if (xevent.xbutton.button == 5) { - Fl::e_dy = -1; + } else if (xevent.xbutton.button == Button5) { + Fl::e_dy = +1; // Down event = FL_MOUSEWHEEL; } else { Fl::e_state |= (FL_BUTTON1 << (xevent.xbutton.button-1)); @@ -927,5 +927,5 @@ void Fl_Window::make_current() { #endif // -// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.1 2001/08/02 20:09:25 easysw Exp $". +// End of "$Id: Fl_x.cxx,v 1.24.2.24.2.2 2001/08/02 21:11:43 easysw Exp $". // diff --git a/test/Makefile b/test/Makefile index da2f3b07d..33489da95 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,5 +1,5 @@ # -# "$Id: Makefile,v 1.19.2.7.2.4 2001/08/02 19:43:49 easysw Exp $" +# "$Id: Makefile,v 1.19.2.7.2.5 2001/08/02 21:11:43 easysw Exp $" # # Test/example program makefile for the Fast Light Tool Kit (FLTK). # @@ -72,7 +72,6 @@ $(ALL): ../lib/$(LIBNAME) # Programs needing special instructions... help: help.cxx echo Compiling and linking $@... - echo $(CXX) -I.. $(CXXFLAGS) help.cxx -o $@ $(LINKFLTK) $(LDLIBS) $(IMAGELIBS) $(CXX) -I.. $(CXXFLAGS) help.cxx -o $@ $(LINKFLTK) $(LDLIBS) $(IMAGELIBS) keyboard: keyboard.cxx keyboard_ui.cxx echo Compiling and linking $@... @@ -128,5 +127,5 @@ install: @echo Nothing to install in test directory. # -# End of "$Id: Makefile,v 1.19.2.7.2.4 2001/08/02 19:43:49 easysw Exp $". +# End of "$Id: Makefile,v 1.19.2.7.2.5 2001/08/02 21:11:43 easysw Exp $". #