[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