Ah I understand now. I don't believe one can even change the NEM handlers
once set -- correct me if I'm wrong. So what we're looking for here is:
1. A way to change NEM handlers to something else.
2. A way to retrieve NEM handler coderefs.

I will poke around and you should see this in my next commit.

Steve

----- Original Message ----- 
From: "Glenn Linderman" <[EMAIL PROTECTED]>
To: "Stephen Pick" <[EMAIL PROTECTED]>
Cc: <perl-win32-gui-users@lists.sourceforge.net>
Sent: Wednesday, January 21, 2004 6:41 PM
Subject: Re: [perl-win32-gui-users] Accelerator bug?


> I guess I didn't describe the condition well enough.  I'll try again.
>
> The reason to obtain a handler, is if you want to augment the handler to
> do more stuff, behind its back.
>
> So WinSize.pm tries to write a Resize handler that when a parent window
> is resized, resizes and repositions all the children according to
> user-specified rules.  It also remembers the last window position and
> size for the next time that window is created.
>
> To do this, it needs to intercept the Resize event and the Terminate
> event, and do some processing before calling the user's _Resize and
> _Terminate functions.  In OEM, if the user has them, they are defined in
> the global symbol table, and can be replaced.
>
> In order to do this in NEM, one needs a function to obtain the user's
> defined coderefs, before replacing them, so that the replacement
> function can call the user's function.
>
>
> On approximately 1/21/2004 1:54 AM, came the following characters from
> the keyboard of Stephen Pick:
> > Hooks were always after the regular handling code, except now they're
> > after WM_PAINT and a few other events too.
> >
> > While it is not possible to retrieve the coderefs for specific NEM
> > events, the only time I can imagine you wanting to do this would be to
> > find out a handler that a particular gui object is using and call it
> > with your own arguments. I can't see that that would be a good plan or
> > any particular practical use for it. An example would be nice.
> >
> > The other points, I'm looking into.
> >
> > Steve
> >
> >
> >>-----Original Message-----
> >>From: [EMAIL PROTECTED]
> >>[mailto:[EMAIL PROTECTED] Behalf Of
> >>Glenn Linderman
> >>Sent: 21 January 2004 01:39
> >>To: Steve Pick
> >>Cc: Jez White; perl-win32-gui-users@lists.sourceforge.net
> >>Subject: Re: [perl-win32-gui-users] Accelerator bug?
> >>
> >>
> >>Back when I tried to convert one of my applications from OEM
> >>to NEM, I
> >>discovered the following problems.  Perhaps some of them have
> >>been fixed
> >>by now.  Perhaps some of them were user error.
> >>
> >>1) The subroutines defined for pop-up menu click events never
> >>got called.
> >>
> >>2) Accelerators didn't work.
> >>
> >>3) It wasn't possible to obtain the "old" event reference, so
> >>that event
> >>references could be stacked or nested.
> >>
> >>The latter item blew away NEM for me, as I wasn't able to port Harold
> >>Piske's WinSize module in a reasonable fashion.  I didn't really need
> >>accelerator keys on that project, but they are handy on all projects,
> >>and I prefer to have them available, so that was a negative.
> >>And that
> >>project used lots of pop-up menus, and when the Click event
> >>subroutine
> >>doesn't get called, that is a problem.
> >>
> >>So those are the reasons I gave up on NEM for now.  1) May have been
> >>user error... anyone have a code sample in that area?  2) is still a
> >>problem, and 3) might be solvable via hooks... but I think hooks
> >>executed before the event is seen by the regular handling
> >>code would be
> >>more effective, and they just got switched to after the
> >>regular handling
> >>code.  Being able to obtain the old code reference would be a handy
> >>feature, though, even though hooks do exist.
> >>
> >>
> >>On approximately 1/20/2004 11:01 AM, came the following
> >>characters from
> >>the keyboard of Steve Pick:
> >>
> >>>Aldo's been silent for a while.
> >>>
> >>>Exactly what events are missing? We're running out of space
> >>
> >>in the NEM to
> >>
> >>>add new events (checking if events are set is based on a
> >>
> >>32-bit mask, and
> >>
> >>>most of the bits are used), but I'm sure that's easy to get round.
> >>>
> >>>The NEM is probably faster than the OEM, though I've not
> >>
> >>run any benchmarks.
> >>
> >>>I would no longer even consider using the OEM, having
> >>
> >>looked at the code for
> >>
> >>>it (mind you I'm hardly in a position to comment on code
> >>
> >>clarity :) ).
> >>
> >>>Steve
> >>>
> >>>----- Original Message ----- 
> >>>From: "Jez White" <[EMAIL PROTECTED]>
> >>>To: "Stephen Pick" <[EMAIL PROTECTED]>; <[EMAIL PROTECTED]>;
> >>><perl-win32-gui-users@lists.sourceforge.net>
> >>>Sent: Tuesday, January 20, 2004 11:20 AM
> >>>Subject: Re: [perl-win32-gui-users] Accelerator bug?
> >>>
> >>>
> >>>
> >>>
> >>>>I'de like to use NEM more - but I am finding some events
> >>
> >>missing. So it
> >>
> >>>the
> >>>
> >>>
> >>>>NEM slightly "faster" as well?
> >>>>
> >>>>Aldo was talking about another model - is this just an
> >>
> >>enhancement of NEM?
> >>
> >>>>jez.
> >>>>
> >>>>----- Original Message ----- 
> >>>>From: "Stephen Pick" <[EMAIL PROTECTED]>
> >>>>To: <[EMAIL PROTECTED]>;
> >>
> >><perl-win32-gui-users@lists.sourceforge.net>
> >>
> >>>>Sent: Tuesday, January 20, 2004 10:58 AM
> >>>>Subject: RE: [perl-win32-gui-users] Accelerator bug?
> >>>>
> >>>>
> >>>>Yes, I use the NEM heavilly. The OEM is a really ugly way of doing
> >>>>things and basing things on references is much safer and much more
> >>>>elegant. Every other perl module that needs to do callbacks uses
> >>>>references (see.. well.. anything, err, LWP for example). This is
> >>>>because you can check that references are safe to call, whereas with
> >>>>non-references you have to eval() and then you open up
> >>
> >>security holes.
> >>
> >>>>Steve
> >>>>
> >>>>
> >>>>
> >>>>>-----Original Message-----
> >>>>>From: [EMAIL PROTECTED]
> >>>>>[mailto:[EMAIL PROTECTED]
> >>
> >> Behalf Of
> >>
> >>>>>Glenn W Munroe
> >>>>>Sent: 20 January 2004 10:52
> >>>>>To: perl-win32-gui-users@lists.sourceforge.net
> >>>>>Subject: RE: [perl-win32-gui-users] Accelerator bug?
> >>>>>
> >>>>>
> >>>>>
> >>>>>Just out of interest, is anybody really using the NEM? Are
> >>
> >>there any
> >>
> >>>>>major advantages to it? I admit it is quite elegant to
> >>
> >>have a one-line
> >>
> >>>>>subroutine defined as an -event option, but in practice, most event
> >>>>>handlers will consist of more code than I would like to
> >>>>>define that way
> >>>>>and the handler would just end up being another subroutine call.
> >>>>>
> >>>>>IMHO, the two major advances in this module recently have been
> >>>>>accelerators and hooks (I'd say we're approaching GUI
> >>>>>nirvana), so if at
> >>>>>least one of them doesn't work in NEM, that knocks it on
> >>
> >>the head for
> >>
> >>>>>me.
> >>>>>
> >>>>>Glenn
> >>>>>
> >>>>>-----Original Message-----
> >>>>>From: [EMAIL PROTECTED]
> >>>>>[mailto:[EMAIL PROTECTED]
> >>
> >>On Behalf Of
> >>
> >>>>>Glenn Linderman
> >>>>>Sent: Monday, 19 January, 2004 21:52
> >>>>>To: [EMAIL PROTECTED]
> >>>>>Cc: perl-win32-gui-users@lists.sourceforge.net
> >>>>>Subject: Re: [perl-win32-gui-users] Accelerator bug?
> >>>>>
> >>>>>Glenn,
> >>>>>
> >>>>>Sorry for the delay, I was not monitoring this email address
> >>>>
> >>>>>from 1/15
> >>>>
> >>>>>until now.
> >>>>>
> >>>>>
> >>>>>On approximately 1/16/2004 8:28 AM, came the following
> >>
> >>characters from
> >>
> >>>>>the keyboard of Glenn W Munroe:
> >>>>>
> >>>>>
> >>>>>>Glenn,
> >>>>>>
> >>>>>>I haven't really used the NEM much yet, but when I knocked
> >>>>>
> >>>>>up a small
> >>>>>
> >>>>>
> >>>>>>test script this morning with the new model I found that
> >>>>>
> >>>>>accelerators
> >>>>>
> >>>>>
> >>>>>>didn't work. Had you noticed this or can you confirm it? If
> >>>>>
> >>>>>so, is it
> >>>>>a
> >>>>>
> >>>>>
> >>>>>>bug with accelerators themselves or some underlying
> >>
> >>"feature" of the
> >>
> >>>>>>system?
> >>>>>
> >>>>>Indeed, I think it is just a missing feature in NEM.  When I
> >>>>>looked at
> >>>>>the code inside Win32::GUI for accelerators, I was able to
> >>
> >>figure out
> >>
> >>>>>and fix accelerators for OEM, but I think NEM has much
> >>
> >>more code that
> >>
> >>>>>simply isn't there for accelerators.  This is one reason I am still
> >>>>>using OEM.  (OEM = Old Event Model, when it takes a break
> >>>>
> >>>>>from meaning
> >>>>
> >>>>>Original Equipment Manufacturer :) )
> >>>>>
> >>>>>
> >>>>>
> >>>>>>Regards,
> >>>>>>Glenn Munroe
> >>>>>
> >>>>>-- 
> >>>>>Glenn -- http://nevcal.com/
> >>>>>===========================
> >>>>>The best part about procrastination is that you are never bored,
> >>>>>because you have all kinds of things that you should be doing.
> >>>>>
> >>>>>
> >>>>>
> >>>>>-------------------------------------------------------
> >>>>>The SF.Net email is sponsored by EclipseCon 2004
> >>>>>Premiere Conference on Open Tools Development and Integration
> >>>>>See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> >>>>>http://www.eclipsecon.org/osdn
> >>>>>_______________________________________________
> >>>>>Perl-Win32-GUI-Users mailing list
> >>>>>Perl-Win32-GUI-Users@lists.sourceforge.net
> >>>>>https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>
> >>>>>-------------------------------------------------------
> >>>>>The SF.Net email is sponsored by EclipseCon 2004
> >>>>>Premiere Conference on Open Tools Development and Integration
> >>>>>See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> >>>>>http://www.eclipsecon.org/osdn
> >>>>>_______________________________________________
> >>>>>Perl-Win32-GUI-Users mailing list
> >>>>>Perl-Win32-GUI-Users@lists.sourceforge.net
> >>>>>https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> >>>>>
> >>>>
> >>>>
> >>>>-------------------------------------------------------
> >>>>The SF.Net email is sponsored by EclipseCon 2004
> >>>>Premiere Conference on Open Tools Development and Integration
> >>>>See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> >>>>http://www.eclipsecon.org/osdn
> >>>>_______________________________________________
> >>>>Perl-Win32-GUI-Users mailing list
> >>>>Perl-Win32-GUI-Users@lists.sourceforge.net
> >>>>https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> >>>>
> >>>>
> >>>>
> >>>>-------------------------------------------------------
> >>>>The SF.Net email is sponsored by EclipseCon 2004
> >>>>Premiere Conference on Open Tools Development and Integration
> >>>>See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> >>>>http://www.eclipsecon.org/osdn
> >>>>_______________________________________________
> >>>>Perl-Win32-GUI-Users mailing list
> >>>>Perl-Win32-GUI-Users@lists.sourceforge.net
> >>>>https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> >>>>
> >>>
> >>>
> >>>
> >>>
> >>>-------------------------------------------------------
> >>>The SF.Net email is sponsored by EclipseCon 2004
> >>>Premiere Conference on Open Tools Development and Integration
> >>>See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> >>>http://www.eclipsecon.org/osdn
> >>>_______________________________________________
> >>>Perl-Win32-GUI-Users mailing list
> >>>Perl-Win32-GUI-Users@lists.sourceforge.net
> >>>https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> >>>
> >>>
> >>
> >>-- 
> >>Glenn -- http://nevcal.com/
> >>===========================
> >>The best part about procrastination is that you are never bored,
> >>because you have all kinds of things that you should be doing.
> >>
> >>
> >>
> >>-------------------------------------------------------
> >>The SF.Net email is sponsored by EclipseCon 2004
> >>Premiere Conference on Open Tools Development and Integration
> >>See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> >>http://www.eclipsecon.org/osdn
> >>_______________________________________________
> >>Perl-Win32-GUI-Users mailing list
> >>Perl-Win32-GUI-Users@lists.sourceforge.net
> >>https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
> >>
> >
> >
> >
>
> -- 
> Glenn -- http://nevcal.com/
> ===========================
> The best part about procrastination is that you are never bored,
> because you have all kinds of things that you should be doing.
>
>
>
> -------------------------------------------------------
> The SF.Net email is sponsored by EclipseCon 2004
> Premiere Conference on Open Tools Development and Integration
> See the breadth of Eclipse activity. February 3-5 in Anaheim, CA.
> http://www.eclipsecon.org/osdn
> _______________________________________________
> Perl-Win32-GUI-Users mailing list
> Perl-Win32-GUI-Users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/perl-win32-gui-users
>


Reply via email to