1 L0 = <http://www.simantics.org/Layer0-1.1>
2 STR = <http://www.simantics.org/Structural-1.2>
3 SHEET = <http://www.simantics.org/Spreadsheet-1.2>
4 DATATYPES = <http://www.simantics.org/Datatypes-1.1>
5 SEL = <http://www.simantics.org/SelectionView-1.2>
6 DATA = <http://www.simantics.org/Datatypes-1.1>
8 FUNCTIONS = SHEET.Functions
10 SHEET.Element <T L0.Entity
11 >-- SHEET.Element.immutable ==> "Boolean" <R L0.HasProperty : L0.FunctionalRelation
13 SHEET.Range <T SHEET.Element
14 >-- SHEET.Range.location --> L0.String <R L0.HasProperty : L0.FunctionalRelation
15 >-- SHEET.Range.widthBound --> L0.Integer <R L0.HasProperty : L0.FunctionalRelation
16 >-- SHEET.Range.heightBound --> L0.Integer <R L0.HasProperty : L0.FunctionalRelation
17 @L0.assert SHEET.Range.location "A1"
18 @L0.assert SHEET.Range.widthBound -1
19 @L0.assert SHEET.Range.heightBound -1
21 SHEET.Lines <T STR.Composite <T DATA.BTree
22 @L0.assert L0.domainChildren FUNCTIONS.spreadsheetLinesChildren
24 SHEET.LineContent <T L0.Literal
25 @L0.assert L0.HasDataType ${
26 cells : { content : Variant, styleID : Integer }[]
29 SHEET.Line <T STR.Component
30 >-- SHEET.Line.content --> SHEET.LineContent <R L0.HasProperty : L0.TotalFunction : STR.SynchronizedRelation
31 @L0.assert SHEET.Line.content FUNCTIONS.defaultLineCells
33 SHEET.LineNode <T DATA.BTreeNode <T STR.Composite
34 >-- SHEET.LineNode.keys ==> "IntegerArray" <R L0.HasProperty : L0.TotalFunction : STR.SynchronizedRelation
35 @L0.assert SHEET.LineNode.keys FUNCTIONS.lineNodeKeys
37 SHEET.Style <T SHEET.Cell <T STR.Component
38 >-- SHEET.Style.id --> L0.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
39 >-- SHEET.Cell.border --> L0.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
40 >-- SHEET.Cell.align --> L0.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
41 >-- SHEET.Cell.locked --> L0.Boolean <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
42 >-- SHEET.Cell.columnSpan --> L0.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
43 >-- SHEET.Cell.rowSpan --> L0.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
44 @L0.assert SHEET.Cell.border 0
45 @L0.assert SHEET.Cell.align 8
46 @L0.assert SHEET.Cell.locked false
47 @L0.assert SHEET.Cell.rowSpan 1
48 @L0.assert SHEET.Cell.columnSpan 1
49 >-- SHEET.Cell.background --> DATATYPES.RGB.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
50 >-- SHEET.Cell.foreground --> DATATYPES.RGB.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
51 >-- SHEET.Cell.font --> DATATYPES.Font <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
52 >-- SHEET.Cell.formatString --> L0.String <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
53 >-- SHEET.Cell.formatIndex --> L0.Integer <R L0.HasProperty : SHEET.Attribute : STR.SynchronizedRelation
55 SHEET.session <R L0.HasProperty : L0.FunctionalRelation
58 SHEET.Cell <T SHEET.Element
59 @L0.assert L0.HasLabel
61 L0.ConvertsToValueWith FUNCTIONS.cellLabel : L0.ExternalValue
62 L0.HasValueType "String"
63 >-- SHEET.Cell.label --> L0.String <R L0.HasProperty : SHEET.Attribute
64 >-- SHEET.Cell.content --> L0.Value <R L0.HasProperty : SHEET.Attribute
66 L0.HasDefaultLiteralType L0.Variant
67 L0.valueAccessor FUNCTIONS.contentValueAccessor
70 SEL.HasDisplayColumn "HasDisplayValue"
71 L0.HasValueType "String"
72 L0.valueAccessor FUNCTIONS.contentDisplayValueAccessor
73 @L0.assert SHEET.session FUNCTIONS.spreadsheetSession
74 @L0.assert STR.input FUNCTIONS.spreadsheetInput
75 >-- SHEET.Cell.HasStyle --> SHEET.Style <R L0.DependsOn : L0.FunctionalRelation
76 L0.InverseOf SHEET.Cell.StyleOf
77 >-- SHEET.Cell.style --> L0.Value <R L0.HasProperty : SHEET.Attribute
78 //@L0.assert APROS.AprosModule.hasType
79 // APROS.Functions.moduleTypeName : L0.Function
80 // L0.HasValueType "String"
81 >-- SHEET.Cell.editable --> L0.Value <R L0.HasProperty : SHEET.Attribute
83 SHEET.Headers <T SHEET.Cell
84 >-- SHEET.Headers.rowHeights --> L0.IntegerArray <R L0.HasProperty : SHEET.Attribute
85 >-- SHEET.Headers.rowLabels --> L0.StringArray <R L0.HasProperty : SHEET.Attribute
86 >-- SHEET.Headers.columnWidths --> L0.IntegerArray <R L0.HasProperty : SHEET.Attribute
87 >-- SHEET.Headers.columnLabels --> L0.StringArray <R L0.HasProperty : SHEET.Attribute
88 @L0.assert SHEET.cellEditor FUNCTIONS.variableCellEditor
89 @L0.assert SHEET.Headers.columnWidths
91 @L0.assert SHEET.Headers.rowHeights
94 SHEET.Dimensions <T SHEET.Cell
95 >-- SHEET.Dimensions.fitColumns --> L0.Boolean <R L0.HasProperty : SHEET.Attribute
96 >-- SHEET.Dimensions.fitRows --> L0.Boolean <R L0.HasProperty : SHEET.Attribute
97 >-- SHEET.Dimensions.rowCount --> L0.Integer <R L0.HasProperty : SHEET.Attribute
98 >-- SHEET.Dimensions.columnCount --> L0.Integer <R L0.HasProperty : SHEET.Attribute
99 @L0.assert SHEET.cellEditor FUNCTIONS.variableCellEditor
101 SHEET.ExpressionRange <T SHEET.Range
102 >-- SHEET.ExpressionRange.cells ==> "[TableCell]" <R L0.HasProperty : L0.FunctionalRelation
103 @L0.assert L0.domainChildren FUNCTIONS.queryRangeChildren
105 SHEET.StringArrayRange <T SHEET.Range
106 >-- SHEET.StringArrayRange.array --> L0.StringArray <R L0.HasProperty : L0.FunctionalRelation
107 @L0.assert L0.domainChildren FUNCTIONS.stringArrayChildren
108 @L0.assert SHEET.Element.immutable true
110 SHEET.DoubleArrayRange <T SHEET.Range
111 >-- SHEET.DoubleArrayRange.array --> L0.StringArray <R L0.HasProperty : L0.FunctionalRelation
112 @L0.assert L0.domainChildren FUNCTIONS.doubleArrayChildren
113 @L0.assert SHEET.Element.immutable true
115 SHEET.TextCell <T SHEET.Cell
116 @L0.assert SHEET.cellEditor FUNCTIONS.textCellEditor
117 @L0.assert SHEET.Cell.content
118 ("" : String) : L0.Variant
120 SHEET.ExcelCell <T SHEET.Cell
121 @L0.assert SHEET.cellEditor FUNCTIONS.textCellEditor