--- /dev/null
+package net.sourceforge.phpdt.sql.actions;
+
+import java.util.Iterator;
+
+import org.eclipse.jface.action.Action;
+import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.StructuredSelection;
+import org.eclipse.ui.IViewActionDelegate;
+import org.eclipse.ui.IViewPart;
+
+import net.sourceforge.phpdt.sql.Messages;
+import net.sourceforge.phpdt.sql.view.SubsetView;
+import net.sourceforge.phpdt.sql.view.bookmark.ColumnMetaData;
+
+/**
+ * Deletes the selected columns from the Subset items (Tables)
+ * @author root
+ *
+ */
+public class DeleteColumnAction extends Action implements IViewActionDelegate {
+ SubsetView view;
+ /**
+ * @see org.eclipse.ui.IViewActionDelegate#init(IViewPart)
+ */
+ public void init(IViewPart view) {
+ this.view = (SubsetView) view;
+ }
+
+ /**
+ * @see org.eclipse.ui.IActionDelegate#run(IAction)
+ */
+ public void run(IAction action) {
+ run();
+ }
+
+ public void run() {
+ StructuredSelection selection = view.getSelection();
+ Iterator iter = selection.iterator();
+ if (! MessageDialog.openConfirm(view.getSite().getShell(),
+ Messages.getString("DeleteColumnAction.DeleteColumns"), //$NON-NLS-1$
+ Messages.getString("DeleteColumnAction.ConfirmDeleteColumns") )) //$NON-NLS-1$
+ return;
+
+ while (iter.hasNext()) {
+ Object current = iter.next();
+ if (current instanceof ColumnMetaData) {
+ ColumnMetaData column = (ColumnMetaData) current;
+ if (column != null) {
+ view.deleteColumn(column);
+ }
+ }
+ }
+ }
+
+ /**
+ * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection)
+ */
+ public void selectionChanged(IAction action, ISelection selection) {
+ }
+
+}