package org.eclipse.nebula.snippets.datechooser;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
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 4 for DateChooser : navigation controlled by program.
*/
public class DateChooserSnippet4 {
static DateChooser cal;
static List monthsList;
static Date[] months;
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);
cal.setNavigationEnabled(false);
monthsList = new List(shell, SWT.BORDER);
GridData data = new GridData();
data.widthHint = 100;
data.heightHint = 170;
monthsList.setLayoutData(data);
monthsList.addSelectionListener(new SelectionListener() {
public void widgetDefaultSelected(SelectionEvent event) {
}
public void widgetSelected(SelectionEvent event) {
int i = monthsList.getSelectionIndex();
cal.setCurrentMonth(months[i]);
}
});
SimpleDateFormat sdf = new SimpleDateFormat("MMMM");
months = new Date[12];
Calendar c = Calendar.getInstance();
c.setTime(new Date());
for (int i = 0; i < 12; i++) {
c.set(Calendar.MONTH, i);
months[i] = c.getTime();
monthsList.add(sdf.format(months[i]));
}
shell.open();
while ( ! shell.isDisposed() ) {
if (!display.readAndDispatch()) display.sleep();
}
display.dispose();
}
}