All pastes #417364 Raw Edit

Mine

public text v1 · immutable
#417364 ·published 2007-03-30 20:58 UTC
rendered paste body
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.IPackage;
import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
import org.jboss.ide.eclipse.packages.core.model.PackagesCore;

public class PackagesContentProvider implements ITreeContentProvider {
	
	public PackagesContentProvider () {
	}
	
	private boolean showProjectRoot () {
		return true;
		//return PackagesUIPlugin.getDefault().getPluginPreferences().getBoolean(PackagesUIPlugin.PREF_SHOW_PROJECT_ROOT);
	}
		
	public Object[] getChildren(Object parentElement) {
		if( parentElement instanceof IProject) {
			IPackage[] packs =  PackagesCore.getProjectPackages((IProject)parentElement, null, false);
			return packs;
		}
		if( parentElement instanceof IPackageNode ) {
			return ((IPackageNode)parentElement).getAllChildren();
		}
		return new Object[0];
	}

	public Object getParent(Object element) {
		return null;
	}

	public boolean hasChildren(Object element) {
		return getChildren(element).length > 0;
	}

	public Object[] getElements(Object inputElement) {
		if( showProjectRoot())
			return new Object[]{inputElement};
		
		if( inputElement instanceof IProject ) {
			IProject tmp = (IProject)inputElement;
			return PackagesCore.getProjectPackages(tmp, null, false);
		}
		return new Object[]{};
	}

	public void dispose() {}

	public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
	}

}