Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorcletavernie2012-04-02 09:33:55 +0000
committercletavernie2012-04-02 09:33:55 +0000
commitfa9ef7d0c0097a84db45eae35d8089e2890379ad (patch)
treebbbed106dabcde3d51553ceb7b005c7b5937685a /plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext
parent673f2e8ad12632562696ddcb3763ecca2aa47c9d (diff)
downloadorg.eclipse.papyrus-fa9ef7d0c0097a84db45eae35d8089e2890379ad.tar.gz
org.eclipse.papyrus-fa9ef7d0c0097a84db45eae35d8089e2890379ad.tar.xz
org.eclipse.papyrus-fa9ef7d0c0097a84db45eae35d8089e2890379ad.zip
370797: [Theme] Papyrus should provide a support for CSS files on its diagrams
https://bugs.eclipse.org/bugs/show_bug.cgi?id=370797
Diffstat (limited to 'plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext')
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jarbin0 -> 1482584 bytes
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.classpath9
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch18
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project34
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF35
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html28
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties9
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml17
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen17
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java174
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore174
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel155
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi934
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java51
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java250
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java81
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java54
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java349
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java3333
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java105
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java70
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java97
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java223
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java58
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java68
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java77
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java51
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java58
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java68
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java87
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java78
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java19
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java104
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java223
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java54
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java50
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java264
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java234
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java175
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java178
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java337
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java660
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java1781
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java321
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java241
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java264
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java310
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java219
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NumberImpl.java263
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PageImpl.java240
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PercentageImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoImpl.java232
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/PseudoPageImpl.java177
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/RulesetImpl.java204
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorConditionImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SelectorImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SimpleSelectorImpl.java239
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StringValueImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/StylesheetImpl.java279
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/SubtermImpl.java265
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TermImpl.java44
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/TimeImpl.java320
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UnaryOperatorImpl.java178
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/UriImpl.java176
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssAdapterFactory.java845
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/util/CssSwitch.java956
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSAntlrTokenFileProvider.java15
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/CSSParser.java39
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.g2794
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSS.tokens62
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSLexer.java2135
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/parser/antlr/internal/InternalCSSParser.java8335
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSemanticSequencer.java638
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/serializer/AbstractCSSSyntacticSequencer.java557
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/services/CSSGrammarAccess.java2244
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/validation/AbstractCSSJavaValidator.java18
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSS.xtext208
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSRuntimeModule.java18
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetup.java14
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/GenerateCSS.mwe2138
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/converter/CSSTerminalConverter.java64
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/formatting/CSSFormatter.java103
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.xtend15
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/scoping/CSSScopeProvider.java17
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src/org/eclipse/papyrus/infra/gmfdiag/validation/CSSJavaValidator.java63
-rw-r--r--plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/xtend-gen/org/eclipse/papyrus/infra/gmfdiag/generator/CSSGenerator.java11
113 files changed, 38124 insertions, 0 deletions
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jar b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jar
new file mode 100644
index 00000000000..42434924055
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.antlr-generator-3.2.0.jar
Binary files differ
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.classpath b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.classpath
new file mode 100644
index 00000000000..3f1be502857
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.classpath
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<classpath>
+ <classpathentry kind="src" path="src"/>
+ <classpathentry kind="src" path="src-gen"/>
+ <classpathentry kind="src" path="xtend-gen"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/J2SE-1.5"/>
+ <classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
+ <classpathentry kind="output" path="bin"/>
+</classpath>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch
new file mode 100644
index 00000000000..f6cffeb98c9
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.launch/Generate Language Infrastructure (org.eclipse.papyrus.infra.gmfdiag.css.xtext).launch
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<launchConfiguration type="org.eclipse.emf.mwe2.launch.Mwe2LaunchConfigurationType">
+<stringAttribute key="org.eclipse.debug.core.ATTR_REFRESH_SCOPE" value="${working_set:&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&#10;&lt;launchConfigurationWorkingSet factoryID=&quot;org.eclipse.ui.internal.WorkingSetFactory&quot; id=&quot;1299248699643_13&quot; label=&quot;working set&quot; name=&quot;working set&quot;&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext.generator&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext.tests&quot; type=&quot;4&quot;/&gt;&#10;&lt;item factoryID=&quot;org.eclipse.ui.internal.model.ResourceFactory&quot; path=&quot;/org.eclipse.papyrus.infra.gmfdiag.css.xtext.ui&quot; type=&quot;4&quot;/&gt;&#10;&lt;/launchConfigurationWorkingSet&gt;}"/>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_PATHS">
+<listEntry value="/org.eclipse.papyrus.infra.gmfdiag.css.xtext"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.core.MAPPED_RESOURCE_TYPES">
+<listEntry value="4"/>
+</listAttribute>
+<listAttribute key="org.eclipse.debug.ui.favoriteGroups">
+<listEntry value="org.eclipse.debug.ui.launchGroup.debug"/>
+<listEntry value="org.eclipse.debug.ui.launchGroup.run"/>
+</listAttribute>
+<stringAttribute key="org.eclipse.jdt.launching.MAIN_TYPE" value="org.eclipse.emf.mwe2.launch.runtime.Mwe2Launcher"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="src/org/eclipse/papyrus/infra/gmfdiag/GenerateCSS.mwe2"/>
+<stringAttribute key="org.eclipse.jdt.launching.PROJECT_ATTR" value="org.eclipse.papyrus.infra.gmfdiag.css.xtext"/>
+<stringAttribute key="org.eclipse.jdt.launching.VM_ARGUMENTS" value="-Xmx512m"/>
+</launchConfiguration>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project
new file mode 100644
index 00000000000..e91cc95a91f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/.project
@@ -0,0 +1,34 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<projectDescription>
+ <name>org.eclipse.papyrus.infra.gmfdiag.css.xtext</name>
+ <comment></comment>
+ <projects>
+ </projects>
+ <buildSpec>
+ <buildCommand>
+ <name>org.eclipse.jdt.core.javabuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.ManifestBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.pde.SchemaBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ <buildCommand>
+ <name>org.eclipse.xtext.ui.shared.xtextBuilder</name>
+ <arguments>
+ </arguments>
+ </buildCommand>
+ </buildSpec>
+ <natures>
+ <nature>org.eclipse.jdt.core.javanature</nature>
+ <nature>org.eclipse.pde.PluginNature</nature>
+ <nature>org.eclipse.xtext.ui.shared.xtextNature</nature>
+ </natures>
+</projectDescription>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF
new file mode 100644
index 00000000000..750340820db
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/META-INF/MANIFEST.MF
@@ -0,0 +1,35 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-Name: org.eclipse.papyrus.infra.gmfdiag.css.xtext
+Bundle-Vendor: My Company
+Bundle-Version: 1.0.0
+Bundle-SymbolicName: org.eclipse.papyrus.infra.gmfdiag.css.xtext; singleton:=true
+Bundle-ActivationPolicy: lazy
+Require-Bundle: org.eclipse.xtext;bundle-version="2.1.0";visibility:=reexport,
+ org.eclipse.xtext.xbase;bundle-version="2.1.0";resolution:=optional;visibility:=reexport,
+ org.apache.log4j;bundle-version="1.2.15",
+ org.apache.commons.logging;bundle-version="1.0.4";resolution:=optional,
+ org.eclipse.xtext.generator;resolution:=optional,
+ org.eclipse.emf.codegen.ecore;resolution:=optional,
+ org.eclipse.emf.mwe.utils;resolution:=optional,
+ org.eclipse.emf.mwe2.launch;resolution:=optional,
+ org.eclipse.xtext.util,
+ org.eclipse.emf.ecore,
+ org.eclipse.emf.common,
+ org.antlr.runtime,
+ org.eclipse.xtext.common.types,
+ org.eclipse.core.commands;bundle-version="3.6.0"
+Bundle-RequiredExecutionEnvironment: J2SE-1.5
+Export-Package: org.eclipse.papyrus.infra.gmfdiag,
+ org.eclipse.papyrus.infra.gmfdiag.services,
+ org.eclipse.papyrus.infra.gmfdiag.css,
+ org.eclipse.papyrus.infra.gmfdiag.css.impl,
+ org.eclipse.papyrus.infra.gmfdiag.css.util,
+ org.eclipse.papyrus.infra.gmfdiag.serializer,
+ org.eclipse.papyrus.infra.gmfdiag.parser.antlr,
+ org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal,
+ org.eclipse.papyrus.infra.gmfdiag.validation,
+ org.eclipse.papyrus.infra.gmfdiag.scoping,
+ org.eclipse.papyrus.infra.gmfdiag.generator,
+ org.eclipse.papyrus.infra.gmfdiag.formatting
+
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html
new file mode 100644
index 00000000000..209103075a7
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/about.html
@@ -0,0 +1,28 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"/>
+<title>About</title>
+</head>
+<body lang="EN-US">
+<h2>About This Content</h2>
+
+<p>November 14, 2008</p>
+<h3>License</h3>
+
+<p>The Eclipse Foundation makes available all content in this plug-in (&quot;Content&quot;). Unless otherwise
+indicated below, the Content is provided to you under the terms and conditions of the
+Eclipse Public License Version 1.0 (&quot;EPL&quot;). A copy of the EPL is available
+at <a href="http://www.eclipse.org/legal/epl-v10.html">http://www.eclipse.org/legal/epl-v10.html</a>.
+For purposes of the EPL, &quot;Program&quot; will mean the Content.</p>
+
+<p>If you did not receive this Content directly from the Eclipse Foundation, the Content is
+being redistributed by another party (&quot;Redistributor&quot;) and different terms and conditions may
+apply to your use of any object code in the Content. Check the Redistributor's license that was
+provided with the Content. If no such license exists, contact the Redistributor. Unless otherwise
+indicated below, the terms and conditions of the EPL still apply to any source code in the Content
+and such source code may be obtained at <a href="http://www.eclipse.org">http://www.eclipse.org</a>.</p>
+
+</body>
+</html> \ No newline at end of file
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties
new file mode 100644
index 00000000000..2ff830d312e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/build.properties
@@ -0,0 +1,9 @@
+source.. = src/,\
+ src-gen/,\
+ xtend-gen/
+bin.includes = META-INF/,\
+ .,\
+ plugin.xml,\
+ about.html
+
+src.includes = about.html
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml
new file mode 100644
index 00000000000..ce66ca337a8
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/papyrus/infra/gmfdiag/CSS"
+ class = "org.eclipse.papyrus.infra.gmfdiag.css.CssPackage"
+ genModel = "org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel" />
+
+ </extension>
+
+
+
+
+</plugin>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen
new file mode 100644
index 00000000000..ce66ca337a8
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/plugin.xml_gen
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<?eclipse version="3.0"?>
+
+<plugin>
+
+ <extension point="org.eclipse.emf.ecore.generated_package">
+ <package
+ uri = "http://www.eclipse.org/papyrus/infra/gmfdiag/CSS"
+ class = "org.eclipse.papyrus.infra.gmfdiag.css.CssPackage"
+ genModel = "org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel" />
+
+ </extension>
+
+
+
+
+</plugin>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java
new file mode 100644
index 00000000000..8aaa9f3343e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/AbstractCSSRuntimeModule.java
@@ -0,0 +1,174 @@
+/*
+ * generated by Xtext
+ */
+package org.eclipse.papyrus.infra.gmfdiag;
+
+import java.util.Properties;
+
+import org.eclipse.xtext.Constants;
+import org.eclipse.xtext.service.DefaultRuntimeModule;
+
+import com.google.inject.Binder;
+import com.google.inject.name.Names;
+
+/**
+ * Manual modifications go to {org.eclipse.papyrus.infra.gmfdiag.CSSRuntimeModule}
+ */
+@SuppressWarnings("all")
+public abstract class AbstractCSSRuntimeModule extends DefaultRuntimeModule {
+
+ protected Properties properties = null;
+
+ @Override
+ public void configure(Binder binder) {
+ properties = tryBindProperties(binder, "org/eclipse/papyrus/infra/gmfdiag/CSS.properties");
+ super.configure(binder);
+ }
+
+ public void configureLanguageName(Binder binder) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.LANGUAGE_NAME)).toInstance("org.eclipse.papyrus.infra.gmfdiag.CSS");
+ }
+
+ public void configureFileExtensions(Binder binder) {
+ if(properties == null || properties.getProperty(Constants.FILE_EXTENSIONS) == null) {
+ binder.bind(String.class).annotatedWith(Names.named(Constants.FILE_EXTENSIONS)).toInstance("css");
+ }
+ }
+
+ // contributed by org.eclipse.xtext.generator.grammarAccess.GrammarAccessFragment
+ public Class<? extends org.eclipse.xtext.IGrammarAccess> bindIGrammarAccess() {
+ return org.eclipse.papyrus.infra.gmfdiag.services.CSSGrammarAccess.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISemanticSequencer> bindISemanticSequencer() {
+ return org.eclipse.papyrus.infra.gmfdiag.serializer.AbstractCSSSemanticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.sequencer.ISyntacticSequencer> bindISyntacticSequencer() {
+ return org.eclipse.papyrus.infra.gmfdiag.serializer.AbstractCSSSyntacticSequencer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.serializer.SerializerFragment
+ public Class<? extends org.eclipse.xtext.serializer.ISerializer> bindISerializer() {
+ return org.eclipse.xtext.serializer.impl.Serializer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.IParser> bindIParser() {
+ return org.eclipse.papyrus.infra.gmfdiag.parser.antlr.CSSParser.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.ITokenToStringConverter> bindITokenToStringConverter() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenToStringConverter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.IAntlrTokenFileProvider> bindIAntlrTokenFileProvider() {
+ return org.eclipse.papyrus.infra.gmfdiag.parser.antlr.CSSAntlrTokenFileProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.Lexer> bindLexer() {
+ return org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal.InternalCSSLexer.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public com.google.inject.Provider<org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal.InternalCSSLexer> provideInternalCSSLexer() {
+ return org.eclipse.xtext.parser.antlr.LexerProvider.create(org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal.InternalCSSLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public void configureRuntimeLexer(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.parser.antlr.Lexer.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.parser.antlr.LexerBindings.RUNTIME)).to(org.eclipse.papyrus.infra.gmfdiag.parser.antlr.internal.InternalCSSLexer.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.parser.antlr.XtextAntlrGeneratorFragment
+ public Class<? extends org.eclipse.xtext.parser.antlr.ITokenDefProvider> bindITokenDefProvider() {
+ return org.eclipse.xtext.parser.antlr.AntlrTokenDefProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.validation.JavaValidatorFragment
+ @org.eclipse.xtext.service.SingletonBinding(eager = true)
+ public Class<? extends org.eclipse.papyrus.infra.gmfdiag.validation.CSSJavaValidator> bindCSSJavaValidator() {
+ return org.eclipse.papyrus.infra.gmfdiag.validation.CSSJavaValidator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public Class<? extends org.eclipse.xtext.scoping.IScopeProvider> bindIScopeProvider() {
+ return org.eclipse.papyrus.infra.gmfdiag.scoping.CSSScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIScopeProviderDelegate(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.scoping.IScopeProvider.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.scoping.impl.AbstractDeclarativeScopeProvider.NAMED_DELEGATE)).to(org.eclipse.xtext.scoping.impl.ImportedNamespaceAwareLocalScopeProvider.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.scoping.AbstractScopingFragment
+ public void configureIgnoreCaseLinking(com.google.inject.Binder binder) {
+ binder.bindConstant().annotatedWith(org.eclipse.xtext.scoping.IgnoreCaseLinking.class).to(false);
+ }
+
+ // contributed by org.eclipse.xtext.generator.exporting.QualifiedNamesFragment
+ public Class<? extends org.eclipse.xtext.naming.IQualifiedNameProvider> bindIQualifiedNameProvider() {
+ return org.eclipse.xtext.naming.DefaultDeclarativeQualifiedNameProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.IContainer.Manager> bindIContainer$Manager() {
+ return org.eclipse.xtext.resource.containers.StateBasedContainerManager.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public Class<? extends org.eclipse.xtext.resource.containers.IAllContainersState.Provider> bindIAllContainersState$Provider() {
+ return org.eclipse.xtext.resource.containers.ResourceSetBasedAllContainersStateProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptions(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.builder.BuilderIntegrationFragment
+ public void configureIResourceDescriptionsBuilderScope(com.google.inject.Binder binder) {
+ binder.bind(org.eclipse.xtext.resource.IResourceDescriptions.class).annotatedWith(com.google.inject.name.Names.named(org.eclipse.xtext.resource.impl.ResourceDescriptionsProvider.NAMED_BUILDER_SCOPE)).to(org.eclipse.xtext.resource.impl.ResourceSetBasedResourceDescriptions.class);
+ }
+
+ // contributed by org.eclipse.xtext.generator.generator.GeneratorFragment
+ public Class<? extends org.eclipse.xtext.generator.IGenerator> bindIGenerator() {
+ return org.eclipse.papyrus.infra.gmfdiag.generator.CSSGenerator.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.formatting.FormatterFragment
+ public Class<? extends org.eclipse.xtext.formatting.IFormatter> bindIFormatter() {
+ return org.eclipse.papyrus.infra.gmfdiag.formatting.CSSFormatter.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public java.lang.ClassLoader bindClassLoaderToInstance() {
+ return getClass().getClassLoader();
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public org.eclipse.xtext.common.types.TypesFactory bindTypesFactoryToInstance() {
+ return org.eclipse.xtext.common.types.TypesFactory.eINSTANCE;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.access.IJvmTypeProvider.Factory> bindIJvmTypeProvider$Factory() {
+ return org.eclipse.xtext.common.types.access.ClasspathTypeProviderFactory.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.common.types.xtext.AbstractTypeScopeProvider> bindAbstractTypeScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.ClasspathBasedTypeScopeProvider.class;
+ }
+
+ // contributed by org.eclipse.xtext.generator.types.TypesGeneratorFragment
+ public Class<? extends org.eclipse.xtext.scoping.IGlobalScopeProvider> bindIGlobalScopeProvider() {
+ return org.eclipse.xtext.common.types.xtext.TypesAwareDefaultGlobalScopeProvider.class;
+ }
+
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore
new file mode 100644
index 00000000000..b8ba08b9241
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.ecore
@@ -0,0 +1,174 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ecore:EPackage xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" name="css" nsURI="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS"
+ nsPrefix="css">
+ <eClassifiers xsi:type="ecore:EClass" name="Stylesheet">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="charset" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="imports" upperBound="-1"
+ eType="#//Import" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="contents" upperBound="-1"
+ eType="#//Content" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Content"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Import">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="string" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="uri" eType="#//Uri" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="media" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Media" eSuperTypes="#//Content">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="media" unique="false" upperBound="-1"
+ eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="rules" upperBound="-1"
+ eType="#//Ruleset" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Page" eSuperTypes="#//Content">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="pseudo" eType="#//PseudoPage"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="declarations" upperBound="-1"
+ eType="#//Declaration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="PseudoPage">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="id" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Ruleset" eSuperTypes="#//Content">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="selectors" upperBound="-1"
+ eType="#//Selector" containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="properties" upperBound="-1"
+ eType="#//Declaration" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Selector"/>
+ <eClassifiers xsi:type="ecore:EClass" name="CompositeSelector" eSuperTypes="#//Selector">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="left" eType="#//SimpleSelector"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="combinator" eType="#//Combinator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="right" eType="#//Selector"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SimpleSelector" eSuperTypes="#//Selector">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="elementName" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="condition" upperBound="-1"
+ eType="#//SelectorCondition" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="SelectorCondition"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Combinator">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="kind" eType="#//KIND"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Declaration">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="property" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="expression" eType="#//Expression"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="important" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EBoolean"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Expression">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="terms" eType="#//Term"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="subterms" upperBound="-1"
+ eType="#//Subterm" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Subterm">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="term" eType="#//Term" containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Term"/>
+ <eClassifiers xsi:type="ecore:EClass" name="Function" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="args" eType="#//Expression"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Name" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Number" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Percentage" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Length" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Ems" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Exs" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Angle" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Time" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Frequency" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EReference" name="op" eType="#//UnaryOperator"
+ containment="true"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="unit" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Uri" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="StringValue" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="HexColor" eSuperTypes="#//Term">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Class" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="class" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Attribute" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="name" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EReference" name="value" eType="#//AttributeValue"
+ containment="true"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="AttributeValue">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//ATTRIBUTE_OP"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="Pseudo" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="pseudo" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="args" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="CSSId" eSuperTypes="#//SelectorCondition">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="value" eType="ecore:EDataType http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EClass" name="UnaryOperator">
+ <eStructuralFeatures xsi:type="ecore:EAttribute" name="operator" eType="#//UNARY"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="UNARY">
+ <eLiterals name="NEG" literal="-"/>
+ <eLiterals name="PLUS" value="1" literal="+"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="KIND">
+ <eLiterals name="FIRST_CHILD" literal=">"/>
+ <eLiterals name="SIBLING" value="1" literal="+"/>
+ </eClassifiers>
+ <eClassifiers xsi:type="ecore:EEnum" name="ATTRIBUTE_OP">
+ <eLiterals name="EQUALS" literal="="/>
+ <eLiterals name="CONTAINS" value="1" literal="~="/>
+ <eLiterals name="UNEQUALS" value="2" literal="!="/>
+ </eClassifiers>
+</ecore:EPackage>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel
new file mode 100644
index 00000000000..44d9b071329
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.genmodel
@@ -0,0 +1,155 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<genmodel:GenModel xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
+ xmlns:genmodel="http://www.eclipse.org/emf/2002/GenModel" modelDirectory="/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen"
+ editDirectory="/org.eclipse.papyrus.infra.gmfdiag.css.xtext.edit/src" editorDirectory="/org.eclipse.papyrus.infra.gmfdiag.css.xtext.editor/src"
+ modelPluginID="org.eclipse.papyrus.infra.gmfdiag.css.xtext" forceOverwrite="true"
+ modelName="CSS" updateClasspath="false" rootExtendsClass="org.eclipse.emf.ecore.impl.MinimalEObjectImpl$Container"
+ complianceLevel="5.0" copyrightFields="false" editPluginID="org.eclipse.papyrus.infra.gmfdiag.css.xtext.edit"
+ editorPluginID="org.eclipse.papyrus.infra.gmfdiag.css.xtext.editor">
+ <genPackages prefix="Css" basePackage="org.eclipse.papyrus.infra.gmfdiag" disposableProviderFactory="true"
+ ecorePackage="CSS.ecore#/">
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="CSS.ecore#//UNARY">
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//UNARY/NEG"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//UNARY/PLUS"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="CSS.ecore#//KIND">
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//KIND/FIRST_CHILD"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//KIND/SIBLING"/>
+ </genEnums>
+ <genEnums typeSafeEnumCompatible="false" ecoreEnum="CSS.ecore#//ATTRIBUTE_OP">
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//ATTRIBUTE_OP/EQUALS"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//ATTRIBUTE_OP/CONTAINS"/>
+ <genEnumLiterals ecoreEnumLiteral="CSS.ecore#//ATTRIBUTE_OP/UNEQUALS"/>
+ </genEnums>
+ <genClasses ecoreClass="CSS.ecore#//Stylesheet">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Stylesheet/charset"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Stylesheet/imports"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Stylesheet/contents"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Content"/>
+ <genClasses ecoreClass="CSS.ecore#//Import">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Import/string"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Import/uri"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Import/media"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Media">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Media/media"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Media/rules"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Page">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Page/pseudo"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Page/declarations"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//PseudoPage">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//PseudoPage/id"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Ruleset">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Ruleset/selectors"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Ruleset/properties"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Selector"/>
+ <genClasses ecoreClass="CSS.ecore#//CompositeSelector">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//CompositeSelector/left"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//CompositeSelector/combinator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//CompositeSelector/right"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//SimpleSelector">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//SimpleSelector/elementName"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//SimpleSelector/condition"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//SelectorCondition"/>
+ <genClasses ecoreClass="CSS.ecore#//Combinator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Combinator/kind"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Declaration">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Declaration/property"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Declaration/expression"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Declaration/important"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Expression">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Expression/terms"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Expression/subterms"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Subterm">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Subterm/operator"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Subterm/term"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Term"/>
+ <genClasses ecoreClass="CSS.ecore#//Function">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Function/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Function/args"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Name">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Name/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Number">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Number/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Number/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Percentage">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Percentage/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Percentage/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Percentage/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Length">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Length/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Length/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Length/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Ems">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Ems/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Ems/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Ems/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Exs">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Exs/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Exs/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Exs/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Angle">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Angle/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Angle/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Angle/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Time">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Time/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Time/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Time/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Frequency">
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Frequency/op"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Frequency/value"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Frequency/unit"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Uri">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Uri/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//StringValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//StringValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//HexColor">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//HexColor/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Class">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Class/class"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Attribute">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Attribute/name"/>
+ <genFeatures property="None" children="true" createChild="true" ecoreFeature="ecore:EReference CSS.ecore#//Attribute/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//AttributeValue">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//AttributeValue/operator"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//AttributeValue/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//Pseudo">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Pseudo/pseudo"/>
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//Pseudo/args"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//CSSId">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//CSSId/value"/>
+ </genClasses>
+ <genClasses ecoreClass="CSS.ecore#//UnaryOperator">
+ <genFeatures createChild="false" ecoreFeature="ecore:EAttribute CSS.ecore#//UnaryOperator/operator"/>
+ </genClasses>
+ </genPackages>
+</genmodel:GenModel>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi
new file mode 100644
index 00000000000..822fab0c9c0
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSS.xmi
@@ -0,0 +1,934 @@
+<?xml version="1.0" encoding="ASCII"?>
+<xtext:Grammar xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore" xmlns:xtext="http://www.eclipse.org/2008/Xtext" name="org.eclipse.papyrus.infra.gmfdiag.CSS" definesHiddenTokens="true" hiddenTokens="//@rules.54">
+ <metamodelDeclarations xsi:type="xtext:ReferencedMetamodel" alias="ecore">
+ <ePackage href="http://www.eclipse.org/emf/2002/Ecore#/"/>
+ </metamodelDeclarations>
+ <metamodelDeclarations xsi:type="xtext:GeneratedMetamodel" name="css">
+ <ePackage href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#/"/>
+ </metamodelDeclarations>
+ <rules xsi:type="xtext:ParserRule" name="Stylesheet">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Stylesheet"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Keyword" value="@charset "/>
+ <elements xsi:type="xtext:Assignment" feature="charset" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.55"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.52"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.53"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="imports" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.2"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.52"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.53"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Assignment" feature="contents" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.1"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.52"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.53"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Content">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Content"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.6"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.3"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.4"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Import">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Import"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="@import"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="string" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="uri" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.26"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Media">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Media"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="@media"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="media" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="rules" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.6"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Page">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Page"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Action">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Page"/>
+ </type>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="@page"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="pseudo" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.5"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="declarations" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="declarations" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="PseudoPage">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//PseudoPage"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Assignment" feature="id" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Ruleset">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Ruleset"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="selectors" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="selectors" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="{"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="properties" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="*">
+ <elements xsi:type="xtext:Keyword" value=";"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="properties" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.12"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="}"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Selector">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Selector"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.9"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.8"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CompositeSelector">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//CompositeSelector"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="left" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.9"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" cardinality="+" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="combinator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.11"/>
+ </elements>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="right" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.7"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SimpleSelector">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//SimpleSelector"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="elementName" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ <elements xsi:type="xtext:Keyword" value="*"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="condition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="+" feature="condition" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.10"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="SelectorCondition">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//SelectorCondition"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.34"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.30"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.31"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.33"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Combinator">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Combinator"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="kind" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.37"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Declaration">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Declaration"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="property" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="expression" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.13"/>
+ </elements>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="important" operator="?=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.41"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Expression">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Expression"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="terms" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.15"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" cardinality="*" feature="subterms" operator="+=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.14"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Subterm">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Subterm"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="operator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.29"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="term" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.15"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Term">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Term"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.18"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.19"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.20"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.21"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.22"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.23"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.24"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.25"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.17"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.27"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.26"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.28"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.16"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Function">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Function"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="args" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.13"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Name">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Name"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Number">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Number"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Percentage">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Percentage"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.42"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Length">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Length"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.43"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Ems">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Ems"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.44"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Exs">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Exs"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.45"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Angle">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Angle"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.46"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Time">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Time"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.47"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Frequency">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Frequency"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="op" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.35"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.49"/>
+ </elements>
+ <elements xsi:type="xtext:Assignment" feature="unit" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.48"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Uri">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Uri"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="url("/>
+ <elements xsi:type="xtext:RuleCall" cardinality="?" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="?" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="StringValue">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//StringValue"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="HexColor">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//HexColor"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.39"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Operator">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/"/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=","/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Class">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Class"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="class" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.40"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Attribute">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Attribute"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="["/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="name" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" cardinality="?" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.32"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="]"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="AttributeValue">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//AttributeValue"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="operator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.38"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.51"/>
+ </terminal>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="Pseudo">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//Pseudo"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value=":"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Assignment" feature="pseudo" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Assignment" feature="pseudo" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="("/>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ <elements xsi:type="xtext:Group" cardinality="?">
+ <elements xsi:type="xtext:Assignment" feature="args" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </elements>
+ <elements xsi:type="xtext:RuleCall" cardinality="*" rule="//@rules.55"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value=")"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="CSSId">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//CSSId"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="value" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.39"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:ParserRule" name="UnaryOperator">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EClass" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UnaryOperator"/>
+ </type>
+ <alternatives xsi:type="xtext:Assignment" feature="operator" operator="=">
+ <terminal xsi:type="xtext:RuleCall" rule="//@rules.36"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="UNARY">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UNARY"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UNARY/NEG"/>
+ <literal value="-"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//UNARY/PLUS"/>
+ <literal value="+"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="KIND">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//KIND"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//KIND/FIRST_CHILD"/>
+ <literal value=">"/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//KIND/SIBLING"/>
+ <literal value="+"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:EnumRule" name="ATTRIBUTE_OP">
+ <type metamodel="//@metamodelDeclarations.1">
+ <classifier xsi:type="ecore:EEnum" href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP/EQUALS"/>
+ <literal value="="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP/CONTAINS"/>
+ <literal value="~="/>
+ </elements>
+ <elements xsi:type="xtext:EnumLiteralDeclaration">
+ <enumLiteral href="http://www.eclipse.org/papyrus/infra/gmfdiag/CSS#//ATTRIBUTE_OP/UNEQUALS"/>
+ <literal value="!="/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="HASH">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="#"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="T_CLASS">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:RuleCall" rule="//@rules.50"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="T_IMPORTANT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="!important"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="PC_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="%"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="LEN_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="px"/>
+ <elements xsi:type="xtext:Keyword" value="cm"/>
+ <elements xsi:type="xtext:Keyword" value="mm"/>
+ <elements xsi:type="xtext:Keyword" value="in"/>
+ <elements xsi:type="xtext:Keyword" value="pt"/>
+ <elements xsi:type="xtext:Keyword" value="pc"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="EM_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="em"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="EX_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="ex"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ANGLE_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="deg"/>
+ <elements xsi:type="xtext:Keyword" value="rad"/>
+ <elements xsi:type="xtext:Keyword" value="grad"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="TIME_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="s"/>
+ <elements xsi:type="xtext:Keyword" value="ms"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="FREQ_UNIT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="hz"/>
+ <elements xsi:type="xtext:Keyword" value="mhz"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="T_NUM">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:CharacterRange" cardinality="*">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="."/>
+ <elements xsi:type="xtext:CharacterRange" cardinality="+">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ID">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ </elements>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="a"/>
+ <right value="z"/>
+ </elements>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="A"/>
+ <right value="Z"/>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="_"/>
+ <elements xsi:type="xtext:CharacterRange">
+ <left value="0"/>
+ <right value="9"/>
+ </elements>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="STRING">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="u"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ </elements>
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Alternatives" cardinality="*">
+ <elements xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="b"/>
+ <elements xsi:type="xtext:Keyword" value="t"/>
+ <elements xsi:type="xtext:Keyword" value="n"/>
+ <elements xsi:type="xtext:Keyword" value="f"/>
+ <elements xsi:type="xtext:Keyword" value="r"/>
+ <elements xsi:type="xtext:Keyword" value="u"/>
+ <elements xsi:type="xtext:Keyword" value="&quot;"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:NegatedToken">
+ <terminal xsi:type="xtext:Alternatives">
+ <elements xsi:type="xtext:Keyword" value="\"/>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </terminal>
+ </elements>
+ </elements>
+ <elements xsi:type="xtext:Keyword" value="'"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="CDO">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="&lt;!--"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="CDC">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Keyword" value="-->"/>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ML_COMMENT">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Group">
+ <elements xsi:type="xtext:Keyword" value="/*"/>
+ <elements xsi:type="xtext:UntilToken">
+ <terminal xsi:type="xtext:Keyword" value="*/"/>
+ </elements>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="WS">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Alternatives" cardinality="+">
+ <elements xsi:type="xtext:Keyword" value=" "/>
+ <elements xsi:type="xtext:Keyword" value="&#x9;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xD;"/>
+ <elements xsi:type="xtext:Keyword" value="&#xA;"/>
+ </alternatives>
+ </rules>
+ <rules xsi:type="xtext:TerminalRule" name="ANY_OTHER">
+ <type metamodel="//@metamodelDeclarations.0">
+ <classifier xsi:type="ecore:EDataType" href="http://www.eclipse.org/emf/2002/Ecore#//EString"/>
+ </type>
+ <alternatives xsi:type="xtext:Wildcard"/>
+ </rules>
+</xtext:Grammar>
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java
new file mode 100644
index 00000000000..85a2da23684
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/CSSStandaloneSetupGenerated.java
@@ -0,0 +1,51 @@
+package org.eclipse.papyrus.infra.gmfdiag;
+
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.resource.Resource;
+import org.eclipse.xtext.ISetup;
+
+import com.google.inject.Guice;
+import com.google.inject.Injector;
+
+/**
+ * Generated from StandaloneSetup.xpt!
+ */
+@SuppressWarnings("all")
+public class CSSStandaloneSetupGenerated implements ISetup {
+
+ public Injector createInjectorAndDoEMFRegistration() {
+ // register default ePackages
+ if(!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("ecore")) {
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("ecore", new org.eclipse.emf.ecore.xmi.impl.EcoreResourceFactoryImpl());
+ }
+ if(!Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().containsKey("xmi")) {
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("xmi", new org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl());
+ }
+ if(!EPackage.Registry.INSTANCE.containsKey(org.eclipse.xtext.XtextPackage.eNS_URI)) {
+ EPackage.Registry.INSTANCE.put(org.eclipse.xtext.XtextPackage.eNS_URI, org.eclipse.xtext.XtextPackage.eINSTANCE);
+ }
+
+ Injector injector = createInjector();
+ register(injector);
+ return injector;
+ }
+
+ public Injector createInjector() {
+ return Guice.createInjector(new org.eclipse.papyrus.infra.gmfdiag.CSSRuntimeModule());
+ }
+
+ public void register(Injector injector) {
+ if(!EPackage.Registry.INSTANCE.containsKey("http://www.eclipse.org/papyrus/infra/gmfdiag/CSS")) {
+ EPackage.Registry.INSTANCE.put("http://www.eclipse.org/papyrus/infra/gmfdiag/CSS", org.eclipse.papyrus.infra.gmfdiag.css.CssPackage.eINSTANCE);
+ }
+
+ org.eclipse.xtext.resource.IResourceFactory resourceFactory = injector.getInstance(org.eclipse.xtext.resource.IResourceFactory.class);
+ org.eclipse.xtext.resource.IResourceServiceProvider serviceProvider = injector.getInstance(org.eclipse.xtext.resource.IResourceServiceProvider.class);
+ Resource.Factory.Registry.INSTANCE.getExtensionToFactoryMap().put("css", resourceFactory);
+ org.eclipse.xtext.resource.IResourceServiceProvider.Registry.INSTANCE.getExtensionToFactoryMap().put("css", serviceProvider);
+
+
+
+
+ }
+}
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java
new file mode 100644
index 00000000000..7b00fc4e00e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/ATTRIBUTE_OP.java
@@ -0,0 +1,250 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>ATTRIBUTE OP</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getATTRIBUTE_OP()
+ * @model
+ * @generated
+ */
+public enum ATTRIBUTE_OP implements Enumerator
+{
+ /**
+ * The '<em><b>EQUALS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #EQUALS_VALUE
+ * @generated
+ * @ordered
+ */
+ EQUALS(0, "EQUALS", "="),
+
+ /**
+ * The '<em><b>CONTAINS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #CONTAINS_VALUE
+ * @generated
+ * @ordered
+ */
+ CONTAINS(1, "CONTAINS", "~="),
+
+ /**
+ * The '<em><b>UNEQUALS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #UNEQUALS_VALUE
+ * @generated
+ * @ordered
+ */
+ UNEQUALS(2, "UNEQUALS", "!=");
+
+ /**
+ * The '<em><b>EQUALS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>EQUALS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #EQUALS
+ * @model literal="="
+ * @generated
+ * @ordered
+ */
+ public static final int EQUALS_VALUE = 0;
+
+ /**
+ * The '<em><b>CONTAINS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>CONTAINS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #CONTAINS
+ * @model literal="~="
+ * @generated
+ * @ordered
+ */
+ public static final int CONTAINS_VALUE = 1;
+
+ /**
+ * The '<em><b>UNEQUALS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>UNEQUALS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #UNEQUALS
+ * @model literal="!="
+ * @generated
+ * @ordered
+ */
+ public static final int UNEQUALS_VALUE = 2;
+
+ /**
+ * An array of all the '<em><b>ATTRIBUTE OP</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final ATTRIBUTE_OP[] VALUES_ARRAY =
+ new ATTRIBUTE_OP[]
+ {
+ EQUALS,
+ CONTAINS,
+ UNEQUALS,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>ATTRIBUTE OP</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<ATTRIBUTE_OP> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>ATTRIBUTE OP</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ATTRIBUTE_OP get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ ATTRIBUTE_OP result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ATTRIBUTE OP</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ATTRIBUTE_OP getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ ATTRIBUTE_OP result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>ATTRIBUTE OP</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static ATTRIBUTE_OP get(int value)
+ {
+ switch (value)
+ {
+ case EQUALS_VALUE: return EQUALS;
+ case CONTAINS_VALUE: return CONTAINS;
+ case UNEQUALS_VALUE: return UNEQUALS;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private ATTRIBUTE_OP(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //ATTRIBUTE_OP
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java
new file mode 100644
index 00000000000..3530d3da67b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Angle.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Angle</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle()
+ * @model
+ * @generated
+ */
+public interface Angle extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAngle_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Angle
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java
new file mode 100644
index 00000000000..c3256f2820e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Attribute.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttribute()
+ * @model
+ * @generated
+ */
+public interface Attribute extends SelectorCondition
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttribute_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' containment reference.
+ * @see #setValue(AttributeValue)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttribute_Value()
+ * @model containment="true"
+ * @generated
+ */
+ AttributeValue getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' containment reference.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(AttributeValue value);
+
+} // Attribute
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java
new file mode 100644
index 00000000000..7648b391b65
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/AttributeValue.java
@@ -0,0 +1,81 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttributeValue()
+ * @model
+ * @generated
+ */
+public interface AttributeValue extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see #setOperator(ATTRIBUTE_OP)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttributeValue_Operator()
+ * @model
+ * @generated
+ */
+ ATTRIBUTE_OP getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(ATTRIBUTE_OP value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getAttributeValue_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // AttributeValue
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java
new file mode 100644
index 00000000000..9a038d1a411
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CSSId.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>CSS Id</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCSSId()
+ * @model
+ * @generated
+ */
+public interface CSSId extends SelectorCondition
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCSSId_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // CSSId
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java
new file mode 100644
index 00000000000..325cc19e399
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Class.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Class</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_ <em>Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getClass_()
+ * @model
+ * @generated
+ */
+public interface Class extends SelectorCondition
+{
+ /**
+ * Returns the value of the '<em><b>Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Class</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Class</em>' attribute.
+ * @see #setClass(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getClass_Class()
+ * @model
+ * @generated
+ */
+ String getClass_();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_ <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Class</em>' attribute.
+ * @see #getClass_()
+ * @generated
+ */
+ void setClass(String value);
+
+} // Class
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java
new file mode 100644
index 00000000000..1e84984c2c1
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Combinator.java
@@ -0,0 +1,54 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Combinator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind <em>Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCombinator()
+ * @model
+ * @generated
+ */
+public interface Combinator extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Kind</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.gmfdiag.css.KIND}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Kind</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see #setKind(KIND)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCombinator_Kind()
+ * @model
+ * @generated
+ */
+ KIND getKind();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Kind</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see #getKind()
+ * @generated
+ */
+ void setKind(KIND value);
+
+} // Combinator
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java
new file mode 100644
index 00000000000..ab0db7689a6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CompositeSelector.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Composite Selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft <em>Left</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator <em>Combinator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight <em>Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector()
+ * @model
+ * @generated
+ */
+public interface CompositeSelector extends Selector
+{
+ /**
+ * Returns the value of the '<em><b>Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Left</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Left</em>' containment reference.
+ * @see #setLeft(SimpleSelector)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector_Left()
+ * @model containment="true"
+ * @generated
+ */
+ SimpleSelector getLeft();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft <em>Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Left</em>' containment reference.
+ * @see #getLeft()
+ * @generated
+ */
+ void setLeft(SimpleSelector value);
+
+ /**
+ * Returns the value of the '<em><b>Combinator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Combinator</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Combinator</em>' containment reference.
+ * @see #setCombinator(Combinator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector_Combinator()
+ * @model containment="true"
+ * @generated
+ */
+ Combinator getCombinator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator <em>Combinator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Combinator</em>' containment reference.
+ * @see #getCombinator()
+ * @generated
+ */
+ void setCombinator(Combinator value);
+
+ /**
+ * Returns the value of the '<em><b>Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Right</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Right</em>' containment reference.
+ * @see #setRight(Selector)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getCompositeSelector_Right()
+ * @model containment="true"
+ * @generated
+ */
+ Selector getRight();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight <em>Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Right</em>' containment reference.
+ * @see #getRight()
+ * @generated
+ */
+ void setRight(Selector value);
+
+} // CompositeSelector
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java
new file mode 100644
index 00000000000..d0159846fb9
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Content.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Content</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getContent()
+ * @model
+ * @generated
+ */
+public interface Content extends EObject
+{
+} // Content
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java
new file mode 100644
index 00000000000..42b723ca301
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssFactory.java
@@ -0,0 +1,349 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EFactory;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Factory</b> for the model.
+ * It provides a create method for each non-abstract class of the model.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage
+ * @generated
+ */
+public interface CssFactory extends EFactory
+{
+ /**
+ * The singleton instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CssFactory eINSTANCE = org.eclipse.papyrus.infra.gmfdiag.css.impl.CssFactoryImpl.init();
+
+ /**
+ * Returns a new object of class '<em>Stylesheet</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Stylesheet</em>'.
+ * @generated
+ */
+ Stylesheet createStylesheet();
+
+ /**
+ * Returns a new object of class '<em>Content</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Content</em>'.
+ * @generated
+ */
+ Content createContent();
+
+ /**
+ * Returns a new object of class '<em>Import</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Import</em>'.
+ * @generated
+ */
+ Import createImport();
+
+ /**
+ * Returns a new object of class '<em>Media</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Media</em>'.
+ * @generated
+ */
+ Media createMedia();
+
+ /**
+ * Returns a new object of class '<em>Page</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Page</em>'.
+ * @generated
+ */
+ Page createPage();
+
+ /**
+ * Returns a new object of class '<em>Pseudo Page</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Pseudo Page</em>'.
+ * @generated
+ */
+ PseudoPage createPseudoPage();
+
+ /**
+ * Returns a new object of class '<em>Ruleset</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ruleset</em>'.
+ * @generated
+ */
+ Ruleset createRuleset();
+
+ /**
+ * Returns a new object of class '<em>Selector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Selector</em>'.
+ * @generated
+ */
+ Selector createSelector();
+
+ /**
+ * Returns a new object of class '<em>Composite Selector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Composite Selector</em>'.
+ * @generated
+ */
+ CompositeSelector createCompositeSelector();
+
+ /**
+ * Returns a new object of class '<em>Simple Selector</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Simple Selector</em>'.
+ * @generated
+ */
+ SimpleSelector createSimpleSelector();
+
+ /**
+ * Returns a new object of class '<em>Selector Condition</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Selector Condition</em>'.
+ * @generated
+ */
+ SelectorCondition createSelectorCondition();
+
+ /**
+ * Returns a new object of class '<em>Combinator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Combinator</em>'.
+ * @generated
+ */
+ Combinator createCombinator();
+
+ /**
+ * Returns a new object of class '<em>Declaration</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Declaration</em>'.
+ * @generated
+ */
+ Declaration createDeclaration();
+
+ /**
+ * Returns a new object of class '<em>Expression</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Expression</em>'.
+ * @generated
+ */
+ Expression createExpression();
+
+ /**
+ * Returns a new object of class '<em>Subterm</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Subterm</em>'.
+ * @generated
+ */
+ Subterm createSubterm();
+
+ /**
+ * Returns a new object of class '<em>Term</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Term</em>'.
+ * @generated
+ */
+ Term createTerm();
+
+ /**
+ * Returns a new object of class '<em>Function</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Function</em>'.
+ * @generated
+ */
+ Function createFunction();
+
+ /**
+ * Returns a new object of class '<em>Name</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Name</em>'.
+ * @generated
+ */
+ Name createName();
+
+ /**
+ * Returns a new object of class '<em>Number</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Number</em>'.
+ * @generated
+ */
+ Number createNumber();
+
+ /**
+ * Returns a new object of class '<em>Percentage</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Percentage</em>'.
+ * @generated
+ */
+ Percentage createPercentage();
+
+ /**
+ * Returns a new object of class '<em>Length</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Length</em>'.
+ * @generated
+ */
+ Length createLength();
+
+ /**
+ * Returns a new object of class '<em>Ems</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Ems</em>'.
+ * @generated
+ */
+ Ems createEms();
+
+ /**
+ * Returns a new object of class '<em>Exs</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Exs</em>'.
+ * @generated
+ */
+ Exs createExs();
+
+ /**
+ * Returns a new object of class '<em>Angle</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Angle</em>'.
+ * @generated
+ */
+ Angle createAngle();
+
+ /**
+ * Returns a new object of class '<em>Time</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Time</em>'.
+ * @generated
+ */
+ Time createTime();
+
+ /**
+ * Returns a new object of class '<em>Frequency</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Frequency</em>'.
+ * @generated
+ */
+ Frequency createFrequency();
+
+ /**
+ * Returns a new object of class '<em>Uri</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Uri</em>'.
+ * @generated
+ */
+ Uri createUri();
+
+ /**
+ * Returns a new object of class '<em>String Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>String Value</em>'.
+ * @generated
+ */
+ StringValue createStringValue();
+
+ /**
+ * Returns a new object of class '<em>Hex Color</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Hex Color</em>'.
+ * @generated
+ */
+ HexColor createHexColor();
+
+ /**
+ * Returns a new object of class '<em>Class</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Class</em>'.
+ * @generated
+ */
+ Class createClass();
+
+ /**
+ * Returns a new object of class '<em>Attribute</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attribute</em>'.
+ * @generated
+ */
+ Attribute createAttribute();
+
+ /**
+ * Returns a new object of class '<em>Attribute Value</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Attribute Value</em>'.
+ * @generated
+ */
+ AttributeValue createAttributeValue();
+
+ /**
+ * Returns a new object of class '<em>Pseudo</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Pseudo</em>'.
+ * @generated
+ */
+ Pseudo createPseudo();
+
+ /**
+ * Returns a new object of class '<em>CSS Id</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>CSS Id</em>'.
+ * @generated
+ */
+ CSSId createCSSId();
+
+ /**
+ * Returns a new object of class '<em>Unary Operator</em>'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return a new object of class '<em>Unary Operator</em>'.
+ * @generated
+ */
+ UnaryOperator createUnaryOperator();
+
+ /**
+ * Returns the package supported by this factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the package supported by this factory.
+ * @generated
+ */
+ CssPackage getCssPackage();
+
+} //CssFactory
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java
new file mode 100644
index 00000000000..1d1ad5c6a76
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/CssPackage.java
@@ -0,0 +1,3333 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+/**
+ * <!-- begin-user-doc -->
+ * The <b>Package</b> for the model.
+ * It contains accessors for the meta objects to represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssFactory
+ * @model kind="package"
+ * @generated
+ */
+public interface CssPackage extends EPackage
+{
+ /**
+ * The package name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNAME = "css";
+
+ /**
+ * The package namespace URI.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_URI = "http://www.eclipse.org/papyrus/infra/gmfdiag/CSS";
+
+ /**
+ * The package namespace name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ String eNS_PREFIX = "css";
+
+ /**
+ * The singleton instance of the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ CssPackage eINSTANCE = org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl.init();
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl <em>Stylesheet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStylesheet()
+ * @generated
+ */
+ int STYLESHEET = 0;
+
+ /**
+ * The feature id for the '<em><b>Charset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__CHARSET = 0;
+
+ /**
+ * The feature id for the '<em><b>Imports</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__IMPORTS = 1;
+
+ /**
+ * The feature id for the '<em><b>Contents</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET__CONTENTS = 2;
+
+ /**
+ * The number of structural features of the '<em>Stylesheet</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STYLESHEET_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ContentImpl <em>Content</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ContentImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getContent()
+ * @generated
+ */
+ int CONTENT = 1;
+
+ /**
+ * The number of structural features of the '<em>Content</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CONTENT_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getImport()
+ * @generated
+ */
+ int IMPORT = 2;
+
+ /**
+ * The feature id for the '<em><b>String</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__STRING = 0;
+
+ /**
+ * The feature id for the '<em><b>Uri</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__URI = 1;
+
+ /**
+ * The feature id for the '<em><b>Media</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT__MEDIA = 2;
+
+ /**
+ * The number of structural features of the '<em>Import</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int IMPORT_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl <em>Media</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getMedia()
+ * @generated
+ */
+ int MEDIA = 3;
+
+ /**
+ * The feature id for the '<em><b>Media</b></em>' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEDIA__MEDIA = CONTENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Rules</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEDIA__RULES = CONTENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Media</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int MEDIA_FEATURE_COUNT = CONTENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl <em>Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPage()
+ * @generated
+ */
+ int PAGE = 4;
+
+ /**
+ * The feature id for the '<em><b>Pseudo</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PAGE__PSEUDO = CONTENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Declarations</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PAGE__DECLARATIONS = CONTENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Page</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PAGE_FEATURE_COUNT = CONTENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl <em>Pseudo Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudoPage()
+ * @generated
+ */
+ int PSEUDO_PAGE = 5;
+
+ /**
+ * The feature id for the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO_PAGE__ID = 0;
+
+ /**
+ * The number of structural features of the '<em>Pseudo Page</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO_PAGE_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl <em>Ruleset</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getRuleset()
+ * @generated
+ */
+ int RULESET = 6;
+
+ /**
+ * The feature id for the '<em><b>Selectors</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULESET__SELECTORS = CONTENT_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Properties</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULESET__PROPERTIES = CONTENT_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Ruleset</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int RULESET_FEATURE_COUNT = CONTENT_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl <em>Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelector()
+ * @generated
+ */
+ int SELECTOR = 7;
+
+ /**
+ * The number of structural features of the '<em>Selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl <em>Composite Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCompositeSelector()
+ * @generated
+ */
+ int COMPOSITE_SELECTOR = 8;
+
+ /**
+ * The feature id for the '<em><b>Left</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR__LEFT = SELECTOR_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Combinator</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR__COMBINATOR = SELECTOR_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Right</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR__RIGHT = SELECTOR_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Composite Selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMPOSITE_SELECTOR_FEATURE_COUNT = SELECTOR_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl <em>Simple Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSimpleSelector()
+ * @generated
+ */
+ int SIMPLE_SELECTOR = 9;
+
+ /**
+ * The feature id for the '<em><b>Element Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR__ELEMENT_NAME = SELECTOR_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Condition</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR__CONDITION = SELECTOR_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Simple Selector</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SIMPLE_SELECTOR_FEATURE_COUNT = SELECTOR_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl <em>Selector Condition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelectorCondition()
+ * @generated
+ */
+ int SELECTOR_CONDITION = 10;
+
+ /**
+ * The number of structural features of the '<em>Selector Condition</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SELECTOR_CONDITION_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl <em>Combinator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCombinator()
+ * @generated
+ */
+ int COMBINATOR = 11;
+
+ /**
+ * The feature id for the '<em><b>Kind</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMBINATOR__KIND = 0;
+
+ /**
+ * The number of structural features of the '<em>Combinator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int COMBINATOR_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl <em>Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getDeclaration()
+ * @generated
+ */
+ int DECLARATION = 12;
+
+ /**
+ * The feature id for the '<em><b>Property</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__PROPERTY = 0;
+
+ /**
+ * The feature id for the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__EXPRESSION = 1;
+
+ /**
+ * The feature id for the '<em><b>Important</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION__IMPORTANT = 2;
+
+ /**
+ * The number of structural features of the '<em>Declaration</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int DECLARATION_FEATURE_COUNT = 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExpression()
+ * @generated
+ */
+ int EXPRESSION = 13;
+
+ /**
+ * The feature id for the '<em><b>Terms</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__TERMS = 0;
+
+ /**
+ * The feature id for the '<em><b>Subterms</b></em>' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION__SUBTERMS = 1;
+
+ /**
+ * The number of structural features of the '<em>Expression</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXPRESSION_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl <em>Subterm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSubterm()
+ * @generated
+ */
+ int SUBTERM = 14;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBTERM__OPERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Term</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBTERM__TERM = 1;
+
+ /**
+ * The number of structural features of the '<em>Subterm</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int SUBTERM_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl <em>Term</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTerm()
+ * @generated
+ */
+ int TERM = 15;
+
+ /**
+ * The number of structural features of the '<em>Term</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TERM_FEATURE_COUNT = 0;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl <em>Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getFunction()
+ * @generated
+ */
+ int FUNCTION = 16;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__NAME = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Args</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION__ARGS = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Function</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FUNCTION_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl <em>Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getName_()
+ * @generated
+ */
+ int NAME = 17;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Name</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NAME_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl <em>Number</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getNumber()
+ * @generated
+ */
+ int NUMBER = 18;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Number</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int NUMBER_FEATURE_COUNT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl <em>Percentage</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPercentage()
+ * @generated
+ */
+ int PERCENTAGE = 19;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Percentage</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PERCENTAGE_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl <em>Length</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getLength()
+ * @generated
+ */
+ int LENGTH = 20;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Length</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int LENGTH_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl <em>Ems</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getEms()
+ * @generated
+ */
+ int EMS = 21;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Ems</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EMS_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl <em>Exs</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExs()
+ * @generated
+ */
+ int EXS = 22;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Exs</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int EXS_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl <em>Angle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAngle()
+ * @generated
+ */
+ int ANGLE = 23;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Angle</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ANGLE_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl <em>Time</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTime()
+ * @generated
+ */
+ int TIME = 24;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Time</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int TIME_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl <em>Frequency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getFrequency()
+ * @generated
+ */
+ int FREQUENCY = 25;
+
+ /**
+ * The feature id for the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY__OP = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY__VALUE = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The feature id for the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY__UNIT = TERM_FEATURE_COUNT + 2;
+
+ /**
+ * The number of structural features of the '<em>Frequency</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int FREQUENCY_FEATURE_COUNT = TERM_FEATURE_COUNT + 3;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl <em>Uri</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUri()
+ * @generated
+ */
+ int URI = 26;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Uri</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int URI_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl <em>String Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStringValue()
+ * @generated
+ */
+ int STRING_VALUE = 27;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>String Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int STRING_VALUE_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl <em>Hex Color</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getHexColor()
+ * @generated
+ */
+ int HEX_COLOR = 28;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HEX_COLOR__VALUE = TERM_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Hex Color</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int HEX_COLOR_FEATURE_COUNT = TERM_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl <em>Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getClass_()
+ * @generated
+ */
+ int CLASS = 29;
+
+ /**
+ * The feature id for the '<em><b>Class</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS__CLASS = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>Class</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CLASS_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl <em>Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttribute()
+ * @generated
+ */
+ int ATTRIBUTE = 30;
+
+ /**
+ * The feature id for the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__NAME = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE__VALUE = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Attribute</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl <em>Attribute Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttributeValue()
+ * @generated
+ */
+ int ATTRIBUTE_VALUE = 31;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_VALUE__OPERATOR = 0;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_VALUE__VALUE = 1;
+
+ /**
+ * The number of structural features of the '<em>Attribute Value</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int ATTRIBUTE_VALUE_FEATURE_COUNT = 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl <em>Pseudo</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudo()
+ * @generated
+ */
+ int PSEUDO = 32;
+
+ /**
+ * The feature id for the '<em><b>Pseudo</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO__PSEUDO = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The feature id for the '<em><b>Args</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO__ARGS = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The number of structural features of the '<em>Pseudo</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int PSEUDO_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 2;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl <em>CSS Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCSSId()
+ * @generated
+ */
+ int CSS_ID = 33;
+
+ /**
+ * The feature id for the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_ID__VALUE = SELECTOR_CONDITION_FEATURE_COUNT + 0;
+
+ /**
+ * The number of structural features of the '<em>CSS Id</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int CSS_ID_FEATURE_COUNT = SELECTOR_CONDITION_FEATURE_COUNT + 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl <em>Unary Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUnaryOperator()
+ * @generated
+ */
+ int UNARY_OPERATOR = 34;
+
+ /**
+ * The feature id for the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNARY_OPERATOR__OPERATOR = 0;
+
+ /**
+ * The number of structural features of the '<em>Unary Operator</em>' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ * @ordered
+ */
+ int UNARY_OPERATOR_FEATURE_COUNT = 1;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY <em>UNARY</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUNARY()
+ * @generated
+ */
+ int UNARY = 35;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.KIND <em>KIND</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getKIND()
+ * @generated
+ */
+ int KIND = 36;
+
+ /**
+ * The meta object id for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP <em>ATTRIBUTE OP</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getATTRIBUTE_OP()
+ * @generated
+ */
+ int ATTRIBUTE_OP = 37;
+
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet <em>Stylesheet</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Stylesheet</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet
+ * @generated
+ */
+ EClass getStylesheet();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getCharset <em>Charset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Charset</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getCharset()
+ * @see #getStylesheet()
+ * @generated
+ */
+ EAttribute getStylesheet_Charset();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getImports <em>Imports</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Imports</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getImports()
+ * @see #getStylesheet()
+ * @generated
+ */
+ EReference getStylesheet_Imports();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getContents <em>Contents</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Contents</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getContents()
+ * @see #getStylesheet()
+ * @generated
+ */
+ EReference getStylesheet_Contents();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Content <em>Content</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Content</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Content
+ * @generated
+ */
+ EClass getContent();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import <em>Import</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Import</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import
+ * @generated
+ */
+ EClass getImport();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getString <em>String</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>String</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import#getString()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_String();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getUri <em>Uri</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Uri</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import#getUri()
+ * @see #getImport()
+ * @generated
+ */
+ EReference getImport_Uri();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getMedia <em>Media</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Media</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Import#getMedia()
+ * @see #getImport()
+ * @generated
+ */
+ EAttribute getImport_Media();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Media <em>Media</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Media</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Media
+ * @generated
+ */
+ EClass getMedia();
+
+ /**
+ * Returns the meta object for the attribute list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getMedia <em>Media</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute list '<em>Media</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Media#getMedia()
+ * @see #getMedia()
+ * @generated
+ */
+ EAttribute getMedia_Media();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getRules <em>Rules</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Rules</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Media#getRules()
+ * @see #getMedia()
+ * @generated
+ */
+ EReference getMedia_Rules();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page <em>Page</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Page</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Page
+ * @generated
+ */
+ EClass getPage();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo <em>Pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Pseudo</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo()
+ * @see #getPage()
+ * @generated
+ */
+ EReference getPage_Pseudo();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getDeclarations <em>Declarations</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Declarations</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Page#getDeclarations()
+ * @see #getPage()
+ * @generated
+ */
+ EReference getPage_Declarations();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage <em>Pseudo Page</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pseudo Page</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage
+ * @generated
+ */
+ EClass getPseudoPage();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#getId <em>Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Id</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#getId()
+ * @see #getPseudoPage()
+ * @generated
+ */
+ EAttribute getPseudoPage_Id();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset <em>Ruleset</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ruleset</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ruleset
+ * @generated
+ */
+ EClass getRuleset();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getSelectors <em>Selectors</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Selectors</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getSelectors()
+ * @see #getRuleset()
+ * @generated
+ */
+ EReference getRuleset_Selectors();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getProperties <em>Properties</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Properties</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getProperties()
+ * @see #getRuleset()
+ * @generated
+ */
+ EReference getRuleset_Properties();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Selector <em>Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Selector</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Selector
+ * @generated
+ */
+ EClass getSelector();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector <em>Composite Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Composite Selector</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector
+ * @generated
+ */
+ EClass getCompositeSelector();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft <em>Left</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Left</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getLeft()
+ * @see #getCompositeSelector()
+ * @generated
+ */
+ EReference getCompositeSelector_Left();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator <em>Combinator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Combinator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getCombinator()
+ * @see #getCompositeSelector()
+ * @generated
+ */
+ EReference getCompositeSelector_Combinator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight <em>Right</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Right</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector#getRight()
+ * @see #getCompositeSelector()
+ * @generated
+ */
+ EReference getCompositeSelector_Right();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector <em>Simple Selector</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Simple Selector</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector
+ * @generated
+ */
+ EClass getSimpleSelector();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName <em>Element Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Element Name</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName()
+ * @see #getSimpleSelector()
+ * @generated
+ */
+ EAttribute getSimpleSelector_ElementName();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getCondition <em>Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Condition</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getCondition()
+ * @see #getSimpleSelector()
+ * @generated
+ */
+ EReference getSimpleSelector_Condition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition <em>Selector Condition</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Selector Condition</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition
+ * @generated
+ */
+ EClass getSelectorCondition();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator <em>Combinator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Combinator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Combinator
+ * @generated
+ */
+ EClass getCombinator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind <em>Kind</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Kind</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Combinator#getKind()
+ * @see #getCombinator()
+ * @generated
+ */
+ EAttribute getCombinator_Kind();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration <em>Declaration</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Declaration</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Declaration
+ * @generated
+ */
+ EClass getDeclaration();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getProperty <em>Property</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Property</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getProperty()
+ * @see #getDeclaration()
+ * @generated
+ */
+ EAttribute getDeclaration_Property();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression()
+ * @see #getDeclaration()
+ * @generated
+ */
+ EReference getDeclaration_Expression();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant <em>Important</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Important</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant()
+ * @see #getDeclaration()
+ * @generated
+ */
+ EAttribute getDeclaration_Important();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression <em>Expression</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Expression</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Expression
+ * @generated
+ */
+ EClass getExpression();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms <em>Terms</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Terms</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms()
+ * @see #getExpression()
+ * @generated
+ */
+ EReference getExpression_Terms();
+
+ /**
+ * Returns the meta object for the containment reference list '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getSubterms <em>Subterms</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference list '<em>Subterms</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Expression#getSubterms()
+ * @see #getExpression()
+ * @generated
+ */
+ EReference getExpression_Subterms();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm <em>Subterm</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Subterm</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Subterm
+ * @generated
+ */
+ EClass getSubterm();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator()
+ * @see #getSubterm()
+ * @generated
+ */
+ EAttribute getSubterm_Operator();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm <em>Term</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Term</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm()
+ * @see #getSubterm()
+ * @generated
+ */
+ EReference getSubterm_Term();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Term <em>Term</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Term</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Term
+ * @generated
+ */
+ EClass getTerm();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function <em>Function</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Function</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Function
+ * @generated
+ */
+ EClass getFunction();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Function#getName()
+ * @see #getFunction()
+ * @generated
+ */
+ EAttribute getFunction_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs <em>Args</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Args</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs()
+ * @see #getFunction()
+ * @generated
+ */
+ EReference getFunction_Args();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Name <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Name
+ * @generated
+ */
+ EClass getName_();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue()
+ * @see #getName_()
+ * @generated
+ */
+ EAttribute getName_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number <em>Number</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Number</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Number
+ * @generated
+ */
+ EClass getNumber();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp()
+ * @see #getNumber()
+ * @generated
+ */
+ EReference getNumber_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue()
+ * @see #getNumber()
+ * @generated
+ */
+ EAttribute getNumber_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage <em>Percentage</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Percentage</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage
+ * @generated
+ */
+ EClass getPercentage();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp()
+ * @see #getPercentage()
+ * @generated
+ */
+ EReference getPercentage_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue()
+ * @see #getPercentage()
+ * @generated
+ */
+ EAttribute getPercentage_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit()
+ * @see #getPercentage()
+ * @generated
+ */
+ EAttribute getPercentage_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length <em>Length</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Length</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length
+ * @generated
+ */
+ EClass getLength();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp()
+ * @see #getLength()
+ * @generated
+ */
+ EReference getLength_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue()
+ * @see #getLength()
+ * @generated
+ */
+ EAttribute getLength_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit()
+ * @see #getLength()
+ * @generated
+ */
+ EAttribute getLength_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems <em>Ems</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Ems</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems
+ * @generated
+ */
+ EClass getEms();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp()
+ * @see #getEms()
+ * @generated
+ */
+ EReference getEms_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue()
+ * @see #getEms()
+ * @generated
+ */
+ EAttribute getEms_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit()
+ * @see #getEms()
+ * @generated
+ */
+ EAttribute getEms_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs <em>Exs</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Exs</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs
+ * @generated
+ */
+ EClass getExs();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp()
+ * @see #getExs()
+ * @generated
+ */
+ EReference getExs_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue()
+ * @see #getExs()
+ * @generated
+ */
+ EAttribute getExs_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit()
+ * @see #getExs()
+ * @generated
+ */
+ EAttribute getExs_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle <em>Angle</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Angle</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle
+ * @generated
+ */
+ EClass getAngle();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle#getOp()
+ * @see #getAngle()
+ * @generated
+ */
+ EReference getAngle_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle#getValue()
+ * @see #getAngle()
+ * @generated
+ */
+ EAttribute getAngle_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Angle#getUnit()
+ * @see #getAngle()
+ * @generated
+ */
+ EAttribute getAngle_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time <em>Time</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Time</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time
+ * @generated
+ */
+ EClass getTime();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp()
+ * @see #getTime()
+ * @generated
+ */
+ EReference getTime_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue()
+ * @see #getTime()
+ * @generated
+ */
+ EAttribute getTime_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit()
+ * @see #getTime()
+ * @generated
+ */
+ EAttribute getTime_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency <em>Frequency</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Frequency</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency
+ * @generated
+ */
+ EClass getFrequency();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp <em>Op</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Op</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp()
+ * @see #getFrequency()
+ * @generated
+ */
+ EReference getFrequency_Op();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue()
+ * @see #getFrequency()
+ * @generated
+ */
+ EAttribute getFrequency_Value();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit <em>Unit</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Unit</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit()
+ * @see #getFrequency()
+ * @generated
+ */
+ EAttribute getFrequency_Unit();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Uri <em>Uri</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Uri</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Uri
+ * @generated
+ */
+ EClass getUri();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Uri#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Uri#getValue()
+ * @see #getUri()
+ * @generated
+ */
+ EAttribute getUri_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue <em>String Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>String Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.StringValue
+ * @generated
+ */
+ EClass getStringValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue()
+ * @see #getStringValue()
+ * @generated
+ */
+ EAttribute getStringValue_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor <em>Hex Color</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Hex Color</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.HexColor
+ * @generated
+ */
+ EClass getHexColor();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue()
+ * @see #getHexColor()
+ * @generated
+ */
+ EAttribute getHexColor_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Class <em>Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Class</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Class
+ * @generated
+ */
+ EClass getClass_();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_ <em>Class</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Class</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Class#getClass_()
+ * @see #getClass_()
+ * @generated
+ */
+ EAttribute getClass_Class();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute <em>Attribute</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attribute</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Attribute
+ * @generated
+ */
+ EClass getAttribute();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getName <em>Name</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Name</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getName()
+ * @see #getAttribute()
+ * @generated
+ */
+ EAttribute getAttribute_Name();
+
+ /**
+ * Returns the meta object for the containment reference '{@link org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the containment reference '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Attribute#getValue()
+ * @see #getAttribute()
+ * @generated
+ */
+ EReference getAttribute_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue <em>Attribute Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Attribute Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue
+ * @generated
+ */
+ EClass getAttributeValue();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getOperator()
+ * @see #getAttributeValue()
+ * @generated
+ */
+ EAttribute getAttributeValue_Operator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue#getValue()
+ * @see #getAttributeValue()
+ * @generated
+ */
+ EAttribute getAttributeValue_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo <em>Pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Pseudo</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Pseudo
+ * @generated
+ */
+ EClass getPseudo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getPseudo <em>Pseudo</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Pseudo</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getPseudo()
+ * @see #getPseudo()
+ * @generated
+ */
+ EAttribute getPseudo_Pseudo();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs <em>Args</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Args</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs()
+ * @see #getPseudo()
+ * @generated
+ */
+ EAttribute getPseudo_Args();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId <em>CSS Id</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>CSS Id</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CSSId
+ * @generated
+ */
+ EClass getCSSId();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue <em>Value</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Value</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CSSId#getValue()
+ * @see #getCSSId()
+ * @generated
+ */
+ EAttribute getCSSId_Value();
+
+ /**
+ * Returns the meta object for class '{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator <em>Unary Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for class '<em>Unary Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator
+ * @generated
+ */
+ EClass getUnaryOperator();
+
+ /**
+ * Returns the meta object for the attribute '{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator <em>Operator</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for the attribute '<em>Operator</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator()
+ * @see #getUnaryOperator()
+ * @generated
+ */
+ EAttribute getUnaryOperator_Operator();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY <em>UNARY</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>UNARY</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @generated
+ */
+ EEnum getUNARY();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.gmfdiag.css.KIND <em>KIND</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>KIND</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @generated
+ */
+ EEnum getKIND();
+
+ /**
+ * Returns the meta object for enum '{@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP <em>ATTRIBUTE OP</em>}'.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the meta object for enum '<em>ATTRIBUTE OP</em>'.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @generated
+ */
+ EEnum getATTRIBUTE_OP();
+
+ /**
+ * Returns the factory that creates the instances of the model.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @return the factory that creates the instances of the model.
+ * @generated
+ */
+ CssFactory getCssFactory();
+
+ /**
+ * <!-- begin-user-doc -->
+ * Defines literals for the meta objects that represent
+ * <ul>
+ * <li>each class,</li>
+ * <li>each feature of each class,</li>
+ * <li>each enum,</li>
+ * <li>and each data type</li>
+ * </ul>
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ interface Literals
+ {
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl <em>Stylesheet</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StylesheetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStylesheet()
+ * @generated
+ */
+ EClass STYLESHEET = eINSTANCE.getStylesheet();
+
+ /**
+ * The meta object literal for the '<em><b>Charset</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STYLESHEET__CHARSET = eINSTANCE.getStylesheet_Charset();
+
+ /**
+ * The meta object literal for the '<em><b>Imports</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STYLESHEET__IMPORTS = eINSTANCE.getStylesheet_Imports();
+
+ /**
+ * The meta object literal for the '<em><b>Contents</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference STYLESHEET__CONTENTS = eINSTANCE.getStylesheet_Contents();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ContentImpl <em>Content</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ContentImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getContent()
+ * @generated
+ */
+ EClass CONTENT = eINSTANCE.getContent();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl <em>Import</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getImport()
+ * @generated
+ */
+ EClass IMPORT = eINSTANCE.getImport();
+
+ /**
+ * The meta object literal for the '<em><b>String</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPORT__STRING = eINSTANCE.getImport_String();
+
+ /**
+ * The meta object literal for the '<em><b>Uri</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference IMPORT__URI = eINSTANCE.getImport_Uri();
+
+ /**
+ * The meta object literal for the '<em><b>Media</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute IMPORT__MEDIA = eINSTANCE.getImport_Media();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl <em>Media</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getMedia()
+ * @generated
+ */
+ EClass MEDIA = eINSTANCE.getMedia();
+
+ /**
+ * The meta object literal for the '<em><b>Media</b></em>' attribute list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute MEDIA__MEDIA = eINSTANCE.getMedia_Media();
+
+ /**
+ * The meta object literal for the '<em><b>Rules</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference MEDIA__RULES = eINSTANCE.getMedia_Rules();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl <em>Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPage()
+ * @generated
+ */
+ EClass PAGE = eINSTANCE.getPage();
+
+ /**
+ * The meta object literal for the '<em><b>Pseudo</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PAGE__PSEUDO = eINSTANCE.getPage_Pseudo();
+
+ /**
+ * The meta object literal for the '<em><b>Declarations</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PAGE__DECLARATIONS = eINSTANCE.getPage_Declarations();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl <em>Pseudo Page</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoPageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudoPage()
+ * @generated
+ */
+ EClass PSEUDO_PAGE = eINSTANCE.getPseudoPage();
+
+ /**
+ * The meta object literal for the '<em><b>Id</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDO_PAGE__ID = eINSTANCE.getPseudoPage_Id();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl <em>Ruleset</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.RulesetImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getRuleset()
+ * @generated
+ */
+ EClass RULESET = eINSTANCE.getRuleset();
+
+ /**
+ * The meta object literal for the '<em><b>Selectors</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RULESET__SELECTORS = eINSTANCE.getRuleset_Selectors();
+
+ /**
+ * The meta object literal for the '<em><b>Properties</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference RULESET__PROPERTIES = eINSTANCE.getRuleset_Properties();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl <em>Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelector()
+ * @generated
+ */
+ EClass SELECTOR = eINSTANCE.getSelector();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl <em>Composite Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCompositeSelector()
+ * @generated
+ */
+ EClass COMPOSITE_SELECTOR = eINSTANCE.getCompositeSelector();
+
+ /**
+ * The meta object literal for the '<em><b>Left</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSITE_SELECTOR__LEFT = eINSTANCE.getCompositeSelector_Left();
+
+ /**
+ * The meta object literal for the '<em><b>Combinator</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSITE_SELECTOR__COMBINATOR = eINSTANCE.getCompositeSelector_Combinator();
+
+ /**
+ * The meta object literal for the '<em><b>Right</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference COMPOSITE_SELECTOR__RIGHT = eINSTANCE.getCompositeSelector_Right();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl <em>Simple Selector</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SimpleSelectorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSimpleSelector()
+ * @generated
+ */
+ EClass SIMPLE_SELECTOR = eINSTANCE.getSimpleSelector();
+
+ /**
+ * The meta object literal for the '<em><b>Element Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SIMPLE_SELECTOR__ELEMENT_NAME = eINSTANCE.getSimpleSelector_ElementName();
+
+ /**
+ * The meta object literal for the '<em><b>Condition</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SIMPLE_SELECTOR__CONDITION = eINSTANCE.getSimpleSelector_Condition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl <em>Selector Condition</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SelectorConditionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSelectorCondition()
+ * @generated
+ */
+ EClass SELECTOR_CONDITION = eINSTANCE.getSelectorCondition();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl <em>Combinator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCombinator()
+ * @generated
+ */
+ EClass COMBINATOR = eINSTANCE.getCombinator();
+
+ /**
+ * The meta object literal for the '<em><b>Kind</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute COMBINATOR__KIND = eINSTANCE.getCombinator_Kind();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl <em>Declaration</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getDeclaration()
+ * @generated
+ */
+ EClass DECLARATION = eINSTANCE.getDeclaration();
+
+ /**
+ * The meta object literal for the '<em><b>Property</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DECLARATION__PROPERTY = eINSTANCE.getDeclaration_Property();
+
+ /**
+ * The meta object literal for the '<em><b>Expression</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference DECLARATION__EXPRESSION = eINSTANCE.getDeclaration_Expression();
+
+ /**
+ * The meta object literal for the '<em><b>Important</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute DECLARATION__IMPORTANT = eINSTANCE.getDeclaration_Important();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl <em>Expression</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExpression()
+ * @generated
+ */
+ EClass EXPRESSION = eINSTANCE.getExpression();
+
+ /**
+ * The meta object literal for the '<em><b>Terms</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION__TERMS = eINSTANCE.getExpression_Terms();
+
+ /**
+ * The meta object literal for the '<em><b>Subterms</b></em>' containment reference list feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXPRESSION__SUBTERMS = eINSTANCE.getExpression_Subterms();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl <em>Subterm</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.SubtermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getSubterm()
+ * @generated
+ */
+ EClass SUBTERM = eINSTANCE.getSubterm();
+
+ /**
+ * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute SUBTERM__OPERATOR = eINSTANCE.getSubterm_Operator();
+
+ /**
+ * The meta object literal for the '<em><b>Term</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference SUBTERM__TERM = eINSTANCE.getSubterm_Term();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl <em>Term</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TermImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTerm()
+ * @generated
+ */
+ EClass TERM = eINSTANCE.getTerm();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl <em>Function</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getFunction()
+ * @generated
+ */
+ EClass FUNCTION = eINSTANCE.getFunction();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FUNCTION__NAME = eINSTANCE.getFunction_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Args</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FUNCTION__ARGS = eINSTANCE.getFunction_Args();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl <em>Name</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getName_()
+ * @generated
+ */
+ EClass NAME = eINSTANCE.getName_();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NAME__VALUE = eINSTANCE.getName_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl <em>Number</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.NumberImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getNumber()
+ * @generated
+ */
+ EClass NUMBER = eINSTANCE.getNumber();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference NUMBER__OP = eINSTANCE.getNumber_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute NUMBER__VALUE = eINSTANCE.getNumber_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl <em>Percentage</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PercentageImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPercentage()
+ * @generated
+ */
+ EClass PERCENTAGE = eINSTANCE.getPercentage();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference PERCENTAGE__OP = eINSTANCE.getPercentage_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERCENTAGE__VALUE = eINSTANCE.getPercentage_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PERCENTAGE__UNIT = eINSTANCE.getPercentage_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl <em>Length</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getLength()
+ * @generated
+ */
+ EClass LENGTH = eINSTANCE.getLength();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference LENGTH__OP = eINSTANCE.getLength_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LENGTH__VALUE = eINSTANCE.getLength_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute LENGTH__UNIT = eINSTANCE.getLength_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl <em>Ems</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getEms()
+ * @generated
+ */
+ EClass EMS = eINSTANCE.getEms();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EMS__OP = eINSTANCE.getEms_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EMS__VALUE = eINSTANCE.getEms_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EMS__UNIT = eINSTANCE.getEms_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl <em>Exs</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getExs()
+ * @generated
+ */
+ EClass EXS = eINSTANCE.getExs();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference EXS__OP = eINSTANCE.getExs_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXS__VALUE = eINSTANCE.getExs_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute EXS__UNIT = eINSTANCE.getExs_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl <em>Angle</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAngle()
+ * @generated
+ */
+ EClass ANGLE = eINSTANCE.getAngle();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ANGLE__OP = eINSTANCE.getAngle_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANGLE__VALUE = eINSTANCE.getAngle_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ANGLE__UNIT = eINSTANCE.getAngle_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl <em>Time</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.TimeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getTime()
+ * @generated
+ */
+ EClass TIME = eINSTANCE.getTime();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference TIME__OP = eINSTANCE.getTime_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TIME__VALUE = eINSTANCE.getTime_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute TIME__UNIT = eINSTANCE.getTime_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl <em>Frequency</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getFrequency()
+ * @generated
+ */
+ EClass FREQUENCY = eINSTANCE.getFrequency();
+
+ /**
+ * The meta object literal for the '<em><b>Op</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference FREQUENCY__OP = eINSTANCE.getFrequency_Op();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FREQUENCY__VALUE = eINSTANCE.getFrequency_Value();
+
+ /**
+ * The meta object literal for the '<em><b>Unit</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute FREQUENCY__UNIT = eINSTANCE.getFrequency_Unit();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl <em>Uri</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UriImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUri()
+ * @generated
+ */
+ EClass URI = eINSTANCE.getUri();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute URI__VALUE = eINSTANCE.getUri_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl <em>String Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.StringValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getStringValue()
+ * @generated
+ */
+ EClass STRING_VALUE = eINSTANCE.getStringValue();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute STRING_VALUE__VALUE = eINSTANCE.getStringValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl <em>Hex Color</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getHexColor()
+ * @generated
+ */
+ EClass HEX_COLOR = eINSTANCE.getHexColor();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute HEX_COLOR__VALUE = eINSTANCE.getHexColor_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl <em>Class</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getClass_()
+ * @generated
+ */
+ EClass CLASS = eINSTANCE.getClass_();
+
+ /**
+ * The meta object literal for the '<em><b>Class</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CLASS__CLASS = eINSTANCE.getClass_Class();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl <em>Attribute</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttribute()
+ * @generated
+ */
+ EClass ATTRIBUTE = eINSTANCE.getAttribute();
+
+ /**
+ * The meta object literal for the '<em><b>Name</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE__NAME = eINSTANCE.getAttribute_Name();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' containment reference feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EReference ATTRIBUTE__VALUE = eINSTANCE.getAttribute_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl <em>Attribute Value</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getAttributeValue()
+ * @generated
+ */
+ EClass ATTRIBUTE_VALUE = eINSTANCE.getAttributeValue();
+
+ /**
+ * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE_VALUE__OPERATOR = eINSTANCE.getAttributeValue_Operator();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute ATTRIBUTE_VALUE__VALUE = eINSTANCE.getAttributeValue_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl <em>Pseudo</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.PseudoImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getPseudo()
+ * @generated
+ */
+ EClass PSEUDO = eINSTANCE.getPseudo();
+
+ /**
+ * The meta object literal for the '<em><b>Pseudo</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDO__PSEUDO = eINSTANCE.getPseudo_Pseudo();
+
+ /**
+ * The meta object literal for the '<em><b>Args</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute PSEUDO__ARGS = eINSTANCE.getPseudo_Args();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl <em>CSS Id</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getCSSId()
+ * @generated
+ */
+ EClass CSS_ID = eINSTANCE.getCSSId();
+
+ /**
+ * The meta object literal for the '<em><b>Value</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute CSS_ID__VALUE = eINSTANCE.getCSSId_Value();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl <em>Unary Operator</em>}' class.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.UnaryOperatorImpl
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUnaryOperator()
+ * @generated
+ */
+ EClass UNARY_OPERATOR = eINSTANCE.getUnaryOperator();
+
+ /**
+ * The meta object literal for the '<em><b>Operator</b></em>' attribute feature.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ EAttribute UNARY_OPERATOR__OPERATOR = eINSTANCE.getUnaryOperator_Operator();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY <em>UNARY</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getUNARY()
+ * @generated
+ */
+ EEnum UNARY = eINSTANCE.getUNARY();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.KIND <em>KIND</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.KIND
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getKIND()
+ * @generated
+ */
+ EEnum KIND = eINSTANCE.getKIND();
+
+ /**
+ * The meta object literal for the '{@link org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP <em>ATTRIBUTE OP</em>}' enum.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.impl.CssPackageImpl#getATTRIBUTE_OP()
+ * @generated
+ */
+ EEnum ATTRIBUTE_OP = eINSTANCE.getATTRIBUTE_OP();
+
+ }
+
+} //CssPackage
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java
new file mode 100644
index 00000000000..e78d2797718
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Declaration.java
@@ -0,0 +1,105 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant <em>Important</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getDeclaration()
+ * @model
+ * @generated
+ */
+public interface Declaration extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Property</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Property</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Property</em>' attribute.
+ * @see #setProperty(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getDeclaration_Property()
+ * @model
+ * @generated
+ */
+ String getProperty();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getProperty <em>Property</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Property</em>' attribute.
+ * @see #getProperty()
+ * @generated
+ */
+ void setProperty(String value);
+
+ /**
+ * Returns the value of the '<em><b>Expression</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Expression</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Expression</em>' containment reference.
+ * @see #setExpression(Expression)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getDeclaration_Expression()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getExpression();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#getExpression <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Expression</em>' containment reference.
+ * @see #getExpression()
+ * @generated
+ */
+ void setExpression(Expression value);
+
+ /**
+ * Returns the value of the '<em><b>Important</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Important</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Important</em>' attribute.
+ * @see #setImportant(boolean)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getDeclaration_Important()
+ * @model
+ * @generated
+ */
+ boolean isImportant();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration#isImportant <em>Important</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Important</em>' attribute.
+ * @see #isImportant()
+ * @generated
+ */
+ void setImportant(boolean value);
+
+} // Declaration
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java
new file mode 100644
index 00000000000..17a2830ccbe
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ems.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ems</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms()
+ * @model
+ * @generated
+ */
+public interface Ems extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getEms_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Ems#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Ems
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java
new file mode 100644
index 00000000000..b232209a4d6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Expression.java
@@ -0,0 +1,70 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms <em>Terms</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getSubterms <em>Subterms</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExpression()
+ * @model
+ * @generated
+ */
+public interface Expression extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Terms</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Terms</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Terms</em>' containment reference.
+ * @see #setTerms(Term)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExpression_Terms()
+ * @model containment="true"
+ * @generated
+ */
+ Term getTerms();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Expression#getTerms <em>Terms</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Terms</em>' containment reference.
+ * @see #getTerms()
+ * @generated
+ */
+ void setTerms(Term value);
+
+ /**
+ * Returns the value of the '<em><b>Subterms</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Subterms</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Subterms</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExpression_Subterms()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Subterm> getSubterms();
+
+} // Expression
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java
new file mode 100644
index 00000000000..b092f890617
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Exs.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Exs</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs()
+ * @model
+ * @generated
+ */
+public interface Exs extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getExs_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Exs#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Exs
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java
new file mode 100644
index 00000000000..43e0ad042b0
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Frequency.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Frequency</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency()
+ * @model
+ * @generated
+ */
+public interface Frequency extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFrequency_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Frequency#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Frequency
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java
new file mode 100644
index 00000000000..8504170597e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Function.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Function</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFunction()
+ * @model
+ * @generated
+ */
+public interface Function extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Name</em>' attribute.
+ * @see #setName(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFunction_Name()
+ * @model
+ * @generated
+ */
+ String getName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getName <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Name</em>' attribute.
+ * @see #getName()
+ * @generated
+ */
+ void setName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Args</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Args</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Args</em>' containment reference.
+ * @see #setArgs(Expression)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getFunction_Args()
+ * @model containment="true"
+ * @generated
+ */
+ Expression getArgs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Function#getArgs <em>Args</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Args</em>' containment reference.
+ * @see #getArgs()
+ * @generated
+ */
+ void setArgs(Expression value);
+
+} // Function
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java
new file mode 100644
index 00000000000..3a09d479c0d
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/HexColor.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Hex Color</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getHexColor()
+ * @model
+ * @generated
+ */
+public interface HexColor extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getHexColor_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.HexColor#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // HexColor
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java
new file mode 100644
index 00000000000..cc43c4d9ef6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Import.java
@@ -0,0 +1,97 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Import</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getString <em>String</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getUri <em>Uri</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getMedia <em>Media</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getImport()
+ * @model
+ * @generated
+ */
+public interface Import extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>String</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>String</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>String</em>' attribute.
+ * @see #setString(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getImport_String()
+ * @model
+ * @generated
+ */
+ String getString();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getString <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>String</em>' attribute.
+ * @see #getString()
+ * @generated
+ */
+ void setString(String value);
+
+ /**
+ * Returns the value of the '<em><b>Uri</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Uri</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Uri</em>' containment reference.
+ * @see #setUri(Uri)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getImport_Uri()
+ * @model containment="true"
+ * @generated
+ */
+ Uri getUri();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Import#getUri <em>Uri</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Uri</em>' containment reference.
+ * @see #getUri()
+ * @generated
+ */
+ void setUri(Uri value);
+
+ /**
+ * Returns the value of the '<em><b>Media</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Media</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Media</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getImport_Media()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getMedia();
+
+} // Import
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java
new file mode 100644
index 00000000000..3494ace48f2
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/KIND.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>KIND</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getKIND()
+ * @model
+ * @generated
+ */
+public enum KIND implements Enumerator
+{
+ /**
+ * The '<em><b>FIRST CHILD</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #FIRST_CHILD_VALUE
+ * @generated
+ * @ordered
+ */
+ FIRST_CHILD(0, "FIRST_CHILD", ">"),
+
+ /**
+ * The '<em><b>SIBLING</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #SIBLING_VALUE
+ * @generated
+ * @ordered
+ */
+ SIBLING(1, "SIBLING", "+");
+
+ /**
+ * The '<em><b>FIRST CHILD</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>FIRST CHILD</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #FIRST_CHILD
+ * @model literal=">"
+ * @generated
+ * @ordered
+ */
+ public static final int FIRST_CHILD_VALUE = 0;
+
+ /**
+ * The '<em><b>SIBLING</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>SIBLING</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #SIBLING
+ * @model literal="+"
+ * @generated
+ * @ordered
+ */
+ public static final int SIBLING_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>KIND</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final KIND[] VALUES_ARRAY =
+ new KIND[]
+ {
+ FIRST_CHILD,
+ SIBLING,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>KIND</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<KIND> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>KIND</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static KIND get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ KIND result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>KIND</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static KIND getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ KIND result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>KIND</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static KIND get(int value)
+ {
+ switch (value)
+ {
+ case FIRST_CHILD_VALUE: return FIRST_CHILD;
+ case SIBLING_VALUE: return SIBLING;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private KIND(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //KIND
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java
new file mode 100644
index 00000000000..b0b92f06780
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Length.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Length</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength()
+ * @model
+ * @generated
+ */
+public interface Length extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getLength_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Length#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Length
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java
new file mode 100644
index 00000000000..50bc203d443
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Media.java
@@ -0,0 +1,58 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Media</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getMedia <em>Media</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Media#getRules <em>Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getMedia()
+ * @model
+ * @generated
+ */
+public interface Media extends Content
+{
+ /**
+ * Returns the value of the '<em><b>Media</b></em>' attribute list.
+ * The list contents are of type {@link java.lang.String}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Media</em>' attribute list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Media</em>' attribute list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getMedia_Media()
+ * @model unique="false"
+ * @generated
+ */
+ EList<String> getMedia();
+
+ /**
+ * Returns the value of the '<em><b>Rules</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Rules</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Rules</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getMedia_Rules()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Ruleset> getRules();
+
+} // Media
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java
new file mode 100644
index 00000000000..6f209c69017
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Name.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getName_()
+ * @model
+ * @generated
+ */
+public interface Name extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getName_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Name#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Name
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java
new file mode 100644
index 00000000000..b378d7c785e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Number.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Number</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getNumber()
+ * @model
+ * @generated
+ */
+public interface Number extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getNumber_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getNumber_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Number#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Number
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java
new file mode 100644
index 00000000000..a7e0ae7ad16
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Page.java
@@ -0,0 +1,68 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Page</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo <em>Pseudo</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getDeclarations <em>Declarations</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPage()
+ * @model
+ * @generated
+ */
+public interface Page extends Content
+{
+ /**
+ * Returns the value of the '<em><b>Pseudo</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pseudo</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pseudo</em>' containment reference.
+ * @see #setPseudo(PseudoPage)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPage_Pseudo()
+ * @model containment="true"
+ * @generated
+ */
+ PseudoPage getPseudo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Page#getPseudo <em>Pseudo</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pseudo</em>' containment reference.
+ * @see #getPseudo()
+ * @generated
+ */
+ void setPseudo(PseudoPage value);
+
+ /**
+ * Returns the value of the '<em><b>Declarations</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Declarations</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Declarations</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPage_Declarations()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Declaration> getDeclarations();
+
+} // Page
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java
new file mode 100644
index 00000000000..48e0f625b24
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Percentage.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Percentage</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage()
+ * @model
+ * @generated
+ */
+public interface Percentage extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPercentage_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Percentage#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Percentage
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java
new file mode 100644
index 00000000000..edf7b7d1921
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Pseudo.java
@@ -0,0 +1,77 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pseudo</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getPseudo <em>Pseudo</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudo()
+ * @model
+ * @generated
+ */
+public interface Pseudo extends SelectorCondition
+{
+ /**
+ * Returns the value of the '<em><b>Pseudo</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Pseudo</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Pseudo</em>' attribute.
+ * @see #setPseudo(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudo_Pseudo()
+ * @model
+ * @generated
+ */
+ String getPseudo();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getPseudo <em>Pseudo</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Pseudo</em>' attribute.
+ * @see #getPseudo()
+ * @generated
+ */
+ void setPseudo(String value);
+
+ /**
+ * Returns the value of the '<em><b>Args</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Args</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Args</em>' attribute.
+ * @see #setArgs(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudo_Args()
+ * @model
+ * @generated
+ */
+ String getArgs();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Pseudo#getArgs <em>Args</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Args</em>' attribute.
+ * @see #getArgs()
+ * @generated
+ */
+ void setArgs(String value);
+
+} // Pseudo
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java
new file mode 100644
index 00000000000..35793cbbe77
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/PseudoPage.java
@@ -0,0 +1,51 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Pseudo Page</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#getId <em>Id</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudoPage()
+ * @model
+ * @generated
+ */
+public interface PseudoPage extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Id</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Id</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Id</em>' attribute.
+ * @see #setId(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getPseudoPage_Id()
+ * @model
+ * @generated
+ */
+ String getId();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage#getId <em>Id</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Id</em>' attribute.
+ * @see #getId()
+ * @generated
+ */
+ void setId(String value);
+
+} // PseudoPage
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java
new file mode 100644
index 00000000000..e0429ba5cb6
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Ruleset.java
@@ -0,0 +1,58 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Ruleset</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getSelectors <em>Selectors</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Ruleset#getProperties <em>Properties</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getRuleset()
+ * @model
+ * @generated
+ */
+public interface Ruleset extends Content
+{
+ /**
+ * Returns the value of the '<em><b>Selectors</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Selector}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Selectors</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Selectors</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getRuleset_Selectors()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Selector> getSelectors();
+
+ /**
+ * Returns the value of the '<em><b>Properties</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Declaration}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Properties</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Properties</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getRuleset_Properties()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Declaration> getProperties();
+
+} // Ruleset
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java
new file mode 100644
index 00000000000..8ecae089d47
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Selector.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSelector()
+ * @model
+ * @generated
+ */
+public interface Selector extends EObject
+{
+} // Selector
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java
new file mode 100644
index 00000000000..963f494f6fa
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SelectorCondition.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Selector Condition</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSelectorCondition()
+ * @model
+ * @generated
+ */
+public interface SelectorCondition extends EObject
+{
+} // SelectorCondition
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java
new file mode 100644
index 00000000000..80f53557046
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/SimpleSelector.java
@@ -0,0 +1,68 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Simple Selector</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName <em>Element Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getCondition <em>Condition</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSimpleSelector()
+ * @model
+ * @generated
+ */
+public interface SimpleSelector extends Selector
+{
+ /**
+ * Returns the value of the '<em><b>Element Name</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Element Name</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Element Name</em>' attribute.
+ * @see #setElementName(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSimpleSelector_ElementName()
+ * @model
+ * @generated
+ */
+ String getElementName();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector#getElementName <em>Element Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Element Name</em>' attribute.
+ * @see #getElementName()
+ * @generated
+ */
+ void setElementName(String value);
+
+ /**
+ * Returns the value of the '<em><b>Condition</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Condition</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Condition</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSimpleSelector_Condition()
+ * @model containment="true"
+ * @generated
+ */
+ EList<SelectorCondition> getCondition();
+
+} // SimpleSelector
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java
new file mode 100644
index 00000000000..daef11b047e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/StringValue.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>String Value</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStringValue()
+ * @model
+ * @generated
+ */
+public interface StringValue extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStringValue_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.StringValue#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // StringValue
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java
new file mode 100644
index 00000000000..de3a7c97c81
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Stylesheet.java
@@ -0,0 +1,87 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Stylesheet</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getCharset <em>Charset</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getImports <em>Imports</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getContents <em>Contents</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet()
+ * @model
+ * @generated
+ */
+public interface Stylesheet extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Charset</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Charset</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Charset</em>' attribute.
+ * @see #setCharset(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet_Charset()
+ * @model
+ * @generated
+ */
+ String getCharset();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet#getCharset <em>Charset</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Charset</em>' attribute.
+ * @see #getCharset()
+ * @generated
+ */
+ void setCharset(String value);
+
+ /**
+ * Returns the value of the '<em><b>Imports</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Import}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Imports</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Imports</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet_Imports()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Import> getImports();
+
+ /**
+ * Returns the value of the '<em><b>Contents</b></em>' containment reference list.
+ * The list contents are of type {@link org.eclipse.papyrus.infra.gmfdiag.css.Content}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Contents</em>' containment reference list isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Contents</em>' containment reference list.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getStylesheet_Contents()
+ * @model containment="true"
+ * @generated
+ */
+ EList<Content> getContents();
+
+} // Stylesheet
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java
new file mode 100644
index 00000000000..a452bb998d9
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Subterm.java
@@ -0,0 +1,78 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Subterm</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm <em>Term</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSubterm()
+ * @model
+ * @generated
+ */
+public interface Subterm extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see #setOperator(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSubterm_Operator()
+ * @model
+ * @generated
+ */
+ String getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operator</em>' attribute.
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(String value);
+
+ /**
+ * Returns the value of the '<em><b>Term</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Term</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Term</em>' containment reference.
+ * @see #setTerm(Term)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getSubterm_Term()
+ * @model containment="true"
+ * @generated
+ */
+ Term getTerm();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Subterm#getTerm <em>Term</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Term</em>' containment reference.
+ * @see #getTerm()
+ * @generated
+ */
+ void setTerm(Term value);
+
+} // Subterm
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java
new file mode 100644
index 00000000000..e3b2fd64823
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Term.java
@@ -0,0 +1,19 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Term</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTerm()
+ * @model
+ * @generated
+ */
+public interface Term extends EObject
+{
+} // Term
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java
new file mode 100644
index 00000000000..ffc0bb871b0
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Time.java
@@ -0,0 +1,104 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Time</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime()
+ * @model
+ * @generated
+ */
+public interface Time extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Op</b></em>' containment reference.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Op</em>' containment reference isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Op</em>' containment reference.
+ * @see #setOp(UnaryOperator)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime_Op()
+ * @model containment="true"
+ * @generated
+ */
+ UnaryOperator getOp();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getOp <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Op</em>' containment reference.
+ * @see #getOp()
+ * @generated
+ */
+ void setOp(UnaryOperator value);
+
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+ /**
+ * Returns the value of the '<em><b>Unit</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Unit</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Unit</em>' attribute.
+ * @see #setUnit(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getTime_Unit()
+ * @model
+ * @generated
+ */
+ String getUnit();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Time#getUnit <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Unit</em>' attribute.
+ * @see #getUnit()
+ * @generated
+ */
+ void setUnit(String value);
+
+} // Time
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java
new file mode 100644
index 00000000000..f8c0d93026d
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UNARY.java
@@ -0,0 +1,223 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import java.util.Arrays;
+import java.util.Collections;
+import java.util.List;
+
+import org.eclipse.emf.common.util.Enumerator;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the literals of the enumeration '<em><b>UNARY</b></em>',
+ * and utility methods for working with them.
+ * <!-- end-user-doc -->
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUNARY()
+ * @model
+ * @generated
+ */
+public enum UNARY implements Enumerator
+{
+ /**
+ * The '<em><b>NEG</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #NEG_VALUE
+ * @generated
+ * @ordered
+ */
+ NEG(0, "NEG", "-"),
+
+ /**
+ * The '<em><b>PLUS</b></em>' literal object.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #PLUS_VALUE
+ * @generated
+ * @ordered
+ */
+ PLUS(1, "PLUS", "+");
+
+ /**
+ * The '<em><b>NEG</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>NEG</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #NEG
+ * @model literal="-"
+ * @generated
+ * @ordered
+ */
+ public static final int NEG_VALUE = 0;
+
+ /**
+ * The '<em><b>PLUS</b></em>' literal value.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of '<em><b>PLUS</b></em>' literal object isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @see #PLUS
+ * @model literal="+"
+ * @generated
+ * @ordered
+ */
+ public static final int PLUS_VALUE = 1;
+
+ /**
+ * An array of all the '<em><b>UNARY</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static final UNARY[] VALUES_ARRAY =
+ new UNARY[]
+ {
+ NEG,
+ PLUS,
+ };
+
+ /**
+ * A public read-only list of all the '<em><b>UNARY</b></em>' enumerators.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static final List<UNARY> VALUES = Collections.unmodifiableList(Arrays.asList(VALUES_ARRAY));
+
+ /**
+ * Returns the '<em><b>UNARY</b></em>' literal with the specified literal value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UNARY get(String literal)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ UNARY result = VALUES_ARRAY[i];
+ if (result.toString().equals(literal))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>UNARY</b></em>' literal with the specified name.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UNARY getByName(String name)
+ {
+ for (int i = 0; i < VALUES_ARRAY.length; ++i)
+ {
+ UNARY result = VALUES_ARRAY[i];
+ if (result.getName().equals(name))
+ {
+ return result;
+ }
+ }
+ return null;
+ }
+
+ /**
+ * Returns the '<em><b>UNARY</b></em>' literal with the specified integer value.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static UNARY get(int value)
+ {
+ switch (value)
+ {
+ case NEG_VALUE: return NEG;
+ case PLUS_VALUE: return PLUS;
+ }
+ return null;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final int value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String name;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private final String literal;
+
+ /**
+ * Only this class can construct instances.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private UNARY(int value, String name, String literal)
+ {
+ this.value = value;
+ this.name = name;
+ this.literal = literal;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public int getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getLiteral()
+ {
+ return literal;
+ }
+
+ /**
+ * Returns the literal value of the enumerator, which is its string representation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ return literal;
+ }
+
+} //UNARY
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java
new file mode 100644
index 00000000000..140d184518b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/UnaryOperator.java
@@ -0,0 +1,54 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+import org.eclipse.emf.ecore.EObject;
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Unary Operator</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator <em>Operator</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUnaryOperator()
+ * @model
+ * @generated
+ */
+public interface UnaryOperator extends EObject
+{
+ /**
+ * Returns the value of the '<em><b>Operator</b></em>' attribute.
+ * The literals are from the enumeration {@link org.eclipse.papyrus.infra.gmfdiag.css.UNARY}.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Operator</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see #setOperator(UNARY)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUnaryOperator_Operator()
+ * @model
+ * @generated
+ */
+ UNARY getOperator();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator#getOperator <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Operator</em>' attribute.
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.UNARY
+ * @see #getOperator()
+ * @generated
+ */
+ void setOperator(UNARY value);
+
+} // UnaryOperator
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java
new file mode 100644
index 00000000000..c151684c910
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/Uri.java
@@ -0,0 +1,50 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css;
+
+
+/**
+ * <!-- begin-user-doc -->
+ * A representation of the model object '<em><b>Uri</b></em>'.
+ * <!-- end-user-doc -->
+ *
+ * <p>
+ * The following features are supported:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.Uri#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUri()
+ * @model
+ * @generated
+ */
+public interface Uri extends Term
+{
+ /**
+ * Returns the value of the '<em><b>Value</b></em>' attribute.
+ * <!-- begin-user-doc -->
+ * <p>
+ * If the meaning of the '<em>Value</em>' attribute isn't clear,
+ * there really should be more of a description here...
+ * </p>
+ * <!-- end-user-doc -->
+ * @return the value of the '<em>Value</em>' attribute.
+ * @see #setValue(String)
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#getUri_Value()
+ * @model
+ * @generated
+ */
+ String getValue();
+
+ /**
+ * Sets the value of the '{@link org.eclipse.papyrus.infra.gmfdiag.css.Uri#getValue <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @param value the new value of the '<em>Value</em>' attribute.
+ * @see #getValue()
+ * @generated
+ */
+ void setValue(String value);
+
+} // Uri
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java
new file mode 100644
index 00000000000..f22a029c637
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AngleImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Angle</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AngleImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AngleImpl extends TermImpl implements Angle
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AngleImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.ANGLE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.ANGLE__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.ANGLE__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ANGLE__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ return basicSetOp(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ return getOp();
+ case CssPackage.ANGLE__VALUE:
+ return getValue();
+ case CssPackage.ANGLE__UNIT:
+ return getUnit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.ANGLE__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.ANGLE__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.ANGLE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.ANGLE__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ANGLE__OP:
+ return op != null;
+ case CssPackage.ANGLE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.ANGLE__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AngleImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java
new file mode 100644
index 00000000000..6034f06472e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeImpl.java
@@ -0,0 +1,264 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeImpl extends SelectorConditionImpl implements Attribute
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected AttributeValue value;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttributeImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.ATTRIBUTE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AttributeValue getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetValue(AttributeValue newValue, NotificationChain msgs)
+ {
+ AttributeValue oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE__VALUE, oldValue, newValue);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(AttributeValue newValue)
+ {
+ if (newValue != value)
+ {
+ NotificationChain msgs = null;
+ if (value != null)
+ msgs = ((InternalEObject)value).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.ATTRIBUTE__VALUE, null, msgs);
+ if (newValue != null)
+ msgs = ((InternalEObject)newValue).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.ATTRIBUTE__VALUE, null, msgs);
+ msgs = basicSetValue(newValue, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE__VALUE, newValue, newValue));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__VALUE:
+ return basicSetValue(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ return getName();
+ case CssPackage.ATTRIBUTE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ setName((String)newValue);
+ return;
+ case CssPackage.ATTRIBUTE__VALUE:
+ setValue((AttributeValue)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case CssPackage.ATTRIBUTE__VALUE:
+ setValue((AttributeValue)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case CssPackage.ATTRIBUTE__VALUE:
+ return value != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AttributeImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java
new file mode 100644
index 00000000000..c3165d4d4a1
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/AttributeValueImpl.java
@@ -0,0 +1,234 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Attribute Value</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl#getOperator <em>Operator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.AttributeValueImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class AttributeValueImpl extends MinimalEObjectImpl.Container implements AttributeValue
+{
+ /**
+ * The default value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected static final ATTRIBUTE_OP OPERATOR_EDEFAULT = ATTRIBUTE_OP.EQUALS;
+
+ /**
+ * The cached value of the '{@link #getOperator() <em>Operator</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOperator()
+ * @generated
+ * @ordered
+ */
+ protected ATTRIBUTE_OP operator = OPERATOR_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected AttributeValueImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.ATTRIBUTE_VALUE;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ATTRIBUTE_OP getOperator()
+ {
+ return operator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOperator(ATTRIBUTE_OP newOperator)
+ {
+ ATTRIBUTE_OP oldOperator = operator;
+ operator = newOperator == null ? OPERATOR_EDEFAULT : newOperator;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE_VALUE__OPERATOR, oldOperator, operator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.ATTRIBUTE_VALUE__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ return getOperator();
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ setOperator((ATTRIBUTE_OP)newValue);
+ return;
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ setOperator(OPERATOR_EDEFAULT);
+ return;
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.ATTRIBUTE_VALUE__OPERATOR:
+ return operator != OPERATOR_EDEFAULT;
+ case CssPackage.ATTRIBUTE_VALUE__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (operator: ");
+ result.append(operator);
+ result.append(", value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //AttributeValueImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java
new file mode 100644
index 00000000000..b6fc8dc3b8c
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CSSIdImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>CSS Id</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CSSIdImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CSSIdImpl extends SelectorConditionImpl implements CSSId
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CSSIdImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.CSS_ID;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.CSS_ID__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CSS_ID__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CSSIdImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java
new file mode 100644
index 00000000000..af366856dce
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ClassImpl.java
@@ -0,0 +1,175 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Class</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ClassImpl#getClass_ <em>Class</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ClassImpl extends SelectorConditionImpl implements org.eclipse.papyrus.infra.gmfdiag.css.Class
+{
+ /**
+ * The default value of the '{@link #getClass_() <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClass_()
+ * @generated
+ * @ordered
+ */
+ protected static final String CLASS_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getClass_() <em>Class</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getClass_()
+ * @generated
+ * @ordered
+ */
+ protected String class_ = CLASS_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ClassImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.CLASS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getClass_()
+ {
+ return class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setClass(String newClass)
+ {
+ String oldClass = class_;
+ class_ = newClass;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.CLASS__CLASS, oldClass, class_));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CLASS__CLASS:
+ return getClass_();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CLASS__CLASS:
+ setClass((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CLASS__CLASS:
+ setClass(CLASS_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.CLASS__CLASS:
+ return CLASS_EDEFAULT == null ? class_ != null : !CLASS_EDEFAULT.equals(class_);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (class: ");
+ result.append(class_);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ClassImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java
new file mode 100644
index 00000000000..5363af9b82f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CombinatorImpl.java
@@ -0,0 +1,178 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.KIND;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Combinator</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CombinatorImpl#getKind <em>Kind</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CombinatorImpl extends MinimalEObjectImpl.Container implements Combinator
+{
+ /**
+ * The default value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected static final KIND KIND_EDEFAULT = KIND.FIRST_CHILD;
+
+ /**
+ * The cached value of the '{@link #getKind() <em>Kind</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getKind()
+ * @generated
+ * @ordered
+ */
+ protected KIND kind = KIND_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CombinatorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.COMBINATOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public KIND getKind()
+ {
+ return kind;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setKind(KIND newKind)
+ {
+ KIND oldKind = kind;
+ kind = newKind == null ? KIND_EDEFAULT : newKind;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMBINATOR__KIND, oldKind, kind));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMBINATOR__KIND:
+ return getKind();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMBINATOR__KIND:
+ setKind((KIND)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMBINATOR__KIND:
+ setKind(KIND_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMBINATOR__KIND:
+ return kind != KIND_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (kind: ");
+ result.append(kind);
+ result.append(')');
+ return result.toString();
+ }
+
+} //CombinatorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java
new file mode 100644
index 00000000000..84174cd652d
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CompositeSelectorImpl.java
@@ -0,0 +1,337 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Composite Selector</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl#getLeft <em>Left</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl#getCombinator <em>Combinator</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.CompositeSelectorImpl#getRight <em>Right</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class CompositeSelectorImpl extends SelectorImpl implements CompositeSelector
+{
+ /**
+ * The cached value of the '{@link #getLeft() <em>Left</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getLeft()
+ * @generated
+ * @ordered
+ */
+ protected SimpleSelector left;
+
+ /**
+ * The cached value of the '{@link #getCombinator() <em>Combinator</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getCombinator()
+ * @generated
+ * @ordered
+ */
+ protected Combinator combinator;
+
+ /**
+ * The cached value of the '{@link #getRight() <em>Right</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRight()
+ * @generated
+ * @ordered
+ */
+ protected Selector right;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected CompositeSelectorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.COMPOSITE_SELECTOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimpleSelector getLeft()
+ {
+ return left;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetLeft(SimpleSelector newLeft, NotificationChain msgs)
+ {
+ SimpleSelector oldLeft = left;
+ left = newLeft;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__LEFT, oldLeft, newLeft);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setLeft(SimpleSelector newLeft)
+ {
+ if (newLeft != left)
+ {
+ NotificationChain msgs = null;
+ if (left != null)
+ msgs = ((InternalEObject)left).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__LEFT, null, msgs);
+ if (newLeft != null)
+ msgs = ((InternalEObject)newLeft).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__LEFT, null, msgs);
+ msgs = basicSetLeft(newLeft, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__LEFT, newLeft, newLeft));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Combinator getCombinator()
+ {
+ return combinator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetCombinator(Combinator newCombinator, NotificationChain msgs)
+ {
+ Combinator oldCombinator = combinator;
+ combinator = newCombinator;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__COMBINATOR, oldCombinator, newCombinator);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setCombinator(Combinator newCombinator)
+ {
+ if (newCombinator != combinator)
+ {
+ NotificationChain msgs = null;
+ if (combinator != null)
+ msgs = ((InternalEObject)combinator).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__COMBINATOR, null, msgs);
+ if (newCombinator != null)
+ msgs = ((InternalEObject)newCombinator).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__COMBINATOR, null, msgs);
+ msgs = basicSetCombinator(newCombinator, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__COMBINATOR, newCombinator, newCombinator));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Selector getRight()
+ {
+ return right;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetRight(Selector newRight, NotificationChain msgs)
+ {
+ Selector oldRight = right;
+ right = newRight;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__RIGHT, oldRight, newRight);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setRight(Selector newRight)
+ {
+ if (newRight != right)
+ {
+ NotificationChain msgs = null;
+ if (right != null)
+ msgs = ((InternalEObject)right).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__RIGHT, null, msgs);
+ if (newRight != null)
+ msgs = ((InternalEObject)newRight).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.COMPOSITE_SELECTOR__RIGHT, null, msgs);
+ msgs = basicSetRight(newRight, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.COMPOSITE_SELECTOR__RIGHT, newRight, newRight));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ return basicSetLeft(null, msgs);
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ return basicSetCombinator(null, msgs);
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ return basicSetRight(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ return getLeft();
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ return getCombinator();
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ return getRight();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ setLeft((SimpleSelector)newValue);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ setCombinator((Combinator)newValue);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ setRight((Selector)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ setLeft((SimpleSelector)null);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ setCombinator((Combinator)null);
+ return;
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ setRight((Selector)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.COMPOSITE_SELECTOR__LEFT:
+ return left != null;
+ case CssPackage.COMPOSITE_SELECTOR__COMBINATOR:
+ return combinator != null;
+ case CssPackage.COMPOSITE_SELECTOR__RIGHT:
+ return right != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //CompositeSelectorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java
new file mode 100644
index 00000000000..9a2bcfd1536
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ContentImpl.java
@@ -0,0 +1,44 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Content</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * </p>
+ *
+ * @generated
+ */
+public class ContentImpl extends MinimalEObjectImpl.Container implements Content
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ContentImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.CONTENT;
+ }
+
+} //ContentImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java
new file mode 100644
index 00000000000..d85c35efae2
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssFactoryImpl.java
@@ -0,0 +1,660 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EDataType;
+import org.eclipse.emf.ecore.EObject;
+import org.eclipse.emf.ecore.EPackage;
+
+import org.eclipse.emf.ecore.impl.EFactoryImpl;
+
+import org.eclipse.emf.ecore.plugin.EcorePlugin;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP;
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssFactory;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.KIND;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UNARY;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Factory</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CssFactoryImpl extends EFactoryImpl implements CssFactory
+{
+ /**
+ * Creates the default factory implementation.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public static CssFactory init()
+ {
+ try
+ {
+ CssFactory theCssFactory = (CssFactory)EPackage.Registry.INSTANCE.getEFactory("http://www.eclipse.org/papyrus/infra/gmfdiag/CSS");
+ if (theCssFactory != null)
+ {
+ return theCssFactory;
+ }
+ }
+ catch (Exception exception)
+ {
+ EcorePlugin.INSTANCE.log(exception);
+ }
+ return new CssFactoryImpl();
+ }
+
+ /**
+ * Creates an instance of the factory.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CssFactoryImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public EObject create(EClass eClass)
+ {
+ switch (eClass.getClassifierID())
+ {
+ case CssPackage.STYLESHEET: return createStylesheet();
+ case CssPackage.CONTENT: return createContent();
+ case CssPackage.IMPORT: return createImport();
+ case CssPackage.MEDIA: return createMedia();
+ case CssPackage.PAGE: return createPage();
+ case CssPackage.PSEUDO_PAGE: return createPseudoPage();
+ case CssPackage.RULESET: return createRuleset();
+ case CssPackage.SELECTOR: return createSelector();
+ case CssPackage.COMPOSITE_SELECTOR: return createCompositeSelector();
+ case CssPackage.SIMPLE_SELECTOR: return createSimpleSelector();
+ case CssPackage.SELECTOR_CONDITION: return createSelectorCondition();
+ case CssPackage.COMBINATOR: return createCombinator();
+ case CssPackage.DECLARATION: return createDeclaration();
+ case CssPackage.EXPRESSION: return createExpression();
+ case CssPackage.SUBTERM: return createSubterm();
+ case CssPackage.TERM: return createTerm();
+ case CssPackage.FUNCTION: return createFunction();
+ case CssPackage.NAME: return createName();
+ case CssPackage.NUMBER: return createNumber();
+ case CssPackage.PERCENTAGE: return createPercentage();
+ case CssPackage.LENGTH: return createLength();
+ case CssPackage.EMS: return createEms();
+ case CssPackage.EXS: return createExs();
+ case CssPackage.ANGLE: return createAngle();
+ case CssPackage.TIME: return createTime();
+ case CssPackage.FREQUENCY: return createFrequency();
+ case CssPackage.URI: return createUri();
+ case CssPackage.STRING_VALUE: return createStringValue();
+ case CssPackage.HEX_COLOR: return createHexColor();
+ case CssPackage.CLASS: return createClass();
+ case CssPackage.ATTRIBUTE: return createAttribute();
+ case CssPackage.ATTRIBUTE_VALUE: return createAttributeValue();
+ case CssPackage.PSEUDO: return createPseudo();
+ case CssPackage.CSS_ID: return createCSSId();
+ case CssPackage.UNARY_OPERATOR: return createUnaryOperator();
+ default:
+ throw new IllegalArgumentException("The class '" + eClass.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object createFromString(EDataType eDataType, String initialValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case CssPackage.UNARY:
+ return createUNARYFromString(eDataType, initialValue);
+ case CssPackage.KIND:
+ return createKINDFromString(eDataType, initialValue);
+ case CssPackage.ATTRIBUTE_OP:
+ return createATTRIBUTE_OPFromString(eDataType, initialValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String convertToString(EDataType eDataType, Object instanceValue)
+ {
+ switch (eDataType.getClassifierID())
+ {
+ case CssPackage.UNARY:
+ return convertUNARYToString(eDataType, instanceValue);
+ case CssPackage.KIND:
+ return convertKINDToString(eDataType, instanceValue);
+ case CssPackage.ATTRIBUTE_OP:
+ return convertATTRIBUTE_OPToString(eDataType, instanceValue);
+ default:
+ throw new IllegalArgumentException("The datatype '" + eDataType.getName() + "' is not a valid classifier");
+ }
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Stylesheet createStylesheet()
+ {
+ StylesheetImpl stylesheet = new StylesheetImpl();
+ return stylesheet;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Content createContent()
+ {
+ ContentImpl content = new ContentImpl();
+ return content;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Import createImport()
+ {
+ ImportImpl import_ = new ImportImpl();
+ return import_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Media createMedia()
+ {
+ MediaImpl media = new MediaImpl();
+ return media;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Page createPage()
+ {
+ PageImpl page = new PageImpl();
+ return page;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public PseudoPage createPseudoPage()
+ {
+ PseudoPageImpl pseudoPage = new PseudoPageImpl();
+ return pseudoPage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ruleset createRuleset()
+ {
+ RulesetImpl ruleset = new RulesetImpl();
+ return ruleset;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Selector createSelector()
+ {
+ SelectorImpl selector = new SelectorImpl();
+ return selector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CompositeSelector createCompositeSelector()
+ {
+ CompositeSelectorImpl compositeSelector = new CompositeSelectorImpl();
+ return compositeSelector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SimpleSelector createSimpleSelector()
+ {
+ SimpleSelectorImpl simpleSelector = new SimpleSelectorImpl();
+ return simpleSelector;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public SelectorCondition createSelectorCondition()
+ {
+ SelectorConditionImpl selectorCondition = new SelectorConditionImpl();
+ return selectorCondition;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Combinator createCombinator()
+ {
+ CombinatorImpl combinator = new CombinatorImpl();
+ return combinator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Declaration createDeclaration()
+ {
+ DeclarationImpl declaration = new DeclarationImpl();
+ return declaration;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression createExpression()
+ {
+ ExpressionImpl expression = new ExpressionImpl();
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Subterm createSubterm()
+ {
+ SubtermImpl subterm = new SubtermImpl();
+ return subterm;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Term createTerm()
+ {
+ TermImpl term = new TermImpl();
+ return term;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Function createFunction()
+ {
+ FunctionImpl function = new FunctionImpl();
+ return function;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Name createName()
+ {
+ NameImpl name = new NameImpl();
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.papyrus.infra.gmfdiag.css.Number createNumber()
+ {
+ NumberImpl number = new NumberImpl();
+ return number;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Percentage createPercentage()
+ {
+ PercentageImpl percentage = new PercentageImpl();
+ return percentage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Length createLength()
+ {
+ LengthImpl length = new LengthImpl();
+ return length;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Ems createEms()
+ {
+ EmsImpl ems = new EmsImpl();
+ return ems;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Exs createExs()
+ {
+ ExsImpl exs = new ExsImpl();
+ return exs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Angle createAngle()
+ {
+ AngleImpl angle = new AngleImpl();
+ return angle;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Time createTime()
+ {
+ TimeImpl time = new TimeImpl();
+ return time;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Frequency createFrequency()
+ {
+ FrequencyImpl frequency = new FrequencyImpl();
+ return frequency;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Uri createUri()
+ {
+ UriImpl uri = new UriImpl();
+ return uri;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public StringValue createStringValue()
+ {
+ StringValueImpl stringValue = new StringValueImpl();
+ return stringValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public HexColor createHexColor()
+ {
+ HexColorImpl hexColor = new HexColorImpl();
+ return hexColor;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public org.eclipse.papyrus.infra.gmfdiag.css.Class createClass()
+ {
+ ClassImpl class_ = new ClassImpl();
+ return class_;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Attribute createAttribute()
+ {
+ AttributeImpl attribute = new AttributeImpl();
+ return attribute;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public AttributeValue createAttributeValue()
+ {
+ AttributeValueImpl attributeValue = new AttributeValueImpl();
+ return attributeValue;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Pseudo createPseudo()
+ {
+ PseudoImpl pseudo = new PseudoImpl();
+ return pseudo;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CSSId createCSSId()
+ {
+ CSSIdImpl cssId = new CSSIdImpl();
+ return cssId;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator createUnaryOperator()
+ {
+ UnaryOperatorImpl unaryOperator = new UnaryOperatorImpl();
+ return unaryOperator;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UNARY createUNARYFromString(EDataType eDataType, String initialValue)
+ {
+ UNARY result = UNARY.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertUNARYToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public KIND createKINDFromString(EDataType eDataType, String initialValue)
+ {
+ KIND result = KIND.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertKINDToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public ATTRIBUTE_OP createATTRIBUTE_OPFromString(EDataType eDataType, String initialValue)
+ {
+ ATTRIBUTE_OP result = ATTRIBUTE_OP.get(initialValue);
+ if (result == null) throw new IllegalArgumentException("The value '" + initialValue + "' is not a valid enumerator of '" + eDataType.getName() + "'");
+ return result;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String convertATTRIBUTE_OPToString(EDataType eDataType, Object instanceValue)
+ {
+ return instanceValue == null ? null : instanceValue.toString();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CssPackage getCssPackage()
+ {
+ return (CssPackage)getEPackage();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @deprecated
+ * @generated
+ */
+ @Deprecated
+ public static CssPackage getPackage()
+ {
+ return CssPackage.eINSTANCE;
+ }
+
+} //CssFactoryImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java
new file mode 100644
index 00000000000..3441652cf4f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/CssPackageImpl.java
@@ -0,0 +1,1781 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.ecore.EAttribute;
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.EEnum;
+import org.eclipse.emf.ecore.EPackage;
+import org.eclipse.emf.ecore.EReference;
+
+import org.eclipse.emf.ecore.impl.EPackageImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.Angle;
+import org.eclipse.papyrus.infra.gmfdiag.css.Attribute;
+import org.eclipse.papyrus.infra.gmfdiag.css.AttributeValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.CSSId;
+import org.eclipse.papyrus.infra.gmfdiag.css.Combinator;
+import org.eclipse.papyrus.infra.gmfdiag.css.CompositeSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.Content;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssFactory;
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+import org.eclipse.papyrus.infra.gmfdiag.css.Page;
+import org.eclipse.papyrus.infra.gmfdiag.css.Percentage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Pseudo;
+import org.eclipse.papyrus.infra.gmfdiag.css.PseudoPage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+import org.eclipse.papyrus.infra.gmfdiag.css.Selector;
+import org.eclipse.papyrus.infra.gmfdiag.css.SelectorCondition;
+import org.eclipse.papyrus.infra.gmfdiag.css.SimpleSelector;
+import org.eclipse.papyrus.infra.gmfdiag.css.StringValue;
+import org.eclipse.papyrus.infra.gmfdiag.css.Stylesheet;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+import org.eclipse.papyrus.infra.gmfdiag.css.Time;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model <b>Package</b>.
+ * <!-- end-user-doc -->
+ * @generated
+ */
+public class CssPackageImpl extends EPackageImpl implements CssPackage
+{
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stylesheetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass contentEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass importEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass mediaEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pseudoPageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass rulesetEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass compositeSelectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass simpleSelectorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass selectorConditionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass combinatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass declarationEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass expressionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass subtermEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass termEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass functionEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass nameEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass numberEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass percentageEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass lengthEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass emsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass exsEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass angleEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass timeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass frequencyEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass uriEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass stringValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass hexColorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass classEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributeEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass attributeValueEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass pseudoEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass cssIdEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EClass unaryOperatorEClass = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum unaryEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum kindEEnum = null;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private EEnum attributE_OPEEnum = null;
+
+ /**
+ * Creates an instance of the model <b>Package</b>, registered with
+ * {@link org.eclipse.emf.ecore.EPackage.Registry EPackage.Registry} by the package
+ * package URI value.
+ * <p>Note: the correct way to create the package is via the static
+ * factory method {@link #init init()}, which also performs
+ * initialization of the package, or returns the registered package,
+ * if one already exists.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see org.eclipse.emf.ecore.EPackage.Registry
+ * @see org.eclipse.papyrus.infra.gmfdiag.css.CssPackage#eNS_URI
+ * @see #init()
+ * @generated
+ */
+ private CssPackageImpl()
+ {
+ super(eNS_URI, CssFactory.eINSTANCE);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private static boolean isInited = false;
+
+ /**
+ * Creates, registers, and initializes the <b>Package</b> for this model, and for any others upon which it depends.
+ *
+ * <p>This method is used to initialize {@link CssPackage#eINSTANCE} when that field is accessed.
+ * Clients should not invoke it directly. Instead, they should simply access that field to obtain the package.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #eNS_URI
+ * @see #createPackageContents()
+ * @see #initializePackageContents()
+ * @generated
+ */
+ public static CssPackage init()
+ {
+ if (isInited) return (CssPackage)EPackage.Registry.INSTANCE.getEPackage(CssPackage.eNS_URI);
+
+ // Obtain or create and register package
+ CssPackageImpl theCssPackage = (CssPackageImpl)(EPackage.Registry.INSTANCE.get(eNS_URI) instanceof CssPackageImpl ? EPackage.Registry.INSTANCE.get(eNS_URI) : new CssPackageImpl());
+
+ isInited = true;
+
+ // Create package meta-data objects
+ theCssPackage.createPackageContents();
+
+ // Initialize created meta-data
+ theCssPackage.initializePackageContents();
+
+ // Mark meta-data to indicate it can't be changed
+ theCssPackage.freeze();
+
+
+ // Update the registry and return the package
+ EPackage.Registry.INSTANCE.put(CssPackage.eNS_URI, theCssPackage);
+ return theCssPackage;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStylesheet()
+ {
+ return stylesheetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStylesheet_Charset()
+ {
+ return (EAttribute)stylesheetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStylesheet_Imports()
+ {
+ return (EReference)stylesheetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getStylesheet_Contents()
+ {
+ return (EReference)stylesheetEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getContent()
+ {
+ return contentEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getImport()
+ {
+ return importEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImport_String()
+ {
+ return (EAttribute)importEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getImport_Uri()
+ {
+ return (EReference)importEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getImport_Media()
+ {
+ return (EAttribute)importEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getMedia()
+ {
+ return mediaEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getMedia_Media()
+ {
+ return (EAttribute)mediaEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getMedia_Rules()
+ {
+ return (EReference)mediaEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPage()
+ {
+ return pageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPage_Pseudo()
+ {
+ return (EReference)pageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPage_Declarations()
+ {
+ return (EReference)pageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPseudoPage()
+ {
+ return pseudoPageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPseudoPage_Id()
+ {
+ return (EAttribute)pseudoPageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getRuleset()
+ {
+ return rulesetEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRuleset_Selectors()
+ {
+ return (EReference)rulesetEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getRuleset_Properties()
+ {
+ return (EReference)rulesetEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSelector()
+ {
+ return selectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCompositeSelector()
+ {
+ return compositeSelectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompositeSelector_Left()
+ {
+ return (EReference)compositeSelectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompositeSelector_Combinator()
+ {
+ return (EReference)compositeSelectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getCompositeSelector_Right()
+ {
+ return (EReference)compositeSelectorEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSimpleSelector()
+ {
+ return simpleSelectorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSimpleSelector_ElementName()
+ {
+ return (EAttribute)simpleSelectorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSimpleSelector_Condition()
+ {
+ return (EReference)simpleSelectorEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSelectorCondition()
+ {
+ return selectorConditionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCombinator()
+ {
+ return combinatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCombinator_Kind()
+ {
+ return (EAttribute)combinatorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getDeclaration()
+ {
+ return declarationEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeclaration_Property()
+ {
+ return (EAttribute)declarationEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getDeclaration_Expression()
+ {
+ return (EReference)declarationEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getDeclaration_Important()
+ {
+ return (EAttribute)declarationEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExpression()
+ {
+ return expressionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpression_Terms()
+ {
+ return (EReference)expressionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExpression_Subterms()
+ {
+ return (EReference)expressionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getSubterm()
+ {
+ return subtermEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getSubterm_Operator()
+ {
+ return (EAttribute)subtermEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getSubterm_Term()
+ {
+ return (EReference)subtermEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTerm()
+ {
+ return termEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFunction()
+ {
+ return functionEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFunction_Name()
+ {
+ return (EAttribute)functionEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFunction_Args()
+ {
+ return (EReference)functionEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getName_()
+ {
+ return nameEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getName_Value()
+ {
+ return (EAttribute)nameEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getNumber()
+ {
+ return numberEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getNumber_Op()
+ {
+ return (EReference)numberEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getNumber_Value()
+ {
+ return (EAttribute)numberEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPercentage()
+ {
+ return percentageEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getPercentage_Op()
+ {
+ return (EReference)percentageEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPercentage_Value()
+ {
+ return (EAttribute)percentageEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPercentage_Unit()
+ {
+ return (EAttribute)percentageEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getLength()
+ {
+ return lengthEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getLength_Op()
+ {
+ return (EReference)lengthEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLength_Value()
+ {
+ return (EAttribute)lengthEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getLength_Unit()
+ {
+ return (EAttribute)lengthEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getEms()
+ {
+ return emsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getEms_Op()
+ {
+ return (EReference)emsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEms_Value()
+ {
+ return (EAttribute)emsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getEms_Unit()
+ {
+ return (EAttribute)emsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getExs()
+ {
+ return exsEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getExs_Op()
+ {
+ return (EReference)exsEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExs_Value()
+ {
+ return (EAttribute)exsEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getExs_Unit()
+ {
+ return (EAttribute)exsEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAngle()
+ {
+ return angleEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAngle_Op()
+ {
+ return (EReference)angleEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAngle_Value()
+ {
+ return (EAttribute)angleEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAngle_Unit()
+ {
+ return (EAttribute)angleEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getTime()
+ {
+ return timeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getTime_Op()
+ {
+ return (EReference)timeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTime_Value()
+ {
+ return (EAttribute)timeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getTime_Unit()
+ {
+ return (EAttribute)timeEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getFrequency()
+ {
+ return frequencyEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getFrequency_Op()
+ {
+ return (EReference)frequencyEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFrequency_Value()
+ {
+ return (EAttribute)frequencyEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getFrequency_Unit()
+ {
+ return (EAttribute)frequencyEClass.getEStructuralFeatures().get(2);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUri()
+ {
+ return uriEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUri_Value()
+ {
+ return (EAttribute)uriEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getStringValue()
+ {
+ return stringValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getStringValue_Value()
+ {
+ return (EAttribute)stringValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getHexColor()
+ {
+ return hexColorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getHexColor_Value()
+ {
+ return (EAttribute)hexColorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getClass_()
+ {
+ return classEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getClass_Class()
+ {
+ return (EAttribute)classEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAttribute()
+ {
+ return attributeEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttribute_Name()
+ {
+ return (EAttribute)attributeEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EReference getAttribute_Value()
+ {
+ return (EReference)attributeEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getAttributeValue()
+ {
+ return attributeValueEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttributeValue_Operator()
+ {
+ return (EAttribute)attributeValueEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getAttributeValue_Value()
+ {
+ return (EAttribute)attributeValueEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getPseudo()
+ {
+ return pseudoEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPseudo_Pseudo()
+ {
+ return (EAttribute)pseudoEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getPseudo_Args()
+ {
+ return (EAttribute)pseudoEClass.getEStructuralFeatures().get(1);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getCSSId()
+ {
+ return cssIdEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getCSSId_Value()
+ {
+ return (EAttribute)cssIdEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EClass getUnaryOperator()
+ {
+ return unaryOperatorEClass;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EAttribute getUnaryOperator_Operator()
+ {
+ return (EAttribute)unaryOperatorEClass.getEStructuralFeatures().get(0);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getUNARY()
+ {
+ return unaryEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getKIND()
+ {
+ return kindEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EEnum getATTRIBUTE_OP()
+ {
+ return attributE_OPEEnum;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public CssFactory getCssFactory()
+ {
+ return (CssFactory)getEFactoryInstance();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isCreated = false;
+
+ /**
+ * Creates the meta-model objects for the package. This method is
+ * guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void createPackageContents()
+ {
+ if (isCreated) return;
+ isCreated = true;
+
+ // Create classes and their features
+ stylesheetEClass = createEClass(STYLESHEET);
+ createEAttribute(stylesheetEClass, STYLESHEET__CHARSET);
+ createEReference(stylesheetEClass, STYLESHEET__IMPORTS);
+ createEReference(stylesheetEClass, STYLESHEET__CONTENTS);
+
+ contentEClass = createEClass(CONTENT);
+
+ importEClass = createEClass(IMPORT);
+ createEAttribute(importEClass, IMPORT__STRING);
+ createEReference(importEClass, IMPORT__URI);
+ createEAttribute(importEClass, IMPORT__MEDIA);
+
+ mediaEClass = createEClass(MEDIA);
+ createEAttribute(mediaEClass, MEDIA__MEDIA);
+ createEReference(mediaEClass, MEDIA__RULES);
+
+ pageEClass = createEClass(PAGE);
+ createEReference(pageEClass, PAGE__PSEUDO);
+ createEReference(pageEClass, PAGE__DECLARATIONS);
+
+ pseudoPageEClass = createEClass(PSEUDO_PAGE);
+ createEAttribute(pseudoPageEClass, PSEUDO_PAGE__ID);
+
+ rulesetEClass = createEClass(RULESET);
+ createEReference(rulesetEClass, RULESET__SELECTORS);
+ createEReference(rulesetEClass, RULESET__PROPERTIES);
+
+ selectorEClass = createEClass(SELECTOR);
+
+ compositeSelectorEClass = createEClass(COMPOSITE_SELECTOR);
+ createEReference(compositeSelectorEClass, COMPOSITE_SELECTOR__LEFT);
+ createEReference(compositeSelectorEClass, COMPOSITE_SELECTOR__COMBINATOR);
+ createEReference(compositeSelectorEClass, COMPOSITE_SELECTOR__RIGHT);
+
+ simpleSelectorEClass = createEClass(SIMPLE_SELECTOR);
+ createEAttribute(simpleSelectorEClass, SIMPLE_SELECTOR__ELEMENT_NAME);
+ createEReference(simpleSelectorEClass, SIMPLE_SELECTOR__CONDITION);
+
+ selectorConditionEClass = createEClass(SELECTOR_CONDITION);
+
+ combinatorEClass = createEClass(COMBINATOR);
+ createEAttribute(combinatorEClass, COMBINATOR__KIND);
+
+ declarationEClass = createEClass(DECLARATION);
+ createEAttribute(declarationEClass, DECLARATION__PROPERTY);
+ createEReference(declarationEClass, DECLARATION__EXPRESSION);
+ createEAttribute(declarationEClass, DECLARATION__IMPORTANT);
+
+ expressionEClass = createEClass(EXPRESSION);
+ createEReference(expressionEClass, EXPRESSION__TERMS);
+ createEReference(expressionEClass, EXPRESSION__SUBTERMS);
+
+ subtermEClass = createEClass(SUBTERM);
+ createEAttribute(subtermEClass, SUBTERM__OPERATOR);
+ createEReference(subtermEClass, SUBTERM__TERM);
+
+ termEClass = createEClass(TERM);
+
+ functionEClass = createEClass(FUNCTION);
+ createEAttribute(functionEClass, FUNCTION__NAME);
+ createEReference(functionEClass, FUNCTION__ARGS);
+
+ nameEClass = createEClass(NAME);
+ createEAttribute(nameEClass, NAME__VALUE);
+
+ numberEClass = createEClass(NUMBER);
+ createEReference(numberEClass, NUMBER__OP);
+ createEAttribute(numberEClass, NUMBER__VALUE);
+
+ percentageEClass = createEClass(PERCENTAGE);
+ createEReference(percentageEClass, PERCENTAGE__OP);
+ createEAttribute(percentageEClass, PERCENTAGE__VALUE);
+ createEAttribute(percentageEClass, PERCENTAGE__UNIT);
+
+ lengthEClass = createEClass(LENGTH);
+ createEReference(lengthEClass, LENGTH__OP);
+ createEAttribute(lengthEClass, LENGTH__VALUE);
+ createEAttribute(lengthEClass, LENGTH__UNIT);
+
+ emsEClass = createEClass(EMS);
+ createEReference(emsEClass, EMS__OP);
+ createEAttribute(emsEClass, EMS__VALUE);
+ createEAttribute(emsEClass, EMS__UNIT);
+
+ exsEClass = createEClass(EXS);
+ createEReference(exsEClass, EXS__OP);
+ createEAttribute(exsEClass, EXS__VALUE);
+ createEAttribute(exsEClass, EXS__UNIT);
+
+ angleEClass = createEClass(ANGLE);
+ createEReference(angleEClass, ANGLE__OP);
+ createEAttribute(angleEClass, ANGLE__VALUE);
+ createEAttribute(angleEClass, ANGLE__UNIT);
+
+ timeEClass = createEClass(TIME);
+ createEReference(timeEClass, TIME__OP);
+ createEAttribute(timeEClass, TIME__VALUE);
+ createEAttribute(timeEClass, TIME__UNIT);
+
+ frequencyEClass = createEClass(FREQUENCY);
+ createEReference(frequencyEClass, FREQUENCY__OP);
+ createEAttribute(frequencyEClass, FREQUENCY__VALUE);
+ createEAttribute(frequencyEClass, FREQUENCY__UNIT);
+
+ uriEClass = createEClass(URI);
+ createEAttribute(uriEClass, URI__VALUE);
+
+ stringValueEClass = createEClass(STRING_VALUE);
+ createEAttribute(stringValueEClass, STRING_VALUE__VALUE);
+
+ hexColorEClass = createEClass(HEX_COLOR);
+ createEAttribute(hexColorEClass, HEX_COLOR__VALUE);
+
+ classEClass = createEClass(CLASS);
+ createEAttribute(classEClass, CLASS__CLASS);
+
+ attributeEClass = createEClass(ATTRIBUTE);
+ createEAttribute(attributeEClass, ATTRIBUTE__NAME);
+ createEReference(attributeEClass, ATTRIBUTE__VALUE);
+
+ attributeValueEClass = createEClass(ATTRIBUTE_VALUE);
+ createEAttribute(attributeValueEClass, ATTRIBUTE_VALUE__OPERATOR);
+ createEAttribute(attributeValueEClass, ATTRIBUTE_VALUE__VALUE);
+
+ pseudoEClass = createEClass(PSEUDO);
+ createEAttribute(pseudoEClass, PSEUDO__PSEUDO);
+ createEAttribute(pseudoEClass, PSEUDO__ARGS);
+
+ cssIdEClass = createEClass(CSS_ID);
+ createEAttribute(cssIdEClass, CSS_ID__VALUE);
+
+ unaryOperatorEClass = createEClass(UNARY_OPERATOR);
+ createEAttribute(unaryOperatorEClass, UNARY_OPERATOR__OPERATOR);
+
+ // Create enums
+ unaryEEnum = createEEnum(UNARY);
+ kindEEnum = createEEnum(KIND);
+ attributE_OPEEnum = createEEnum(ATTRIBUTE_OP);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ private boolean isInitialized = false;
+
+ /**
+ * Complete the initialization of the package and its meta-model. This
+ * method is guarded to have no affect on any invocation but its first.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void initializePackageContents()
+ {
+ if (isInitialized) return;
+ isInitialized = true;
+
+ // Initialize package
+ setName(eNAME);
+ setNsPrefix(eNS_PREFIX);
+ setNsURI(eNS_URI);
+
+ // Create type parameters
+
+ // Set bounds for type parameters
+
+ // Add supertypes to classes
+ mediaEClass.getESuperTypes().add(this.getContent());
+ pageEClass.getESuperTypes().add(this.getContent());
+ rulesetEClass.getESuperTypes().add(this.getContent());
+ compositeSelectorEClass.getESuperTypes().add(this.getSelector());
+ simpleSelectorEClass.getESuperTypes().add(this.getSelector());
+ functionEClass.getESuperTypes().add(this.getTerm());
+ nameEClass.getESuperTypes().add(this.getTerm());
+ numberEClass.getESuperTypes().add(this.getTerm());
+ percentageEClass.getESuperTypes().add(this.getTerm());
+ lengthEClass.getESuperTypes().add(this.getTerm());
+ emsEClass.getESuperTypes().add(this.getTerm());
+ exsEClass.getESuperTypes().add(this.getTerm());
+ angleEClass.getESuperTypes().add(this.getTerm());
+ timeEClass.getESuperTypes().add(this.getTerm());
+ frequencyEClass.getESuperTypes().add(this.getTerm());
+ uriEClass.getESuperTypes().add(this.getTerm());
+ stringValueEClass.getESuperTypes().add(this.getTerm());
+ hexColorEClass.getESuperTypes().add(this.getTerm());
+ classEClass.getESuperTypes().add(this.getSelectorCondition());
+ attributeEClass.getESuperTypes().add(this.getSelectorCondition());
+ pseudoEClass.getESuperTypes().add(this.getSelectorCondition());
+ cssIdEClass.getESuperTypes().add(this.getSelectorCondition());
+
+ // Initialize classes and features; add operations and parameters
+ initEClass(stylesheetEClass, Stylesheet.class, "Stylesheet", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStylesheet_Charset(), ecorePackage.getEString(), "charset", null, 0, 1, Stylesheet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStylesheet_Imports(), this.getImport(), null, "imports", null, 0, -1, Stylesheet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getStylesheet_Contents(), this.getContent(), null, "contents", null, 0, -1, Stylesheet.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(contentEClass, Content.class, "Content", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(importEClass, Import.class, "Import", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getImport_String(), ecorePackage.getEString(), "string", null, 0, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getImport_Uri(), this.getUri(), null, "uri", null, 0, 1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getImport_Media(), ecorePackage.getEString(), "media", null, 0, -1, Import.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(mediaEClass, Media.class, "Media", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getMedia_Media(), ecorePackage.getEString(), "media", null, 0, -1, Media.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, !IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getMedia_Rules(), this.getRuleset(), null, "rules", null, 0, -1, Media.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pageEClass, Page.class, "Page", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPage_Pseudo(), this.getPseudoPage(), null, "pseudo", null, 0, 1, Page.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getPage_Declarations(), this.getDeclaration(), null, "declarations", null, 0, -1, Page.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pseudoPageEClass, PseudoPage.class, "PseudoPage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPseudoPage_Id(), ecorePackage.getEString(), "id", null, 0, 1, PseudoPage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(rulesetEClass, Ruleset.class, "Ruleset", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getRuleset_Selectors(), this.getSelector(), null, "selectors", null, 0, -1, Ruleset.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getRuleset_Properties(), this.getDeclaration(), null, "properties", null, 0, -1, Ruleset.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(selectorEClass, Selector.class, "Selector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(compositeSelectorEClass, CompositeSelector.class, "CompositeSelector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getCompositeSelector_Left(), this.getSimpleSelector(), null, "left", null, 0, 1, CompositeSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCompositeSelector_Combinator(), this.getCombinator(), null, "combinator", null, 0, 1, CompositeSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getCompositeSelector_Right(), this.getSelector(), null, "right", null, 0, 1, CompositeSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(simpleSelectorEClass, SimpleSelector.class, "SimpleSelector", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSimpleSelector_ElementName(), ecorePackage.getEString(), "elementName", null, 0, 1, SimpleSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSimpleSelector_Condition(), this.getSelectorCondition(), null, "condition", null, 0, -1, SimpleSelector.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(selectorConditionEClass, SelectorCondition.class, "SelectorCondition", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(combinatorEClass, Combinator.class, "Combinator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCombinator_Kind(), this.getKIND(), "kind", null, 0, 1, Combinator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(declarationEClass, Declaration.class, "Declaration", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getDeclaration_Property(), ecorePackage.getEString(), "property", null, 0, 1, Declaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getDeclaration_Expression(), this.getExpression(), null, "expression", null, 0, 1, Declaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getDeclaration_Important(), ecorePackage.getEBoolean(), "important", null, 0, 1, Declaration.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(expressionEClass, Expression.class, "Expression", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExpression_Terms(), this.getTerm(), null, "terms", null, 0, 1, Expression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getExpression_Subterms(), this.getSubterm(), null, "subterms", null, 0, -1, Expression.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(subtermEClass, Subterm.class, "Subterm", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getSubterm_Operator(), ecorePackage.getEString(), "operator", null, 0, 1, Subterm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getSubterm_Term(), this.getTerm(), null, "term", null, 0, 1, Subterm.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(termEClass, Term.class, "Term", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+
+ initEClass(functionEClass, Function.class, "Function", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getFunction_Name(), ecorePackage.getEString(), "name", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getFunction_Args(), this.getExpression(), null, "args", null, 0, 1, Function.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(nameEClass, Name.class, "Name", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getName_Value(), ecorePackage.getEString(), "value", null, 0, 1, Name.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(numberEClass, org.eclipse.papyrus.infra.gmfdiag.css.Number.class, "Number", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getNumber_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, org.eclipse.papyrus.infra.gmfdiag.css.Number.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getNumber_Value(), ecorePackage.getEString(), "value", null, 0, 1, org.eclipse.papyrus.infra.gmfdiag.css.Number.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(percentageEClass, Percentage.class, "Percentage", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getPercentage_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Percentage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPercentage_Value(), ecorePackage.getEString(), "value", null, 0, 1, Percentage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPercentage_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Percentage.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(lengthEClass, Length.class, "Length", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getLength_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Length.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLength_Value(), ecorePackage.getEString(), "value", null, 0, 1, Length.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getLength_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Length.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(emsEClass, Ems.class, "Ems", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getEms_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Ems.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getEms_Value(), ecorePackage.getEString(), "value", null, 0, 1, Ems.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getEms_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Ems.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(exsEClass, Exs.class, "Exs", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getExs_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Exs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExs_Value(), ecorePackage.getEString(), "value", null, 0, 1, Exs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getExs_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Exs.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(angleEClass, Angle.class, "Angle", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getAngle_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Angle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAngle_Value(), ecorePackage.getEString(), "value", null, 0, 1, Angle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAngle_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Angle.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(timeEClass, Time.class, "Time", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getTime_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Time.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTime_Value(), ecorePackage.getEString(), "value", null, 0, 1, Time.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getTime_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Time.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(frequencyEClass, Frequency.class, "Frequency", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEReference(getFrequency_Op(), this.getUnaryOperator(), null, "op", null, 0, 1, Frequency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFrequency_Value(), ecorePackage.getEString(), "value", null, 0, 1, Frequency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getFrequency_Unit(), ecorePackage.getEString(), "unit", null, 0, 1, Frequency.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(uriEClass, Uri.class, "Uri", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUri_Value(), ecorePackage.getEString(), "value", null, 0, 1, Uri.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(stringValueEClass, StringValue.class, "StringValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getStringValue_Value(), ecorePackage.getEString(), "value", null, 0, 1, StringValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(hexColorEClass, HexColor.class, "HexColor", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getHexColor_Value(), ecorePackage.getEString(), "value", null, 0, 1, HexColor.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(classEClass, org.eclipse.papyrus.infra.gmfdiag.css.Class.class, "Class", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getClass_Class(), ecorePackage.getEString(), "class", null, 0, 1, org.eclipse.papyrus.infra.gmfdiag.css.Class.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attributeEClass, Attribute.class, "Attribute", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAttribute_Name(), ecorePackage.getEString(), "name", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEReference(getAttribute_Value(), this.getAttributeValue(), null, "value", null, 0, 1, Attribute.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, IS_COMPOSITE, !IS_RESOLVE_PROXIES, !IS_UNSETTABLE, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(attributeValueEClass, AttributeValue.class, "AttributeValue", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getAttributeValue_Operator(), this.getATTRIBUTE_OP(), "operator", null, 0, 1, AttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getAttributeValue_Value(), ecorePackage.getEString(), "value", null, 0, 1, AttributeValue.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(pseudoEClass, Pseudo.class, "Pseudo", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getPseudo_Pseudo(), ecorePackage.getEString(), "pseudo", null, 0, 1, Pseudo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+ initEAttribute(getPseudo_Args(), ecorePackage.getEString(), "args", null, 0, 1, Pseudo.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(cssIdEClass, CSSId.class, "CSSId", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getCSSId_Value(), ecorePackage.getEString(), "value", null, 0, 1, CSSId.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ initEClass(unaryOperatorEClass, UnaryOperator.class, "UnaryOperator", !IS_ABSTRACT, !IS_INTERFACE, IS_GENERATED_INSTANCE_CLASS);
+ initEAttribute(getUnaryOperator_Operator(), this.getUNARY(), "operator", null, 0, 1, UnaryOperator.class, !IS_TRANSIENT, !IS_VOLATILE, IS_CHANGEABLE, !IS_UNSETTABLE, !IS_ID, IS_UNIQUE, !IS_DERIVED, IS_ORDERED);
+
+ // Initialize enums and add enum literals
+ initEEnum(unaryEEnum, org.eclipse.papyrus.infra.gmfdiag.css.UNARY.class, "UNARY");
+ addEEnumLiteral(unaryEEnum, org.eclipse.papyrus.infra.gmfdiag.css.UNARY.NEG);
+ addEEnumLiteral(unaryEEnum, org.eclipse.papyrus.infra.gmfdiag.css.UNARY.PLUS);
+
+ initEEnum(kindEEnum, org.eclipse.papyrus.infra.gmfdiag.css.KIND.class, "KIND");
+ addEEnumLiteral(kindEEnum, org.eclipse.papyrus.infra.gmfdiag.css.KIND.FIRST_CHILD);
+ addEEnumLiteral(kindEEnum, org.eclipse.papyrus.infra.gmfdiag.css.KIND.SIBLING);
+
+ initEEnum(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.class, "ATTRIBUTE_OP");
+ addEEnumLiteral(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.EQUALS);
+ addEEnumLiteral(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.CONTAINS);
+ addEEnumLiteral(attributE_OPEEnum, org.eclipse.papyrus.infra.gmfdiag.css.ATTRIBUTE_OP.UNEQUALS);
+
+ // Create resource
+ createResource(eNS_URI);
+ }
+
+} //CssPackageImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java
new file mode 100644
index 00000000000..1537b344b45
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/DeclarationImpl.java
@@ -0,0 +1,321 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Declaration;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Declaration</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl#getProperty <em>Property</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl#getExpression <em>Expression</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.DeclarationImpl#isImportant <em>Important</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class DeclarationImpl extends MinimalEObjectImpl.Container implements Declaration
+{
+ /**
+ * The default value of the '{@link #getProperty() <em>Property</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperty()
+ * @generated
+ * @ordered
+ */
+ protected static final String PROPERTY_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getProperty() <em>Property</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getProperty()
+ * @generated
+ * @ordered
+ */
+ protected String property = PROPERTY_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getExpression() <em>Expression</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getExpression()
+ * @generated
+ * @ordered
+ */
+ protected Expression expression;
+
+ /**
+ * The default value of the '{@link #isImportant() <em>Important</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImportant()
+ * @generated
+ * @ordered
+ */
+ protected static final boolean IMPORTANT_EDEFAULT = false;
+
+ /**
+ * The cached value of the '{@link #isImportant() <em>Important</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #isImportant()
+ * @generated
+ * @ordered
+ */
+ protected boolean important = IMPORTANT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected DeclarationImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.DECLARATION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getProperty()
+ {
+ return property;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setProperty(String newProperty)
+ {
+ String oldProperty = property;
+ property = newProperty;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.DECLARATION__PROPERTY, oldProperty, property));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getExpression()
+ {
+ return expression;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetExpression(Expression newExpression, NotificationChain msgs)
+ {
+ Expression oldExpression = expression;
+ expression = newExpression;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.DECLARATION__EXPRESSION, oldExpression, newExpression);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setExpression(Expression newExpression)
+ {
+ if (newExpression != expression)
+ {
+ NotificationChain msgs = null;
+ if (expression != null)
+ msgs = ((InternalEObject)expression).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.DECLARATION__EXPRESSION, null, msgs);
+ if (newExpression != null)
+ msgs = ((InternalEObject)newExpression).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.DECLARATION__EXPRESSION, null, msgs);
+ msgs = basicSetExpression(newExpression, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.DECLARATION__EXPRESSION, newExpression, newExpression));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public boolean isImportant()
+ {
+ return important;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setImportant(boolean newImportant)
+ {
+ boolean oldImportant = important;
+ important = newImportant;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.DECLARATION__IMPORTANT, oldImportant, important));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.DECLARATION__EXPRESSION:
+ return basicSetExpression(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.DECLARATION__PROPERTY:
+ return getProperty();
+ case CssPackage.DECLARATION__EXPRESSION:
+ return getExpression();
+ case CssPackage.DECLARATION__IMPORTANT:
+ return isImportant();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.DECLARATION__PROPERTY:
+ setProperty((String)newValue);
+ return;
+ case CssPackage.DECLARATION__EXPRESSION:
+ setExpression((Expression)newValue);
+ return;
+ case CssPackage.DECLARATION__IMPORTANT:
+ setImportant((Boolean)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.DECLARATION__PROPERTY:
+ setProperty(PROPERTY_EDEFAULT);
+ return;
+ case CssPackage.DECLARATION__EXPRESSION:
+ setExpression((Expression)null);
+ return;
+ case CssPackage.DECLARATION__IMPORTANT:
+ setImportant(IMPORTANT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.DECLARATION__PROPERTY:
+ return PROPERTY_EDEFAULT == null ? property != null : !PROPERTY_EDEFAULT.equals(property);
+ case CssPackage.DECLARATION__EXPRESSION:
+ return expression != null;
+ case CssPackage.DECLARATION__IMPORTANT:
+ return important != IMPORTANT_EDEFAULT;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (property: ");
+ result.append(property);
+ result.append(", important: ");
+ result.append(important);
+ result.append(')');
+ return result.toString();
+ }
+
+} //DeclarationImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java
new file mode 100644
index 00000000000..89385d868d3
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/EmsImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ems;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Ems</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.EmsImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class EmsImpl extends TermImpl implements Ems
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected EmsImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.EMS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.EMS__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.EMS__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.EMS__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EMS__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EMS__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EMS__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ return basicSetOp(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ return getOp();
+ case CssPackage.EMS__VALUE:
+ return getValue();
+ case CssPackage.EMS__UNIT:
+ return getUnit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.EMS__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.EMS__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.EMS__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.EMS__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EMS__OP:
+ return op != null;
+ case CssPackage.EMS__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.EMS__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //EmsImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java
new file mode 100644
index 00000000000..d9d585bff1e
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExpressionImpl.java
@@ -0,0 +1,241 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Subterm;
+import org.eclipse.papyrus.infra.gmfdiag.css.Term;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Expression</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl#getTerms <em>Terms</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExpressionImpl#getSubterms <em>Subterms</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExpressionImpl extends MinimalEObjectImpl.Container implements Expression
+{
+ /**
+ * The cached value of the '{@link #getTerms() <em>Terms</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getTerms()
+ * @generated
+ * @ordered
+ */
+ protected Term terms;
+
+ /**
+ * The cached value of the '{@link #getSubterms() <em>Subterms</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getSubterms()
+ * @generated
+ * @ordered
+ */
+ protected EList<Subterm> subterms;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExpressionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.EXPRESSION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Term getTerms()
+ {
+ return terms;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetTerms(Term newTerms, NotificationChain msgs)
+ {
+ Term oldTerms = terms;
+ terms = newTerms;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.EXPRESSION__TERMS, oldTerms, newTerms);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setTerms(Term newTerms)
+ {
+ if (newTerms != terms)
+ {
+ NotificationChain msgs = null;
+ if (terms != null)
+ msgs = ((InternalEObject)terms).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXPRESSION__TERMS, null, msgs);
+ if (newTerms != null)
+ msgs = ((InternalEObject)newTerms).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXPRESSION__TERMS, null, msgs);
+ msgs = basicSetTerms(newTerms, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXPRESSION__TERMS, newTerms, newTerms));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Subterm> getSubterms()
+ {
+ if (subterms == null)
+ {
+ subterms = new EObjectContainmentEList<Subterm>(Subterm.class, this, CssPackage.EXPRESSION__SUBTERMS);
+ }
+ return subterms;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ return basicSetTerms(null, msgs);
+ case CssPackage.EXPRESSION__SUBTERMS:
+ return ((InternalEList<?>)getSubterms()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ return getTerms();
+ case CssPackage.EXPRESSION__SUBTERMS:
+ return getSubterms();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ setTerms((Term)newValue);
+ return;
+ case CssPackage.EXPRESSION__SUBTERMS:
+ getSubterms().clear();
+ getSubterms().addAll((Collection<? extends Subterm>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ setTerms((Term)null);
+ return;
+ case CssPackage.EXPRESSION__SUBTERMS:
+ getSubterms().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXPRESSION__TERMS:
+ return terms != null;
+ case CssPackage.EXPRESSION__SUBTERMS:
+ return subterms != null && !subterms.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+} //ExpressionImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java
new file mode 100644
index 00000000000..9a20e4db92c
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ExsImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Exs;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Exs</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ExsImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ExsImpl extends TermImpl implements Exs
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ExsImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.EXS;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.EXS__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXS__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.EXS__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXS__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXS__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.EXS__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ return basicSetOp(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ return getOp();
+ case CssPackage.EXS__VALUE:
+ return getValue();
+ case CssPackage.EXS__UNIT:
+ return getUnit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.EXS__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.EXS__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.EXS__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.EXS__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.EXS__OP:
+ return op != null;
+ case CssPackage.EXS__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.EXS__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ExsImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java
new file mode 100644
index 00000000000..6df8d916760
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FrequencyImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Frequency;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Frequency</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FrequencyImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FrequencyImpl extends TermImpl implements Frequency
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FrequencyImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.FREQUENCY;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.FREQUENCY__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.FREQUENCY__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FREQUENCY__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ return basicSetOp(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ return getOp();
+ case CssPackage.FREQUENCY__VALUE:
+ return getValue();
+ case CssPackage.FREQUENCY__UNIT:
+ return getUnit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.FREQUENCY__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.FREQUENCY__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.FREQUENCY__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.FREQUENCY__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FREQUENCY__OP:
+ return op != null;
+ case CssPackage.FREQUENCY__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.FREQUENCY__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FrequencyImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java
new file mode 100644
index 00000000000..b56f34bd762
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/FunctionImpl.java
@@ -0,0 +1,264 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Expression;
+import org.eclipse.papyrus.infra.gmfdiag.css.Function;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Function</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl#getName <em>Name</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.FunctionImpl#getArgs <em>Args</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class FunctionImpl extends TermImpl implements Function
+{
+ /**
+ * The default value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected static final String NAME_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getName() <em>Name</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getName()
+ * @generated
+ * @ordered
+ */
+ protected String name = NAME_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getArgs() <em>Args</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getArgs()
+ * @generated
+ * @ordered
+ */
+ protected Expression args;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected FunctionImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.FUNCTION;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getName()
+ {
+ return name;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setName(String newName)
+ {
+ String oldName = name;
+ name = newName;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FUNCTION__NAME, oldName, name));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Expression getArgs()
+ {
+ return args;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetArgs(Expression newArgs, NotificationChain msgs)
+ {
+ Expression oldArgs = args;
+ args = newArgs;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.FUNCTION__ARGS, oldArgs, newArgs);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setArgs(Expression newArgs)
+ {
+ if (newArgs != args)
+ {
+ NotificationChain msgs = null;
+ if (args != null)
+ msgs = ((InternalEObject)args).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.FUNCTION__ARGS, null, msgs);
+ if (newArgs != null)
+ msgs = ((InternalEObject)newArgs).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.FUNCTION__ARGS, null, msgs);
+ msgs = basicSetArgs(newArgs, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.FUNCTION__ARGS, newArgs, newArgs));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FUNCTION__ARGS:
+ return basicSetArgs(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FUNCTION__NAME:
+ return getName();
+ case CssPackage.FUNCTION__ARGS:
+ return getArgs();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FUNCTION__NAME:
+ setName((String)newValue);
+ return;
+ case CssPackage.FUNCTION__ARGS:
+ setArgs((Expression)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FUNCTION__NAME:
+ setName(NAME_EDEFAULT);
+ return;
+ case CssPackage.FUNCTION__ARGS:
+ setArgs((Expression)null);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.FUNCTION__NAME:
+ return NAME_EDEFAULT == null ? name != null : !NAME_EDEFAULT.equals(name);
+ case CssPackage.FUNCTION__ARGS:
+ return args != null;
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (name: ");
+ result.append(name);
+ result.append(')');
+ return result.toString();
+ }
+
+} //FunctionImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java
new file mode 100644
index 00000000000..3804c1e0966
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/HexColorImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.HexColor;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Hex Color</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.HexColorImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class HexColorImpl extends TermImpl implements HexColor
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected HexColorImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.HEX_COLOR;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.HEX_COLOR__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.HEX_COLOR__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(')');
+ return result.toString();
+ }
+
+} //HexColorImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java
new file mode 100644
index 00000000000..b8b8a949bc7
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/ImportImpl.java
@@ -0,0 +1,310 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+import org.eclipse.emf.ecore.impl.MinimalEObjectImpl;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Import;
+import org.eclipse.papyrus.infra.gmfdiag.css.Uri;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Import</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl#getString <em>String</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl#getUri <em>Uri</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.ImportImpl#getMedia <em>Media</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class ImportImpl extends MinimalEObjectImpl.Container implements Import
+{
+ /**
+ * The default value of the '{@link #getString() <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString()
+ * @generated
+ * @ordered
+ */
+ protected static final String STRING_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getString() <em>String</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getString()
+ * @generated
+ * @ordered
+ */
+ protected String string = STRING_EDEFAULT;
+
+ /**
+ * The cached value of the '{@link #getUri() <em>Uri</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUri()
+ * @generated
+ * @ordered
+ */
+ protected Uri uri;
+
+ /**
+ * The cached value of the '{@link #getMedia() <em>Media</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMedia()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> media;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected ImportImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.IMPORT;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getString()
+ {
+ return string;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setString(String newString)
+ {
+ String oldString = string;
+ string = newString;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.IMPORT__STRING, oldString, string));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public Uri getUri()
+ {
+ return uri;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetUri(Uri newUri, NotificationChain msgs)
+ {
+ Uri oldUri = uri;
+ uri = newUri;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.IMPORT__URI, oldUri, newUri);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUri(Uri newUri)
+ {
+ if (newUri != uri)
+ {
+ NotificationChain msgs = null;
+ if (uri != null)
+ msgs = ((InternalEObject)uri).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.IMPORT__URI, null, msgs);
+ if (newUri != null)
+ msgs = ((InternalEObject)newUri).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.IMPORT__URI, null, msgs);
+ msgs = basicSetUri(newUri, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.IMPORT__URI, newUri, newUri));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getMedia()
+ {
+ if (media == null)
+ {
+ media = new EDataTypeEList<String>(String.class, this, CssPackage.IMPORT__MEDIA);
+ }
+ return media;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.IMPORT__URI:
+ return basicSetUri(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.IMPORT__STRING:
+ return getString();
+ case CssPackage.IMPORT__URI:
+ return getUri();
+ case CssPackage.IMPORT__MEDIA:
+ return getMedia();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.IMPORT__STRING:
+ setString((String)newValue);
+ return;
+ case CssPackage.IMPORT__URI:
+ setUri((Uri)newValue);
+ return;
+ case CssPackage.IMPORT__MEDIA:
+ getMedia().clear();
+ getMedia().addAll((Collection<? extends String>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.IMPORT__STRING:
+ setString(STRING_EDEFAULT);
+ return;
+ case CssPackage.IMPORT__URI:
+ setUri((Uri)null);
+ return;
+ case CssPackage.IMPORT__MEDIA:
+ getMedia().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.IMPORT__STRING:
+ return STRING_EDEFAULT == null ? string != null : !STRING_EDEFAULT.equals(string);
+ case CssPackage.IMPORT__URI:
+ return uri != null;
+ case CssPackage.IMPORT__MEDIA:
+ return media != null && !media.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (string: ");
+ result.append(string);
+ result.append(", media: ");
+ result.append(media);
+ result.append(')');
+ return result.toString();
+ }
+
+} //ImportImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java
new file mode 100644
index 00000000000..acd356a021f
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/LengthImpl.java
@@ -0,0 +1,320 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Length;
+import org.eclipse.papyrus.infra.gmfdiag.css.UnaryOperator;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Length</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl#getOp <em>Op</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl#getValue <em>Value</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.LengthImpl#getUnit <em>Unit</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class LengthImpl extends TermImpl implements Length
+{
+ /**
+ * The cached value of the '{@link #getOp() <em>Op</em>}' containment reference.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getOp()
+ * @generated
+ * @ordered
+ */
+ protected UnaryOperator op;
+
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * The default value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected static final String UNIT_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getUnit() <em>Unit</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getUnit()
+ * @generated
+ * @ordered
+ */
+ protected String unit = UNIT_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected LengthImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.LENGTH;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public UnaryOperator getOp()
+ {
+ return op;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public NotificationChain basicSetOp(UnaryOperator newOp, NotificationChain msgs)
+ {
+ UnaryOperator oldOp = op;
+ op = newOp;
+ if (eNotificationRequired())
+ {
+ ENotificationImpl notification = new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__OP, oldOp, newOp);
+ if (msgs == null) msgs = notification; else msgs.add(notification);
+ }
+ return msgs;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setOp(UnaryOperator newOp)
+ {
+ if (newOp != op)
+ {
+ NotificationChain msgs = null;
+ if (op != null)
+ msgs = ((InternalEObject)op).eInverseRemove(this, EOPPOSITE_FEATURE_BASE - CssPackage.LENGTH__OP, null, msgs);
+ if (newOp != null)
+ msgs = ((InternalEObject)newOp).eInverseAdd(this, EOPPOSITE_FEATURE_BASE - CssPackage.LENGTH__OP, null, msgs);
+ msgs = basicSetOp(newOp, msgs);
+ if (msgs != null) msgs.dispatch();
+ }
+ else if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__OP, newOp, newOp));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getUnit()
+ {
+ return unit;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setUnit(String newUnit)
+ {
+ String oldUnit = unit;
+ unit = newUnit;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.LENGTH__UNIT, oldUnit, unit));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ return basicSetOp(null, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ return getOp();
+ case CssPackage.LENGTH__VALUE:
+ return getValue();
+ case CssPackage.LENGTH__UNIT:
+ return getUnit();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ setOp((UnaryOperator)newValue);
+ return;
+ case CssPackage.LENGTH__VALUE:
+ setValue((String)newValue);
+ return;
+ case CssPackage.LENGTH__UNIT:
+ setUnit((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ setOp((UnaryOperator)null);
+ return;
+ case CssPackage.LENGTH__VALUE:
+ setValue(VALUE_EDEFAULT);
+ return;
+ case CssPackage.LENGTH__UNIT:
+ setUnit(UNIT_EDEFAULT);
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.LENGTH__OP:
+ return op != null;
+ case CssPackage.LENGTH__VALUE:
+ return VALUE_EDEFAULT == null ? value != null : !VALUE_EDEFAULT.equals(value);
+ case CssPackage.LENGTH__UNIT:
+ return UNIT_EDEFAULT == null ? unit != null : !UNIT_EDEFAULT.equals(unit);
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (value: ");
+ result.append(value);
+ result.append(", unit: ");
+ result.append(unit);
+ result.append(')');
+ return result.toString();
+ }
+
+} //LengthImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java
new file mode 100644
index 00000000000..4d66900207b
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/MediaImpl.java
@@ -0,0 +1,219 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import java.util.Collection;
+
+import org.eclipse.emf.common.notify.NotificationChain;
+
+import org.eclipse.emf.common.util.EList;
+
+import org.eclipse.emf.ecore.EClass;
+import org.eclipse.emf.ecore.InternalEObject;
+
+import org.eclipse.emf.ecore.util.EDataTypeEList;
+import org.eclipse.emf.ecore.util.EObjectContainmentEList;
+import org.eclipse.emf.ecore.util.InternalEList;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Media;
+import org.eclipse.papyrus.infra.gmfdiag.css.Ruleset;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Media</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl#getMedia <em>Media</em>}</li>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.MediaImpl#getRules <em>Rules</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class MediaImpl extends ContentImpl implements Media
+{
+ /**
+ * The cached value of the '{@link #getMedia() <em>Media</em>}' attribute list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getMedia()
+ * @generated
+ * @ordered
+ */
+ protected EList<String> media;
+
+ /**
+ * The cached value of the '{@link #getRules() <em>Rules</em>}' containment reference list.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getRules()
+ * @generated
+ * @ordered
+ */
+ protected EList<Ruleset> rules;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected MediaImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.MEDIA;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<String> getMedia()
+ {
+ if (media == null)
+ {
+ media = new EDataTypeEList<String>(String.class, this, CssPackage.MEDIA__MEDIA);
+ }
+ return media;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public EList<Ruleset> getRules()
+ {
+ if (rules == null)
+ {
+ rules = new EObjectContainmentEList<Ruleset>(Ruleset.class, this, CssPackage.MEDIA__RULES);
+ }
+ return rules;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public NotificationChain eInverseRemove(InternalEObject otherEnd, int featureID, NotificationChain msgs)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__RULES:
+ return ((InternalEList<?>)getRules()).basicRemove(otherEnd, msgs);
+ }
+ return super.eInverseRemove(otherEnd, featureID, msgs);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__MEDIA:
+ return getMedia();
+ case CssPackage.MEDIA__RULES:
+ return getRules();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @SuppressWarnings("unchecked")
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__MEDIA:
+ getMedia().clear();
+ getMedia().addAll((Collection<? extends String>)newValue);
+ return;
+ case CssPackage.MEDIA__RULES:
+ getRules().clear();
+ getRules().addAll((Collection<? extends Ruleset>)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eUnset(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__MEDIA:
+ getMedia().clear();
+ return;
+ case CssPackage.MEDIA__RULES:
+ getRules().clear();
+ return;
+ }
+ super.eUnset(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public boolean eIsSet(int featureID)
+ {
+ switch (featureID)
+ {
+ case CssPackage.MEDIA__MEDIA:
+ return media != null && !media.isEmpty();
+ case CssPackage.MEDIA__RULES:
+ return rules != null && !rules.isEmpty();
+ }
+ return super.eIsSet(featureID);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public String toString()
+ {
+ if (eIsProxy()) return super.toString();
+
+ StringBuffer result = new StringBuffer(super.toString());
+ result.append(" (media: ");
+ result.append(media);
+ result.append(')');
+ return result.toString();
+ }
+
+} //MediaImpl
diff --git a/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java
new file mode 100644
index 00000000000..4d6381e8241
--- /dev/null
+++ b/plugins/infra/gmfdiag/css/org.eclipse.papyrus.infra.gmfdiag.css.xtext/src-gen/org/eclipse/papyrus/infra/gmfdiag/css/impl/NameImpl.java
@@ -0,0 +1,176 @@
+/**
+ */
+package org.eclipse.papyrus.infra.gmfdiag.css.impl;
+
+import org.eclipse.emf.common.notify.Notification;
+
+import org.eclipse.emf.ecore.EClass;
+
+import org.eclipse.emf.ecore.impl.ENotificationImpl;
+
+import org.eclipse.papyrus.infra.gmfdiag.css.CssPackage;
+import org.eclipse.papyrus.infra.gmfdiag.css.Name;
+
+/**
+ * <!-- begin-user-doc -->
+ * An implementation of the model object '<em><b>Name</b></em>'.
+ * <!-- end-user-doc -->
+ * <p>
+ * The following features are implemented:
+ * <ul>
+ * <li>{@link org.eclipse.papyrus.infra.gmfdiag.css.impl.NameImpl#getValue <em>Value</em>}</li>
+ * </ul>
+ * </p>
+ *
+ * @generated
+ */
+public class NameImpl extends TermImpl implements Name
+{
+ /**
+ * The default value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected static final String VALUE_EDEFAULT = null;
+
+ /**
+ * The cached value of the '{@link #getValue() <em>Value</em>}' attribute.
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @see #getValue()
+ * @generated
+ * @ordered
+ */
+ protected String value = VALUE_EDEFAULT;
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ protected NameImpl()
+ {
+ super();
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ protected EClass eStaticClass()
+ {
+ return CssPackage.Literals.NAME;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public String getValue()
+ {
+ return value;
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ public void setValue(String newValue)
+ {
+ String oldValue = value;
+ value = newValue;
+ if (eNotificationRequired())
+ eNotify(new ENotificationImpl(this, Notification.SET, CssPackage.NAME__VALUE, oldValue, value));
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public Object eGet(int featureID, boolean resolve, boolean coreType)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NAME__VALUE:
+ return getValue();
+ }
+ return super.eGet(featureID, resolve, coreType);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated
+ */
+ @Override
+ public void eSet(int featureID, Object newValue)
+ {
+ switch (featureID)
+ {
+ case CssPackage.NAME__VALUE:
+ setValue((String)newValue);
+ return;
+ }
+ super.eSet(featureID, newValue);
+ }
+
+ /**
+ * <!-- begin-user-doc -->
+ * <!-- end-user-doc -->
+ * @generated