X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/ui/dialog/AddDriverDialog.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/ui/dialog/AddDriverDialog.java new file mode 100644 index 0000000..bcab770 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/ui/dialog/AddDriverDialog.java @@ -0,0 +1,124 @@ +package com.quantum.ui.dialog; + +import org.eclipse.jface.dialogs.Dialog; +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.Control; +import org.eclipse.swt.widgets.FileDialog; +import org.eclipse.swt.widgets.Label; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.swt.widgets.Text; + +import com.quantum.Messages; +import com.quantum.QuantumPlugin; +import com.quantum.util.JarUtil; + +/** + * @author BC + */ +public class AddDriverDialog extends Dialog { + + private FileDialog fileDialog; + + private Text driverFileName; + private Text driverClassName; + + + /** + * @param parentShell + */ + public AddDriverDialog(Shell parentShell) { + super(parentShell); + } + + protected void configureShell(Shell shell) { + super.configureShell(shell); + shell.setText(Messages.getString(getClass(), "title")); + } + + /* (non-Javadoc) + * Method declared on Dialog + */ + protected Control createDialogArea(Composite parent) { + parent.setLayout(new GridLayout()); + Composite composite = (Composite) super.createDialogArea(parent); + GridLayout layout = new GridLayout(); + composite.setLayout(layout); + layout.numColumns = 3; + GridData fullHorizontal = new GridData( + GridData.HORIZONTAL_ALIGN_BEGINNING, + GridData.VERTICAL_ALIGN_BEGINNING, + true, false); + composite.setLayoutData(fullHorizontal); + + + this.fileDialog = new FileDialog(composite.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") }); + + Label label = new Label(composite, SWT.NULL); + label.setText(Messages.getString(getClass(), "fileName")); + this.driverFileName = new Text(composite, SWT.BORDER | SWT.SINGLE); + fullHorizontal = new GridData( + GridData.HORIZONTAL_ALIGN_FILL, + GridData.VERTICAL_ALIGN_BEGINNING, + true, false); + fullHorizontal.widthHint = 150; + this.driverFileName.setLayoutData(fullHorizontal); + + Button button = new Button(composite, SWT.PUSH); + button.setText(Messages.getString(getClass(), "browse")); + + button.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent event) { + AddDriverDialog.this.fileDialog.setFilterPath(QuantumPlugin.getDefault() + .getPreferenceStore().getString( + "quantum.dialogs.bookmarkwizard.path")); + String filename = AddDriverDialog.this.fileDialog.open(); + if (filename != null) { + AddDriverDialog.this.driverFileName.setText(filename); + QuantumPlugin.getDefault().getPreferenceStore().setValue( + "quantum.dialogs.bookmarkwizard.path", filename); + } + } + }); + + label = new Label(composite, SWT.NULL); + label.setText(Messages.getString(getClass(), "driverClassName")); + this.driverClassName = new Text(composite, SWT.BORDER | SWT.SINGLE); + fullHorizontal = new GridData( + GridData.HORIZONTAL_ALIGN_FILL, + GridData.VERTICAL_ALIGN_BEGINNING, + true, false); + fullHorizontal.widthHint = 150; + this.driverClassName.setLayoutData(fullHorizontal); + + button = new Button(composite, SWT.PUSH); + button.setText(Messages.getString(getClass(), "browse")); + + button.addSelectionListener(new SelectionAdapter() { + public void widgetSelected(SelectionEvent event) { + SimpleSelectionDialog dialog = new SimpleSelectionDialog( + getShell(), "Select a Driver", JarUtil.getAllDriverNames( + getDriverFile()), QuantumPlugin.getImage("class.gif")); + if (dialog.open() == SimpleSelectionDialog.OK) { + AddDriverDialog.this.driverClassName.setText( + dialog.getSelectedElement()); + } + } + }); + return composite; + } + + protected String getDriverFile() { + return this.driverFileName.getText(); + } +} \ No newline at end of file