Sanel Z. wrote:
> Stan, here it is:
> 
> class MyWin : public Fl_Window {
>   public:
>     MyWin(int W, int H) : Fl_Window(W, H) { }
>     int handle(int event) {
>       switch(event) {
>         case FL_PUSH:
>           puts("FL_PUSH");
>           return 1;
>         case FL_RELEASE:
>           puts("FL_RELEASE");
>           return 1;
>         case FL_KEYDOWN:
>           hide();
>         default:
>           break;
>       }
>       return 0;
>     }
> };
> 
> int main() {
>   MyWin win(200, 200);
>   win.show();
>   Fl::flush();
>   Fl::grab(&win);
>   return Fl::run();
> }

        To be fair to FLTK, I would modify handle() to let
        Fl_Window actually see the events so it can process them:

    int handle(int event) {
      int ret = Fl_Window::handle(event);       // ** ADDED
      switch(event) {
        case FL_PUSH:
          puts("FL_PUSH");
          ret = 1;                              // **
          break;
        case FL_RELEASE:
          puts("FL_RELEASE");
          ret = 1;                              // **
          break;
        case FL_KEYDOWN:
          hide();
          ret = 1;                              // **
          break;
        default:
          break;
      }
      return(ret);                              // **
    }

        I figure it's not fair to starve any widget of all events..
        I hear them gasping for breath whenever I see that.. ;)
_______________________________________________
fltk mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk

Reply via email to