]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.server/scl/Document/All.scl
ValueType modifications to satisfy compilation of SCL-expressions
[simantics/platform.git] / bundles / org.simantics.document.server / scl / Document / All.scl
index 53124fb464194fcbbf53eab3cfc04c3d1e6fab8c..641f4fdc158f1e6e5546f1d6f6dbd601da3b6538 100644 (file)
-import "Simantics/DB"\r
-import "Simantics/Variables"\r
-\r
-importJava "org.simantics.document.server.io.IConsole" where\r
-    data IConsole\r
-    addMessage :: IConsole -> String -> <Proc> ()\r
-\r
-importJava "org.simantics.document.server.io.IDocument" where\r
-    data IDocument\r
-    elementIdToObjectId :: IDocument -> String -> <Proc> String\r
-    getDocumentURI :: IDocument -> <Proc> String\r
-    getSessionGUID :: IDocument -> <Proc> String\r
-\r
-importJava "org.simantics.document.server.io.ITableCell" where\r
-    data ITableCell\r
-\r
-importJava "org.simantics.document.server.io.ITreeTableCell" where\r
-    data ITreeTableCell\r
-\r
-importJava "org.simantics.document.server.io.IFont" where\r
-    data IFont\r
-\r
-importJava "org.simantics.document.server.io.IColor" where\r
-    data IColor\r
-\r
-importJava "org.simantics.modeling.services.ComponentNamingStrategy" where\r
-    data ComponentNamingStrategy\r
-\r
-importJava "org.simantics.document.server.handler.EventHandler" where\r
-    data EventHandler\r
-\r
-importJava "org.simantics.document.server.handler.AbstractEventHandler" where\r
-    data AbstractEventHandler\r
-\r
-importJava "org.simantics.document.server.bean.Command" where\r
-    data Command\r
-\r
-importJava "org.simantics.document.server.bean.DataDefinition" where\r
-    data DataDefinition\r
-\r
-importJava "org.simantics.document.server.io.CommandContext" where\r
-    data CommandContext\r
-\r
-    @JavaName getString\r
-    possibleString :: CommandContext -> String -> Maybe String\r
-\r
-    @JavaName getValue\r
-    possibleValue :: CommandContext -> String -> Maybe a\r
-\r
-    @JavaName getValue\r
-    justValue :: CommandContext -> String -> a\r
-\r
-    @JavaName containsKey\r
-    containsKey :: CommandContext -> String -> Boolean\r
-    \r
-    getKeys :: CommandContext -> [String]\r
-\r
-importJava "org.simantics.document.server.io.CommandContextMutable" where\r
-    data CommandContextMutable\r
-\r
-    @JavaName putString\r
-    putString :: CommandContextMutable -> String -> String -> <Proc> CommandContextMutable\r
-    \r
-    putValue :: CommandContextMutable -> String -> a -> <Proc> CommandContextMutable\r
-\r
-importJava "org.simantics.document.server.io.CommandContextImpl" where\r
-\r
-    @JavaName create\r
-    commandContext :: () -> CommandContextMutable\r
-\r
-importJava "org.simantics.document.server.io.CommandResult" where\r
-    data CommandResult\r
-\r
-importJava "org.simantics.document.server.serverResponse.ServerResponse" where\r
-\r
-    @JavaName create\r
-    commandResult :: Integer -> String -> CommandContextMutable -> CommandResult\r
-\r
-importJava "org.simantics.document.server.Functions" where\r
-\r
-    @JavaName putTuple\r
-    putTuple :: CommandContextMutable -> String -> a -> CommandContextMutable\r
-\r
-    @JavaName getTuples\r
-    getTuples :: CommandContext -> String -> [a]\r
-\r
-    printContext :: CommandContext -> String\r
-\r
-    commandList :: Variable -> <ReadGraph> [Command]\r
-\r
-    dataDefinitions :: Variable -> <ReadGraph> [DataDefinition]\r
-\r
-    emptyOnClick :: () -> <ReadGraph> AbstractEventHandler\r
-    \r
-    writeEventHandler :: Variable -> (Variable -> (String -> Maybe String) -> <WriteGraph> String) -> <ReadGraph> AbstractEventHandler\r
-    readEventHandler :: Variable -> (Variable -> (String -> Maybe String) -> <ReadGraph> String) -> <ReadGraph> AbstractEventHandler\r
-    eventHandler :: ((String -> Maybe String) -> String) -> <ReadGraph> AbstractEventHandler\r
-\r
-    readEventHandler2 :: (CommandContext -> <ReadGraph> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler\r
-    writeEventHandler2 :: (CommandContext -> <WriteGraph> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler\r
-    eventHandler2 :: (CommandContext -> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler\r
-    \r
-    responseHandler :: Variable -> String -> <ReadGraph> AbstractEventHandler\r
-\r
-    sclStateVariable :: Variable -> Variable -> String -> <ReadGraph> Variable\r
-    sclStateValueOrDefault :: Variable -> Variable -> String -> a -> <ReadGraph> a\r
-    setSclStateValue :: Variable -> Variable -> String -> a -> <WriteGraph> ()\r
-    \r
-    projectComponentState :: Variable -> String -> a -> <ReadGraph> a\r
-    setProjectComponentState :: Variable -> String -> a -> <WriteGraph> ()\r
-\r
-    documentModelContribution :: Resource -> <ReadGraph> [Variable]\r
-    documentModelContributionLabel :: Variable -> <ReadGraph> String\r
-    \r
-    @JavaName getPropertyValueCached\r
-    propertyValueCached_ :: Variable -> String -> Binding a -> <ReadGraph> a\r
-    \r
-propertyValueCached :: Serializable a => Typeable a => Variable -> String -> <ReadGraph> a\r
-propertyValueCached var prop = propertyValueCached_ var prop binding\r
-    \r
-displayValue :: Variable -> String -> <ReadGraph> String\r
-displayValue var str = propertyValue (property var str) "HasDisplayValue"\r
-\r
-displayValue0 :: Variable -> <ReadGraph> String\r
-displayValue0 var = propertyValue var "HasDisplayValue"\r
-\r
-consoleLog :: Variable -> String -> <ReadGraph> ()\r
-consoleLog state message = do\r
-    console = state#console\r
-    runProc $ addMessage console message\r
-\r
-contextDocument :: CommandContext -> <Proc> IDocument\r
-contextDocument ctx = justValue ctx "__document__"\r
+import "Simantics/DB"
+import "Simantics/Variables"
+import "JavaBuiltin" as Java
+
+importJava "org.simantics.document.server.io.IConsole" where
+    data IConsole
+    addMessage :: IConsole -> String -> <Proc> ()
+    sendEvent :: IConsole -> String -> String -> Vector Dynamic -> <Proc> ()
+
+importJava "org.simantics.document.server.io.IDocument" where
+    data IDocument
+    elementIdToObjectId :: IDocument -> String -> <Proc> String
+    getDocumentURI :: IDocument -> <Proc> String
+    getSessionGUID :: IDocument -> <Proc> String
+
+importJava "org.simantics.document.server.io.ITableCell" where
+    data ITableCell
+
+importJava "org.simantics.document.server.io.ITreeTableCell" where
+    data ITreeTableCell
+
+importJava "org.simantics.document.server.io.IFont" where
+    data IFont
+    
+    @JavaName getFamily
+    fontFamily :: IFont -> <Proc> Maybe String
+    @JavaName getStyle
+    fontStyle :: IFont -> <Proc> Maybe String
+    @JavaName getHeight
+    fontHeight :: IFont -> <Proc> Integer
+
+importJava "org.simantics.document.server.io.IColor" where
+    data IColor
+
+importJava "org.simantics.modeling.services.ComponentNamingStrategy" where
+    data ComponentNamingStrategy
+
+importJava "org.simantics.document.server.handler.EventHandler" where
+    data EventHandler
+
+importJava "org.simantics.document.server.handler.AbstractEventHandler" where
+    data AbstractEventHandler
+
+importJava "org.simantics.document.server.bean.Command" where
+    data Command
+
+importJava "org.simantics.document.server.bean.DataDefinition" where
+    data DataDefinition
+
+importJava "org.simantics.document.server.io.CommandContext" where
+    data CommandContext
+
+    @JavaName getString
+    possibleString :: CommandContext -> String -> Maybe String
+
+    @JavaName getValue
+    possibleValue :: CommandContext -> String -> Maybe a
+
+    @JavaName getValue
+    justValue :: CommandContext -> String -> a
+
+    @JavaName containsKey
+    containsKey :: CommandContext -> String -> Boolean
+    
+    getKeys :: CommandContext -> [String]
+
+importJava "org.simantics.document.server.io.CommandContextMutable" where
+    data CommandContextMutable
+
+    @JavaName putString
+    putString :: CommandContextMutable -> String -> String -> <Proc> CommandContextMutable
+    
+    putValue :: CommandContextMutable -> String -> a -> <Proc> CommandContextMutable
+
+    merge :: CommandContextMutable -> CommandContext -> <Proc> CommandContextMutable    
+
+importJava "org.simantics.document.server.io.CommandContextImpl" where
+
+    @JavaName create
+    commandContext :: () -> CommandContextMutable
+
+instance Coercible CommandContextMutable CommandContext where
+    coerce = Java.unsafeCoerce
+
+cloneCommandContext :: CommandContext -> <Proc> CommandContextMutable
+cloneCommandContext context = merge (commandContext ()) context
+
+instance Show CommandContext where
+    show ctx = printContext ctx
+
+importJava "org.simantics.document.server.io.CommandResult" where
+    data CommandResult
+
+importJava "org.simantics.document.server.serverResponse.ServerResponse" where
+
+    @JavaName create
+    commandResult :: Integer -> String -> CommandContextMutable -> CommandResult
+
+importJava "org.simantics.document.server.Functions" where
+
+    @JavaName putTuple
+    putTuple :: CommandContextMutable -> String -> a -> CommandContextMutable
+
+    @JavaName getTuples
+    getTuples :: CommandContext -> String -> [a]
+
+    printContext :: CommandContext -> String
+
+    commandList :: Variable -> <ReadGraph> [Command]
+
+    dataDefinitions :: Variable -> <ReadGraph> [DataDefinition]
+
+    emptyOnClick :: () -> <ReadGraph> AbstractEventHandler
+    
+    writeEventHandler :: Variable -> (Variable -> (String -> Maybe String) -> <WriteGraph> String) -> <ReadGraph> AbstractEventHandler
+    readEventHandler :: Variable -> (Variable -> (String -> Maybe String) -> <ReadGraph> String) -> <ReadGraph> AbstractEventHandler
+    eventHandler :: ((String -> Maybe String) -> String) -> <ReadGraph> AbstractEventHandler
+
+    readEventHandler2 :: (CommandContext -> <ReadGraph> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
+    writeEventHandler2 :: (CommandContext -> <WriteGraph> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
+    eventHandler2 :: (CommandContext -> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
+    
+    responseHandler :: Variable -> String -> <ReadGraph> AbstractEventHandler
+
+    sclStateVariable :: Variable -> Variable -> String -> <ReadGraph> Variable
+    sclStateValueOrDefault :: Variable -> Variable -> String -> a -> <ReadGraph> a
+    setSclStateValue :: Variable -> Variable -> String -> a -> <WriteGraph> ()
+    
+    projectComponentState :: Variable -> String -> a -> <ReadGraph> a
+    setProjectComponentState :: Variable -> String -> a -> <WriteGraph> ()
+
+    documentModelContribution :: Resource -> <ReadGraph> [Variable]
+    documentModelContributionLabel :: Variable -> <ReadGraph> String
+    
+    @JavaName getPropertyValueCached
+    propertyValueCached_ :: Variable -> String -> Binding a -> <ReadGraph> a
+    
+    stateVariable :: Variable -> <ReadGraph> Variable
+    
+    compileDocumentSCLValueExpression :: Variable -> <ReadGraph> String
+    
+propertyValueCached :: Serializable a => Typeable a => Variable -> String -> <ReadGraph> a
+propertyValueCached var prop = propertyValueCached_ var prop binding
+    
+displayValue :: Variable -> String -> <ReadGraph> String
+displayValue var str = propertyValue (property var str) "HasDisplayValue"
+
+displayValue0 :: Variable -> <ReadGraph> String
+displayValue0 var = propertyValue var "HasDisplayValue"
+
+consoleLog :: CommandContext -> String -> ()
+consoleLog context message = match possibleValue context "console" with
+  Nothing -> ()
+  Just console -> runProc $ addMessage console message
+
+contextDocument :: CommandContext -> <Proc> IDocument
+contextDocument ctx = justValue ctx "__document__"