| /** |
| * Copyright (c) 2011, 2016 - Loetz GmbH&Co.KG (69115 Heidelberg, Germany) |
| * |
| * All rights reserved. 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 |
| * https://www.eclipse.org/legal/epl-2.0/ |
| * |
| * SPDX-License-Identifier: EPL-2.0 |
| * |
| * Contributors: |
| * Christophe Loetz (Loetz GmbH&Co.KG) - initial implementation |
| * |
| * |
| * This copyright notice shows up in the generated Java code |
| */ |
| package org.eclipse.osbp.xtext.reportdsl.ui.contentassist; |
| |
| import com.google.common.base.Objects; |
| import com.google.inject.Inject; |
| import java.util.Collection; |
| import org.eclipse.emf.common.util.EList; |
| import org.eclipse.emf.ecore.EClassifier; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.jface.text.contentassist.ICompletionProposal; |
| import org.eclipse.jface.viewers.StyledString; |
| import org.eclipse.osbp.preferences.PersistenceUnitConfiguration; |
| import org.eclipse.osbp.preferences.ProductConfiguration; |
| import org.eclipse.osbp.preferences.ProductConfigurationPrefs; |
| import org.eclipse.osbp.xtext.basic.ui.contentassist.BasicDSLProposalProviderHelper; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartAttribute; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartEntity; |
| import org.eclipse.osbp.xtext.datamartdsl.DatamartNavigation; |
| import org.eclipse.osbp.xtext.reportdsl.AutoText; |
| import org.eclipse.osbp.xtext.reportdsl.BinaryAggregationTypeEnum; |
| import org.eclipse.osbp.xtext.reportdsl.DatamartTable; |
| import org.eclipse.osbp.xtext.reportdsl.DatamartTableAttribute; |
| import org.eclipse.osbp.xtext.reportdsl.DatamartTableDetail; |
| import org.eclipse.osbp.xtext.reportdsl.DatamartTableFooter; |
| import org.eclipse.osbp.xtext.reportdsl.DatamartTableGroup; |
| import org.eclipse.osbp.xtext.reportdsl.DatamartTableHeader; |
| import org.eclipse.osbp.xtext.reportdsl.Grid; |
| import org.eclipse.osbp.xtext.reportdsl.Image; |
| import org.eclipse.osbp.xtext.reportdsl.MultipleAggregationTypeEnum; |
| import org.eclipse.osbp.xtext.reportdsl.PageDetail; |
| import org.eclipse.osbp.xtext.reportdsl.PageTemplate; |
| import org.eclipse.osbp.xtext.reportdsl.StringBinder; |
| import org.eclipse.osbp.xtext.reportdsl.Style; |
| import org.eclipse.osbp.xtext.reportdsl.SubSubTitle; |
| import org.eclipse.osbp.xtext.reportdsl.SubTitle; |
| import org.eclipse.osbp.xtext.reportdsl.TableAggregation; |
| import org.eclipse.osbp.xtext.reportdsl.TableAttribute; |
| import org.eclipse.osbp.xtext.reportdsl.TableBinaryAggregation; |
| import org.eclipse.osbp.xtext.reportdsl.TableMultipleAggregation; |
| import org.eclipse.osbp.xtext.reportdsl.TableUnaryAggregation; |
| import org.eclipse.osbp.xtext.reportdsl.Text; |
| import org.eclipse.osbp.xtext.reportdsl.Title; |
| import org.eclipse.osbp.xtext.reportdsl.UnaryAggregationTypeEnum; |
| import org.eclipse.osbp.xtext.reportdsl.ui.ReportDSLUiDocumentationTranslator; |
| import org.eclipse.osbp.xtext.reportdsl.ui.contentassist.AbstractReportDSLProposalProvider; |
| import org.eclipse.osbp.xtext.reportdsl.ui.contentassist.ColorTextApplier; |
| import org.eclipse.osbp.xtext.reportdsl.ui.contentassist.FileNameTextApplier; |
| import org.eclipse.osbp.xtext.reportdsl.ui.contentassist.IconNameTextApplier; |
| import org.eclipse.xtext.AbstractElement; |
| import org.eclipse.xtext.Assignment; |
| import org.eclipse.xtext.EnumLiteralDeclaration; |
| import org.eclipse.xtext.Keyword; |
| import org.eclipse.xtext.ParserRule; |
| import org.eclipse.xtext.RuleCall; |
| import org.eclipse.xtext.TypeRef; |
| import org.eclipse.xtext.common.ui.contentassist.TerminalsProposalProvider; |
| import org.eclipse.xtext.ui.editor.contentassist.ConfigurableCompletionProposal; |
| import org.eclipse.xtext.ui.editor.contentassist.ContentAssistContext; |
| import org.eclipse.xtext.ui.editor.contentassist.ICompletionProposalAcceptor; |
| |
| /** |
| * see http://www.eclipse.org/Xtext/documentation.html#contentAssist on how to customize content assistant |
| */ |
| @SuppressWarnings("all") |
| public class ReportDSLProposalProvider extends AbstractReportDSLProposalProvider { |
| @Inject |
| private TerminalsProposalProvider provider; |
| |
| @Inject |
| private BasicDSLProposalProviderHelper providerHelper; |
| |
| private ICompletionProposal proposal; |
| |
| public void iconPickerProposal(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor, final String fileExtensions) { |
| ICompletionProposal _createCompletionProposal = this.createCompletionProposal("Select icon...", context); |
| ConfigurableCompletionProposal fileName = ((ConfigurableCompletionProposal) _createCompletionProposal); |
| boolean _notEquals = (!Objects.equal(fileName, null)); |
| if (_notEquals) { |
| IconNameTextApplier applier = new IconNameTextApplier(); |
| applier.setExtensions(fileExtensions.split(",")); |
| applier.setContext(context); |
| fileName.setTextApplier(applier); |
| } |
| acceptor.accept(fileName); |
| } |
| |
| @Override |
| public void completeTableTrend_Icon(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.iconPickerProposal(model, assignment, context, acceptor, ".png"); |
| } |
| |
| @Override |
| public void completeTableIcon_Icon(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.iconPickerProposal(model, assignment, context, acceptor, ".png"); |
| } |
| |
| @Override |
| public void completeKeyword(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| boolean _allowedKeyword = this.allowedKeyword(keyword, contentAssistContext, acceptor); |
| if (_allowedKeyword) { |
| super.completeKeyword(keyword, contentAssistContext, acceptor); |
| } |
| } |
| |
| private boolean allowedKeyword(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| if ((this.isInPageTemplate(contentAssistContext) && this.isAPageTemplateNotAllowedTableRule(keyword, contentAssistContext, acceptor))) { |
| return false; |
| } |
| if (((!this.isPageDetail(contentAssistContext)) && this.isAHeaderFooterNotAllowedTableRule(keyword, contentAssistContext, acceptor))) { |
| return false; |
| } |
| if ((this.isTableHeader(contentAssistContext) && this.isAHeaderNotAllowedTableRule(keyword, contentAssistContext, acceptor))) { |
| return false; |
| } |
| if ((this.isTableGroupHeader(contentAssistContext) && this.isAHeaderFooterNotAllowedTableRule(keyword, contentAssistContext, acceptor))) { |
| return false; |
| } |
| boolean _isDatamartTableGroupNotAllowed = this.isDatamartTableGroupNotAllowed(keyword, contentAssistContext, acceptor); |
| if (_isDatamartTableGroupNotAllowed) { |
| return false; |
| } |
| return true; |
| } |
| |
| private boolean isAPageTemplateNotAllowedTableRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return (((((((this.isDatamartTableRule(keyword, contentAssistContext, acceptor) || this.isDatamartTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isDatamartTableGroupRule(keyword, contentAssistContext, acceptor)) || this.isTableAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableUnaryAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableMultipleAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableBinaryAggregationRule(keyword, contentAssistContext, acceptor)); |
| } |
| |
| private boolean isAHeaderNotAllowedTableRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return (((((((((((this.isDatamartTableRule(keyword, contentAssistContext, acceptor) || this.isDatamartTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isDatamartTableGroupRule(keyword, contentAssistContext, acceptor)) || this.isImageAttributeRule(keyword, contentAssistContext, acceptor)) || this.isTableAggregationRule(keyword, contentAssistContext, acceptor)) || this.isStringBinderRule(keyword, contentAssistContext, acceptor)) || this.isTitleBinderRule(keyword, contentAssistContext, acceptor)) || this.isSubTitleBinderRule(keyword, contentAssistContext, acceptor)) || this.isSubSubTitleBinderRule(keyword, contentAssistContext, acceptor)) || this.isTextRule(keyword, contentAssistContext, acceptor)) || this.isAutoTextRule(keyword, contentAssistContext, acceptor)); |
| } |
| |
| private boolean isAHeaderFooterNotAllowedTableRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return (((((this.isDatamartTableRule(keyword, contentAssistContext, acceptor) || this.isDatamartTableAttributeRule(keyword, contentAssistContext, acceptor)) || this.isDatamartTableGroupRule(keyword, contentAssistContext, acceptor)) || this.isTableUnaryAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableMultipleAggregationRule(keyword, contentAssistContext, acceptor)) || this.isTableBinaryAggregationRule(keyword, contentAssistContext, acceptor)); |
| } |
| |
| private boolean isDatamartTableGroupNotAllowed(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| EObject _currentModel = contentAssistContext.getCurrentModel(); |
| if ((_currentModel instanceof TableAggregation)) { |
| EObject _currentModel_1 = contentAssistContext.getCurrentModel(); |
| TableAggregation aggregation = ((TableAggregation) _currentModel_1); |
| EObject eObj = aggregation.eContainer(); |
| while (((eObj != null) && ((!(eObj instanceof DatamartTable)) && (!(eObj instanceof Grid))))) { |
| eObj = eObj.eContainer(); |
| } |
| if ((eObj instanceof Grid)) { |
| return true; |
| } |
| } |
| return false; |
| } |
| |
| private boolean isDatamartTableRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTable.class); |
| } |
| |
| private boolean isDatamartTableHeaderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableHeader.class); |
| } |
| |
| private boolean isDatamartTableFooterRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableHeader.class); |
| } |
| |
| private boolean isDatamartTableAttributeRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableAttribute.class); |
| } |
| |
| private boolean isTableAttributeRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, TableAttribute.class); |
| } |
| |
| private boolean isDatamartTableGroupRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, DatamartTableGroup.class); |
| } |
| |
| private boolean isImageAttributeRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, Image.class); |
| } |
| |
| private boolean isTableUnaryAggregationRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return (this.isFromRuleClass(keyword, contentAssistContext, acceptor, UnaryAggregationTypeEnum.class) || this.isFromRuleClass(keyword, contentAssistContext, acceptor, TableUnaryAggregation.class)); |
| } |
| |
| private boolean isTableMultipleAggregationRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return (this.isFromRuleClass(keyword, contentAssistContext, acceptor, MultipleAggregationTypeEnum.class) || this.isFromRuleClass(keyword, contentAssistContext, acceptor, TableMultipleAggregation.class)); |
| } |
| |
| private boolean isTableBinaryAggregationRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return (this.isFromRuleClass(keyword, contentAssistContext, acceptor, BinaryAggregationTypeEnum.class) || this.isFromRuleClass(keyword, contentAssistContext, acceptor, TableBinaryAggregation.class)); |
| } |
| |
| private boolean isTableAggregationRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, TableAggregation.class); |
| } |
| |
| private boolean isStringBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, StringBinder.class); |
| } |
| |
| private boolean isTitleBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, Title.class); |
| } |
| |
| private boolean isSubTitleBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, SubTitle.class); |
| } |
| |
| private boolean isSubSubTitleBinderRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, SubSubTitle.class); |
| } |
| |
| private boolean isTextRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, Text.class); |
| } |
| |
| private boolean isAutoTextRule(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor) { |
| return this.isFromRuleClass(keyword, contentAssistContext, acceptor, AutoText.class); |
| } |
| |
| private boolean isFromRuleClass(final Keyword keyword, final ContentAssistContext contentAssistContext, final ICompletionProposalAcceptor acceptor, final Class ruleClass) { |
| if ((keyword instanceof Keyword)) { |
| String ruleClassName = ruleClass.getCanonicalName(); |
| EObject eObj = keyword.eContainer(); |
| while (((eObj != null) && (!((eObj instanceof ParserRule) || (eObj instanceof EnumLiteralDeclaration))))) { |
| eObj = eObj.eContainer(); |
| } |
| if ((eObj instanceof ParserRule)) { |
| ParserRule parserRule = ((ParserRule) eObj); |
| TypeRef type = parserRule.getType(); |
| EClassifier classifier = type.getClassifier(); |
| Class<?> instanceClass = classifier.getInstanceClass(); |
| return instanceClass.getCanonicalName().equals(ruleClassName); |
| } else { |
| if ((eObj instanceof EnumLiteralDeclaration)) { |
| EnumLiteralDeclaration enumLiteralDeclaration = ((EnumLiteralDeclaration) eObj); |
| String enumClassName = enumLiteralDeclaration.getEnumLiteral().getInstance().getClass().getCanonicalName(); |
| return enumClassName.equals(ruleClassName); |
| } |
| } |
| } |
| return false; |
| } |
| |
| private boolean isInPageTemplate(final ContentAssistContext context) { |
| EObject eObj = context.getCurrentModel(); |
| while (((eObj != null) && (!(eObj instanceof PageTemplate)))) { |
| eObj = eObj.eContainer(); |
| } |
| if ((eObj instanceof PageTemplate)) { |
| return true; |
| } |
| return false; |
| } |
| |
| private boolean isPageDetail(final ContentAssistContext context) { |
| EObject eObj = context.getCurrentModel(); |
| while (((eObj != null) && (!(eObj instanceof PageDetail)))) { |
| eObj = eObj.eContainer(); |
| } |
| if ((eObj instanceof PageDetail)) { |
| return true; |
| } |
| return false; |
| } |
| |
| private boolean isTableHeader(final ContentAssistContext context) { |
| EObject eObj = context.getCurrentModel(); |
| while (((eObj != null) && (!(eObj instanceof DatamartTableHeader)))) { |
| eObj = eObj.eContainer(); |
| } |
| if ((eObj instanceof DatamartTableHeader)) { |
| EObject _eContainer = ((DatamartTableHeader)eObj).eContainer(); |
| return (_eContainer instanceof DatamartTable); |
| } |
| return false; |
| } |
| |
| private boolean isTableGroupHeader(final ContentAssistContext context) { |
| EObject eObj = context.getCurrentModel(); |
| while (((eObj != null) && (!(eObj instanceof DatamartTableHeader)))) { |
| eObj = eObj.eContainer(); |
| } |
| if ((eObj instanceof DatamartTableHeader)) { |
| EObject _eContainer = ((DatamartTableHeader)eObj).eContainer(); |
| return (_eContainer instanceof DatamartTableGroup); |
| } |
| return false; |
| } |
| |
| private boolean isDatamartTable(final ContentAssistContext context) { |
| EObject eObj = context.getCurrentModel(); |
| if ((eObj instanceof DatamartTable)) { |
| return true; |
| } |
| return false; |
| } |
| |
| private boolean isDatamartTableHeader(final ContentAssistContext context) { |
| EObject eObj = context.getCurrentModel(); |
| if ((eObj instanceof DatamartTableHeader)) { |
| return true; |
| } |
| return false; |
| } |
| |
| private boolean isDatamartTableFooter(final ContentAssistContext context) { |
| EObject eObj = context.getCurrentModel(); |
| if ((eObj instanceof DatamartTableFooter)) { |
| return true; |
| } |
| return false; |
| } |
| |
| @Override |
| public void completeColor_Color(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| ICompletionProposal _createCompletionProposal = this.createCompletionProposal("Select color...", context); |
| ConfigurableCompletionProposal color = ((ConfigurableCompletionProposal) _createCompletionProposal); |
| if ((color != null)) { |
| ColorTextApplier applier = new ColorTextApplier(); |
| applier.setContext(context); |
| color.setTextApplier(applier); |
| } |
| acceptor.accept(color); |
| } |
| |
| @Override |
| public void completeImage_Filename(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completePersistenceUnit_Name(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| ProductConfigurationPrefs pref = ProductConfiguration.prefs(); |
| Collection<PersistenceUnitConfiguration> _persistenceUnits = pref.getPersistenceUnits(); |
| for (final PersistenceUnitConfiguration persistenceUnit : _persistenceUnits) { |
| { |
| String _name = persistenceUnit.getName(); |
| String _plus = ("\"" + _name); |
| String _plus_1 = (_plus + "\""); |
| ICompletionProposal proposal = this.createCompletionProposal(_plus_1, context); |
| acceptor.accept(proposal); |
| } |
| } |
| } |
| |
| /** |
| * This override will enable 1 length non letter characters as keyword. |
| */ |
| @Override |
| protected boolean isKeywordWorthyToPropose(final Keyword keyword) { |
| return true; |
| } |
| |
| public DatamartTable getContainingDatamartTable(final EObject o) { |
| EObject result = o; |
| while (((!(result instanceof DatamartTable)) && (result.eContainer() != null))) { |
| result = result.eContainer(); |
| } |
| return ((DatamartTable) result); |
| } |
| |
| @Override |
| protected boolean isValidProposal(final String proposal, final String prefix, final ContentAssistContext context) { |
| boolean _isValidProposal = super.isValidProposal(proposal, prefix, context); |
| boolean _not = (!_isValidProposal); |
| if (_not) { |
| return false; |
| } else { |
| boolean _equals = "on-group".equals(proposal); |
| if (_equals) { |
| boolean _isInPageTemplate = this.isInPageTemplate(context); |
| return (!_isInPageTemplate); |
| } else { |
| EObject _currentModel = null; |
| if (context!=null) { |
| _currentModel=context.getCurrentModel(); |
| } |
| if ((_currentModel instanceof DatamartTableAttribute)) { |
| EObject _currentModel_1 = null; |
| if (context!=null) { |
| _currentModel_1=context.getCurrentModel(); |
| } |
| EObject eObject = _currentModel_1.eContainer(); |
| while (((eObject != null) && (!(eObject instanceof DatamartTableDetail)))) { |
| eObject = eObject.eContainer(); |
| } |
| boolean _and = false; |
| if (!(eObject instanceof DatamartTableDetail)) { |
| _and = false; |
| } else { |
| Style _style = null; |
| if (((DatamartTableDetail) eObject)!=null) { |
| _style=((DatamartTableDetail) eObject).getStyle(); |
| } |
| boolean _tripleNotEquals = (_style != null); |
| _and = _tripleNotEquals; |
| } |
| if (_and) { |
| boolean _equals_1 = proposal.equals(((DatamartTableDetail) eObject).getStyle().getName()); |
| return (!_equals_1); |
| } |
| return true; |
| } else { |
| return true; |
| } |
| } |
| } |
| } |
| |
| protected boolean datamartEntityContainsProperty(final DatamartEntity entity, final String proposal) { |
| EList<DatamartNavigation> _navigations = entity.getNavigations(); |
| for (final DatamartNavigation navigation : _navigations) { |
| boolean _datamartEntityContainsProperty = this.datamartEntityContainsProperty(navigation.getDatamartEntity(), proposal); |
| if (_datamartEntityContainsProperty) { |
| return true; |
| } |
| } |
| EList<DatamartAttribute> _attributes = entity.getAttributes(); |
| for (final DatamartAttribute property : _attributes) { |
| } |
| return false; |
| } |
| |
| public void filePickerProposal(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor, final String fileExtensions) { |
| ICompletionProposal _createCompletionProposal = this.createCompletionProposal("Select input file...", context); |
| ConfigurableCompletionProposal fileName = ((ConfigurableCompletionProposal) _createCompletionProposal); |
| if ((fileName != null)) { |
| FileNameTextApplier applier = new FileNameTextApplier(); |
| applier.setExtensions(fileExtensions.split(",")); |
| applier.setContext(context); |
| fileName.setTextApplier(applier); |
| } |
| acceptor.accept(fileName); |
| } |
| |
| /** |
| * @see BasicDSLProposalProviderHelper#getKeywordDisplayString(Keyword, BasicDSLUiTranslator) |
| * @param keyword the keyword to get the displayed string for |
| * @return the displayed string |
| */ |
| @Override |
| protected StyledString getKeywordDisplayString(final Keyword keyword) { |
| return BasicDSLProposalProviderHelper.getKeywordDisplayString(keyword, |
| ReportDSLUiDocumentationTranslator.instance()); |
| } |
| |
| @Override |
| public void complete_QualifiedName(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.providerHelper.complete_PackageName(model, ruleCall, context, acceptor, this); |
| } |
| |
| @Override |
| public void complete_UnsignedNumber(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.providerHelper.createNumberProposal(context, acceptor, ruleCall, this); |
| } |
| |
| @Override |
| public void complete_SignedNumber(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.providerHelper.createNumberProposal(context, acceptor, ruleCall, this); |
| } |
| |
| @Override |
| public void complete_INT(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.provider.complete_INT(model, ruleCall, context, acceptor); |
| } |
| |
| @Override |
| public void complete_ID(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.provider.complete_ID(model, ruleCall, context, acceptor); |
| } |
| |
| @Override |
| public void complete_TRANSLATABLESTRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.provider.complete_STRING(model, ruleCall, context, acceptor); |
| } |
| |
| @Override |
| public void complete_STRING(final EObject model, final RuleCall ruleCall, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| this.provider.complete_STRING(model, ruleCall, context, acceptor); |
| } |
| |
| @Override |
| public void completeTableStringLookup_LookupValue(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeReportPackage_ExternalCssURI(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeReportPackage_ExternalCssURIBundle(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeReport_ExternalCssURI(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeReport_ExternalCssURIBundle(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeFont_Family(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeUomoFormat_Ui_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeNumberFormat_Ui_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeCurrencyFormat_Ui_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeDateFormat_Ui_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeDateTimeFormat_Ui_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeTimeFormat_Ui_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeUomoFormat_Report_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeNumberFormat_Report_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeCurrencyFormat_Report_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeDateFormat_Report_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeDateTimeFormat_Report_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeTimeFormat_Report_pattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeReportDesignFile_Name(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeTableFormatter_Format(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeTableImage_ImagePathPattern(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| |
| @Override |
| public void completeTableImage_ResizeString(final EObject model, final Assignment assignment, final ContentAssistContext context, final ICompletionProposalAcceptor acceptor) { |
| AbstractElement _terminal = assignment.getTerminal(); |
| this.provider.complete_STRING(model, ((RuleCall) _terminal), context, acceptor); |
| } |
| } |