X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/NewBookmarkPage1.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/NewBookmarkPage1.java new file mode 100644 index 0000000..89bb37f --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/wizards/NewBookmarkPage1.java @@ -0,0 +1,170 @@ +package com.quantum.wizards; + +import java.io.File; + +import org.eclipse.jface.viewers.TableViewer; +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.events.SelectionListener; +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.FileDialog; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Table; +import org.eclipse.swt.widgets.TableColumn; +import org.eclipse.swt.widgets.Text; + +import com.quantum.Messages; +import com.quantum.QuantumPlugin; +import com.quantum.model.BookmarkCollection; +import com.quantum.ui.dialog.AddDriverDialog; +import com.quantum.view.JDBCDriverContentProvider; +import com.quantum.view.JDBCDriverLabelProvider; + +/** + * @author BC + */ +public class NewBookmarkPage1 extends WizardPage { + + private FileDialog fileDialog; + + private Text driverFileName; + + private TableViewer tableViewer; + + /** + * @param pageName + */ + protected NewBookmarkPage1(String pageName) { + super(pageName); + } + + public void createControl(Composite parent) { + Composite container = createBasicContainer(parent, 1); + GridLayout layout = new GridLayout(2, false); + container.setLayout(layout); + + Label label = new Label(container, SWT.NONE); + label.setText("Select a driver"); + GridData data = new GridData(GridData.HORIZONTAL_ALIGN_BEGINNING); + data.horizontalSpan = 2; + label.setLayoutData(data); + + Table table = new Table(container, SWT.SINGLE | SWT.FULL_SELECTION | SWT.BORDER); + table.setHeaderVisible(true); + for (int i = 0, length = 4; i < length; i++) { + TableColumn column = new TableColumn(table, SWT.NONE); + column.setText(Messages.getString(getClass(), "driverColumn" + i)); + } + + for (int i = 0, length = 4; i < length; i++) { + table.getColumn(i).pack(); + } + + this.tableViewer = new TableViewer(table); + data = new GridData(GridData.HORIZONTAL_ALIGN_FILL | GridData.GRAB_HORIZONTAL); + this.tableViewer.getControl().setLayoutData(data); + this.tableViewer.setContentProvider(new JDBCDriverContentProvider()); + this.tableViewer.setLabelProvider(new JDBCDriverLabelProvider()); + this.tableViewer.setColumnProperties(new String[] { "name", "className", "version", "jarFileName" }); +// Table table = ((Table) this.tableViewer.getControl()); + this.tableViewer.setInput(BookmarkCollection.getInstance()); + + + Button newDriver = new Button(container, SWT.PUSH); + newDriver.setText("Add driver..."); + newDriver.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent e) { + AddDriverDialog dialog = new AddDriverDialog(getShell()); + 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.HORIZONTAL_ALIGN_BEGINNING, + GridData.VERTICAL_ALIGN_BEGINNING, + true, false); + container.setLayoutData(fullHorizontal); + return container; + } + + /** + * @param parent + * @return + */ + private Composite createNewDriverSelection(Composite parent) { + this.fileDialog = new FileDialog(getContainer().getShell(), SWT.OPEN); + this.fileDialog.setFilterExtensions(new String[] { "*.jar", "*.zip", "*.*" }); + this.fileDialog.setFilterNames(new String[] { + Messages.getString("BookmarkWizard.JarFiles"), + Messages.getString("BookmarkWizard.ZipFiles"), + Messages.getString("BookmarkWizard.AllFiles") }); + + Composite container = createBasicContainer(parent, 3); + + Label label = new Label(container, SWT.NULL); + label.setText(Messages.getString("BookmarkWizard.DriverAst")); //$NON-NLS-1$ + this.driverFileName = new Text(container, SWT.BORDER | SWT.SINGLE); + GridData fullHorizontal = new GridData( + GridData.HORIZONTAL_ALIGN_BEGINNING, + GridData.VERTICAL_ALIGN_BEGINNING, + false, false); + this.driverFileName.setLayoutData(fullHorizontal); + + Button button = new Button(container, SWT.PUSH); + button.setText(Messages.getString("BookmarkWizard.Browse")); //$NON-NLS-1$ + + button.addSelectionListener(new SelectionListener() { + + public void widgetDefaultSelected(SelectionEvent e) { + } + + public void widgetSelected(SelectionEvent e) { + NewBookmarkPage1.this.fileDialog.setFilterPath(QuantumPlugin.getDefault() + .getPreferenceStore().getString( + "quantum.dialogs.bookmarkwizard.path")); + String filename = NewBookmarkPage1.this.fileDialog.open(); + if (filename != null) { + NewBookmarkPage1.this.driverFileName.setText(filename); + QuantumPlugin.getDefault().getPreferenceStore().setValue( + "quantum.dialogs.bookmarkwizard.path", filename); + } + } + }); + return container; + } + + // public boolean isPageComplete() { + // File file = getDriverFile(); + // if (file == null) { + // return false; + // } else if (!file.exists() || !file.isFile()) { + // return false; + // } else { + // return true; + // } + // } + // + private File getDriverFile() { + return (this.driverFileName == null || this.driverFileName.getText() == null) ? null + : new File(this.driverFileName.getText()); + } +} \ No newline at end of file