2 import "Simantics/Variables"
3 import "JavaBuiltin" as Java
5 importJava "org.simantics.document.server.DocumentProperties" where
6 data DocumentProperties
8 importJava "org.simantics.document.server.io.IConsole" where
10 addMessage :: IConsole -> String -> <Proc> ()
11 sendEvent :: IConsole -> String -> String -> Vector Dynamic -> <Proc> ()
13 importJava "org.simantics.document.server.io.IDocument" where
15 elementIdToObjectId :: IDocument -> String -> <Proc> String
16 getDocumentURI :: IDocument -> <Proc> String
17 getSessionGUID :: IDocument -> <Proc> String
19 importJava "org.simantics.document.server.io.ITableCell" where
22 importJava "org.simantics.document.server.io.ITreeTableCell" where
25 importJava "org.simantics.document.server.io.IFont" where
29 fontFamily :: IFont -> <Proc> Maybe String
31 fontStyle :: IFont -> <Proc> Maybe String
33 fontHeight :: IFont -> <Proc> Integer
35 importJava "org.simantics.document.server.io.IColor" where
38 importJava "org.simantics.modeling.services.ComponentNamingStrategy" where
39 data ComponentNamingStrategy
41 importJava "org.simantics.document.server.handler.EventHandler" where
44 importJava "org.simantics.document.server.handler.AbstractEventHandler" where
45 data AbstractEventHandler
47 importJava "org.simantics.document.server.bean.Command" where
50 importJava "org.simantics.document.server.bean.DataDefinition" where
53 importJava "org.simantics.document.server.io.CommandContext" where
57 possibleString :: CommandContext -> String -> Maybe String
60 possibleValue :: CommandContext -> String -> Maybe a
63 justValue :: CommandContext -> String -> a
66 containsKey :: CommandContext -> String -> Boolean
68 getKeys :: CommandContext -> [String]
70 importJava "org.simantics.document.server.io.CommandContextMutable" where
71 data CommandContextMutable
74 putString :: CommandContextMutable -> String -> String -> <Proc> CommandContextMutable
76 putValue :: CommandContextMutable -> String -> a -> <Proc> CommandContextMutable
78 merge :: CommandContextMutable -> CommandContext -> <Proc> CommandContextMutable
80 importJava "org.simantics.document.server.io.CommandContextImpl" where
83 commandContext :: () -> CommandContextMutable
85 instance Coercible CommandContextMutable CommandContext where
86 coerce = Java.unsafeCoerce
88 cloneCommandContext :: CommandContext -> <Proc> CommandContextMutable
89 cloneCommandContext context = merge (commandContext ()) context
91 instance Show CommandContext where
92 show ctx = printContext ctx
94 importJava "org.simantics.document.server.io.CommandResult" where
97 importJava "org.simantics.document.server.serverResponse.ServerResponse" where
100 commandResult :: Integer -> String -> CommandContextMutable -> CommandResult
102 importJava "org.simantics.document.server.Functions" where
105 putTuple :: CommandContextMutable -> String -> a -> CommandContextMutable
108 getTuples :: CommandContext -> String -> [Dynamic]
110 printContext :: CommandContext -> String
112 commandList :: Variable -> <ReadGraph> [Command]
114 dataDefinitions :: Variable -> <ReadGraph> [DataDefinition]
116 @JavaName "dataDefinitions"
117 computeDataDefinitions :: Variable -> <ReadGraph> [DataDefinition]
119 emptyOnClick :: () -> <ReadGraph> AbstractEventHandler
121 writeEventHandler :: Variable -> (Variable -> (String -> Maybe String) -> <WriteGraph> String) -> <ReadGraph> AbstractEventHandler
122 readEventHandler :: Variable -> (Variable -> (String -> Maybe String) -> <ReadGraph> String) -> <ReadGraph> AbstractEventHandler
123 eventHandler :: ((String -> Maybe String) -> String) -> <ReadGraph> AbstractEventHandler
125 readEventHandler2 :: (CommandContext -> <ReadGraph,Proc> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
126 writeEventHandler2 :: (CommandContext -> <WriteGraph,Proc> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
127 eventHandler2 :: (CommandContext -> <Proc> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
129 responseHandler :: Variable -> String -> <ReadGraph> AbstractEventHandler
131 sclStateVariable :: Variable -> Variable -> String -> <ReadGraph> Variable
132 sclStateValueOrDefault :: Variable -> Variable -> String -> a -> <ReadGraph> a
133 setSclStateValue :: Variable -> Variable -> String -> a -> <WriteGraph> ()
135 projectComponentState :: Variable -> String -> a -> <ReadGraph> a
136 setProjectComponentState :: Variable -> String -> a -> <WriteGraph> ()
138 documentModelContribution :: Resource -> <ReadGraph> [Variable]
139 documentModelContributionLabel :: Variable -> <ReadGraph> String
141 @JavaName getPropertyValueCached
142 propertyValueCached_ :: Variable -> String -> Binding a -> <ReadGraph> a
144 stateVariable :: Variable -> <ReadGraph> Variable
146 compileDocumentSCLValueExpression :: Variable -> <ReadGraph> String
147 compileDocumentSCLHandlerValueExpression :: Variable -> <ReadGraph> String
149 primitiveProperties :: <Proc> DocumentProperties
151 contextVariable :: Variable -> <ReadGraph> Variable
152 contextVariable var = propertyValue (variableParent var) "input"
154 propertyValueCached :: Serializable a => Typeable a => Variable -> String -> <ReadGraph> a
155 propertyValueCached var prop = propertyValueCached_ var prop binding
157 displayValue :: Variable -> String -> <ReadGraph> String
158 displayValue var str = propertyValue (property var str) "HasDisplayValue"
160 displayValue0 :: Variable -> <ReadGraph> String
161 displayValue0 var = propertyValue var "HasDisplayValue"
163 consoleLog :: CommandContext -> String -> ()
164 consoleLog context message = match possibleValue context "console" with
166 Just console -> runProc $ addMessage console message
168 contextDocument :: CommandContext -> <Proc> IDocument
169 contextDocument ctx = justValue ctx "__document__"