package com.quantum.actions; import java.util.Iterator; import com.quantum.Messages; import com.quantum.view.subset.ObjectNode; import com.quantum.view.subset.SubsetNode; 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 an entire object (Table) from the SubsetView * @author root * */ public class DeleteObjectAction 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() { Object selection = view.getCurrent(); if (selection instanceof SubsetNode) { SubsetNode node = (SubsetNode) selection; if (node != null) { boolean flag = MessageDialog.openConfirm(view.getSite().getShell(), Messages.getString("DeleteObjectAction.DeleteSubset"), //$NON-NLS-1$ Messages.getString("DeleteObjectAction.ConfirmDeleteSubset") + node.getName()); //$NON-NLS-1$ if (flag) { view.deleteCurrent(); } } } else if (selection instanceof ObjectNode) { StructuredSelection allSelected = view.getSelection(); Iterator iter = allSelected.iterator(); if (! MessageDialog.openConfirm(view.getSite().getShell(), Messages.getString("DeleteObjectAction.DeleteItems"), //$NON-NLS-1$ Messages.getString("DeleteObjectAction.ConfirmDeleteItems") )) //$NON-NLS-1$ return; while (iter.hasNext()) { Object current = iter.next(); if (current instanceof ObjectNode) { ObjectNode node = (ObjectNode) current; if (node != null) { view.deleteObject(node); } } } } } /** * @see org.eclipse.ui.IActionDelegate#selectionChanged(IAction, ISelection) */ public void selectionChanged(IAction action, ISelection selection) { } }