X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/DeleteObjectAction.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/DeleteObjectAction.java new file mode 100644 index 0000000..4d83cee --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/DeleteObjectAction.java @@ -0,0 +1,77 @@ +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) { + } + +}