package com.quantum.actions; import java.util.Iterator; import com.quantum.Messages; import com.quantum.view.bookmark.ColumnNode; import com.quantum.view.subset.SubsetView; 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; /** * 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 ColumnNode) { ColumnNode column = (ColumnNode) current; if (column != null) { view.deleteColumn(column); } } } } /** * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection) */ public void selectionChanged(IAction action, ISelection selection) { } }