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; /* * TODO: We could dynamically scope out the imported eomodels and figure out if the jndi adaptors */ public class WOFrameworkSupportPage extends WizardNewLinkPage { public static final String JNDI_STRING = Messages.getString("WOFrameworkSupportPage.checkbox.jndi.label"); public static final String J2EE_STRING = Messages.getString("WOFrameworkSupportPage.checkbox.j2ee.label"); public static final String JNDI_OPTIONS_STRING = Messages.getString("WOFrameworkSupportPage.options.jndi.text"); public static final String J2EE_OPTIONS_STRING = Messages.getString("WOFrameworkSupportPage.options.j2ee.text"); Button jndiSupportButton; Button j2eeDeploymentButton; static boolean jndiAdaptorEnabled = false; static boolean j2eeDeploymentEnabled = false; static CheckBoxListener checkboxListener; public WOFrameworkSupportPage(String pageName, int type) { super(pageName, type); checkboxListener = new CheckBoxListener(); jndiAdaptorEnabled = false; j2eeDeploymentEnabled = false; } public boolean getJNDISupport () { return jndiAdaptorEnabled; } public boolean getJ2EESupport() { return j2eeDeploymentEnabled; } 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 jndiGroup = new Group(topLevel, SWT.SHADOW_IN); GridLayout clientlayout = new GridLayout(); jndiGroup.setLayout(clientlayout); jndiGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL)); jndiGroup.setText(JNDI_OPTIONS_STRING); jndiGroup.setFont(topLevel.getFont()); jndiSupportButton = new Button(jndiGroup, SWT.CHECK); jndiSupportButton.setText(JNDI_STRING); jndiSupportButton.setSelection(false); jndiSupportButton.addSelectionListener(checkboxListener); Group j2eeGroup = new Group(topLevel, SWT.SHADOW_IN); GridLayout serverlayout = new GridLayout(); j2eeGroup.setLayout(serverlayout); j2eeGroup.setLayoutData(new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL)); j2eeGroup.setText(J2EE_OPTIONS_STRING); j2eeGroup.setFont(topLevel.getFont()); j2eeDeploymentButton = new Button(j2eeGroup, SWT.CHECK); j2eeDeploymentButton.setText(J2EE_STRING); j2eeDeploymentButton.setSelection(false); j2eeDeploymentButton.addSelectionListener(checkboxListener); setErrorMessage(null); setMessage(null); setControl(topLevel); } public boolean handleUpdatedSelection(SelectionEvent e) { Button s = (Button)e.getSource(); if (s.equals(jndiSupportButton)) { jndiAdaptorEnabled = s.getSelection(); } else if (s.equals(j2eeDeploymentButton)){ j2eeDeploymentEnabled = s.getSelection(); } return true; } class CheckBoxListener extends SelectionAdapter { public void widgetSelected(SelectionEvent e) { handleUpdatedSelection(e); } public void widgetDefaultSelected(SelectionEvent e) { handleUpdatedSelection(e); } } }