[Laszlo-dev] For Review: Change 20090427-hqm-Q Summary: fix for swf9 context menus, mouseEnabled no longer always set to true on every sprite

P T Withington ptw at pobox.com
Tue Apr 28 06:15:37 PDT 2009


I think we need to either be smart, or make the user request  
clickbility?

On 2009-04-28, at 08:55EDT, Henry Minsky wrote:

> Oh crud, I just realized that if we turn off mouseEnabled on text  
> fields by
> default, that hyperlinks won't work. So if we go with this approach,  
> I think
> we need to have mouseEnabled = true on all LzTextSprite? Or maybe we  
> could
> be smart and only enable it if we detect that there's a hyperlink in  
> the
> context?
>
> On Tue, Apr 28, 2009 at 8:35 AM, André Bargull  
> <andre.bargull at udo.edu>wrote:
>
>> +  // Forward the MENU_SELECT event to the desired menu
>>> +  // first, to give it a chance to modify its items
>>> +  o.contextMenu.dispatchEvent(e);
>>> +  cm.customItems = o.contextMenu.customItems;
>>>
>>
>> Don't you need to copy over the "builtInItems", too?
>>
>>
>> +  // If we hit a view with no menu, use the canvas menu as the  
>> default
>>> +  if (iobj.contextMenu == null) {
>>> +      return canvas.sprite;
>>> +  } else {
>>>
>>
>> The canvas' context-menu and the default context-menu are different
>> objects. See LPP-8113 for a testcase.
>>
>>
>>
>>
>> On 4/28/2009 4:33 AM, Henry Minsky wrote:
>>
>>> again, this is a change against 4.2 branch
>>>
>>> I haven't established any performance increase with this change  
>>> yet, but
>>> it  still seems like a good idea to remove the
>>> mouseEnabled=true hack that we had put in place before.
>>>
>>>
>>>
>>> Change 20090427-hqm-Q by hqm at badtzmaru.home on 2009-04-27 22:00:56  
>>> EDT
>>>   in /Users/hqm/openlaszlo/4.2
>>>   for http://svn.openlaszlo.org/openlaszlo/branches/4.2
>>>
>>> Summary: fix for swf9 context menus, mouseEnabled no longer always  
>>> set to
>>> true on every sprite
>>>
>>> New Features:
>>>
>>> Bugs Fixed: LPP-6980
>>>
>>> Technical Reviewer: andre
>>> QA Reviewer: max
>>> Doc Reviewer: (pending)
>>>
>>> Documentation:
>>>
>>> Release Notes:
>>>
>>> Details:
>>>
>>>
>>> + To work around the original bug (context menus don't work when
>>> mouseEnabled == false on any parent), I created a context menu at  
>>> the
>>> very top level of the sprite hierarchy. This menu is the only  
>>> context
>>> menu in the entire application that is active. This is ensured by
>>> having a "right-click-trap" sprite as the immediate child , that has
>>> mouseEnabled = false.
>>>
>>> The Laszlo app canvas sprite and its children are children of this
>>> 'right click trap' sprite.
>>>
>>> + the onmenuopen event on the active contextmenu is forwarded to the
>>> appropriate view's menu , giving the view a chance to dynamically  
>>> set
>>> items when menu is opened
>>>
>>> + mouseEnabled is once again false by default for views, and is only
>>> set to true for clickable views. This should hopefully help with the
>>> CPU usage problem.
>>>
>>> Tests:
>>>
>>> test/contextmenu/api.lzx in swf9
>>> test/contextmenu/lpp-6980.lzx in swf9
>>>
>>>
>>> Files:
>>> M      test/contextmenu/api.lzx
>>> M      test/contextmenu/lpp-6980.lzx
>>> M      WEB-INF/lps/lfc/kernel/swf9/LFCApplication.as
>>> M      WEB-INF/lps/lfc/kernel/swf9/LzSprite.as
>>>
>>> Changeset:
>>> http://svn.openlaszlo.org/openlaszlo/patches/20090427-hqm-Q.tar
>>>
>>>
>
>
> -- 
> Henry Minsky
> Software Architect
> hminsky at laszlosystems.com




More information about the Laszlo-dev mailing list