| Summary: | ColumnViewer returns a wrong cell by x-y-location in case when the scrolls are visible | ||||||
|---|---|---|---|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Yury <swimmer_86> | ||||
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> | ||||
| Status: | RESOLVED FIXED | QA Contact: | |||||
| Severity: | normal | ||||||
| Priority: | P3 | CC: | ivan, swimmer_86 | ||||
| Version: | 1.2 | ||||||
| Target Milestone: | 1.3 M6 | ||||||
| Hardware: | All | ||||||
| OS: | All | ||||||
| Whiteboard: | |||||||
| Attachments: |
|
||||||
Scrollbars size is striped from the client area. No mouse event is fired outside the client area. Changes are in CVS HEAD. Hi, Ivan. Is it possible to provide a patch for RAP 1.2 for this issue? We can't to migrate our product from 1.2 to 1.3. Best regards, Yury. Hi Yury, you could try to extract and apply the changes yourself: 1. Changes between revision 1.27 and 1.28 in ControlLCAUtil 2. Changes between revision 1.8 and 1.9 in Scrollable I think that's all. Thank you, Ivan, for a fast response! I works. Best regards, Yury. |
Created attachment 157498 [details] Snippet to reproduce Look at the attached snippet. Select a row in the table and try to scroll down using a vertical scrollbar. It leads to an activation of the celleditor. It is incorrect. Look at the org.eclipse.rwt.lifecycle.ControlLCAUtil.checkAndProcessMouseEvent(MouseEvent) It seems that the string "pass = event.x >= clientArea.x && event.y >= clientArea.y;" is wrong. I suppose that this string must be reimplement wuth respect of the fact that scroll bars has (when visible) width and height. Moreover there is another bug: there should be used clientArea.height and clientArea.width instead of clientArea.y and clientArea.x. So there should be something like this: pass = event.x <= clientArea.width + clientArea.x - verticalScrollWidth && event.y <= clientArea.height + clientArea.y - horisontalScrollHeight; But it seems that verticalScrollWidth and horisontalScrollHeight should be delivered from the client side.