-L0 = <http://www.simantics.org/Layer0-1.1>\r
-L0X = <http://www.simantics.org/Layer0X-1.1>\r
-G2D = <http://www.simantics.org/G2D-1.1>\r
-DIA = <http://www.simantics.org/Diagram-2.2>\r
-\r
-// SHAPE ELEMENT (NOT USED, DEPRECATE?)\r
-\r
-DIA.Shape <T DIA.Element <T G2D.Shape\r
-\r
-//// RASTER ELEMENT\r
-\r
-DIA.RasterElement <T DIA.Element\r
- @L0.singleProperty G2D.HasSVGDocument\r
-\r
-//// SVG ELEMENT\r
-\r
-DIA.SVGElement <T DIA.Element\r
- @L0.singleProperty G2D.HasSVGDocument\r
-\r
-//// ANIMATED SVG ELEMENT\r
-\r
-DIA.AnimatedSVGElement <T DIA.Element\r
- @L0.singleProperty G2D.HasSVGDocument\r
- @L0.singleProperty G2D.HasSVGScript\r
-\r
-//// TEXT ELEMENT\r
-\r
-DIA.TextElement <T DIA.Element <T DIA.ColorProvider <T DIA.FontProvider\r
- @L0.singleProperty DIA.HasText\r
- @L0.optionalProperty DIA.FixedWidth\r
- @L0.optionalProperty DIA.TextFieldName\r
- @L0.singleProperty G2D.HasHorizontalAlignment\r
- @L0.singleProperty G2D.HasVerticalAlignment\r
- @L0.singleProperty G2D.HasStrokeWidth\r
- @L0.assert DIA.TextFieldName ""\r
- @L0.assert G2D.HasHorizontalAlignment G2D.Alignment.Leading\r
- @L0.assert G2D.HasVerticalAlignment G2D.Alignment.Baseline\r
- @L0.assert G2D.HasStrokeWidth\r
- 0 : L0.Float\r
-\r
-DIA.HasText <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Text"\r
- --> L0.String\r
-DIA.FixedWidth <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Fixed Width"\r
- --> L0.Double\r
-DIA.TextFieldName <R L0.HasProperty : L0.FunctionalRelation \r
- L0.HasLabel "Text Field Name"\r
- L0.HasDescription "A name used for identifying fields in PDF outputs."\r
- --> L0.String\r
-\r
-//// LINK\r
-\r
-DIA.Link <T DIA.SVGElement\r
- L0.HasDescription "Links are used on diagrams for navigating to other diagrams."\r
-\r
-DIA.HasLinkTarget <R L0.IsRelatedTo\r
- L0.HasDomain DIA.Link\r
-\r
-DIA.UpwardLink <T DIA.SVGElement\r
- L0.HasDescription "This link navigates upward the structural path."\r
-\r
-//// MONITOR\r
-\r
-DIA.Monitor <T DIA.Element\r
- L0.HasDescription "Monitors display data from various sources e.g. model configuration or simulation state."\r
- >-- DIA.Monitor.gain --> L0.Double <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Gain"\r
- >-- DIA.Monitor.bias --> L0.Double <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Bias"\r
- @L0.optionalProperty L0.HasLabel\r
- @L0.optionalProperty DIA.HasDirection\r
- @L0.optionalProperty DIA.HasFormat\r
- @L0.optionalProperty G2D.HasHorizontalAlignment\r
- @L0.optionalProperty G2D.HasVerticalAlignment\r
- @L0.optionalProperty G2D.HasFont\r
- @L0.optionalProperty G2D.HasBounds\r
- @L0.optionalProperty DIA.HasMonitorComponent\r
- @L0.optionalProperty DIA.HasMonitorSuffix\r
- @L0.optionalProperty DIA.TextFieldName\r
- // Enable to show these properties to users once MonitorClassFactory2 gets support for gain/bias.\r
- //@L0.assert DIA.Monitor.gain 1.0\r
- //@L0.assert DIA.Monitor.bias 0.0\r
- L0.Asserts _ : L0.Assertion\r
- L0.HasPredicate DIA.HasFont\r
- L0.HasObject _ : DIA.ObtainedFont\r
- L0.Asserts _ : L0.Assertion\r
- L0.HasPredicate DIA.HasColor\r
- L0.HasObject _ : DIA.ObtainedColor\r
- L0.Asserts _ : L0.Assertion\r
- L0.HasPredicate DIA.HasFormatter\r
- L0.HasObject _ : DIA.ObtainedFormatter\r
- L0.Asserts _ : L0.Assertion\r
- L0.HasPredicate L0X.HasExpression\r
- L0.HasObject _ : DIA.ObtainedMonitorExpression\r
- @L0.assert DIA.TextFieldName ""\r
- @L0.assert DIA.FixedWidth 0.0\r
- @L0.assert G2D.HasHorizontalAlignment G2D.Alignment.Center\r
- @L0.assert G2D.HasVerticalAlignment G2D.Alignment.Center\r
-\r
-DIA.HasDirection <R L0.HasProperty\r
- L0.HasLabel "Direction"\r
- L0.HasDescription "An angular direction in degrees"\r
- --> L0.Double\r
-\r
-DIA.SymbolMonitor <T DIA.Element\r
- L0.HasDescription "Symbol monitors are embedded configurable monitors in symbols."\r
-\r
-DIA.HasMonitorComponent <R L0.IsWeaklyRelatedTo\r
- <-- DIA.Monitor \r
- L0.InverseOf DIA.HasMonitorComponent.Inverse <R L0.IsWeaklyRelatedTo\r
- --> DIA.Monitor \r
-DIA.HasMonitorSuffix <R L0.HasProperty\r
- --> L0.String\r
-\r
-//// TREND\r
-\r
-DIA.Trend <T DIA.Element\r
- L0.HasDescription "Trends display data from various sources e.g. model configuration or simulation state."\r
- @L0.optionalProperty L0.HasLabel\r
-\r
-DIA.HasTrendTitle <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Title"\r
- --> L0.String\r
-DIA.HasXAxisLabel <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "X-Axis Label"\r
- --> L0.String\r
-DIA.HasYAxisLabel <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Y-Axis Label"\r
- --> L0.String\r
-\r
-//// SLIDER\r
-\r
-DIA.Slider <T DIA.Element <T DIA.ColorProvider <T DIA.FontProvider <T DIA.FormatProvider\r
- L0.HasDescription "Sliders can be used to alter input value."\r
- @L0.optionalProperty L0.HasLabel\r
- @L0.optionalProperty DIA.HasDirection\r
- @L0.optionalProperty DIA.HasFormat\r
- @L0.optionalProperty G2D.HasBounds\r
-\r
-DIA.HasSliderComponent <R L0.IsRelatedTo\r
-DIA.HasSliderSuffix <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Suffix" : L0.String\r
- --> L0.String\r
-DIA.HasSliderMinValue <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Min Value" : L0.String\r
- --> L0.Double\r
-DIA.HasSliderMaxValue <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Max Value" : L0.String\r
- --> L0.Double\r
-DIA.HasSliderMajorTickSpacing <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Major Tick Spacing" : L0.String\r
- --> L0.Integer\r
-DIA.HasSliderMinorTickSpacing <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Minor Tick Spacing" : L0.String\r
- --> L0.Integer\r
-DIA.SliderPaintLabels <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Paint Labels" : L0.String\r
- --> L0.Boolean\r
-DIA.SliderPaintTicks <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Paint Ticks" : L0.String\r
- --> L0.Boolean\r
-DIA.SliderSnapToTicks <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Snap To Ticks" : L0.String\r
- --> L0.Boolean\r
-DIA.SliderPaintTrack <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Paint Track" : L0.String\r
- --> L0.Boolean\r
-DIA.SliderInverted <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Inverted" : L0.String\r
- --> L0.Boolean\r
-DIA.HasSliderValueExtent <R L0.HasProperty : L0.FunctionalRelation\r
- L0.HasLabel "Value Extent" : L0.String\r
- --> L0.Integer\r
+L0 = <http://www.simantics.org/Layer0-1.1>
+L0X = <http://www.simantics.org/Layer0X-1.1>
+G2D = <http://www.simantics.org/G2D-1.1>
+DIA = <http://www.simantics.org/Diagram-2.2>
+SEL = <http://www.simantics.org/SelectionView-1.2>
+
+// SHAPE ELEMENT (NOT USED, DEPRECATE?)
+
+DIA.Shape <T DIA.Element <T G2D.Shape
+
+//// RASTER ELEMENT
+
+DIA.RasterElement <T DIA.Element
+ @L0.singleProperty G2D.HasSVGDocument
+
+//// SVG ELEMENT
+
+DIA.SVGElement <T DIA.Element
+ @L0.singleProperty G2D.HasSVGDocument
+ // Parameters are id of edited element and new text.
+ >-- DIA.SVGElement.enableEditing ==> "Boolean" <R L0.HasProperty : DIA.DefinedElement.Parameter
+
+//// ANIMATED SVG ELEMENT
+
+DIA.AnimatedSVGElement <T DIA.Element
+ @L0.singleProperty G2D.HasSVGDocument
+ @L0.singleProperty G2D.HasSVGScript
+
+//// TEXT ELEMENT
+
+DIA.TextElement <T DIA.Element <T DIA.ColorProvider <T DIA.FontProvider
+ @L0.singleProperty DIA.HasText
+ @L0.optionalProperty DIA.FixedWidth
+ @L0.optionalProperty DIA.TextFieldName
+ @L0.singleProperty G2D.HasHorizontalAlignment
+ @L0.singleProperty G2D.HasVerticalAlignment
+ @L0.singleProperty G2D.HasStrokeWidth
+ @L0.assert DIA.TextFieldName ""
+ @L0.assert G2D.HasHorizontalAlignment G2D.Alignment.Leading
+ @L0.assert G2D.HasVerticalAlignment G2D.Alignment.Baseline
+ @L0.assert G2D.HasStrokeWidth
+ 0 : L0.Float
+ >-- DIA.TextElement.font ==> "String" <R L0.HasProperty <R G2D.HasFont : SEL.GenericParameterType
+ L0.HasLabel "Font"
+ SEL.HasDisplayValue
+ _ : SEL.DisplayValue
+ SEL.HasCustomModifier
+ DIA.Functions.fontModifier : L0.Function
+ L0.valueAccessor
+ _ : L0.SCLValue
+ L0.SCLValue.expression "textFontValueAccessor"
+ L0.HasValueType "ValueAccessor"
+
+DIA.HasText <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Text"
+ --> L0.String
+DIA.FixedWidth <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Fixed Width"
+ --> L0.Double
+DIA.TextFieldName <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Text Field Name"
+ L0.HasDescription "A name used for identifying fields in PDF outputs."
+ --> L0.String
+
+//// LINK
+
+DIA.Link <T DIA.SVGElement
+ L0.HasDescription "Links are used on diagrams for navigating to other diagrams."
+
+DIA.HasLinkTarget <R L0.IsRelatedTo
+ L0.HasDomain DIA.Link
+
+DIA.UpwardLink <T DIA.SVGElement
+ L0.HasDescription "This link navigates upward the structural path."
+
+//// MONITOR
+
+DIA.Monitor <T DIA.Element
+ L0.HasDescription "Monitors display data from various sources e.g. model configuration or simulation state."
+ >-- DIA.Monitor.gain --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Gain"
+ >-- DIA.Monitor.bias --> L0.Double <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Bias"
+ @L0.optionalProperty L0.HasLabel
+ @L0.optionalProperty DIA.HasDirection
+ @L0.optionalProperty DIA.HasFormat
+ @L0.optionalProperty G2D.HasHorizontalAlignment
+ @L0.optionalProperty G2D.HasVerticalAlignment
+ @L0.optionalProperty G2D.HasFont
+ @L0.optionalProperty G2D.HasBounds
+ @L0.optionalProperty DIA.HasMonitorComponent
+ @L0.optionalProperty DIA.HasMonitorSuffix
+ @L0.optionalProperty DIA.TextFieldName
+ // Enable to show these properties to users once MonitorClassFactory2 gets support for gain/bias.
+ //@L0.assert DIA.Monitor.gain 1.0
+ //@L0.assert DIA.Monitor.bias 0.0
+ L0.Asserts _ : L0.Assertion
+ L0.HasPredicate DIA.HasFont
+ L0.HasObject _ : DIA.ObtainedFont
+ L0.Asserts _ : L0.Assertion
+ L0.HasPredicate DIA.HasColor
+ L0.HasObject _ : DIA.ObtainedColor
+ L0.Asserts _ : L0.Assertion
+ L0.HasPredicate DIA.HasFormatter
+ L0.HasObject _ : DIA.ObtainedFormatter
+ L0.Asserts _ : L0.Assertion
+ L0.HasPredicate L0X.HasExpression
+ L0.HasObject _ : DIA.ObtainedMonitorExpression
+ @L0.assert DIA.TextFieldName ""
+ @L0.assert DIA.FixedWidth 0.0
+ @L0.assert G2D.HasHorizontalAlignment G2D.Alignment.Center
+ @L0.assert G2D.HasVerticalAlignment G2D.Alignment.Center
+
+DIA.HasDirection <R L0.HasProperty
+ L0.HasLabel "Direction"
+ L0.HasDescription "An angular direction in degrees"
+ --> L0.Double
+
+DIA.SymbolMonitor <T DIA.Element
+ L0.HasDescription "Symbol monitors are embedded configurable monitors in symbols."
+
+DIA.HasMonitorComponent <R L0.IsWeaklyRelatedTo
+ <-- DIA.Monitor
+ L0.InverseOf DIA.HasMonitorComponent.Inverse <R L0.IsWeaklyRelatedTo
+ --> DIA.Monitor
+DIA.HasMonitorSuffix <R L0.HasProperty
+ --> L0.String
+
+//// TREND
+
+DIA.Trend <T DIA.Element
+ L0.HasDescription "Trends display data from various sources e.g. model configuration or simulation state."
+ @L0.optionalProperty L0.HasLabel
+
+DIA.HasTrendTitle <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Title"
+ --> L0.String
+DIA.HasXAxisLabel <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "X-Axis Label"
+ --> L0.String
+DIA.HasYAxisLabel <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Y-Axis Label"
+ --> L0.String
+
+//// SLIDER
+
+DIA.Slider <T DIA.Element <T DIA.ColorProvider <T DIA.FontProvider <T DIA.FormatProvider
+ L0.HasDescription "Sliders can be used to alter input value."
+ @L0.optionalProperty L0.HasLabel
+ @L0.optionalProperty DIA.HasDirection
+ @L0.optionalProperty DIA.HasFormat
+ @L0.optionalProperty G2D.HasBounds
+
+DIA.HasSliderComponent <R L0.IsRelatedTo
+DIA.HasSliderSuffix <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Suffix" : L0.String
+ --> L0.String
+DIA.HasSliderMinValue <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Min Value" : L0.String
+ --> L0.Double
+DIA.HasSliderMaxValue <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Max Value" : L0.String
+ --> L0.Double
+DIA.HasSliderMajorTickSpacing <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Major Tick Spacing" : L0.String
+ --> L0.Integer
+DIA.HasSliderMinorTickSpacing <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Minor Tick Spacing" : L0.String
+ --> L0.Integer
+DIA.SliderPaintLabels <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Paint Labels" : L0.String
+ --> L0.Boolean
+DIA.SliderPaintTicks <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Paint Ticks" : L0.String
+ --> L0.Boolean
+DIA.SliderSnapToTicks <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Snap To Ticks" : L0.String
+ --> L0.Boolean
+DIA.SliderPaintTrack <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Paint Track" : L0.String
+ --> L0.Boolean
+DIA.SliderInverted <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Inverted" : L0.String
+ --> L0.Boolean
+DIA.HasSliderValueExtent <R L0.HasProperty : L0.FunctionalRelation
+ L0.HasLabel "Value Extent" : L0.String
+ --> L0.Integer