Well you can at least catch all events dispatched on a particular 
component, and without subclassing or patching. 

You assign a callback function to the dispatchEventHook property. 
It takes two params the event and the target and is called 
immediately prior to the actual dispatch.

 

--- In flexcoders@yahoogroups.com, "Josh McDonald" <[EMAIL PROTECTED]> wrote:
>
> Thanks Doug, I figured that'd be the answer. Not against monkey 
patching by
> any means (we use a few atm to fix bugs in SOAP code), just wanted 
to check
> first to see if there was a secret way to do it that I didn't know 
about
> before I go and mess about with FlexSprite :)
> 
> -Josh
> 
> On Thu, Jul 17, 2008 at 1:41 PM, Doug McCune <[EMAIL PROTECTED]> wrote:
> 
> > Is this your custom component or just any component you don't 
control?
> > If it's yours you could override dispatchEvent to know whenever 
the
> > component dispatches any event. Or you could override 
addEventListener
> > to know whenever something adds an event listener.
> >
> > If it's not your custom component (ie you can't override anything)
> > then you might be out of luck (other than going through and 
manually
> > adding listeners for all possible strings you think the component
> > might dispatch). But I don't think there is any way to know all 
the
> > events that a component might dispatch in its lifetime. ALthough 
you
> > could probably do a search on the FLex SDK for "dispatchEvent(" 
and
> > compile a full list of all events that all Flex SDK components 
will
> > ever dispatch. I wonder how long that list is...
> >
> > The other thing to try (although this probably violates 
your "without
> > hacking" clause) is this monkey patched version of FlexSprite I
> > blogged about:
> > http://dougmccune.com/blog/2008/02/21/monkey-patching-flexsprite-
to-list-all-event-listeners-on-any-flex-component/
> >
> > What that does is gives you an array of all the event listeners 
that
> > have been registered on a certain component. That's not the same 
as a
> > list of all events that the component might ever dispatch (since 
the
> > component may very well dispatch events that nobody listens to). 
The
> > other thing I would suggest is you could use the same approach to
> > monkey patch FlexSprite and add some special code into the 
override
> > for dispatchEvent and then you could be notified about anytime the
> > component dispatches any event at all. Again, that probably goes
> > against the not hacking condition of the question :)
> >
> > Doug
> >
> > On Wed, Jul 16, 2008 at 8:11 PM, Josh McDonald <[EMAIL PROTECTED]> wrote:
> > > Hey guys,
> > >
> > > Is it possible to listen to all events that bubble to / are 
dispatched
> > from
> > > a certain component?
> > >
> > > Don't worry, I don't actually plan on using this in any actual 
code! I'm
> > > just interested in doing some extremely verbose logging to 
gather
> > > information for a blog post I have in mind ;-)
> > >
> > > -Josh
> > >
> > > --
> > > "Therefore, send not to know For whom the bell tolls. It tolls 
for thee."
> > >
> > > :: Josh 'G-Funk' McDonald
> > > :: 0437 221 380 :: [EMAIL PROTECTED]
> > >
> >
> > ------------------------------------
> >
> > --
> > Flexcoders Mailing List
> > FAQ: 
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> > Search Archives:
> > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! 
Groups
> > Links
> >
> >
> >
> >
> 
> 
> -- 
> "Therefore, send not to know For whom the bell tolls. It tolls for 
thee."
> 
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED]
>


Reply via email to