1 L0 = <http://www.simantics.org/Layer0-1.1>
2 STR = <http://www.simantics.org/Structural-1.2>
3 DOC = <http://www.simantics.org/Documentation-1.2>
4 RELATIONS = <http://www.simantics.org/Documentation-1.2/Relations>
5 PROPERTIES = <http://www.simantics.org/Documentation-1.2/Properties>
6 FUNCTIONS = <http://www.simantics.org/Documentation-1.2/Functions>
8 COMPONENTS = DOC.Components : L0.Library
10 attribute = COMPONENTS.attribute : L0.Template
11 @template %subject %relation %default
14 L0.Asserts _ : L0.Assertion
15 L0.HasPredicate %relation
18 connectionPoint = COMPONENTS.connectionPoint : L0.Template
19 @template %subject %relation
23 sclAttribute = COMPONENTS.sclAttribute : L0.Template
24 @template %subject %relation %command %valueType
27 L0.Asserts _ : L0.Assertion
28 L0.HasPredicate %relation
29 L0.HasObject _ : DOC.SCLValue
30 L0.HasValueType %valueType
31 L0.SCLValue.expression %command
34 DOC.SCL : L0.SCLModule
35 L0.SCLModule.definition _ : L0.String
36 @L0.loadString "scl/Code.scl"
39 @template %subject %property %expression %valueType
41 %property _ : DOC.SCLValue
42 L0.SCLValue.expression %expression
43 L0.HasValueType %valueType
45 DOC.sclValue : L0.Template
46 @template %subject %expression %valueType
47 %subject : DOC.SCLValue
48 L0.SCLValue.expression %expression
49 L0.HasValueType %valueType
51 DOC.SCLValue <T L0.SCLValue
52 @L0.scl L0.SCLValueType.validator """\self -> compileDocumentSCLValueExpression self""" "Variable -> <ReadGraph> String"
53 @L0.assert L0.ConvertsToValueWith
54 DOC.Functions.sclValue : L0.ExternalValue
56 DOC.HandlerSCLValue <T L0.SCLValue
57 @L0.assert L0.ConvertsToValueWith
58 DOC.Functions.sclHandlerValue : L0.ExternalValue
60 /* Basic component types */
61 COMPONENTS.Component <T STR.Component
62 >-- COMPONENTS.Component.manualOrdinal --> L0.Integer <R L0.HasProperty
63 @attribute PROPERTIES.input FUNCTIONS.input
64 @attribute PROPERTIES.session FUNCTIONS.session
65 @attribute PROPERTIES.state FUNCTIONS.state
66 @attribute PROPERTIES.icstate FUNCTIONS.icstate
67 @sclAttribute PROPERTIES.commands "commandList self" "[Command]"
69 COMPONENTS.PrimitiveComponent <T COMPONENTS.Component
70 @L0.sclAssertion PROPERTIES.primitiveProperties "primitiveProperties" "DocumentProperties"
72 COMPONENTS.ParentlessComponent <T COMPONENTS.PrimitiveComponent /* Component without a parent, e.g. Root, DialogBox */
74 COMPONENTS.Composite <T STR.Composite <T COMPONENTS.Component
76 COMPONENTS.DummyContainer <T COMPONENTS.Component /* Dummy single component container which is not instantiated */
77 @attribute PROPERTIES.exists true
78 @attribute PROPERTIES.pathExists FUNCTIONS.pathExists
81 COMPONENTS.Root <T COMPONENTS.ParentlessComponent
82 @connectionPoint RELATIONS.part1
84 COMPONENTS.Event <T COMPONENTS.ParentlessComponent
85 @connectionPoint RELATIONS.event
87 COMPONENTS.CommandEvent <T COMPONENTS.Event
88 @connectionPoint RELATIONS.data1
89 @sclAttribute PROPERTIES.dataDefinitions "computeDataDefinitions self" "[DataDefinition]"
90 @sclAttribute PROPERTIES.SCLFunction "emptyOnClick ()" "String"
92 DOC.commandEvent : L0.Template
93 @template %instance %expression %valueType
94 %instance : COMPONENTS.CommandEvent
95 PROPERTIES.SCLFunction _ : %valueType
96 L0.HasValueType "AbstractEventHandler"
97 L0.SCLValue.expression %expression
99 COMPONENTS.DefVar <T COMPONENTS.ParentlessComponent
100 @connectionPoint RELATIONS.dataDefinition
101 @connectionPoint RELATIONS.dataIn
102 @attribute PROPERTIES.target ""
103 @attribute PROPERTIES.source ""
105 COMPONENTS.DefVars <T COMPONENTS.ParentlessComponent
106 @connectionPoint RELATIONS.dataDefinition
107 @connectionPoint RELATIONS.dataIn
108 @attribute PROPERTIES.targets
110 @attribute PROPERTIES.sources