Issues:

1) In LzText you should create a single `new 
LzDeclaredEventClass(LzTextlinkEvent)` that is reused to initialize ontexlink, 
rather than a new one each time.  This is just like LzDeclaredEvent, it can be 
used over and over because it will be replaced by the LzTextlinkEvent when 
someone actually listens.

2) The comment on LzTextlinkEvent is wrong

3) I don't understand the point of the destroy method in LzTextlinkEvent, 
that's not part of the event protocol.

Comment:

1) I would have called it LzNotifyingEvent

2) Can you add some documentation?  Explain how it calls the notify method when 
the event switches from not having listeners to having listeners (and vice 
versa), that you subclass it to decide what you need to do with that 
notification.

On 2010-06-11, at 13:36, Max Carlson wrote:

> Change 20100611-maxcarlson-e by [email protected] on 2010-06-11 
> 11:30:44 MDT
>    in /Users/maxcarlson/openlaszlo/trunk-clean
>    for http://svn.openlaszlo.org/openlaszlo/trunk
> 
> Summary: Fix text mouse interaction in swf10
> 
> Bugs Fixed: LPP-8119 - Make a generic 'notifying event' for more efficient 
> runtime callback handling, LPP-9101 - swf10: mouse events for text links 
> interfere with clickable views beneath them
> 
> Technical Reviewer: ptw
> QA Reviewer: hminsky
> 
> Details: LzTextSprite - Set mouseEnabled from activateLinks() which is called 
> when ontextlink is registerd in LzText.
> 
> LzSprite - Add textlinksneedmouseevents quirk, set to true.
> 
> LzIdle - Use subclass of LzNotifyEvent to handle registration for kernel idle 
> events.
> 
> LzDefs - Update LzDeclaredEventClass to take an optional argument for the 
> event constructor to be used.
> 
> LzText - In the constructor, use special LzTextlinkEvent LzNotifyEvent to 
> turn off/on clickable text if the textlinksneedmouseevents quirk is true.
> 
> LaszloEvents - Use specific event class if specified.
> 
> Library - include LzNotifyEvent.
> 
> LzNotifyEvent - Shared implementation of notifications.
> 
> 
> Tests: See LPP-9101, links in debugger still work.
> 
> Files:
> M       WEB-INF/lps/lfc/kernel/swf9/LzTextSprite.as
> M       WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
> M       WEB-INF/lps/lfc/services/LzIdle.lzs
> M       WEB-INF/lps/lfc/core/LzDefs.lzs
> M       WEB-INF/lps/lfc/views/LzText.lzs
> M       WEB-INF/lps/lfc/events/LaszloEvents.lzs
> A       WEB-INF/lps/lfc/events/LzNotifyEvent.lzs
> M       WEB-INF/lps/lfc/events/Library.lzs
> 
> Changeset: 
> http://svn.openlaszlo.org/openlaszlo/patches/20100611-maxcarlson-e.tar


Reply via email to