package ch.hsr.ifs.cdttesting.showoffset; import org.eclipse.jface.dialogs.Dialog; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.FillLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Shell; import org.eclipse.swt.widgets.Text; public class SelectionDialog extends Dialog { private final InputHandler handler; private int from; private int to; public SelectionDialog(Shell parent, InputHandler handler) { super(parent); this.handler = handler; } @Override protected Control createDialogArea(Composite parent) { Composite composite = (Composite) super.createDialogArea(parent); FillLayout thisLayout = new FillLayout(SWT.HORIZONTAL); thisLayout.marginWidth = 10; thisLayout.marginHeight = 10; thisLayout.spacing = 5; composite.setLayout(thisLayout); Label fromLabel = new Label(composite, SWT.NONE); fromLabel.setText("&From:"); final Text fromText = new Text(composite, SWT.BORDER); fromText.setSize(50, 50); Label toLabel = new Label(composite, SWT.NONE); toLabel.setText("&To:"); final Text toText = new Text(composite, SWT.BORDER); toText.setSize(50, 50); fromText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { from = Integer.parseInt(fromText.getText()); } }); toText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { to = Integer.parseInt(toText.getText()); } }); return composite; } @Override protected void okPressed() { super.okPressed(); handler.setInput(from, to); } @Override protected void configureShell(Shell newShell) { super.configureShell(newShell); newShell.setText("Input Selection"); } }