[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
Fri Mar 2 20:28:46 EST 2007


  User: mculpepper
  Date: 07/03/02 20:28:46

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.ui/src/main/org/jboss/ide/eclipse/packages/ui/providers  
                        PackagesLabelProvider.java
                        PackagesContentProvider.java
  Log:
  node properties now show up in the properties view (we're effectively wrapping each node object, quite painful). the properties action in the node context menu shows the properties view
  
  Revision  Changes    Path
  1.8       +8 -7      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.7
  retrieving revision 1.8
  diff -u -b -r1.7 -r1.8
  --- PackagesLabelProvider.java	2 Mar 2007 21:58:16 -0000	1.7
  +++ PackagesLabelProvider.java	3 Mar 2007 01:28:46 -0000	1.8
  @@ -12,6 +12,7 @@
   import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
   import org.jboss.ide.eclipse.packages.ui.PackagesUIMessages;
   import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
  +import org.jboss.ide.eclipse.packages.ui.properties.NodeWithProperties;
   import org.jboss.ide.eclipse.packages.ui.providers.PackagesContentProvider.FileSetProperty;
   
   public class PackagesLabelProvider implements ILabelProvider {
  @@ -42,9 +43,9 @@
   		{
   			return PlatformUI.getWorkbench().getSharedImages().getImage(IDE.SharedImages.IMG_OBJ_PROJECT);
   		}
  -		else if (element instanceof IPackageNode)
  +		else if (element instanceof NodeWithProperties)
   		{
  -			IPackageNode node = (IPackageNode) element;
  +			IPackageNode node = ((NodeWithProperties) element).getNode();
   			switch (node.getNodeType())
   			{
   				case IPackageNode.TYPE_PACKAGE: {
  @@ -98,14 +99,14 @@
   		{
   			return ((PackagesContentProvider.ProjectWrapper)element).project.getName();
   		}
  -		else if (element instanceof IPackageNode)
  +		else if (element instanceof NodeWithProperties)
   		{
  -			IPackageNode node = (IPackageNode) element;
  +			IPackageNode node = ((NodeWithProperties) element).getNode();
   			switch (node.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);
  +				case IPackageNode.TYPE_PACKAGE: return getPackageText((IPackage)node);
  +				case IPackageNode.TYPE_PACKAGE_FOLDER: return getPackageFolderText((IPackageFolder)node);
  +				case IPackageNode.TYPE_PACKAGE_FILESET: return getPackageFileSetText((IPackageFileSet)node);
   			}
   		}
   		else if (element instanceof FileSetProperty)
  
  
  
  1.6       +43 -21    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.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- PackagesContentProvider.java	2 Mar 2007 21:58:16 -0000	1.5
  +++ PackagesContentProvider.java	3 Mar 2007 01:28:46 -0000	1.6
  @@ -13,7 +13,9 @@
   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.core.model.internal.PackageNodeImpl;
   import org.jboss.ide.eclipse.packages.ui.PackagesUIPlugin;
  +import org.jboss.ide.eclipse.packages.ui.properties.NodeWithProperties;
   
   public class PackagesContentProvider implements ITreeContentProvider {
   	
  @@ -94,29 +96,42 @@
   		filesetProperties.put(fileset, props);
   	}
   	
  +	private NodeWithProperties[] wrapNodes (IPackageNode[] nodes)
  +	{
  +		NodeWithProperties[] nodesWithProps = new NodeWithProperties[nodes.length];
  +		for (int i = 0; i < nodes.length; i++)
  +		{
  +			nodesWithProps[i] = new NodeWithProperties((PackageNodeImpl)nodes[i]);
  +		}
  +		return nodesWithProps;
  +	}
  +	
   	public Object[] getChildren(Object parentElement) {
   		if (parentElement instanceof ProjectWrapper)
   		{
  -			return PackagesCore.getProjectPackages(((ProjectWrapper)parentElement).project, null);
  +			return wrapNodes(PackagesCore.getProjectPackages(((ProjectWrapper)parentElement).project, null));
   		}
  -		else if (parentElement instanceof IPackageFileSet)
  +		else if (parentElement instanceof NodeWithProperties)
  +		{
  +			IPackageNode node = ((NodeWithProperties)parentElement).getNode();
  +			if (node.getNodeType() == IPackageNode.TYPE_PACKAGE_FILESET)
   		{
  -			IPackageFileSet fileset = (IPackageFileSet) parentElement;
  +				IPackageFileSet fileset = (IPackageFileSet) node;
   			ArrayList result = ((ArrayList)filesetProperties.get(fileset));
   			return result == null ? new Object[]{} : result.toArray();
   		}
  -		else if (parentElement instanceof IPackageNode)
  +			else
   		{
  -			IPackageNode node = (IPackageNode)parentElement;
  -			return node.getAllChildren();
  +				return wrapNodes(node.getAllChildren());
  +			}
   		}
   		else return new Object[0];
   	}
   
   	public Object getParent(Object element) {
  -		if (element instanceof IPackageNode)
  +		if (element instanceof NodeWithProperties)
   		{
  -			IPackageNode node = (IPackageNode) element;
  +			IPackageNode node = ((NodeWithProperties) element).getNode();
   			if (node.getNodeType() == IPackageNode.TYPE_PACKAGE)
   			{
   				if (((IPackage)node).isTopLevel() && showProjectRoot()) {
  @@ -137,14 +152,18 @@
   		{
   			return true;
   		}
  -		if (element instanceof IPackageFileSet)
  +		else if (element instanceof NodeWithProperties)
  +		{
  +			NodeWithProperties node = (NodeWithProperties)element;
  +			
  +			if (node.getNode().getNodeType() == IPackageNode.TYPE_PACKAGE_FILESET)
   		{
   			return true;
   		}
  -		else if (element instanceof IPackageNode)
  +			else
   		{
  -			IPackageNode node = (IPackageNode) element;
  -			return node.hasChildren();
  +				return node.getNode().hasChildren();
  +			}
   		}
   		return false;
   	}
  @@ -154,7 +173,7 @@
   		if (inputElement instanceof IProject[])
   		{
   			IProject[] projects = (IProject[]) inputElement;
  -			ProjectWrapper wrappers[] = new ProjectWrapper[projects.length];
  +			ProjectWrapper[] wrappers = new ProjectWrapper[projects.length];
   			for (int i = 0; i < projects.length; i++)
   			{
   				wrappers[i] = new ProjectWrapper();
  @@ -162,7 +181,10 @@
   			}
   			return wrappers;
   		}
  -		
  +		else if (inputElement instanceof IPackageNode[])
  +		{
  +			return wrapNodes((IPackageNode[])inputElement);
  +		}
   		return (Object[]) inputElement;
   	}
   
  
  
  



More information about the jboss-cvs-commits mailing list