This is really a separate bug. Can you file, and send out a change
related to the new bug? Also, please create a doc bug so we can clean
up the documentation -
http://www.openlaszlo.org/lps4.5/docs/reference/lz.contextmenu.html
shouldn't mention Flash.
Henry Minsky wrote:
> There's a little bit of code in the DHTML kernel which suppresses the
> display if it thinks
> the 'builtin items' are visible. However, the whole concept of builtin
> items is really
> Flash-specific, given that we are not using the built-in browser menu at
> all in DHTML.
>
> So I propose making this change to LzContextMenuKernel
>
> Index: LzContextMenuKernel.lzs
> ===================================================================
> --- LzContextMenuKernel.lzs (revision 14636)
> +++ LzContextMenuKernel.lzs (working copy)
> @@ -143,8 +143,8 @@
> s.style.left = LzMouseKernel.__x + 'px';
> s.style.top = LzMouseKernel.__y + 'px';
>
> - // Only show menu if there are any visible items and builtin items
> are hidden
> - if (shownItems && ! this.showbuiltins) {
> + // Only show menu if there are any visible items
> + if (shownItems) {
> s.style.display = 'block';
> }
> }
>
>
> On Mon, Aug 31, 2009 at 6:10 PM, André Bargull <[email protected]
> <mailto:[email protected]>> wrote:
>
> Ah, I see. That's the same issue we've talked about earlier and I
> just forgot that I left that code in my LPP-8218 testfile.
>
>
> On 8/28/2009 6:00 PM, Henry Minsky wrote:
> >
> > It's apparently no longer possible to show the built-in native
> > context-menu if requested by a call to
> > "lz.contextmenu#showBuiltInItems()".
> >
> >
> >
> > Oh I wasn't aware that was supposed to work that way. I thought
> it was
> > only if you set the
> > context menu to 'null' that the native menu would show.
> >
> > It's a little different in DHTML than
> > SWF, because in SWF we always use the native menu, but just
> control what
> > items are shown,
> > whereas in DHTML we completely suppress the native menu if we're
> showing any
> > custom items. So I'm not sure what showBuiltinItems ought to do in
> > DHTML...
>
>
>
>
> On 9/1/2009 12:02 AM, Henry Minsky wrote:
>
> It's the call to oninit="this.showBuiltInItems()" that seems to
> be nuking it.
>
> I'll take a look at why this is happening.
>
> On Mon, Aug 31, 2009 at 6:00 PM, André Bargull
> <[email protected] <mailto:[email protected]>
> <mailto:[email protected] <mailto:[email protected]>>>
> wrote:
>
> Your test case works for me, too. But this one doesn't work:
> ---
> <canvas debug="true">
>
> <view width="200" height="200" bgcolor="0xff0000">
> <contextmenu name="cm" oninit="this.showBuiltInItems()"
> onmenuopen="Debug.write('opened menu')" >
> <contextmenuitem onselect="Debug.write('selected menuitem')"
> caption="hello world"/>
> </contextmenu>
> <handler name="onmousedown">
> Debug.debug("view onmousedown");
> </handler>
> <handler name="onmouseup">
> Debug.debug("view onmouseup");
> </handler>
> <handler name="onclick">
> Debug.debug("view onclick");
> </handler>
> </view>
> <handler name="onmousedown" reference="lz.GlobalMouse">
> Debug.debug("global onmousedown");
> </handler>
> <handler name="onmouseup" reference="lz.GlobalMouse">
> Debug.debug("global onmouseup");
> </handler>
> </canvas>
> ---
>
>
>
> On 8/31/2009 11:42 PM, Henry Minsky wrote:
>
> Hmm. Firefox 3.5.2 (Win) works for me.
>
> With test case of
>
> <canvas debug="true" height="100%">
> <handler name="oninit">
>
> canvas.setDefaultContextMenu(null);
> </handler>
>
> <view width="200" height="200" bgcolor="0xff0000">
> <contextmenu name="cm" onmenuopen="Debug.write('opened
> menu')" >
> <contextmenuitem caption="hello world"/>
> </contextmenu>
> </view>
> </canvas>
>
> I'm at r14631 in trunk. Maybe try a clean build?
>
>
>
> I see the "hello world" menu when I mouse right over the
> red view.
>
> Mousing right on the Canvas shows the default browser menu.
>
>
>
> On Mon, Aug 31, 2009 at 5:32 PM, André Bargull
> <[email protected] <mailto:[email protected]>
> <mailto:[email protected] <mailto:[email protected]>>
> <mailto:[email protected]
> <mailto:[email protected]> <mailto:[email protected]
> <mailto:[email protected]>>>>
>
> wrote:
>
> I would like to test that changeset, but context-menus
> don't
> show up
> at all* under Firefox3.5 (Win) with tr...@14635, with
> and without
> your change. So I'm a bit lost here... :-)
>
>
> * The global context-menu works, it also works if I
> open the
> global
> context-menu and then right-click on the red view
> while the
> global
> context-menu is still open. But only right clicking on the
> red view
> doesn't bring up the context-menu.
>
>
> On 8/31/2009 7:09 PM, Henry Minsky wrote:
>
> Change 20090831-hqm-N by [email protected] on
> 2009-08-31
> 13:01:15 EDT
> in /Users/hqm/openlaszlo/trunk-clean
> for http://svn.openlaszlo.org/openlaszlo/trunk
>
> Summary: (DHTML) ignore spurious mouse events when
> user
> dismisses contextmenu
>
> New Features:
>
> Bugs Fixed: LPP-8218, LPP-8189
>
> Technical Reviewer: max
> QA Reviewer: andre
> Doc Reviewer: (pending)
>
> Documentation:
>
> Release Notes:
>
> Details:
>
> Change to make behavior when menu is dismissed
> match SWF more
> closely.
>
> + When the user wants to dismiss a context menu
> without
> selecting any
> items, they move the mouse outside of the menu and
> either
> release the
> button or click the button. In either case, we do not
> want these
> mousedown,mouseup, and click events to be sent to
> whatever view they
> happen to be over.
>
> This change modifies LzMouseKernel#__sendEvent to
> check
> if the
> context
> menu is being hidden due to a mousedown, and if
> so, sets
> flags to
> ignore the next mouseup and onclick events.
>
>
> Tests:
>
> [test case from LPP-8189]
> <canvas>
> <view width="200" height="200" bgcolor="0xff0000">
> <handler name="onmousedown">
> // Expected: Fires in swf8 and dhtml for left
> mouse click
> // Unexpected: Fires in dhtml for right
> mouse click
> Debug.write("onmousedown");
> </handler>
> <handler name="onmouseup">
> // Expected: Fires in swf8 and dhtml for left
> mouse click
> // Unexpected: Fires in dhtml for right
> mouse click
> Debug.write("onmouseup");
> </handler>
> <handler name="onclick">
> // Expected: Fires in swf8 and dhtml for left
> mouse click
> Debug.write("onclick");
> </handler>
> </view>
> </canvas>
>
>
> In DHTML, these two cases should print no mouse
> events to the
> debugger
>
> [1] Move mouse over red view, click right to display
> context menu.
> Press left button over an item, and while holding,
> drag
> mouse out of
> context menu, but still over the red view, and
> then release
> button to
> dismiss menu.
> No events should print to the debugger.
>
> [1] Move mouse over red view, click right to display
> context menu.
> Move mouse out of context menu, but still over red
> view,
> and click
> left to dismiss menu.
> No events should print to the debugger.
>
> Files:
> M WEB-INF/lps/lfc/kernel/dhtml/LzMouseKernel.js
>
> Changeset:
>
> http://svn.openlaszlo.org/openlaszlo/patches/20090831-hqm-N.tar
>
>
>
>
> -- Henry Minsky
> Software Architect
> [email protected]
> <mailto:[email protected]>
> <mailto:[email protected]
> <mailto:[email protected]>>
> <mailto:[email protected]
> <mailto:[email protected]>
>
> <mailto:[email protected]
> <mailto:[email protected]>>>
>
>
>
>
>
> --
> Henry Minsky
> Software Architect
> [email protected] <mailto:[email protected]>
> <mailto:[email protected]
> <mailto:[email protected]>>
>
>
>
>
>
> --
> Henry Minsky
> Software Architect
> [email protected] <mailto:[email protected]>
>
>
--
Regards,
Max Carlson
OpenLaszlo.org
_______________________________________________
Laszlo-reviews mailing list
[email protected]
http://www.openlaszlo.org/mailman/listinfo/laszlo-reviews