| /** |
| * Copyright (c) 2011, 2015 - Lunifera GmbH (Gross Enzersdorf), Loetz GmbH&Co.KG (Heidelberg) |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Florian Pirchner - Initial implementation |
| */ |
| |
| grammar org.eclipse.osbp.ecview.uisemantics.UISemanticsGrammar with org.eclipse.xtext.xbase.Xbase |
| |
| import "http://www.eclipse.org/emf/2002/Ecore" |
| import "http://www.eclipse.org/xtext/common/JavaVMTypes" |
| import "http://osbp.eclipse.org/ecview/dsl/uimodel/semantics" |
| |
| UxModel returns UxModel: |
| {UxModel} |
| importSection=XImportSection? |
| ('actions' '{' |
| viewActions+=UxAction* |
| '}')? |
| ('categories' '{' |
| categories+=UxViewCategory* |
| '}')? |
| elementDefinitions+=UxElementDefinition*; |
| |
| UxAction returns UxAction: |
| name=QualifiedName ('externalCommand' externalCommandId=STRING)? (initialDisabled?="disabled")?; |
| |
| UxViewCategory returns UxViewCategory: |
| name=QualifiedName; |
| |
| XImportDeclaration returns UxImportSectionDeclaration: |
| {UxImportSectionDeclaration} |
| ('import' ((static?='static' extension?='extension'? importedType=[JvmDeclaredType|QualifiedNameInStaticImport] |
| (wildcard?='*' | memberName=ValidID)) |
| | importedType=[JvmDeclaredType|QualifiedName] |
| | importedNamespace=QualifiedNameWithWildcard)) |
| | (("ePackage" importedEPackage=UxEPackageImport)) ';'?; |
| |
| UxEPackageImport returns UxEPackageImport: |
| ePackage=[EPackage|STRING] 'as' alias=ID; |
| |
| UxElementDefinition returns UxElementDefinition: |
| 'element' name=ID '{' |
| (uri=UxElementURI)? |
| ('bindings' '{' |
| bindingContainer=UxAvailableBindings |
| '}')? |
| ('visibility' '{' |
| visibilityContainer=UxAvailableVisibilityOptions |
| '}')? |
| ('validator' '{' |
| validatorContainer=UxAvailableValidatorProperties |
| '}')? |
| '}'; |
| |
| UxAvailableValidatorProperties returns UxAvailableValidatorProperties: |
| {UxAvailableValidatorProperties} |
| properties+=UxValidatorProperty*; |
| |
| UxValidatorProperty returns UxValidatorProperty: |
| 'property' name=ID; |
| |
| UxElementURI returns UxElementURI: |
| 'uri' ePackage=[UxEPackageImport] ":" eClass=[EClass]; |
| |
| UxAvailableBindings returns UxAvailableBindings: |
| {UxAvailableBindings} |
| ('extends' superElement=[UxElementDefinition])? |
| bindings+=UxBindingableOption*; |
| |
| UxAvailableVisibilityOptions returns UxAvailableVisibilityOptions: |
| {UxAvailableVisibilityOptions} |
| bindings+=UxVisibleableOption*; |
| |
| UxBindingableOption returns UxBindingableOption: |
| (final?='final')? (listbinding?='list')? 'endpoint' name=ID jvmType=JvmTypeReference ('target' targetName=ID)?; |
| |
| UxVisibleableOption returns UxVisibleableOption: |
| 'endpoint' name=ID jvmType=JvmTypeReference; |
| |