DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2360
Version: 2.0-feature


Events diagnostics.

-----------------

In run.cxx we see the following.
  #if 0 // set to 1 to dump to console non 0 events from this function
  # define DUMP_EVENTS
  # include <stdio.h>
  #endif

And in the fltk::handler code we see this.

  #ifdef DUMP_EVENTS
    static unsigned long evtnum=0L;
    if (event) printf("event name = %8lu %s\n", ++evtnum,
fltk::event_name(event));
  #endif

-----------------

It's clear that this needs to be compiled-in and will only ever be
used by developers.  Not only that but there isn't much that can be 
done with such a simplified display.  Like, what object is getting
receiving this event, and did it process it?

So I propose (and will do it) a diagnostic event hook, that runs before
any of the other stuff (not just an add_event_handler() which only runs
AFTER an object misbehaves and as a hook it can be set and reset even in
a system that's already been compiled.

Why should we put this into the released system?  Because there ARE no
developers!  If we want any, we need to make it a bit more feasible to 
explore what's already here, and it's a beauty!  Tons of problems, but 
all of them minor.

So! I'm beginning phase 4 of My Life And Times with fltk.  

It is no longer possible to continue with an unmodified base system, 
and this adds to the danger of more missing files, more dysfunctional 
demos, etc. as we forget that we have features others don't.
 
But if I can create an installer that will work with Knoppix Live 
(and it should) I'll upload what I have (the ENTIRE system - as it 
is on my drives) so that anyone that is interested can see a working 
example WITH all the parts present.  What fltk v 2.0 was 'supposed'
to be.  (All the parts except maybe plugins and/or themes--started 
but not finished yet.  That may take a bit more time.)

It will install into a user's $HOME folder.  No globals.  No 
superuser privileges.  And comes with an uninstaller that doesn't
rely on presence of the installation files.

I will NOT write the official release, however.  But once you have
working code it's much easier to modify it than to get it to work
in the first place.

THANK YOU Bill Spizak and others!  :-)

More on this zero-risk Live CD test installation later.  For now
I'm just explaining why I think I need to make one significant 
change (not just a bug fix) to how the events dispatcher works.

I made this 'hook' recommendation in v1, was surprised to see that 
we do have it in v2 (in addition to the debugging #define above), but 
the built-in handler hook runs too late to be of much help in the case
of the misbehaving scrollbars.

Curious?  Want more info?  Don't understand?  Think it won't work?

See handler_link in (I think it was) run.cxx.  We're going to put
another similar link, named 'handler_hook' that runs before, and 
possibly instead of the normal fltk::handler() by making the normal
handler the one and only address in the hook, which can then be
gotten by simply replacing it by a new hook, much as Windows 
(in straight C) does subclassing by means of Get/SetWindowLong().


Link: http://www.fltk.org/str.php?L2360
Version: 2.0-feature

_______________________________________________
fltk-dev mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-dev

Reply via email to