X-Git-Url: http://git.phpeclipse.com diff --git a/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/BaseSequenceAction.java b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/BaseSequenceAction.java new file mode 100644 index 0000000..0e967c4 --- /dev/null +++ b/archive/net.sourceforge.phpeclipse.quantum.sql/src/com/quantum/actions/BaseSequenceAction.java @@ -0,0 +1,53 @@ +package com.quantum.actions; + +import java.sql.Connection; +import java.util.List; + +import com.quantum.model.Bookmark; +import com.quantum.util.connection.ConnectionUtil; +import com.quantum.view.bookmark.EntityNode; +import com.quantum.view.bookmark.TreeNode; + +import org.eclipse.jface.viewers.IStructuredSelection; +import org.eclipse.swt.widgets.Shell; +import org.eclipse.ui.IViewPart; +import org.eclipse.ui.actions.SelectionListenerAction; + +/** + * @author BC + */ +public abstract class BaseSequenceAction extends SelectionListenerAction { + + protected IViewPart view; + private ConnectionUtil connectionUtil = new ConnectionUtil(); + + protected BaseSequenceAction(String text, IViewPart view) { + super(text); + + } + + protected Bookmark getBookmark() { + TreeNode node = getEntityNode(); + return node.getBookmark(); + } + + protected Connection getConnection() { + return connectionUtil.getConnection(getBookmark(), getShell()); + } + + protected EntityNode getEntityNode() { + List list = getSelectedNonResources(); + return (EntityNode) list.get(0); + } + + protected Shell getShell() { + return this.view.getViewSite().getShell(); + } + + protected boolean updateSelection(IStructuredSelection selection) { + boolean enabled = super.updateSelection(selection); + return enabled && selection.size() == 1 + && (selection.getFirstElement() instanceof EntityNode) + && ((EntityNode) selection.getFirstElement()).isSequence(); + } +}