[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions ...

Marshall Culpepper mculpepper at jboss.com
Sat Feb 17 13:08:20 EST 2007


  User: mculpepper
  Date: 07/02/17 13:08:20

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions   
                        NodePropertiesAction.java
  Added:       core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions   
                        INodeActionDelegate.java
                        AbstractNodeActionDelegate.java
  Log:
  the "class" of a nodeContribution must now implement INodeActionDelegate (this allows for fine-grained control of when a contribution is enabled or not). By default, extending AbstractNodeActionDelegate will always return true. (enablesForNodeType is still checked in conjunction with this interface)
  
  Revision  Changes    Path
  1.2       +1 -11     jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions/NodePropertiesAction.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: NodePropertiesAction.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions/NodePropertiesAction.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- NodePropertiesAction.java	17 Feb 2007 17:31:38 -0000	1.1
  +++ NodePropertiesAction.java	17 Feb 2007 18:08:20 -0000	1.2
  @@ -1,21 +1,11 @@
   package org.jboss.ide.eclipse.packages.ui.actions;
   
  -import org.eclipse.ui.IViewActionDelegate;
  -import org.eclipse.ui.IViewPart;
   import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
  -import org.jboss.ide.eclipse.ui.util.ActionWithDelegate;
   
  -public class NodePropertiesAction extends ActionWithDelegate implements
  -		IViewActionDelegate {
  -
  -	private IViewPart view;
  +public class NodePropertiesAction extends AbstractNodeActionDelegate {
   	
   	public void run() {
   		PackagesUIPlugin.alert("Placeholder");
   	}
   
  -	public void init(IViewPart view) {
  -		this.view = view;
  -	}
  -
   }
  
  
  
  1.1      date: 2007/02/17 18:08:20;  author: mculpepper;  state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions/INodeActionDelegate.java
  
  Index: INodeActionDelegate.java
  ===================================================================
  package org.jboss.ide.eclipse.packages.ui.actions;
  
  import org.eclipse.ui.IViewActionDelegate;
  import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
  
  /**
   * All extensions of org.jboss.ide.eclipse.packages.ui.nodePopupMenus should implement this interface
   * (also see AbstractNodeActionDelegate)
   * @author Marshall
   *
   */
  public interface INodeActionDelegate extends IViewActionDelegate {
  
  	/**
  	 * @param node
  	 * @return Whether or not this action delegate will be enabled (viewable) for a specific package node.
  	 */
  	public boolean isEnabledFor (IPackageNode node);
  }
  
  
  
  1.1      date: 2007/02/17 18:08:20;  author: mculpepper;  state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions/AbstractNodeActionDelegate.java
  
  Index: AbstractNodeActionDelegate.java
  ===================================================================
  package org.jboss.ide.eclipse.packages.ui.actions;
  
  import org.eclipse.ui.IViewPart;
  import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
  import org.jboss.ide.eclipse.ui.util.ActionWithDelegate;
  
  public abstract class AbstractNodeActionDelegate extends ActionWithDelegate
  		implements INodeActionDelegate {
  
  	protected IViewPart view;
  	
  	public boolean isEnabledFor(IPackageNode node) {
  		return true;
  	}
  
  	public void init(IViewPart view) {
  		this.view = view;
  	}
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list