package com.sap.furcas.ide.editor;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.jface.viewers.Viewer;
import com.sap.furcas.metamodel.FURCAS.textblocks.DocumentNode;
import com.sap.furcas.metamodel.FURCAS.textblocks.TextBlock;
import com.sap.furcas.runtime.textblocks.TbNavigationUtil;
public class TextBlocksContentProvider implements ITreeContentProvider {
@Override
public Object[] getChildren(Object parentElement) {
if (parentElement instanceof TextBlock) {
return TbNavigationUtil.getSubNodes((TextBlock) parentElement)
.toArray();
} else {
return new Object[0];
}
}
@Override
public Object getParent(Object element) {
if (element instanceof DocumentNode) {
return ((DocumentNode) element).getParent();
} else {
return null;
}
}
@Override
public boolean hasChildren(Object element) {
if (element instanceof TextBlock) {
return TbNavigationUtil.getSubNodesSize((TextBlock) element) > 0;
} else {
return false;
}
}
@Override
public Object[] getElements(Object inputElement) {
//this is always the root block
if (inputElement instanceof TextBlock) {
return TbNavigationUtil.getSubNodes((TextBlock) inputElement)
.toArray();
} else {
return new Object[0];
}
}
@Override
public void dispose() {
}
@Override
public void inputChanged(Viewer viewer, Object oldInput, Object newInput) {
}
}