[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
Fri Mar 2 21:38:23 EST 2007


  User: mculpepper
  Date: 07/03/02 21:38:23

  Added:       core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions 
                        NewPackageAction.java
  Log:
  initial implementation of newPackageActions (single extension point that supports links and actions in the ProjectPackagesView)
  
  Revision  Changes    Path
  1.1      date: 2007/03/03 02:38:23;  author: mculpepper;  state: Exp;jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/actions/NewPackageAction.java
  
  Index: NewPackageAction.java
  ===================================================================
  package org.jboss.ide.eclipse.packages.ui.actions;
  
  import java.net.URL;
  
  import org.eclipse.core.runtime.CoreException;
  import org.eclipse.core.runtime.FileLocator;
  import org.eclipse.core.runtime.IConfigurationElement;
  import org.eclipse.core.runtime.Path;
  import org.eclipse.core.runtime.Platform;
  import org.eclipse.jface.resource.ImageDescriptor;
  import org.eclipse.swt.graphics.Image;
  import org.eclipse.ui.IActionDelegate;
  import org.jboss.ide.eclipse.packages.core.Trace;
  import org.osgi.framework.Bundle;
  
  public class NewPackageAction {
  
  	private String id, label;
  	private ImageDescriptor icon;
  	private Image iconImage;
  	private IActionDelegate action;
  	
  	public NewPackageAction(IConfigurationElement element) {
  		id = element.getAttribute("id");
  		label = element.getAttribute("label");
  		
  		try {
  			action = (IActionDelegate) element.createExecutableExtension("class");
  		} catch (CoreException e) {
  			Trace.trace(getClass(), e);
  		}
  		
  		String iconPath = element.getAttribute("icon");
  		String pluginId = element.getDeclaringExtension().getNamespaceIdentifier();
  		Bundle bundle = Platform.getBundle(pluginId);
  		URL iconURL = FileLocator.find(bundle, new Path(iconPath), null);
  		if (iconURL == null)
  		{
  			iconURL = bundle.getEntry(iconPath);
  		}
  		icon = ImageDescriptor.createFromURL(iconURL);
  		iconImage = icon.createImage();
  	}
  
  	public IActionDelegate getAction() {
  		return action;
  	}
  
  	public ImageDescriptor getIconDescriptor() {
  		return icon;
  	}
  	
  	public Image getIcon()
  	{
  		return iconImage;
  	}
  
  	public String getId() {
  		return id;
  	}
  
  	public String getLabel() {
  		return label;
  	}
  	
  	protected void finalize() throws Throwable {
  		iconImage.dispose();
  	}
  
  }
  
  
  



More information about the jboss-cvs-commits mailing list