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

Marshall Culpepper mculpepper at jboss.com
Thu Mar 1 18:48:27 EST 2007


  User: mculpepper
  Date: 07/03/01 18:48:27

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/providers  
                        PackagesLabelProvider.java
                        PackagesContentProvider.java
  Log:
  2 new preferences for showing the project root in the packages project view (true by default), and showing "all" package projects (false by default)
  
  Revision  Changes    Path
  1.5       +11 -2     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: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/providers/PackagesLabelProvider.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -b -r1.4 -r1.5
  --- PackagesLabelProvider.java	22 Feb 2007 01:34:59 -0000	1.4
  +++ PackagesLabelProvider.java	1 Mar 2007 23:48:27 -0000	1.5
  @@ -1,5 +1,6 @@
   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;
  @@ -38,7 +39,11 @@
   	}
   	
   	private Image internalGetImage(Object element) {
  -		if (element instanceof IPackageNode)
  +		if (element instanceof IProject)
  +		{
  +			return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
  +		}
  +		else if (element instanceof IPackageNode)
   		{
   			IPackageNode node = (IPackageNode) element;
   			switch (node.getNodeType())
  @@ -90,7 +95,11 @@
   	}
   
   	private String internalGetText(Object element) {
  -		if (element instanceof IPackageNode)
  +		if (element instanceof IProject)
  +		{
  +			return ((IProject)element).getName();
  +		}
  +		else if (element instanceof IPackageNode)
   		{
   			IPackageNode node = (IPackageNode) element;
   			switch (node.getNodeType())
  
  
  
  1.3       +45 -14    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: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/providers/PackagesContentProvider.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PackagesContentProvider.java	1 Mar 2007 19:27:42 -0000	1.2
  +++ PackagesContentProvider.java	1 Mar 2007 23:48:27 -0000	1.3
  @@ -13,6 +13,7 @@
   import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
   import org.jboss.ide.eclipse.packages.core.model.IPackageNodeVisitor;
   import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
  +import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
   
   public class PackagesContentProvider implements ITreeContentProvider {
   	
  @@ -23,6 +24,11 @@
   		filesetProperties = new Hashtable();
   	}
   	
  +	private boolean showProjectRoot ()
  +	{
  +		return PackagesUIPlugin.getDefault().getPluginPreferences().getBoolean(PackagesUIPlugin.PREF_SHOW_PROJECT_ROOT);
  +	}
  +	
   	public static class FileSetProperty {
   		private IPackageFileSet fileset;
   		private String name;
  @@ -78,7 +84,11 @@
   	}
   	
   	public Object[] getChildren(Object parentElement) {
  -		if (parentElement instanceof IPackageFileSet)
  +		if (parentElement instanceof IProject)
  +		{
  +			return PackagesCore.getProjectPackages((IProject)parentElement, null);
  +		}
  +		else if (parentElement instanceof IPackageFileSet)
   		{
   			IPackageFileSet fileset = (IPackageFileSet) parentElement;
   			ArrayList result = ((ArrayList)filesetProperties.get(fileset));
  @@ -96,6 +106,12 @@
   		if (element instanceof IPackageNode)
   		{
   			IPackageNode node = (IPackageNode) element;
  +			if (node.getNodeType() == IPackageNode.TYPE_PACKAGE)
  +			{
  +				if (((IPackage)node).isTopLevel() && showProjectRoot()) {
  +					return node.getProject();
  +				}
  +			}
   			return node.getParent();
   		}
   		else if (element instanceof FileSetProperty)
  @@ -106,6 +122,10 @@
   	}
   
   	public boolean hasChildren(Object element) {
  +		if (element instanceof IProject)
  +		{
  +			return true;
  +		}
   		if (element instanceof IPackageFileSet)
   		{
   			return true;
  @@ -127,24 +147,35 @@
   	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
   		if (newInput == null) return;
   		
  -		IPackage packages[] = (IPackage[]) newInput;
  +		IProject projects[] = new IProject[0];
  +		if (newInput instanceof IPackage[])
  +		{
  +			IPackage[] packages = (IPackage[]) newInput;
  +			if (packages.length > 0)
  +				projects = new IProject[] { packages[0].getProject() };
  +		} else {
  +			projects = (IProject[]) newInput;
  +		}
   		
  -		if (oldInput != newInput && packages.length > 0)
  +		if (oldInput != newInput)
   		{
  -			final IProject project = (IProject) packages[0].getProject();
   			filesetProperties.clear();
  +			for (int i = 0; i < projects.length; i++)
  +			{
  +				final IProject currentProject = projects[i];
   			
  -			PackagesCore.visitProjectPackages(project, new IPackageNodeVisitor() {
  +				PackagesCore.visitProjectPackages(currentProject, new IPackageNodeVisitor() {
   				public boolean visit(IPackageNode node) {
   					if (node.getNodeType() == IPackageNode.TYPE_PACKAGE_FILESET)
   					{
   						IPackageFileSet fileset = (IPackageFileSet) node;
  -						addFilesetProperties(project, fileset);
  +							addFilesetProperties(currentProject, fileset);
   					}
   					return true;
   				}
   			});
   		}
   	}
  +	}
   
   }
  
  
  



More information about the jboss-cvs-commits mailing list