blob: ac90799d97ecfcf1f0318493823467e063bfd435 [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2009,2010 IBM Corporation and others.
* 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:
* IBM Corporation - initial API and implementation
******************************************************************************/
grammar org.eclipse.e4.ui.model.xtext.E4Dsl with org.eclipse.xtext.common.Terminals
import "http://www.eclipse.org/xtext/common/JavaVMTypes" as javaTypes
import "http://www.eclipse.org/emf/2002/Ecore" as ecore
import "platform:/resource/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore#//commands" as commands
import "platform:/resource/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore" as application
import "platform:/resource/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore#//ui/basic" as basic
import "platform:/resource/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore#//ui" as ui
import "platform:/resource/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore#//ui/menu" as menu
import "platform:/resource/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore#//descriptor/basic" as basic0
import "platform:/resource/org.eclipse.e4.ui.model.workbench/model/UIElements.ecore#//ui/advanced" as advanced
Application returns application::Application:
{application::Application}
'Application' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=Window ( "," children+=Window )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'variables' '{' variables+=EString ( "," variables+=EString )* '}' )?
( 'properties' '{' properties+=StringToStringMap ( "," properties+=StringToStringMap )* '}' )?
( 'handlers' '{' handlers+=Handler ( "," handlers+=Handler )* '}' )?
( 'bindingTables' '{' bindingTables+=BindingTable ( "," bindingTables+=BindingTable )* '}' )?
( 'rootContext' '{' rootContext+=BindingContext ( "," rootContext+=BindingContext )* '}' )?
( 'descriptors' '{' descriptors+=PartDescriptor ( "," descriptors+=PartDescriptor )* '}' )?
( 'bindingContexts' '{' bindingContexts+=EString ( "," bindingContexts+=EString )* '}' )?
( 'menuContributions' '{' menuContributions+=MenuContribution ( "," menuContributions+=MenuContribution )* '}' )?
( 'toolBarContributions' '{' toolBarContributions+=ToolBarContribution ( "," toolBarContributions+=ToolBarContribution )* '}' )?
( 'trimContributions' '{' trimContributions+=TrimContribution ( "," trimContributions+=TrimContribution )* '}' )?
( 'commands' '{' commands+=Command ( "," commands+=Command )* '}' )?
( 'addons' '{' addons+=Addon ( "," addons+=Addon )* '}' )?
( 'categories' '{' categories+=Category ( "," categories+=Category )* '}' )?
'}';
StringToStringMap returns application::StringToStringMap:
{application::StringToStringMap}
'StringToStringMap' '{'
( 'key' key=EString )?
( 'value' value=EString )?
'}';
OpaqueMenuSeparator returns menu::OpaqueMenuSeparator:
{menu::OpaqueMenuSeparator}
'OpaqueMenuSeparator' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'mnemonics' mnemonics=EString )?
'}';
MenuContribution returns menu::MenuContribution:
{menu::MenuContribution}
'MenuContribution' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=MenuElement ( "," children+=MenuElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'positionInParent' positionInParent=EString )?
'parentId' parentId=EString
'}';
ToolBarSeparator returns menu::ToolBarSeparator:
{menu::ToolBarSeparator}
'ToolBarSeparator' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
'}';
DirectMenuItem returns menu::DirectMenuItem:
{menu::DirectMenuItem}
'DirectMenuItem' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'enabled' enabled=EBoolean )?
( 'selected' selected=EBoolean )?
'type' type=ItemType
( 'mnemonics' mnemonics=EString )?
( 'contributionURI' contributionURI=EString )?
( 'persistedState' '{' persistedState+=StringToStringMap ( "," persistedState+=StringToStringMap )* '}' )?
'}';
TrimmedWindow returns basic::TrimmedWindow:
{basic::TrimmedWindow}
'TrimmedWindow' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=WindowElement ( "," children+=WindowElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'variables' '{' variables+=EString ( "," variables+=EString )* '}' )?
( 'properties' '{' properties+=StringToStringMap ( "," properties+=StringToStringMap )* '}' )?
( 'handlers' '{' handlers+=Handler ( "," handlers+=Handler )* '}' )?
( 'bindingContexts' '{' bindingContexts+=EString ( "," bindingContexts+=EString )* '}' )?
( 'mainMenu' mainMenu=Menu )?
( 'x' x=EInt )?
( 'y' y=EInt )?
( 'width' width=EInt )?
( 'height' height=EInt )?
( 'sharedElements' '{' sharedElements+=UIElement ( "," sharedElements+=UIElement )* '}' )?
( 'trimBars' '{' trimBars+=TrimBar ( "," trimBars+=TrimBar )* '}' )?
'}';
BindingContext returns commands::BindingContext:
{commands::BindingContext}
'BindingContext' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'name' name=EString )?
( 'description' description=EString )?
( 'children' '{' children+=BindingContext ( "," children+=BindingContext )* '}' )?
'}';
TrimContribution returns menu::TrimContribution:
{menu::TrimContribution}
'TrimContribution' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=TrimElement ( "," children+=TrimElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'parentId' parentId=EString )?
( 'positionInParent' positionInParent=EString )?
'}';
MenuSeparator_impl returns menu::MenuSeparator:
{menu::MenuSeparator}
'MenuSeparator' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'mnemonics' mnemonics=EString )?
'}';
Addon returns application::Addon:
{application::Addon}
'Addon' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'contributionURI' contributionURI=EString )?
( 'persistedState' '{' persistedState+=StringToStringMap ( "," persistedState+=StringToStringMap )* '}' )?
'}';
Placeholder returns advanced::Placeholder:
{advanced::Placeholder}
'Placeholder' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
'ref' ref=[ui::UIElement|EString]
'}';
ToolBar_impl returns menu::ToolBar:
{menu::ToolBar}
'ToolBar' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=ToolBarElement ( "," children+=ToolBarElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
'}';
PartStack returns basic::PartStack:
{basic::PartStack}
'PartStack' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=UIElement ( "," children+=UIElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
'}';
Part_impl returns basic::Part:
{basic::Part}
'Part' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'contributionURI' contributionURI=EString )?
( 'persistedState' '{' persistedState+=StringToStringMap ( "," persistedState+=StringToStringMap )* '}' )?
( 'variables' '{' variables+=EString ( "," variables+=EString )* '}' )?
( 'properties' '{' properties+=StringToStringMap ( "," properties+=StringToStringMap )* '}' )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'handlers' '{' handlers+=Handler ( "," handlers+=Handler )* '}' )?
( 'bindingContexts' '{' bindingContexts+=EString ( "," bindingContexts+=EString )* '}' )?
( 'menus' '{' menus+=Menu ( "," menus+=Menu )* '}' )?
( 'toolbar' toolbar=ToolBar )?
( 'closeable' closeable=EBoolean )?
( 'description' description=EString )?
'}';
Area returns advanced::Area:
{advanced::Area}
'Area' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=UIElement ( "," children+=UIElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'horizontal' horizontal=EBoolean )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
'}';
Category returns commands::Category:
{commands::Category}
'Category' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
'name' name=EString
( 'description' description=EString )?
'}';
Command returns commands::Command:
{commands::Command}
'Command' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'commandName' commandName=EString )?
( 'description' description=EString )?
( 'parameters' '{' parameters+=CommandParameter ( "," parameters+=CommandParameter )* '}' )?
( 'category' category=[commands::Category|EString] )?
'}';
ToolControl returns menu::ToolControl:
{menu::ToolControl}
'ToolControl' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'contributionURI' contributionURI=EString )?
( 'persistedState' '{' persistedState+=StringToStringMap ( "," persistedState+=StringToStringMap )* '}' )?
'}';
Window_impl returns basic::Window:
{basic::Window}
'Window' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=WindowElement ( "," children+=WindowElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'variables' '{' variables+=EString ( "," variables+=EString )* '}' )?
( 'properties' '{' properties+=StringToStringMap ( "," properties+=StringToStringMap )* '}' )?
( 'handlers' '{' handlers+=Handler ( "," handlers+=Handler )* '}' )?
( 'bindingContexts' '{' bindingContexts+=EString ( "," bindingContexts+=EString )* '}' )?
( 'mainMenu' mainMenu=Menu )?
( 'x' x=EInt )?
( 'y' y=EInt )?
( 'width' width=EInt )?
( 'height' height=EInt )?
( 'sharedElements' '{' sharedElements+=UIElement ( "," sharedElements+=UIElement )* '}' )?
'}';
OpaqueMenu returns menu::OpaqueMenu:
{menu::OpaqueMenu}
'OpaqueMenu' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'mnemonics' mnemonics=EString )?
( 'children' '{' children+=MenuElement ( "," children+=MenuElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'enabled' enabled=EBoolean )?
'}';
DirectToolItem returns menu::DirectToolItem:
{menu::DirectToolItem}
'DirectToolItem' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'enabled' enabled=EBoolean )?
( 'selected' selected=EBoolean )?
'type' type=ItemType
( 'menu' menu=Menu )?
( 'contributionURI' contributionURI=EString )?
( 'persistedState' '{' persistedState+=StringToStringMap ( "," persistedState+=StringToStringMap )* '}' )?
'}';
PopupMenu returns menu::PopupMenu:
{menu::PopupMenu}
'PopupMenu' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'mnemonics' mnemonics=EString )?
( 'children' '{' children+=MenuElement ( "," children+=MenuElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'enabled' enabled=EBoolean )?
( 'variables' '{' variables+=EString ( "," variables+=EString )* '}' )?
( 'properties' '{' properties+=StringToStringMap ( "," properties+=StringToStringMap )* '}' )?
'}';
ToolBarContribution returns menu::ToolBarContribution:
{menu::ToolBarContribution}
'ToolBarContribution' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=ToolBarElement ( "," children+=ToolBarElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'parentId' parentId=EString )?
( 'positionInParent' positionInParent=EString )?
'}';
Parameter returns commands::Parameter:
{commands::Parameter}
'Parameter' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'name' name=EString )?
( 'value' value=EString )?
'}';
HandledMenuItem returns menu::HandledMenuItem:
{menu::HandledMenuItem}
'HandledMenuItem' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'enabled' enabled=EBoolean )?
( 'selected' selected=EBoolean )?
'type' type=ItemType
( 'mnemonics' mnemonics=EString )?
( 'command' command=[commands::Command|EString] )?
( 'parameters' '{' parameters+=Parameter ( "," parameters+=Parameter )* '}' )?
'}';
Handler returns commands::Handler:
{commands::Handler}
'Handler' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'contributionURI' contributionURI=EString )?
( 'persistedState' '{' persistedState+=StringToStringMap ( "," persistedState+=StringToStringMap )* '}' )?
'command' command=[commands::Command|EString]
'}';
PartDescriptor returns basic0::PartDescriptor:
{basic0::PartDescriptor}
'PartDescriptor' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'handlers' '{' handlers+=Handler ( "," handlers+=Handler )* '}' )?
( 'bindingContexts' '{' bindingContexts+=EString ( "," bindingContexts+=EString )* '}' )?
( 'allowMultiple' allowMultiple=EBoolean )?
( 'category' category=EString )?
( 'menus' '{' menus+=Menu ( "," menus+=Menu )* '}' )?
( 'toolbar' toolbar=ToolBar )?
( 'closeable' closeable=EBoolean )?
( 'dirtyable' dirtyable=EBoolean )?
( 'contributionURI' contributionURI=EString )?
( 'description' description=EString )?
'}';
Perspective returns advanced::Perspective:
{advanced::Perspective}
'Perspective' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=PartSashContainerElement ( "," children+=PartSashContainerElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'variables' '{' variables+=EString ( "," variables+=EString )* '}' )?
( 'properties' '{' properties+=StringToStringMap ( "," properties+=StringToStringMap )* '}' )?
'}';
RenderedMenu returns menu::RenderedMenu:
{menu::RenderedMenu}
'RenderedMenu' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'mnemonics' mnemonics=EString )?
( 'children' '{' children+=MenuElement ( "," children+=MenuElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'enabled' enabled=EBoolean )?
'}';
RenderedMenuItem returns menu::RenderedMenuItem:
{menu::RenderedMenuItem}
'RenderedMenuItem' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'enabled' enabled=EBoolean )?
( 'selected' selected=EBoolean )?
'type' type=ItemType
( 'mnemonics' mnemonics=EString )?
'}';
InputPart returns basic::InputPart:
{basic::InputPart}
'InputPart' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'contributionURI' contributionURI=EString )?
( 'persistedState' '{' persistedState+=StringToStringMap ( "," persistedState+=StringToStringMap )* '}' )?
( 'variables' '{' variables+=EString ( "," variables+=EString )* '}' )?
( 'properties' '{' properties+=StringToStringMap ( "," properties+=StringToStringMap )* '}' )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'handlers' '{' handlers+=Handler ( "," handlers+=Handler )* '}' )?
( 'bindingContexts' '{' bindingContexts+=EString ( "," bindingContexts+=EString )* '}' )?
( 'menus' '{' menus+=Menu ( "," menus+=Menu )* '}' )?
( 'toolbar' toolbar=ToolBar )?
( 'closeable' closeable=EBoolean )?
( 'description' description=EString )?
( 'inputURI' inputURI=EString )?
'}';
CoreExpression returns ui::CoreExpression:
{ui::CoreExpression}
'CoreExpression' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'coreExpressionId' coreExpressionId=EString )?
'}';
CommandParameter returns commands::CommandParameter:
{commands::CommandParameter}
'CommandParameter' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
'name' name=EString
( 'typeId' typeId=EString )?
( 'optional' optional=EBoolean )?
'}';
PerspectiveStack returns advanced::PerspectiveStack:
{advanced::PerspectiveStack}
'PerspectiveStack' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=UIElement ( "," children+=UIElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
'}';
TrimBar returns basic::TrimBar:
{basic::TrimBar}
'TrimBar' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=UIElement ( "," children+=UIElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
'side' side=SideValue
'}';
RenderedToolBar returns menu::RenderedToolBar:
{menu::RenderedToolBar}
'RenderedToolBar' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=ToolBarElement ( "," children+=ToolBarElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
'}';
PartSashContainer_impl returns basic::PartSashContainer:
{basic::PartSashContainer}
'PartSashContainer' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'children' '{' children+=UIElement ( "," children+=UIElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'horizontal' horizontal=EBoolean )?
'}';
OpaqueMenuItem returns menu::OpaqueMenuItem:
{menu::OpaqueMenuItem}
'OpaqueMenuItem' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'enabled' enabled=EBoolean )?
( 'selected' selected=EBoolean )?
'type' type=ItemType
( 'mnemonics' mnemonics=EString )?
'}';
KeyBinding returns commands::KeyBinding:
{commands::KeyBinding}
'KeyBinding' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
'keySequence' keySequence=EString
'command' command=[commands::Command|EString]
( 'parameters' '{' parameters+=Parameter ( "," parameters+=Parameter )* '}' )?
'}';
Menu_impl returns menu::Menu:
{menu::Menu}
'Menu' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'mnemonics' mnemonics=EString )?
( 'children' '{' children+=MenuElement ( "," children+=MenuElement )* '}' )?
( 'selectedElement' selectedElement=[ui::UIElement|EString] )?
( 'enabled' enabled=EBoolean )?
'}';
BindingTable returns commands::BindingTable:
{commands::BindingTable}
'BindingTable' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
'bindingContextId' bindingContextId=EString
( 'bindings' '{' bindings+=KeyBinding ( "," bindings+=KeyBinding )* '}' )?
'}';
HandledToolItem returns menu::HandledToolItem:
{menu::HandledToolItem}
'HandledToolItem' elementId=EString '{'
( 'tags' '{' tags+=EString ( "," tags+=EString )* '}' )?
( 'contributorURI' contributorURI=EString )?
( 'toBeRendered' toBeRendered=EBoolean )?
( 'onTop' onTop=EBoolean )?
( 'visible' visible=EBoolean )?
( 'containerData' containerData=EString )?
( 'visibleWhen' visibleWhen=Expression )?
( 'accessibilityPhrase' accessibilityPhrase=EString )?
( 'label' label=EString )?
( 'iconURI' iconURI=EString )?
( 'tooltip' tooltip=EString )?
( 'enabled' enabled=EBoolean )?
( 'selected' selected=EBoolean )?
'type' type=ItemType
( 'menu' menu=Menu )?
( 'command' command=[commands::Command|EString] )?
( 'parameters' '{' parameters+=Parameter ( "," parameters+=Parameter )* '}' )?
'}';
TrimElement returns basic::TrimElement:
ToolBar_impl | ToolControl | RenderedToolBar;
Expression returns ui::Expression:
CoreExpression;
WindowElement returns basic::WindowElement:
PartStack | Part_impl | Area | InputPart | PerspectiveStack | PartSashContainer_impl;
ToolBar returns menu::ToolBar:
ToolBar_impl | RenderedToolBar;
Window returns basic::Window:
Window_impl | TrimmedWindow;
UIElement returns ui::UIElement:
OpaqueMenuSeparator | MenuContribution | ToolBarSeparator | DirectMenuItem | TrimmedWindow | TrimContribution | MenuSeparator_impl | Placeholder | ToolBar_impl | PartStack | Part_impl | Area | ToolControl | Window_impl | OpaqueMenu | DirectToolItem | PopupMenu | ToolBarContribution | HandledMenuItem | Perspective | Application | RenderedMenu | RenderedMenuItem | InputPart | PerspectiveStack | TrimBar | RenderedToolBar | PartSashContainer_impl | OpaqueMenuItem | Menu_impl | HandledToolItem;
MenuElement returns menu::MenuElement:
OpaqueMenuSeparator | DirectMenuItem | MenuSeparator_impl | OpaqueMenu | PopupMenu | HandledMenuItem | RenderedMenu | RenderedMenuItem | OpaqueMenuItem | Menu_impl;
PartSashContainerElement returns basic::PartSashContainerElement:
Placeholder | PartStack | Part_impl | Area | InputPart | PerspectiveStack | PartSashContainer_impl;
ToolBarElement returns menu::ToolBarElement:
ToolBarSeparator | ToolControl | DirectToolItem | HandledToolItem;
Menu returns menu::Menu:
Menu_impl | OpaqueMenu | PopupMenu | RenderedMenu;
EInt returns ecore::EInt:
INT;
EString returns ecore::EString:
STRING | ID;
EBoolean returns ecore::EBoolean:
'true' | 'false';
enum SideValue returns ui::SideValue:
Top = 'Top' | Bottom = 'Bottom' | Left = 'Left' | Right = 'Right';
enum ItemType returns menu::ItemType:
Check = 'Check' | Push = 'Push' | Radio = 'Radio';