blob: 140a383127a73e35166e2e00dbd11d644ecd4599 [file] [log] [blame]
/**
*
* Copyright (c) 2015 - 2017 - 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
* Jörg Riegel - ongoing development
*
*/
grammar org.eclipse.osbp.xtext.statemachine.StatemachineDSL with org.eclipse.osbp.xtext.oxtype.OXtype
import "http://osbp.eclipse.org/xtext/statemachine/StatemachineDSL"
import "http://osbp.eclipse.org/dsl/dto/v1" as dto
import "http://osbp.eclipse.org/xtext/functionlibrarydsl/FunctionLibraryDSL" as function
import "http://osbp.eclipse.org/xtext/reportdsl/ReportDSL" as report
import "http://osbp.eclipse.org/dsl/common/types/v1" as types
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
FSMModel:
importSection=XImportSection?
packages+=FSMPackage*;
FSMPackage:
{FSMPackage} 'package' name=QualifiedName
('{' (statemachines+=FSM)* '}')?;
FSM:
'statemachine' name=ID (description?='describedBy' descriptionValue=TRANSLATABLESTRING)?
'initialState' initialState=[FSMState]
'initialEvent' initialEvent=[FSMEvent]
('events' ('{'
(events+=FSMEvent)*
'}'))
('controls' '{'
(controls+=FSMControl)*
'}')
('states' '{'
(states+=FSMState)*
'}');
FSMEvent:
'event' name=ID;
FSMState:
'state' name=ID
'{'
(('entryActions' '{' (conditions+=FSMAction)* '}')? &
('triggers' '{' (triggers+=FSMTrigger)* '}')? &
('identity' identity=FSMOperation)? &
('functionalKeystroke' functionalKeyCode=FSMFunctionalKeyCodes 'sends' functionalKeyEvent=[FSMEvent])? &
('keystroke' '@' keystroke=[FSMControlFieldAttribute] (hasKeyOperation?='and' keyOperation=FSMOperation)?)?)
'}';
FSMTrigger:
{FSMTrigger}
'trigger' (triggers+=[FSMEvent])*
('guards' '{' (guards+=FSMGuard)* '}')?
'actions' (hasTransition?='transition' transition=[FSMState])? ('{' (actions+=FSMAction)* '}')?;
FSMAction:
FSMActionPeripheralBlinkRate|
FSMActionPeripheralClear|
FSMActionPeripheralCreateWindow|
FSMActionPeripheralCursorType|
FSMActionPeripheralDestroyWindow|
FSMActionPeripheralDeviceBrightness|
FSMActionPeripheralDisplayBitmap|
FSMActionPeripheralLineDisplayText|
FSMActionPeripheralLineDisplayTextAt|
FSMActionPeripheralInterCharacterWait|
FSMActionPeripheralMarqueeFormat|
FSMActionPeripheralMarqueeRepeatWait|
FSMActionPeripheralMarqueeType|
FSMActionPeripheralMarqueeUnitWait|
FSMActionPeripheralScroll|
FSMActionPeripheralOpenDrawer|
FSMActionPeripheralPrintBarcode|
FSMActionPeripheralPrintBitmap|
FSMActionPeripheralPrintCut|
FSMActionPeripheralPrintNormal|
FSMActionPeripheralPrintRegisterBitmap|
FSMActionPeripheralDisplayRegisterBitmap|
FSMActionPeripheralPTOpen|
FSMActionPeripheralPTClose|
FSMActionPeripheralPTAcknowledge|
// FSMActionPeripheralPTPrepaidTopUp|
FSMActionPeripheralPTReversal|
FSMActionPeripheralPTRegistration|
FSMActionPeripheralPTAuthorization|
FSMActionPeripheralPrintReport|
FSMActionPeripheralDisplayText|
FSMActionPeripheralSignatureOpen|
FSMActionPeripheralSignatureClose|
FSMActionPeripheralSignatureClear|
FSMActionPeripheralSignatureCapture|
FSMActionPeripheralSignatureIdle|
FSMActionPeripheralSignatureLabel|
FSMActionPeripheralBeeper|
FSMActionPeripheralPlayer|
FSMActionPeripheralSound|
FSMActionFieldSet|
FSMActionFieldFilterToggle|
FSMActionFieldRemove|
FSMActionItemVisible|
FSMActionItemInvisible|
FSMActionFieldClear|
FSMActionButtonCaption|
FSMActionButtonImage|
FSMActionDTOFind|
FSMActionDTOClear|
FSMStorage|
FSMActionScheduler|
FSMOperation|
FSMActionConditionalTransition;
// peripherals
//lineDisplay
FSMActionPeripheralBlinkRate:
'blinkRate' blinkRate=INT '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralClear:
'clearDevice' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralCreateWindow:
'createWindow'
'row' viewportRow=INT
'column' viewportColumn=INT
'height' viewportHeight=INT
'width' viewportWidth=INT
'windowHeight' windowHeight=INT
'windowWidth' windowWidth=INT
'@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralCursorType:
'cursorType' cursorType=FSMLineDisplayCursorType '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralDestroyWindow:
'destroyWindow' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralDeviceBrightness:
'deviceBrightness' brightness=INT '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralDisplayBitmap:
'displayBitmap' 'id' bitmapId=INT '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralLineDisplayText:
'lineDisplayText' text=FSMActionFieldConcatenation (hasType?='type'
textType=FSMLineDisplayTextType)? '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralLineDisplayTextAt:
'lineDisplayTextAt' text=FSMActionFieldConcatenation 'row' row=INT 'column' column=INT (hasType?='type'
textType=FSMLineDisplayTextType)? '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralInterCharacterWait:
'interCharacterWait' wait=INT '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralMarqueeFormat:
'marqueeFormat' format=FSMLineDisplayMarqueeFormat '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralMarqueeRepeatWait:
'marqueeRepeatWait' wait=INT '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralMarqueeType:
'marqueeType' marqueeType=FSMLineDisplayMarqueeType '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralMarqueeUnitWait:
'marqueeUnitWait' wait=INT '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralScroll:
'scroll' direction=FSMLineDisplayScrollTextType units=INT '@'
device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralOpenDrawer:
'openDrawer' device=[FSMPeripheralDeviceCashDrawer];
FSMActionPeripheralPrintBarcode:
'printBarcode' 'data' data=STRING 'barcodeType' barcodeType=FSMPOSPrinterBarcodeType '@'
device=[FSMPeripheralDevicePOSPrinter];
FSMActionPeripheralPrintBitmap:
'printBitmap' 'id' bitmapId=INT '@' device=[FSMPeripheralDevicePOSPrinter];
FSMActionPeripheralShowBitmap:
'showBitmap' 'id' bitmapId=INT '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralPrintCut:
'printCut' 'text' text=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePOSPrinter];
FSMActionPeripheralPrintNormal:
'printNormal' 'text' text=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePOSPrinter];
FSMActionPeripheralPrintRegisterBitmap:
'printerBitmap' 'id' bitmapId=INT 'name' name=STRING '@' device=[FSMPeripheralDevicePOSPrinter];
FSMActionPeripheralDisplayRegisterBitmap:
'displayBitmap' 'id' bitmapId=INT 'name' name=STRING '@' device=[FSMPeripheralDeviceLineDisplay];
FSMActionPeripheralPTOpen:
'paymentOpen' 'host' host=FSMActionFieldConcatenation 'port' port=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePT];
FSMActionPeripheralPTClose:
'paymentClose' '@' device=[FSMPeripheralDevicePT];
FSMActionPeripheralPTAcknowledge:
'paymentAcknowledge' '@' device=[FSMPeripheralDevicePT];
FSMActionPeripheralPTReversal:
'paymentReversal' 'withPassword' password=FSMActionFieldConcatenation 'ofReceipt' receipt=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePT];
FSMActionPeripheralPTRegistration:
'paymentRegistration' 'withPassword' password=FSMActionFieldConcatenation 'configuration' configuration=STRING '@' device=[FSMPeripheralDevicePT];
FSMActionPeripheralPTAuthorization:
'paymentAuthorization' 'ofAmount' amount=FSMActionFieldConcatenation '@' device=[FSMPeripheralDevicePT];
FSMActionPeripheralPTResponse:
'paymentResponse' 'from' device=[FSMPeripheralDevicePT];
FSMActionPeripheralPrintReport:
'printReport' report=[report::Report] (hasFilter?='from' key=[FSMStorage])?;
FSMActionPeripheralDisplayText:
'displayText' text=FSMActionFieldConcatenation '@' device=[FSMPeripheralDeviceDisplay] 'to' attribute=[dto::LDtoAttribute];
FSMActionPeripheralSignatureOpen:
'openSignaturePad' '@' device=[FSMPeripheralDeviceSignature];
FSMActionPeripheralSignatureClose:
'closeSignaturePad' '@' device=[FSMPeripheralDeviceSignature];
FSMActionPeripheralSignatureClear:
'clearSignaturePad' '@' device=[FSMPeripheralDeviceSignature];
FSMActionPeripheralSignatureCapture:
'captureSignaturePad' '@' device=[FSMPeripheralDeviceSignature];
FSMActionPeripheralSignatureIdle:
'idleSignaturePad' '@' device=[FSMPeripheralDeviceSignature];
FSMActionPeripheralSignatureLabel:
'labelSignaturePad' 'okLabel' okLabel=TRANSLATABLESTRING 'clearLabel' clearLabel=TRANSLATABLESTRING 'cancelLabel' cancelLabel=TRANSLATABLESTRING '@' device=[FSMPeripheralDeviceSignature];
FSMSignatureRetrieve:
'retrieveSignature' 'from' device=[FSMPeripheralDeviceSignature];
FSMActionPeripheralBeeper:
'beeper' 'duration' duration=INT 'frequency' frequency=INT;
FSMActionPeripheralPlayer:
'player' 'tune' tune=STRING;
FSMActionPeripheralSound:
'sound' 'file' name=STRING;
// fields
FSMActionFieldSource:
FSMActionFieldSourceString|
FSMActionFieldSourceNumber|
FSMActionFieldSourceInteger|
FSMActionFieldSourceBoolean|
FSMActionFieldSourceEvaluate|
FSMActionFieldSourceTranslate|
FSMActionFieldGet|
FSMFunction|
FSMStorageRetrieve|
FSMSignatureRetrieve|
FSMActionFieldSourceDtoAttribute|
FSMActionFieldSourceEvent|
FSMActionPeripheralPTResponse;
FSMOperation:
'operation' group = [function::FunctionLibraryStatemachineGroup]'.'operation=[function::FunctionLibraryOperation]
'(' (first=FSMOperationParameter)? (more+=FSMOperationParameterMore)* ')';
FSMGuard:
'guard' group = [function::FunctionLibraryStatemachineGroup]'.'guard = [function::FunctionLibraryGuard]
(hasOnFail?='onFail' 'caption' onFailCaption=TRANSLATABLESTRING
'description' onFailDescription=TRANSLATABLESTRING 'type' onFailType=FSMUserMessageType)?;
FSMFunction:
'function' group = [function::FunctionLibraryStatemachineGroup]'.'function=[function::FunctionLibraryFunction]
'(' (first=FSMOperationParameter)? (more+=FSMOperationParameterMore)* ')';
FSMStorage:
'store' content=FSMActionFieldConcatenation 'with' key=ID '.' attribute=ID;
FSMStorageRetrieve:
'retrieve' 'from' key=ID '.' attribute=ID;
FSMActionConditionalTransition:
'transition' transition=[FSMState] guard=FSMGuard '{' (actions+=FSMAction)* '}';
FSMActionFieldSourceString:
text=STRING;
FSMActionFieldSourceNumber:
value=SignedNumber;
FSMActionFieldSourceInteger:
value=INTEGER;
FSMActionFieldSourceBoolean:
value=BOOLEAN;
FSMActionFieldSourceEvaluate:
evaluationtype=FSMEvaluationType;
FSMActionFieldSourceEvent:
{FSMActionFieldSourceEvent} 'event';
FSMActionFieldSourceTranslate:
'translate' text=TRANSLATABLESTRING;
FSMActionFieldSourceDtoAttribute:
'dto' dto=[FSMControlDTOAttribute] '.' attribute=[dto::LDtoInheritedAttribute];
FSMActionFieldSourceMore returns FSMActionFieldSource:
FSMActionFieldSourceStringMore |
FSMActionFieldSourceNumberMore |
FSMActionFieldSourceIntegerMore |
FSMActionFieldSourceBooleanMore |
FSMActionFieldSourceEvaluateMore |
FSMActionFieldSourceTranslateMore |
FSMActionFieldGetMore |
FSMOperationMore |
FSMStorageRetrieveMore |
FSMActionFieldSourceDtoAttributeMore;
FSMActionFieldSourceStringMore returns FSMActionFieldSourceString:
{FSMActionFieldSourceString} '+' text=STRING;
FSMActionFieldSourceNumberMore returns FSMActionFieldSourceNumber:
{FSMActionFieldSourceNumber} '+' value=SignedNumber;
FSMActionFieldSourceIntegerMore returns FSMActionFieldSourceInteger:
{FSMActionFieldSourceInteger} '+' value=INTEGER;
FSMActionFieldSourceBooleanMore returns FSMActionFieldSourceBoolean:
{FSMActionFieldSourceBoolean} '+' value=BOOLEAN;
FSMActionFieldSourceEvaluateMore returns FSMActionFieldSourceEvaluate:
{FSMActionFieldSourceEvaluate} '+' evaluationtype=FSMEvaluationType;
FSMActionFieldSourceTranslateMore returns FSMActionFieldSourceTranslate:
{FSMActionFieldSourceTranslate} '+' 'translate' text=TRANSLATABLESTRING;
FSMActionFieldGetMore returns FSMActionFieldGet:
{FSMActionFieldGet} '+' 'get' attribute=[FSMControlFieldAttribute];
FSMOperationMore returns FSMOperation:
{FSMOperation} '+' 'operation' group = [function::FunctionLibraryStatemachineGroup]'.'operation=[function::FunctionLibraryOperation];
FSMStorageRetrieveMore returns FSMStorageRetrieve:
{FSMStorageRetrieve} '+' 'retrieve' 'from' key=ID '.' attribute=ID;
FSMDotExpression returns FSMRef:
FSMDtoRef ({FSMDotExpression.ref=current} "." tail=[types::LFeature])*;
FSMDtoRef returns FSMRef:
{FSMDtoRef} dto=[FSMControlDTOAttribute];
FSMActionFieldSourceDtoAttributeMore returns FSMActionFieldSourceDtoAttribute:
{FSMActionFieldSourceDtoAttribute} '+' 'dto' dto=[FSMControlDTOAttribute] '.'
attribute=[dto::LDtoInheritedAttribute];
FSMActionFieldConcatenation:
first=FSMActionFieldSource (more+=FSMActionFieldSourceMore)*;
FSMOperationParameter:
source=FSMActionFieldConcatenation;
FSMOperationParameterMore returns FSMOperationParameter:
{FSMOperationParameter} ',' source=FSMActionFieldConcatenation;
FSMActionFieldSet:
'set' source=FSMActionFieldConcatenation '@' attribute=[FSMControlFieldAttribute];
FSMActionFieldClear:
'clear' attribute=[FSMControlFieldAttribute];
FSMActionFieldGet:
'get' attribute=[FSMControlFieldAttribute];
FSMActionFieldFilterToggle:
'toggle' filter=[FSMControlFilter];
FSMActionFieldRemove:
'remove' attribute=[FSMControlFieldAttribute];
FSMControlVisibility:
FSMControlFieldAttribute |
FSMControlFieldLayout |
FSMControlButtonAttribute |
FSMControlButton;
FSMActionItemVisible:
'visible' attribute=[FSMControlVisibility];
FSMActionItemInvisible:
'invisible' attribute=[FSMControlVisibility];
// buttons
FSMActionButtonCaption:
'caption' caption=FSMActionFieldConcatenation '@' attribute=[FSMControlButtonAttribute];
FSMActionButtonImage:
'image' image=STRING '@' attribute=[FSMControlButtonAttribute];
// dto
FSMActionDTOFind:
'search' search=FSMActionFieldConcatenation
'in' dto=[FSMControlDTOAttribute] '.' attribute=[dto::LDtoInheritedAttribute];
FSMActionDTOClear:
'unselect' dto=[FSMControlDTOAttribute];
FSMActionScheduler:
'schedule' scheduler=[FSMControlSchedulerAttribute];
FSMControl:
FSMControlButton | FSMControlField | FSMControlDTO | FSMControlScheduler |
FSMControlPeripheral;
FSMControlButton:
'keypad' name=ID 'event' eventType=FSMControlButtonEventType (hasRange?='from' start=INT 'until' end=INT 'named' rangedName=STRING)? ('{'
(buttons+=FSMControlButtonAttribute)*
'}')?;
FSMControlField:
'fields' name=ID '{'
((fields+=FSMControlFieldAttribute)* &
(layouts+=FSMControlFieldLayout)*)
'}';
FSMControlDTO:
'dataProvider' name=ID '{'
((dtos+=FSMControlDTOAttribute)* &
(filters+=FSMControlFilter)*)
'}';
FSMControlScheduler:
'scheduler' name=ID '{'
(schedulers+=FSMControlSchedulerAttribute)*
'}';
FSMPeripheralDeviceLineDisplay:
'lineDisplay' name=ID;
FSMPeripheralDeviceDisplay:
'display' name=ID 'using' output=[FSMControlDTOAttribute];
FSMPeripheralDevicePOSPrinter:
'posPrinter' name=ID;
FSMPeripheralDeviceCashDrawer:
'cashDrawer' name=ID;
FSMPeripheralDevicePT:
'payment' name=ID;
FSMPeripheralDeviceSignature:
'signaturePad' name=ID;
FSMControlPeripheral:
'peripheral' name=ID '{'
((lineDisplays+=FSMPeripheralDeviceLineDisplay)* &
(displays+=FSMPeripheralDeviceDisplay)* &
(posPrinters+=FSMPeripheralDevicePOSPrinter)* &
(cashDrawers+=FSMPeripheralDeviceCashDrawer)* &
(paymentTerminals+=FSMPeripheralDevicePT)* &
(signaturePads+=FSMPeripheralDeviceSignature)*)
'}';
FSMControlButtonAttribute:
'button' name=TRANSLATABLEID
(hasImage?='image' image=STRING)?
event=FSMControlButtonAttributeEvent;
FSMControlButtonAttributeEvent:
FSMControlButtonAttributeEventKeyboard |
FSMControlButtonAttributeEventIdentity |
FSMControlButtonAttributeEventEvent;
FSMControlButtonAttributeEventKeyboard:
{FSMControlButtonAttributeEventKeyboard} 'key' keystroke=STRING;
FSMControlButtonAttributeEventIdentity:
{FSMControlButtonAttributeEventIdentity} 'id' identity=INT;
FSMControlButtonAttributeEventEvent:
{FSMControlButtonAttributeEventEvent} 'event' event=[FSMEvent];
FSMControlFieldAttribute:
'field' name=TRANSLATABLEID
'type' attributeType=FSMFieldType;
FSMControlFieldLayout:
'layout' name=ID;
FSMControlDTOAttribute:
'dto' name=ID
'type' attributeType=FSMDTOType
((hasEvent?='event' event=[FSMEvent])? &
(isAttached?='attach' display=[FSMPeripheralDeviceDisplay])?);
FSMControlSchedulerAttribute:
'scheduler' name=ID
'delay' delay=INT
'send' event=[FSMEvent];
FSMDTOType:
attributeType=[dto::LDto];
FSMFieldType:
attributeType=FSMInternalType;
FSMControlFilter:
'filter' name=ID filter=FSMFilter;
FSMFilterProperty:
'path' path=FSMDotExpression;
FSMFilter:
{FSMFilter} source=FSMAbstractFilter;
FSMAbstractFilter:
FSMAndFilter|
FSMOrFilter|
FSMCompareFilter|
FSMBetweenFilter|
FSMIsNullFilter|
FSMLikeFilter|
FSMNotFilter|
FSMStringFilter;
FSMFilterMore returns FSMFilter:
{FSMFilter} ',' source=FSMAbstractFilter;
FSMAndFilter:
{FSMAndFilter}
'and' '(' (first=FSMFilter)? (more+=FSMFilterMore)* ')';
FSMOrFilter:
{FSMOrFilter}
'or' '(' (first=FSMFilter)? (more+=FSMFilterMore)* ')';
FSMCompareFilter:
{FSMCompareFilter}
operation=FSMCompareOperationEnum '(' propertyId=FSMFilterProperty ',' operand=FSMActionFieldSource ')';
FSMBetweenFilter:
{FSMBetweenFilter}
'isBetween' '(' propertyId=FSMFilterProperty ',' start=FSMActionFieldSource ',' end=FSMActionFieldSource ')';
FSMIsNullFilter:
{FSMIsNullFilter}
'isNull' '(' propertyId=FSMFilterProperty ')';
FSMLikeFilter:
{FSMLikeFilter}
'isLike' '(' propertyId=FSMFilterProperty ',' value=FSMActionFieldSource (ignoreCase?='ignoreCase')? ')';
FSMNotFilter:
{FSMNotFilter}
'not' '(' filter=FSMFilter ')';
FSMStringFilter:
{FSMStringFilter}
'matches' '(' propertyId=FSMFilterProperty ',' filterString=STRING (ignoreCase?='ignoreCase')? (onlyMatchPrefix?='onlyMatchPrefix')? ')';
enum FSMInternalType:
BOOLEAN='Boolean' |
INTEGER='Integer' |
LONG='Long' |
DOUBLE='Double' |
STRING='String' |
DATE='Date' |
SUGGESTTEXT='SuggestText' |
EMBEDDABLEEVENT='EmbeddableEvent';
enum FSMControlButtonEventType:
KEYBOARD='keyboard' |
TRIGGER='trigger' |
IDENTITY='identity';
enum FSMCompareOperationEnum:
EQUAL = 'equal'|
GREATER = 'greater'|
LESS = 'less'|
GREATER_OR_EQUAL = 'greaterOrEqual'|
LESS_OR_EQUAL = 'lessOrEqual';
enum FSMEvaluationType:
IP_ADDRESS = 'getIPAddress'|
HOSTNAME = 'getHostName' |
NOW = 'getNow'|
USER_AGENT_INFO = 'getUserAgentInfo'|
IS_TOUCH_DEVICE = 'isTouchDevice'|
IS_HTTPS = 'isHttps'|
BROWSER_LOCALE = 'getBrowserLocale'|
USER_NAME = 'getUserName'|
USER_PASSWORD = 'getUserPassword'|
USER_EMAIL = 'getUserEmail'|
USER_POSITION = 'getUserPosition'|
USER_PRTSERVICE = 'getUserPrintService'|
SCREEN_WIDTH = 'getSceenWidth'|
SCREEN_HEIGHT = 'getScreenHeight'|
TRIGGER = 'getTrigger';
enum FSMUserMessageType:
HUMANIZED_MESSAGE='humanized' |
WARNING_MESSAGE='warning' |
ERROR_MESSAGE='error' |
TRAY_NOTIFICATION='tray' |
ASSISTIVE_NOTIFICATION='assistive';
enum FSMLineDisplayCursorType:
DISP_CT_NONE='none' |
DISP_CT_FIXED='fixed' |
DISP_CT_BLOCK='block' |
DISP_CT_HALFBLOCK='halfblock' |
DISP_CT_UNDERLINE='underline' |
DISP_CT_REVERSE='reverse' |
DISP_CT_OTHER='other' |
DISP_CT_BLINK='blink';
enum FSMLineDisplayMarqueeType:
DISP_MT_NONE='none' |
DISP_MT_UP='up' |
DISP_MT_DOWN='down' |
DISP_MT_LEFT='left' |
DISP_MT_RIGHT='right' |
DISP_MT_INIT='init';
enum FSMLineDisplayMarqueeFormat:
DISP_MF_WALK='walk' |
DISP_MF_PLACE='place';
enum FSMLineDisplayTextType:
DISP_DT_NORMAL='normal' |
DISP_DT_BLINK='blink' |
DISP_DT_REVERSE='reverse' |
DISP_DT_BLINK_REVERSE='blinkreverse';
enum FSMLineDisplayScrollTextType:
DISP_ST_UP='up' |
DISP_ST_DOWN='down' |
DISP_ST_LEFT='left' |
DISP_ST_RIGHT='right';
enum FSMPOSPrinterBarcodeType:
PTR_BCS_UPCA='upca' |
PTR_BCS_UPCE='upcb' |
PTR_BCS_JAN8='jan8' |
PTR_BCS_EAN8='ean8' |
PTR_BCS_JAN13='jan13' |
PTR_BCS_EAN13='ean13' |
PTR_BCS_TF='tf' |
PTR_BCS_ITF='itf' |
PTR_BCS_Codabar='codeabar' |
PTR_BCS_Code39='code39' |
PTR_BCS_Code93='code93' |
PTR_BCS_Code128='code128' |
PTR_BCS_UPCA_S='upca_s' |
PTR_BCS_UPCE_S='upce_s' |
PTR_BCS_UPCD1='upcd1' |
PTR_BCS_UPCD2='upcd2' |
PTR_BCS_UPCD3='upcd3' |
PTR_BCS_UPCD4='upcd4' |
PTR_BCS_UPCD5='upcd5' |
PTR_BCS_EAN8_S='ean8_s' |
PTR_BCS_EAN13_S='ean13_s' |
PTR_BCS_EAN128='ean128' |
PTR_BCS_OCRA='orca' |
PTR_BCS_OCRB='ocrb' |
PTR_BCS_Code128_Parsed='code128_parsed' |
PTR_BCS_GS1DATABAR='gs1databar' |
PTR_BCS_GS1DATABAR_E='gs1databar_e' |
PTR_BCS_GS1DATABAR_S='gs1databar_s' |
PTR_BCS_GS1DATABAR_E_S='gs1databar_e_s' |
PTR_BCS_PDF417='pdf417' |
PTR_BCS_MAXICODE='maxicode' |
PTR_BCS_DATAMATRIX='datamatrix' |
PTR_BCS_QRCODE='qrcode' |
PTR_BCS_UQRCODE='uqrcode' |
PTR_BCS_AZTEC='aztec' |
PTR_BCS_UPDF417='updf417';
enum FSMFunctionalKeyCodes:
BACKSPACE = 'backspaceKey' |
TAB = 'tabKey' |
ENTER = 'enterKey' |
ESC = 'escKey' |
PGUP = 'pgupKey' |
PGDOWN = 'pgdownKey' |
END = 'endKey' |
HOME = 'homeKey' |
LEFTARROW = 'leftarrowKey' |
UPARROW = 'uparrowKey' |
RIGHTARROW = 'rightarrowKey' |
DOWNARROW = 'downarrowKey' |
INSERT = 'insertKey' |
DELETE = 'deleteKey' |
F1 = 'f1' |
F2 = 'f2' |
F3 = 'f3' |
F4 = 'f4' |
F5 = 'f5' |
F6 = 'f6' |
F7 = 'f7' |
F8 = 'f8' |
F9 = 'f9' |
F10 = 'f10'|
F11 = 'f11'|
F12 = 'f12';
TRANSLATABLESTRING:
STRING;
TRANSLATABLEID:
ID;
SignedNumber returns ecore::EDouble:
('-')? UnsignedNumber;
UnsignedNumber returns ecore::EDouble:
INT '.' (INT);
INTEGER returns ecore::EInt: ('-')? INT;
BOOLEAN returns ecore::EBoolean: 'true'|'false';