package com.tibco.as.spacebar.ui.wizards.space.def; import org.eclipse.jface.layout.GridDataFactory; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import com.tibco.as.spacebar.ui.SWTFactory; import com.tibco.as.spacebar.ui.model.Space; import com.tibco.as.space.SpaceDef; public class SpaceDefWizardPage extends WizardPage { private Space space; private Text nameText; /** * Create the wizard. */ public SpaceDefWizardPage(Space space) { super("spaceDefWizardPage"); setTitle("Space Definition"); setDescription("Enter space definition"); this.space = space; } @Override public void createControl(Composite parent) { Composite composite = SWTFactory.createComposite(parent, 1, 1, GridData.FILL_HORIZONTAL); Composite nameComposite = SWTFactory.createComposite(composite, 2, 1, GridData.FILL_HORIZONTAL); new Label(nameComposite, SWT.NONE).setText("Name:"); nameText = new Text(nameComposite, SWT.BORDER | SWT.SINGLE); nameText.addModifyListener(new ModifyListener() { @Override public void modifyText(ModifyEvent e) { determinePageCompletion(); } }); GridDataFactory.defaultsFor(nameText).applyTo(nameText); SpaceDefEditor defEditor = new SpaceDefEditor(composite, SWT.NONE, space); GridDataFactory.defaultsFor(defEditor).applyTo(defEditor); setControl(composite); setPageComplete(false); } protected void determinePageCompletion() { String name = nameText.getText().trim(); try { SpaceDef.create(name); space.setName(name); } catch (Throwable e) { setErrorMessage(e.getMessage()); } setPageComplete(space.getName() != null); } }