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
