]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.base.ontology/graph/Components.pgraph
Variable optimizations for documents (Simupedia)
[simantics/platform.git] / bundles / org.simantics.document.base.ontology / graph / Components.pgraph
index bd6c97123d43eab2ac009b12cde9994903b8e99e..65a75d288777bc3556ef802cfa1d0219828aba9f 100644 (file)
@@ -21,13 +21,13 @@ connectionPoint = COMPONENTS.connectionPoint : L0.Template
             >-- %relation    
 
 sclAttribute = COMPONENTS.sclAttribute : L0.Template
-    @template %subject %relation %command
+    @template %subject %relation %command %valueType
         %subject
             >-- %relation
             L0.Asserts _ : L0.Assertion
                 L0.HasPredicate %relation
                 L0.HasObject _ : DOC.SCLValue
-                  L0.HasValueType "String"
+                  L0.HasValueType %valueType
                   L0.SCLValue.expression %command
                   L0.default false
 
@@ -49,9 +49,14 @@ DOC.sclValue : L0.Template
             L0.HasValueType %valueType
 
 DOC.SCLValue <T L0.SCLValue
+  @L0.scl L0.SCLValueType.validator """\self -> compileDocumentSCLValueExpression self""" "Variable -> <ReadGraph> String"
   @L0.assert L0.ConvertsToValueWith
     DOC.Functions.sclValue : L0.ExternalValue
 
+DOC.HandlerSCLValue <T L0.SCLValue
+  @L0.assert L0.ConvertsToValueWith
+    DOC.Functions.sclHandlerValue : L0.ExternalValue
+
 /* Basic component types */
 COMPONENTS.Component <T STR.Component
     >-- COMPONENTS.Component.manualOrdinal --> L0.Integer <R L0.HasProperty
@@ -59,9 +64,10 @@ COMPONENTS.Component <T STR.Component
     @attribute PROPERTIES.session FUNCTIONS.session
     @attribute PROPERTIES.state FUNCTIONS.state
     @attribute PROPERTIES.icstate FUNCTIONS.icstate
-    @sclAttribute PROPERTIES.commands "commandList self"
+    @sclAttribute PROPERTIES.commands "commandList self" "[Command]"
 
 COMPONENTS.PrimitiveComponent <T COMPONENTS.Component
+    @L0.sclAssertion PROPERTIES.primitiveProperties "primitiveProperties" "DocumentProperties"
 
 COMPONENTS.ParentlessComponent <T COMPONENTS.PrimitiveComponent /* Component without a parent, e.g. Root, DialogBox */
 
@@ -80,14 +86,14 @@ COMPONENTS.Event <T COMPONENTS.ParentlessComponent
  
 COMPONENTS.CommandEvent <T COMPONENTS.Event
    @connectionPoint RELATIONS.data1
-   @sclAttribute PROPERTIES.dataDefinitions "dataDefinitions self"   
-   @sclAttribute PROPERTIES.SCLFunction "emptyOnClick ()"
+   @sclAttribute PROPERTIES.dataDefinitions "computeDataDefinitions self" "[DataDefinition]"
+   @sclAttribute PROPERTIES.SCLFunction "emptyOnClick ()" "String"
 
 DOC.commandEvent : L0.Template
     @template %instance %expression %valueType
         %instance : COMPONENTS.CommandEvent
             PROPERTIES.SCLFunction _ : %valueType
-                L0.HasValueType "EventHandler"
+                L0.HasValueType "AbstractEventHandler"
                 L0.SCLValue.expression %expression
 
 COMPONENTS.DefVar <T COMPONENTS.ParentlessComponent