package org.objectstyle.wolips.wizards; import org.eclipse.swt.SWT; import org.eclipse.swt.events.SelectionAdapter; import org.eclipse.swt.events.SelectionEvent; import org.eclipse.swt.graphics.Font; 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.Group; import org.eclipse.ui.dialogs.WizardNewLinkPage; public class WOWebServicesWizardPage extends WizardNewLinkPage { public static final String CLIENT_WEBSERVICES_STRING = Messages.getString("WOWebServicesWizardPage.checkbox.client.label"); public static final String SERVER_WEBSERVICES_STRING = Messages.getString("WOWebServicesWizardPage.checkbox.server.label"); public static final String CLIENT_OPTIONS_STRING = Messages.getString("WOWebServicesWizardPage.options.client.text"); public static final String SERVER_OPTIONS_STRING = Messages.getString("WOWebServicesWizardPage.options.server.text"); Button clientWebServiceCheckBox; Button serverWebServiceCheckBox; static boolean clientEnabled = false; static boolean serverEnabled = false; static CheckBoxListener checkboxListener; public WOWebServicesWizardPage(String pageName, int type) { super(pageName, type); checkboxListener = new CheckBoxListener(); } public boolean getClientSupport () { return clientEnabled; } public boolean getServerSupport() { return serverEnabled; } public void createControl(Composite parent) { Font font = parent.getFont(); initializeDialogUnits(parent); // top level group Composite topLevel = new Composite(parent, SWT.NONE); GridLayout layout = new GridLayout(); layout.numColumns = 1; topLevel.setLayout(layout); topLevel.setLayoutData(new GridData(GridData.VERTICAL_ALIGN_FILL | GridData.HORIZONTAL_ALIGN_FILL)); topLevel.setFont(font); Group clientGroup = new Group(topLevel, SWT.SHADOW_IN); GridLayout clientlayout = new GridLayout(); clientGroup.setLayout(clientlayout); clientGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL)); clientGroup.setText(CLIENT_OPTIONS_STRING); clientGroup.setFont(topLevel.getFont()); clientWebServiceCheckBox = new Button(clientGroup, SWT.CHECK); clientWebServiceCheckBox.setText(CLIENT_WEBSERVICES_STRING); clientWebServiceCheckBox.setSelection(false); clientWebServiceCheckBox.addSelectionListener(checkboxListener); Group serverGroup = new Group(topLevel, SWT.SHADOW_IN); GridLayout serverlayout = new GridLayout(); serverGroup.setLayout(serverlayout); serverGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL)); serverGroup.setText(SERVER_OPTIONS_STRING); serverGroup.setFont(topLevel.getFont()); serverWebServiceCheckBox = new Button(serverGroup, SWT.CHECK); serverWebServiceCheckBox.setText(SERVER_WEBSERVICES_STRING); serverWebServiceCheckBox.setSelection(false); serverWebServiceCheckBox.addSelectionListener(checkboxListener); setErrorMessage(null); setMessage(null); setControl(topLevel); } public boolean handleUpdatedSelection(SelectionEvent e) { Button s = (Button)e.getSource(); if (s.equals(clientWebServiceCheckBox)) { clientEnabled = s.getSelection(); } else if (s.equals(serverWebServiceCheckBox)){ serverEnabled = s.getSelection(); } return true; } class CheckBoxListener extends SelectionAdapter { public void widgetSelected(SelectionEvent e) { handleUpdatedSelection(e); } public void widgetDefaultSelected(SelectionEvent e) { handleUpdatedSelection(e); } } }