rendered paste bodypackage 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) {
}
}