package edu.ualberta.med.biobank.dialogs; import org.eclipse.swt.SWT; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Shell; import edu.ualberta.med.biobank.gui.common.dialogs.BgcBaseDialog; import edu.ualberta.med.biobank.gui.common.validators.NonEmptyStringValidator; import edu.ualberta.med.biobank.gui.common.widgets.BgcBaseText; public class NewServerDialog extends BgcBaseDialog { private static final String TITLE = "New Server"; protected String serverAddress; public NewServerDialog(Shell parentShell) { super(parentShell); } @Override protected String getTitleAreaMessage() { return "Enter the domain-name or IP address of the server:"; } @Override protected String getTitleAreaTitle() { return TITLE; } @Override protected void createDialogAreaInternal(Composite parent) throws Exception { Composite area = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(1, false); layout.horizontalSpacing = 10; area.setLayout(layout); area.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); NonEmptyStringValidator validator = new NonEmptyStringValidator( "Server field cannot be empty"); BgcBaseText textBox = (BgcBaseText) createBoundWidgetWithLabel(area, BgcBaseText.class, SWT.NONE, "Address", new String[0], this, "serverAddress", validator); GridData gd = new GridData(); gd.grabExcessHorizontalSpace = true; gd.horizontalAlignment = SWT.FILL; textBox.setLayoutData(gd); } @Override protected String getDialogShellTitle() { return TITLE; } @Override protected void okPressed() { this.close(); } public String getServerAddress() { return serverAddress; } public void setServerAddress(String text) { this.serverAddress = text; } }