/**
* @version $Id: NavigatorContentProvider.java 1839 2014-04-16 02:33:51Z yukihiro-kinjyo $
*
* 2011/08/03 11:52:26
* @author kousuke-morishima
*
* Copyright 2011-2014 TIDAコンソーシアム All Rights Reserved.
*/
package com.tida_okinawa.corona.ui.views;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.resources.IWorkspaceRoot;
import org.eclipse.jface.viewers.Viewer;
import com.tida_okinawa.corona.internal.ui.views.model.impl.CoronaModel;
/**
* @author kousuke-morishima
*/
public class NavigatorContentProvider extends CoronaElementContentProvider {
@Override
public Object[] getElements(Object input) {
if (input instanceof IWorkspaceRoot) {
IProject[] projects = ((IWorkspaceRoot) input).getProjects();
for (IProject project : projects) {
CoronaModel.INSTANCE.adapter(project, true);
}
return projects;
} else if (input instanceof IProject) {
return super.getElements(CoronaModel.INSTANCE.adapter((IProject) input, false));
}
return super.getElements(input);
}
@Override
public Object[] getChildren(Object parent) {
if (parent instanceof IProject) {
if (((IProject) parent).isOpen()) {
return super.getChildren(CoronaModel.INSTANCE.adapter((IProject) parent, false));
}
return new Object[0];
}
return super.getChildren(parent);
}
@Override
public Object getParent(Object element) {
return super.getParent(element);
}
@Override
public boolean hasChildren(Object element) {
if (element instanceof IProject) {
if (((IProject) element).isOpen()) {
if (CoronaModel.INSTANCE.isCoronaProject((IProject) element)) {
return true;
}
} else {
return false;
}
}
return super.hasChildren(element);
}
@Override
public void dispose() {
}
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
}