| Summary: | [DateTime] Sometimes an opened DropDown-Calendar from a Drop-Down DateTime-Widget within a resizable dialog is unclosable | ||
|---|---|---|---|
| Product: | [RT] RAP | Reporter: | Bassspieler <m.kempe> |
| Component: | RWT | Assignee: | Project Inbox <rap-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | m.kempe |
| Version: | 1.3 | ||
| Target Milestone: | 1.4 M1 | ||
| Hardware: | All | ||
| OS: | All | ||
| Whiteboard: | |||
This happens when the dropped calendar overlaps the resizeable dialog borders or start dialog resizing with dropped calendar. Click on the date, which is on the top of the dialog border trigger dialog resize on mousedown. Thus, the setCapture is reset on mouse down and click (mouseup) event is never reached the DateTime widget. The fix is to listen for mousedown event instead of click in DateTimeDate. |
Build Identifier: RAP 1.3 Final Conditions: DateTime(SWT.DATE | SWT.DROP_DOWN | SWT.BORDER)-Widget in a resizable dialog. Try to select a date in the future (>2 months) via the drop-down-calendar. Effect: Sometimes (1of10) the opened calendar is unclosable. Usually it closes automatically, when you click a specific date. It occurs more often, if you put two DateTime-widgets inside the dialog. SNIPPET: import org.eclipse.jface.dialogs.TrayDialog; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.DateTime; import org.eclipse.swt.widgets.Shell; public class DateTimeDialog extends TrayDialog { public DateTimeDialog(Shell shell) { super(shell); } @Override protected Control createDialogArea(Composite parent) { DateTime dtDate = new DateTime(parent, SWT.DATE | SWT.DROP_DOWN | SWT.BORDER); dtDate.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); dtDate.setDate(2010, 1, 2); DateTime dtDate1 = new DateTime(parent, SWT.DATE | SWT.DROP_DOWN | SWT.BORDER); dtDate1.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, false, false)); dtDate1.setDate(2010, 1, 3); return parent; } @Override protected boolean isResizable() { return true; } } http://www.eclipse.org/forums/index.php?t=msg&th=170511 Reproducible: Sometimes Steps to Reproduce: 1. Open dialog from snippet 2. Open drop-down calendar 3. Select a date that is min. 2 months in the future -> calendar does not close sometimes