Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/outline/OutlineContentProvider.java')
-rw-r--r--plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/outline/OutlineContentProvider.java35
1 files changed, 24 insertions, 11 deletions
diff --git a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/outline/OutlineContentProvider.java b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/outline/OutlineContentProvider.java
index 1c9ccab90d..b22a75cb64 100644
--- a/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/outline/OutlineContentProvider.java
+++ b/plugins/org.eclipse.sirius.diagram.ui/src-diag/org/eclipse/sirius/diagram/ui/tools/internal/views/providers/outline/OutlineContentProvider.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2010 THALES GLOBAL SERVICES.
+ * Copyright (c) 2007, 2021 THALES GLOBAL SERVICES.
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
* which accompanies this distribution, and is available at
@@ -42,6 +42,8 @@ import org.eclipse.sirius.diagram.business.api.query.DDiagramElementQuery;
import org.eclipse.sirius.diagram.business.internal.metamodel.helper.LayerHelper;
import org.eclipse.sirius.diagram.provider.DiagramItemProviderAdapterFactory;
import org.eclipse.sirius.diagram.ui.business.api.provider.AbstractDDiagramElementLabelItemProvider;
+import org.eclipse.sirius.diagram.ui.business.api.provider.DEdgeBeginLabelItemProvider;
+import org.eclipse.sirius.diagram.ui.business.api.provider.DEdgeEndLabelItemProvider;
import org.eclipse.sirius.diagram.ui.business.api.provider.DEdgeLabelItemProvider;
import org.eclipse.sirius.diagram.ui.business.api.provider.DNodeLabelItemProvider;
import org.eclipse.sirius.diagram.ui.tools.internal.editor.DiagramOutlinePageListener;
@@ -129,6 +131,7 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
*
* @see org.eclipse.jface.viewers.ITreeContentProvider#getParent(java.lang.Object)
*/
+ @Override
public Object getParent(final Object element) {
Object theParent = null;
@@ -157,6 +160,11 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
theParent = parent;
}
}
+ else if (element instanceof AbstractDDiagramElementLabelItemProvider) {
+
+ AbstractDDiagramElementLabelItemProvider theElement = (AbstractDDiagramElementLabelItemProvider) element;
+ theParent = theElement.getTarget();
+ }
return theParent;
}
@@ -166,6 +174,7 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
*
* @see org.eclipse.jface.viewers.ITreeContentProvider#getChildren(java.lang.Object)
*/
+ @Override
public Object[] getChildren(final Object parentElement) {
Object[] children = null;
@@ -191,17 +200,15 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
List<Object> originalChildren = new ArrayList<Object>();
// if the current node should have a DEdgeLabelItem has children
+ if (DEdgeBeginLabelItemProvider.hasRelevantLabelItem(dEdge)) {
+ originalChildren.add(0, new DEdgeBeginLabelItemProvider(getAdapterFactory(), dEdge));
+ }
if (DEdgeLabelItemProvider.hasRelevantLabelItem(dEdge)) {
originalChildren.add(0, new DEdgeLabelItemProvider(getAdapterFactory(), dEdge));
}
- // if (DEdgeBeginLabelItemProvider.hasRelevantLabelItem(dEdge)) {
- // originalChildren.add(0, new
- // DEdgeBeginLabelItemProvider(getAdapterFactory(), dEdge));
- // }
- // if (DEdgeEndLabelItemProvider.hasRelevantLabelItem(dEdge)) {
- // originalChildren.add(0, new
- // DEdgeEndLabelItemProvider(getAdapterFactory(), dEdge));
- // }
+ if (DEdgeEndLabelItemProvider.hasRelevantLabelItem(dEdge)) {
+ originalChildren.add(0, new DEdgeEndLabelItemProvider(getAdapterFactory(), dEdge));
+ }
children = clearFilteredElements(originalChildren, getDiagramContainer(dEdge)).toArray();
}
@@ -218,6 +225,7 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
*
* @see org.eclipse.jface.viewers.ITreeContentProvider#hasChildren(java.lang.Object)
*/
+ @Override
public boolean hasChildren(final Object element) {
boolean hasChildren = false;
@@ -234,6 +242,7 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
*
* @see org.eclipse.jface.viewers.IStructuredContentProvider#getElements(java.lang.Object)
*/
+ @Override
public Object[] getElements(final Object inputElement) {
// in case of diagram return the viewpoint
@@ -254,6 +263,7 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
*
* @see org.eclipse.jface.viewers.IContentProvider#dispose()
*/
+ @Override
public void dispose() {
// do nothing
}
@@ -261,9 +271,10 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
/**
* {@inheritDoc}
*
- * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer,
- * java.lang.Object, java.lang.Object)
+ * @see org.eclipse.jface.viewers.IContentProvider#inputChanged(org.eclipse.jface.viewers.Viewer, java.lang.Object,
+ * java.lang.Object)
*/
+ @Override
public void inputChanged(final Viewer viewer, final Object oldInput, final Object newInput) {
// Only remove listener of oldInput if old input is valid
if (oldInput != null && (!(oldInput instanceof EObject) || ((EObject) oldInput).eResource() != null)) {
@@ -303,6 +314,7 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
*
* @see org.eclipse.sirius.common.ui.tools.api.outline.DiagramOutlinePageListener#activate(int)
*/
+ @Override
public void activate(int page) {
this.outlineContentResourceSetListener.activate(page);
}
@@ -312,6 +324,7 @@ public class OutlineContentProvider implements ITreeContentProvider, DiagramOutl
*
* @see org.eclipse.sirius.common.ui.tools.api.outline.DiagramOutlinePageListener#deactivate(int)
*/
+ @Override
public void deactivate(int page) {
this.outlineContentResourceSetListener.deactivate(page);
}

Back to the top