| Summary: | Ensure FXCanvasEx forwards "consumed" SWT keyboard events to JavaFX | ||
|---|---|---|---|
| Product: | [Tools] GEF | Reporter: | Matthias Wienand <matthias.wienand> |
| Component: | GEF FX | Assignee: | gef-inbox <gef-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | ||
| Version: | 1.1.0 | ||
| Target Milestone: | 5.0.0 (Oxygen) M6 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
|
Description
Matthias Wienand
I implemented the proposed fix as follows: 1) The event filters are queried from the Display (containing the ones registered by Eclipse). 2) The queried filters are removed from the EventTable. 3) A custom filter that tracks all SWT keyboard events is added to the EventTable. 4) The previously removed filters are re-added to the EventTable. As soon as a keyboard event reaches FXCanvasEx, all missing events (i.e. the ones that did not reach FXCanvasEx, but were recorded by the filter) are dispatched to JavaFX (with "doit" set to false) before the event that reached FXCanvasEx is dispatched. The code is published on the master branch, therefore, I resolve this ticket as fixed for 5.0.0 M6. |