X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/JDBCDriverSelectionWizardPage.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/JDBCDriverSelectionWizardPage.java new file mode 100644 index 0000000..7770614 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/JDBCDriverSelectionWizardPage.java @@ -0,0 +1,105 @@ +package com.quantum.wizards; + +import org.eclipse.jface.viewers.ISelectionChangedListener; +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.jface.viewers.SelectionChangedEvent; +import org.eclipse.jface.wizard.WizardDialog; +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 com.quantum.Messages; +import com.quantum.model.JDBCDriver; +import com.quantum.view.JDBCDriverTableViewer; + +/** + * @author BC + */ +public class JDBCDriverSelectionWizardPage extends PropertyChangeWizardPage implements ISelectionChangedListener { + + private JDBCDriverTableViewer tableViewer; + + private JDBCDriver driver; + + /** + * @param pageName + */ + protected JDBCDriverSelectionWizardPage(String pageName) { + super(pageName); + + setTitle(Messages.getString(getClass(), "title")); + setDescription(Messages.getString(getClass(), "description")); + } + + public void createControl(Composite parent) { + setPageComplete(false); + Composite container = createBasicContainer(parent, 1); + GridLayout layout = new GridLayout(1, false); + container.setLayout(layout); + + this.tableViewer = new JDBCDriverTableViewer(container); + GridData data = new GridData(GridData.FILL_BOTH); + this.tableViewer.getControl().setLayoutData(data); + this.tableViewer.addSelectionChangedListener(this); + + Button newDriver = new Button(container, SWT.PUSH); + newDriver.setText(Messages.getString(getClass(), "addDriver")); + newDriver.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + AddDriverWizard wizard = new AddDriverWizard(); + WizardDialog dialog = + new WizardDialog(getShell(), wizard); + dialog.open(); + } + }); + data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING | GridData.VERTICAL_ALIGN_BEGINNING); + newDriver.setLayoutData(data); + + setControl(container); + } + /** + * @param parent + */ + private Composite createBasicContainer(Composite parent, int numberOfColumns) { + Composite container = new Composite(parent, SWT.NULL); + GridLayout layout = new GridLayout(); + container.setLayout(layout); + layout.numColumns = numberOfColumns; + layout.verticalSpacing = 9; + GridData fullHorizontal = new GridData(GridData.FILL_BOTH); + container.setLayoutData(fullHorizontal); + return container; + } + public void selectionChanged(SelectionChangedEvent event) { + IStructuredSelection selection = (IStructuredSelection) event.getSelection(); + setPageComplete(!selection.isEmpty()); + if (!selection.isEmpty()) { + setDriver((JDBCDriver) selection.getFirstElement()); + } + + } + /** + * @return Returns the driver. + */ + public JDBCDriver getDriver() { + return this.driver; + } + /** + * @param driver The driver to set. + */ + public void setDriver(JDBCDriver driver) { + if (this.driver != driver) { + JDBCDriver original = this.driver; + this.driver = driver; + firePropertyChange("driver", original, driver); + } + } + public void dispose() { + this.tableViewer.dispose(); + super.dispose(); + } +} \ No newline at end of file