use of org.eclipse.xtext.ui.editor.outline.impl.EObjectNode in project xtext-xtend by eclipse.
the class XtendOutlineJvmTreeProvider method buildXtendNode.
@Override
public IXtendOutlineContext buildXtendNode(EObject modelElement, IXtendOutlineContext context) {
IXtendOutlineContext resultedContext = super.buildXtendNode(modelElement, context);
if (!context.isShowInherited()) {
EclipseXtendOutlineContext eclipseXtendOutlineContext = (EclipseXtendOutlineContext) context;
IOutlineNode parentNode = eclipseXtendOutlineContext.getParentNode();
if (parentNode instanceof DocumentRootNode) {
if (modelElement instanceof JvmDeclaredType) {
JvmDeclaredType jvmDeclaredType = (JvmDeclaredType) modelElement;
String packageName = jvmDeclaredType.getPackageName();
if (packageName != null) {
EObject rootElement = modelElement.eResource().getContents().get(0);
if (rootElement instanceof XtendFile) {
XtendFile xtendFile = (XtendFile) rootElement;
String primaryPackage = xtendFile.getPackage();
if (!packageName.equals(primaryPackage)) {
EObjectNode typeNode = (EObjectNode) ((EclipseXtendOutlineContext) resultedContext).getParentNode();
if (typeNode.getText() instanceof StyledString) {
typeNode.setText(((StyledString) typeNode.getText()).append(new StyledString(" - " + packageName, StyledString.QUALIFIER_STYLER)));
}
}
}
}
}
}
}
return resultedContext;
}
use of org.eclipse.xtext.ui.editor.outline.impl.EObjectNode in project xtext-xtend by eclipse.
the class AbstractMultiModeOutlineTreeProvider method buildEObjectNode.
@Override
public IXtendOutlineContext buildEObjectNode(EObject modelElement, IXtendOutlineContext context) {
EclipseXtendOutlineContext eclipseXtendOutlineContext = (EclipseXtendOutlineContext) context;
IOutlineNode parentNode = eclipseXtendOutlineContext.getParentNode();
EObjectNode node = createNode(parentNode, modelElement);
return eclipseXtendOutlineContext.withParentNode(node);
}
use of org.eclipse.xtext.ui.editor.outline.impl.EObjectNode in project xtext-xtend by eclipse.
the class AbstractMultiModeOutlineTreeProvider method buildXtendNode.
@Override
public IXtendOutlineContext buildXtendNode(EObject modelElement, IXtendOutlineContext context) {
EclipseXtendOutlineContext eclipseXtendOutlineContext = (EclipseXtendOutlineContext) context;
IOutlineNode parentNode = eclipseXtendOutlineContext.getParentNode();
int inheritanceDepth = eclipseXtendOutlineContext.getInheritanceDepth();
EObjectNode xtendNode = createXtendNode(parentNode, modelElement, inheritanceDepth);
return eclipseXtendOutlineContext.withParentNode(xtendNode);
}
use of org.eclipse.xtext.ui.editor.outline.impl.EObjectNode in project xtext-eclipse by eclipse.
the class OutlineNodeComparerTest method testPropertyEquality.
@Test
public void testPropertyEquality() {
EObjectNode node = new EObjectNode(eObject, null, image, new StyledString("Node"), false);
assertFalse(comparer.equals(node, new DocumentRootNode(image, new StyledString("Node"), null, null)));
assertTrue(comparer.equals(node, new EObjectNode(OutlineTestFactory.eINSTANCE.createElement(), null, image, new StyledString("Node"), false)));
assertFalse(comparer.equals(node, new EObjectNode(eObject, node, image, new StyledString("Node"), false)));
assertFalse(comparer.equals(node, new EObjectNode(eObject, null, image2, new StyledString("Node"), false)));
assertFalse(comparer.equals(node, new EObjectNode(eObject, null, image, new StyledString("Node2"), false)));
assertTrue(comparer.equals(node, new EObjectNode(eObject, null, image, "Node", false)));
}
use of org.eclipse.xtext.ui.editor.outline.impl.EObjectNode in project xtext-eclipse by eclipse.
the class OutlineNodeComparerTest method testEquivalentIndex.
@SuppressWarnings("unused")
@Test
public void testEquivalentIndex() throws Exception {
DocumentRootNode rootNode = new DocumentRootNode(image, "Root", null, null);
EObjectNode node = new EObjectNode(eObject, rootNode, image, "Node", false);
DocumentRootNode rootNode2 = new DocumentRootNode(image, "Root", null, null);
EObjectNode node2 = new EObjectNode(eObject, rootNode2, image, "Node", false);
assertTrue(comparer.equals(node, node2));
EObjectNode node3 = new EObjectNode(eObject, rootNode2, image, "OtherNode", false);
assertTrue(comparer.equals(node, node2));
DocumentRootNode rootNode3 = new DocumentRootNode(image, "Root", null, null);
EObjectNode node4 = new EObjectNode(eObject, rootNode3, image, "OtherNode", false);
EObjectNode node5 = new EObjectNode(eObject, rootNode3, image, "Node", false);
assertTrue(comparer.equals(node, node5));
EObjectNode node6 = new EObjectNode(eObject, rootNode3, image, "OtherNode", false);
assertFalse(comparer.equals(node, node5));
}
Aggregations