All Downloads are FREE. Search and download functionalities are using the official Maven repository.

4j-presentation-xtext.1.1.0.source-code.PresentationDsl.xtxt Maven / Gradle / Ivy

The newest version!
preventMMGeneration

importMetamodel "http://www.mod4j.org/pmfmod" ;

//IMPORTANT: You should change the property 'overwrite.pluginresources=true' in the properties file to 'overwrite.pluginresources=false' AFTER first generation

PresentationModel :
	(description=STRING )?
	"PresentationModel" name = ID
	(externalReferences += ExternalReference)*
	(elements += ModelElement)*
	;

ExternalReference :
    "from" modelName = ID "import" name = ID 
	;
	
ModelElement :
	UIModelElement | Link
	;
	
UIModelElement :
	Dialogue | Process
	;
		
Dialogue :
	ContentForm | CompoundDialogue
	;
	
ContentForm :
	(description=STRING )?
	"ContentForm" name = ID "using" contextRef = [ExternalReference]
	("readonly" ((readonly?="true") | "false") ";")?
	(formElements += FormElement)*
	("processes" "[" (processes += ProcessCall)* "]" )?
	;
	
CompoundDialogue :
	(description=STRING )?
	"CompoundDialogue" name = ID "using" contextRef = [ExternalReference]
	("readonly" ((readonly?="true") | "false") ";")?
	("dialogues" "[" (dialogues += DialogueCall)* "]" )?
	("processes" "[" (processes += ProcessCall)* "]" )?  
	| CollectionDialogue
	| MasterDetail
	;
		
CollectionDialogue :
	(description=STRING )?
	"CollectionDialogue" name = ID "using" contextRef = [ExternalReference]
	("readonly" ((readonly?="true") | "false") ";")?
	("dialogues" "[" (dialogues += DialogueCall)* "]" )?
	("processes" "[" (processes += ProcessCall)* "]" )?
	;
	
MasterDetail :
	(description=STRING )?
	"MasterDetail" name = ID "using" contextRef = [ExternalReference]
	("readonly" ((readonly?="true") | "false") ";")?
	"master" master = DialogueCall ";"
	"detail" detail = DialogueCall ";"
	("processes" "[" (processes += ProcessCall)* "]" )?
	;

Process :
	AutomatedProcess | InteractiveProcess
	;
	
AutomatedProcess :
	(description=STRING )?
	"AutomatedProcess" name = ID "using" contextRef = [ExternalReference]
	;

InteractiveProcess :
	(description=STRING )?
	"InteractiveProcess" name = ID "using" contextRef = [ExternalReference]
	;
	
FormElement :
	"formElement" 
	("navigate" LinkRef "to")? 
	references = DtoPropertyReference 
	"named" name = ID 
	("readonly" ((readonly?="true") | "false") )?
	";"
	;
		
DialogueCall :
	DirectDialogueCall | LinkedDialogueCall
	;
	
LinkedDialogueCall :
	"navigate" link = LinkRef "to" name = ID ";"
	;

DirectDialogueCall :
	name = ID ";"
	;
	
ProcessCall :
	name = ID ";"
	;

LinkRef :
	name = ID
	;
	
Link :
	LinkStep | LinkPath
	;
	
LinkStep :
	(description=STRING )?
	"LinkStep" name = ID "using" contextRef = [ExternalReference] 
	"navigate" reference = AssociationRoleReference
	;
	
LinkPath :
	(description=STRING )?
	"LinkPath" name = ID "using" contextRef = [ExternalReference]
	;
	
DtoPropertyReference :
	name = ID
	;

AssociationRoleReference :
	name = ID
	;
	




© 2015 - 2025 Weber Informatics LLC | Privacy Policy