Hi,

I found some time to check for that strange behavior. I looked in my testing
environment and tried to re-build it in the playground (devel).
Unfortunately the playground behaves a bit strange when Mixins are involved.
It seems that a Mixin stays in it's class until you do a RELOAD (via the
according Browser button). This made the testing a bit more difficult ;)

Nevertheless, I found where the difference between our test-environments is:
In *my* test-case I did turn off the cell focus indicator!

So at least the different test-results are explainable now. Hurray!! :-D
I don't have an idea how to finally fix this, but I thought this information
might help!

Works  : http://tinyurl.com/65khvhg (Line 30 _with_ disabled cell focus)
Doesn't: http://tinyurl.com/66rys75 (Line 30 _without_ disabled cell focus)

Can you (Derrell) explain why this setting changes the behavior so much? I
can't...

This bug is independent of my last proposal (showMenuOnEmptyRows property).
The work-around with the "row===null" check in the ContextMenuHandler callback
is working good and should therefore be a valid "fix" for Bug 4568.

Nevertheless, I think it would be nice to find out why ShowCellFocusIndicator
has an impact on that...

/Peter


On 1/24/2011 10:51 AM Peter Schneider wrote:
> Hi Derrell et al.,
> 
> unfortunately I am currently a bit busy with other things, so I can not look
> any deeper into this issue, but I try to add some notes (below)
> 
> On 1/21/2011 5:13 PM Derrell Lipman wrote:
>> [...]
>> Peter, I didn't notice a patch. I saw that you'd included the entire
>> modified MTableContextMenu mixin (on all three of the bugs) and I created a
>> patch from that. I altered the result only for some "editorial" changes (I
>> think I added some white space at one point, or something like that). So
>> what's in trunk right now should be "approximately identical" :-) to what
>> you provided.
>> [...]
> The changes you've committed in Revision 24576 are perfectly O.K.!
> 
> The "gray-area-display-switch" problem is not covered by that! That issue has
> to be addressed _additionally_.
> 
> 
>> Unless you patched Scroller.js as well as MTableContextMenu.js, I still
>> contend that it can't work. Here's my testing scenario. Run this program in
>> the playground, using trunk:
>> [...]
> I only changed MTableContextMenu! In our project we are not using
> qooxdoo-trunk (for obvious reasons), so my tests here were of cause not based
> on a "100% clean trunk"...(it's more 1.2.2 based)
> When I get the time, I will try again against a trunk version of qooxdoo. Stay
> tuned... ;)
> 
> 
>> Notice that I've added a new comparison to the context menu handler, to
>> handle the case where the row is null. This will occur when you right-click
>> in the gray area of the table, below the data rows.
>> [...]
> I think it's more or less the same I did in my proposal patch for Bug 4568[1]
> But -as I noted- I did test with a local 1.2.2++ framework. Therefore my
> "mileage may vary"!
> 
> 
>> Now right-click on the gray area (below column 1, the second column). You'll
>> get the context menu. Then right-click on a data row, in column 1. If your
>> right-click is on an even row, you'll get the context menu; odd row, not.
>> Now again right-click in the gray area. The context menu will not appear.
>> The reason is because in the _onContextMenu function in Scroller.js, it
>> checks for whether the saved _lastMouseDownCell row and column match the
>> current row and column, and does not fire the event if those don't match.
>> The value of _lastMouseDownCell is only updated when clicking on a data row,
>> so the row value of null does not match the row value saved in
>> _lastMouseDownCell, which was whatever row you of data you last
>> right-clicked on.
> I will check that ASAP.
> 
> 
>> So right now, we have a situation where the gray area context menu can
>> happen sometimes, and not other times. That's bad. Martin can solve his
>> problem (for now) by doing as I did in my playground example, and test for
>> row===null, returning false if it is. Peter, your desire to have the the
>> context menu available seems not to work at present... unless you've made
>> other changes that I don't know about.
>> [...]
> I think this is just a small problem that is due to different qooxdoo-bases. I
> will compare the classes of trunk with the classes I use here.
> The "return row!==null;" workaround will work anyway, so we have a good
> temporary work-around that will not break any application code whenever the
> issue is finally fixed.
> 
> As said, I will try to reproduce the same results here ASAP.
> 
>>
>> Derrell
> 
> Peter
> 
> 
> [1] Bug       : http://bugzilla.qooxdoo.org/show_bug.cgi?id=4568
>     Attachment: http://bugzilla.qooxdoo.org/attachment.cgi?id=869

------------------------------------------------------------------------------
Special Offer-- Download ArcSight Logger for FREE (a $49 USD value)!
Finally, a world-class log management solution at an even better price-free!
Download using promo code Free_Logger_4_Dev2Dev. Offer expires 
February 28th, so secure your free ArcSight Logger TODAY! 
http://p.sf.net/sfu/arcsight-sfd2d
_______________________________________________
qooxdoo-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel

Reply via email to