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

Robert Stryker rob.stryker at jboss.com
Mon Apr 16 13:56:54 EDT 2007


  User: rawb    
  Date: 07/04/16 13:56:54

  Added:       core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/providers  
                        PackagesContentProvider.java
                        PackagesLabelProvider.java
  Log:
  Complete rewrite of the the two plugins leading to a cleaner, leaner project. 
  
  Revision  Changes    Path
  1.10      +32 -208   jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/providers/PackagesContentProvider.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PackagesContentProvider.java
  ===================================================================
  RCS file: PackagesContentProvider.java
  diff -N PackagesContentProvider.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ PackagesContentProvider.java	16 Apr 2007 17:56:54 -0000	1.10
  @@ -0,0 +1,69 @@
  +package org.jboss.ide.eclipse.packages.ui.providers;
  +
  +import org.eclipse.core.resources.IProject;
  +import org.eclipse.jface.viewers.ITreeContentProvider;
  +import org.eclipse.jface.viewers.Viewer;
  +import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
  +import org.jboss.ide.eclipse.packages.core.model.internal.PackageModelNode;
  +import org.jboss.ide.eclipse.packages.core.model.internal.PackagesModel;
  +import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
  +import org.jboss.ide.eclipse.packages.ui.PrefsInitializer;
  +
  +public class PackagesContentProvider implements ITreeContentProvider {
  +	
  +	public PackagesContentProvider () {
  +	}
  +	
  +	public static class WrappedProject  {
  +		private IProject project;
  +		public WrappedProject (IProject proj) { project = proj; }
  +		public IProject getProject() { return project; }
  +	}
  +
  +	private boolean showProjectRoot () {
  +		return PackagesUIPlugin.getDefault().getPluginPreferences().getBoolean(PrefsInitializer.PREF_SHOW_PROJECT_ROOT);
  +	}
  +		
  +	private Object[] wrapProjects(IProject[] project) {
  +		Object[] ret = new Object[project.length];
  +		for( int i = 0; i < project.length; i++ )
  +			ret[i] = new WrappedProject(project[i]);
  +		return ret;
  +	}
  +	public Object[] getChildren(Object parentElement) {
  +		if( parentElement instanceof PackageModelNode && showProjectRoot()) 
  +			return wrapProjects(new IProject[] { ((PackageModelNode)parentElement).getProject()});
  +		
  +		if( parentElement instanceof PackageModelNode)
  +			return ((PackageModelNode)parentElement).getAllChildren();
  +		
  +		if( parentElement instanceof PackagesModel ) {
  +			// return all that's there
  +		}
  +		if( parentElement instanceof IProject ) {
  +			return PackagesModel.instance().getProjectPackages((IProject)parentElement);
  +		}
  +		if( parentElement instanceof IPackageNode ) {
  +			return ((IPackageNode)parentElement).getAllChildren();
  +		}
  +		return new Object[] {};
  +	}
  +
  +	public Object getParent(Object element) {
  +		return null;
  +	}
  +
  +	public boolean hasChildren(Object element) {
  +		return getChildren(element).length > 0;
  +	}
  +
  +	public Object[] getElements(Object inputElement) {
  +		return getChildren(inputElement);
  +	}
  +
  +	public void dispose() {}
  +
  +	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
  +	}
  +
  +}
  
  
  
  1.12      +59 -160   jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/providers/PackagesLabelProvider.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PackagesLabelProvider.java
  ===================================================================
  RCS file: PackagesLabelProvider.java
  diff -N PackagesLabelProvider.java
  --- /dev/null	1 Jan 1970 00:00:00 -0000
  +++ PackagesLabelProvider.java	16 Apr 2007 17:56:54 -0000	1.12
  @@ -0,0 +1,132 @@
  +package org.jboss.ide.eclipse.packages.ui.providers;
  +
  +import org.eclipse.core.resources.IProject;
  +import org.eclipse.jface.viewers.ILabelProvider;
  +import org.eclipse.jface.viewers.ILabelProviderListener;
  +import org.eclipse.swt.graphics.Image;
  +import org.eclipse.ui.ISharedImages;
  +import org.eclipse.ui.PlatformUI;
  +import org.jboss.ide.eclipse.packages.core.model.IPackage;
  +import org.jboss.ide.eclipse.packages.core.model.IPackageFileSet;
  +import org.jboss.ide.eclipse.packages.core.model.IPackageFolder;
  +import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
  +import org.jboss.ide.eclipse.packages.ui.PackagesSharedImages;
  +import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
  +import org.jboss.ide.eclipse.packages.ui.PrefsInitializer;
  +
  +public class PackagesLabelProvider implements ILabelProvider {
  +	
  +	
  +	/*
  +	 * Important snippets to save
  +	 * image = PlatformUI.getWorkbench().getDecoratorManager().decorateImage(image, element);
  +	 * text = PlatformUI.getWorkbench().getDecoratorManager().decorateText(text, element);
  +	 */
  +	
  +	public Image getImage(Object element) {
  +		Image image = internalGetImage(element);
  +		
  +		if (image != null) {
  +			image = PlatformUI.getWorkbench().getDecoratorManager().decorateImage(image, element);
  +		}
  +		
  +		return image;
  +	}
  +	
  +	public String getText(Object element) {
  +		String text = internalGetText(element);
  +		
  +		if (text != null) {
  +			text = PlatformUI.getWorkbench().getDecoratorManager().decorateText(text, element);
  +		}
  +		return text;
  +	}
  +	
  +	private Image internalGetImage(Object element) {
  +		element = unwrapElement(element);
  +		if( element instanceof IProject ) 
  +			return PlatformUI.getWorkbench().getSharedImages().getImage(org.eclipse.ui.ide.IDE.SharedImages.IMG_OBJ_PROJECT);
  +		if( element instanceof IPackageNode ) {
  +			IPackageNode node = (IPackageNode) element;
  +			if (node != null) {
  +				switch (node.getNodeType()) {
  +					case IPackageNode.TYPE_PACKAGE: {
  +						IPackage pkg = (IPackage) node;
  +						if (!pkg.isExploded())
  +							return PackagesSharedImages.getImage(PackagesSharedImages.IMG_PACKAGE);
  +						else
  +							return PackagesSharedImages.getImage(PackagesSharedImages.IMG_PACKAGE_EXPLODED);
  +					}
  +					case IPackageNode.TYPE_PACKAGE_FOLDER: return PlatformUI.getWorkbench().getSharedImages().getImage(ISharedImages.IMG_OBJ_FOLDER);
  +					case IPackageNode.TYPE_PACKAGE_FILESET: {
  +						return PackagesSharedImages.getImage(PackagesSharedImages.IMG_MULTIPLE_FILES);
  +					}
  +				}
  +			}
  +
  +		}
  +		return null;
  +	}
  +
  +	private String internalGetText(Object element) {
  +		element = unwrapElement(element);
  +		if( element instanceof IProject) 
  +			return ((IProject)element).getName();
  +		if( element instanceof IPackageNode ) {
  +			switch (((IPackageNode)element).getNodeType()) {
  +				case IPackageNode.TYPE_PACKAGE: return getPackageText((IPackage)element);
  +				case IPackageNode.TYPE_PACKAGE_FOLDER: return getPackageFolderText((IPackageFolder)element);
  +				case IPackageNode.TYPE_PACKAGE_FILESET: return getPackageFileSetText((IPackageFileSet)element);
  +			}
  +
  +		}
  +		return element.toString();
  +	}
  +	
  +	
  +	private String getPackageFolderText (IPackageFolder folder) {
  +		return folder.getName();
  +	}
  +	private String getPackageText (IPackage pkg) {
  +		String text = pkg.getName();
  +		if (PackagesUIPlugin.getDefault().getPreferenceStore().getBoolean(
  +			PrefsInitializer.PREF_SHOW_PACKAGE_OUTPUT_PATH)) {
  +			text += " [" + pkg.getDestinationPath() + "]";
  +		}
  +		return text;
  +	}
  +
  +	private String getPackageFileSetText (IPackageFileSet fileset) {
  +		boolean showFullPath = PackagesUIPlugin.getDefault().getPreferenceStore().getBoolean(
  +				PrefsInitializer.PREF_SHOW_FULL_FILESET_ROOT_DIR);
  +		String text = "";
  +		if (fileset.getIncludesPattern() != null)
  +			text += fileset.getIncludesPattern() + ": ";
  +		
  +		if (showFullPath) {
  +			text += fileset.getSourcePath().toString();
  +		} else {
  +			text += fileset.getSourcePath().lastSegment();
  +		}
  +		
  +		return text;
  +	}
  +
  +
  +	
  +	protected Object unwrapElement(Object element) {
  +		return element; // to be used if we wrap everything for preferences
  +	}
  +	
  +	
  +	public void addListener(ILabelProviderListener listener) {}
  +
  +	public void dispose() {	}
  +
  +	public boolean isLabelProperty(Object element, String property) {
  +		return true;
  +	}
  +
  +	public void removeListener(ILabelProviderListener listener) {	}
  +
  +}
  
  
  



More information about the jboss-cvs-commits mailing list