diff options
Diffstat (limited to 'plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core')
2 files changed, 12 insertions, 3 deletions
diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/RoomUiModule.java b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/RoomUiModule.java index c7eb390ef..bd67c349d 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/RoomUiModule.java +++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/RoomUiModule.java @@ -16,6 +16,7 @@ package org.eclipse.etrice.core.ui; import org.eclipse.etrice.core.common.ui.autoedit.BaseAutoEditStrategyProvider; import org.eclipse.etrice.core.common.ui.editor.BaseDoubleClickStrategyProvider; +import org.eclipse.etrice.core.common.ui.editor.folding.FoldingRegionProvider; import org.eclipse.etrice.core.common.ui.editor.model.BaseTokenTypeToPartitionMapper; import org.eclipse.etrice.core.common.ui.hover.BaseHoverDocumentationProvider; import org.eclipse.etrice.core.common.ui.hover.IKeywordHoverContentProvider; @@ -34,6 +35,7 @@ import org.eclipse.ui.views.contentoutline.IContentOutlinePage; import org.eclipse.xtext.ide.editor.syntaxcoloring.ISemanticHighlightingCalculator; import org.eclipse.xtext.ui.editor.autoedit.AbstractEditStrategyProvider; import org.eclipse.xtext.ui.editor.doubleClicking.DoubleClickStrategyProvider; +import org.eclipse.xtext.ui.editor.folding.IFoldingRegionProvider; import org.eclipse.xtext.ui.editor.hover.IEObjectHover; import org.eclipse.xtext.ui.editor.hover.IEObjectHoverProvider; import org.eclipse.xtext.ui.editor.hover.html.IEObjectHoverDocumentationProvider; @@ -59,8 +61,6 @@ public class RoomUiModule extends org.eclipse.etrice.core.ui.AbstractRoomUiModul // keyword hover stuff binder.bind(IKeywordHoverContentProvider.class).to(KeywordHoverContentProvider.class); binder.bind(IEObjectHoverProvider.class).to(RoomHoverProvider.class); - - binder.bind(IEObjectHoverDocumentationProvider.class).to(BaseHoverDocumentationProvider.class); } @Override @@ -110,6 +110,14 @@ public class RoomUiModule extends org.eclipse.etrice.core.ui.AbstractRoomUiModul return BaseDoubleClickStrategyProvider.class; } + public Class<? extends IFoldingRegionProvider> bindIFoldingRegionProvider() { + return FoldingRegionProvider.class; + } + + public Class<? extends IEObjectHoverDocumentationProvider> bindIEObjectHoverDocumentationProvider() { + return BaseHoverDocumentationProvider.class; + } + @Override public Class<? extends org.eclipse.xtext.ui.editor.quickfix.IssueResolutionProvider> bindIssueResolutionProvider() { return RoomQuickFixProviderXtend.class; diff --git a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/hover/RoomEObjectHover.xtend b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/hover/RoomEObjectHover.xtend index 8043af85f..68570d762 100644 --- a/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/hover/RoomEObjectHover.xtend +++ b/plugins/org.eclipse.etrice.core.room.ui/src/org/eclipse/etrice/core/ui/hover/RoomEObjectHover.xtend @@ -32,11 +32,12 @@ class RoomEObjectHover extends KeywordEObjectTextHover { RoomGrammarAccess grammar override protected getXtextElementAt(XtextResource resource, int offset) { - // lookup expression + val parseResult = resource.parseResult if(parseResult !== null) { val leafNode = NodeModelUtils.findLeafNodeAtOffset(parseResult.rootNode, offset) if(leafNode?.grammarElement instanceof RuleCall) { + // lookup model element in DetailCode if((leafNode.grammarElement as RuleCall).rule == grammar.CC_STRINGRule && leafNode.semanticElement instanceof DetailCode){ val exprFeature = UIExpressionUtil.findAtOffset(leafNode, offset) if(exprFeature?.data instanceof EObject) |