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) { } }