initial quantum version
[phpeclipse.git] / archive / net.sourceforge.phpeclipse.quantum.sql / src / com / quantum / view / bookmark / AddSchemaDialog.java
diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/AddSchemaDialog.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/view/bookmark/AddSchemaDialog.java
new file mode 100644 (file)
index 0000000..ce2819e
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Created on 12-jul-2003
+ *
+ */
+package com.quantum.view.bookmark;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.Vector;
+
+import com.quantum.IQuantumConstants;
+
+import org.eclipse.jface.dialogs.Dialog;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Control;
+import org.eclipse.swt.widgets.List;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.ui.help.WorkbenchHelp;
+
+/**
+ * @author panic
+ *
+ */
+public class AddSchemaDialog extends Dialog {
+
+    protected Vector input;
+    protected List list;
+    private Vector selection;
+    /**
+     * Creates a new AddSchemaDialog.
+     */
+    public AddSchemaDialog(Shell parentShell, Vector input) {
+        super(parentShell);
+        this.input = input;
+        this.list = null;
+        selection = null;
+    }
+    /* (non-Javadoc)
+     * Method declared on Window.
+     */
+    protected void configureShell(Shell newShell) {
+        super.configureShell(newShell);
+        newShell.setText("Set Schemas");
+        WorkbenchHelp.setHelp(
+            newShell,
+            IQuantumConstants.ADD_SCHEMA_DIALOG_CONTEXT);
+    }
+    /* (non-Javadoc)
+     * Method declared on Dialog
+     */
+    protected Control createDialogArea(Composite parent) {
+        Composite composite = (Composite) super.createDialogArea(parent);
+
+        list = new List(composite, SWT.BORDER | SWT.V_SCROLL | SWT.MULTI);
+        GridData data = new GridData(GridData.FILL_BOTH);
+        list.setLayoutData(data);
+        for (Iterator iter = input.iterator(); iter.hasNext();) {
+            String element = (String) iter.next();
+            list.add(element);
+        }
+        return composite;
+    }
+
+    /* (non-Javadoc)
+     * @see org.eclipse.jface.dialogs.Dialog#okPressed()
+     */
+    protected void okPressed() {
+        // If it's OK, then the selection is not null. Null is used to signal a canceled dialog.
+        selection = new Vector();
+        if (list != null) {
+            String selecStr[] = list.getSelection();
+            for (int i = 0; i < selecStr.length; i++) {
+                String string = selecStr[i];
+                selection.add(string);
+            }
+        }
+        super.okPressed();
+    }
+
+    public Collection getSelectedSchemas() {
+        return this.selection == null ? null : new ArrayList(this.selection);
+    }
+
+}