package org.eclipse.nebula.snippets.datechooser; import java.text.DateFormat; import java.util.Date; import java.util.Iterator; import org.eclipse.nebula.widgets.datechooser.DateChooser; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.events.SelectionListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Display; import org.eclipse.swt.widgets.List; import org.eclipse.swt.widgets.Shell; /** * Snippet 3 for DateChooser : multi selection, selection listener. */ public class DateChooserSnippet3 { static DateChooser cal; static List selectedDates; static DateFormat df; public static void main(String[] args) { Display display = new Display(); Shell shell = new Shell(display); shell.setLayout(new GridLayout()); cal = new DateChooser(shell, SWT.BORDER | SWT.MULTI); cal.addSelectionListener(new SelectionListener() { public void widgetDefaultSelected(SelectionEvent event) { } public void widgetSelected(SelectionEvent event) { selectedDates.removeAll(); for (Iterator it = cal.getSelectedDates().iterator(); it.hasNext(); ) { Date d = it.next(); selectedDates.add(df.format(d)); } } }); df = DateFormat.getDateInstance(DateFormat.MEDIUM); selectedDates = new List(shell, SWT.BORDER); GridData data = new GridData(); data.widthHint = 100; data.heightHint = 100; selectedDates.setLayoutData(data); shell.open(); while ( ! shell.isDisposed() ) { if (!display.readAndDispatch()) display.sleep(); } display.dispose(); } }