package org.celllife.idart.database.wizard; import org.celllife.idart.database.DatabaseTools; import org.eclipse.jface.wizard.WizardPage; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; public class CreateDatabasePage extends WizardPage implements PropertiesPage { private Composite container; private Button btnIncludeTest; public CreateDatabasePage() { super("Create Database"); setTitle("Create Database"); setDescription("The database seems to be empty.\nThis step will create the " + "database tables and load the required data into it."); } @Override public void createControl(Composite parent) { container = new Composite(parent, SWT.NULL); GridLayout layout = new GridLayout(); container.setLayout(layout); layout.numColumns = 1; GridData gd = new GridData(GridData.FILL_HORIZONTAL); Label lblIncludeTest = new Label(container, SWT.NULL); lblIncludeTest .setText("Would you like to include test data in the database?"); btnIncludeTest = new Button(container, SWT.RADIO); btnIncludeTest.setText("Include test data"); btnIncludeTest.setLayoutData(gd); btnIncludeTest.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { setPageComplete(true); } }); Button btnDontIncludeTest = new Button(container, SWT.RADIO); btnDontIncludeTest.setText("Don't include test data"); btnDontIncludeTest.setLayoutData(gd); btnDontIncludeTest.setSelection(true); btnDontIncludeTest.addSelectionListener(new SelectionAdapter() { @Override public void widgetSelected(SelectionEvent e) { setPageComplete(true); } }); // Required to avoid an error in the system setControl(container); setPageComplete(true); } @Override public boolean updateProperties() { return true; } @Override public boolean isRequired() { try { boolean checkData = !DatabaseTools._().checkDatabase(); setPageComplete(!checkData); return checkData; } catch (Exception e) { return true; } } public boolean shouldIncludeTest() { return btnIncludeTest.getSelection(); } }