]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.document.server/scl/Document/All.scl
a90a24bcb62c30c55cad163eb3d242f869bec690
[simantics/platform.git] / bundles / org.simantics.document.server / scl / Document / All.scl
1 import "Simantics/DB"
2 import "Simantics/Variables"
3 import "JavaBuiltin" as Java
4
5 importJava "org.simantics.document.server.DocumentProperties" where
6     data DocumentProperties
7
8 importJava "org.simantics.document.server.io.IConsole" where
9     data IConsole
10     addMessage :: IConsole -> String -> <Proc> ()
11     sendEvent :: IConsole -> String -> String -> Vector Dynamic -> <Proc> ()
12
13 importJava "org.simantics.document.server.io.IDocument" where
14     data IDocument
15     elementIdToObjectId :: IDocument -> String -> <Proc> String
16     getDocumentURI :: IDocument -> <Proc> String
17     getSessionGUID :: IDocument -> <Proc> String
18
19 importJava "org.simantics.document.server.io.ITableCell" where
20     data ITableCell
21
22 importJava "org.simantics.document.server.io.ITreeTableCell" where
23     data ITreeTableCell
24
25 importJava "org.simantics.document.server.io.IFont" where
26     data IFont
27     
28     @JavaName getFamily
29     fontFamily :: IFont -> <Proc> Maybe String
30     @JavaName getStyle
31     fontStyle :: IFont -> <Proc> Maybe String
32     @JavaName getHeight
33     fontHeight :: IFont -> <Proc> Integer
34
35 importJava "org.simantics.document.server.io.IColor" where
36     data IColor
37
38 importJava "org.simantics.modeling.services.ComponentNamingStrategy" where
39     data ComponentNamingStrategy
40
41 importJava "org.simantics.document.server.handler.EventHandler" where
42     data EventHandler
43
44 importJava "org.simantics.document.server.handler.AbstractEventHandler" where
45     data AbstractEventHandler
46
47 importJava "org.simantics.document.server.bean.Command" where
48     data Command
49
50 importJava "org.simantics.document.server.bean.DataDefinition" where
51     data DataDefinition
52
53 importJava "org.simantics.document.server.io.CommandContext" where
54     data CommandContext
55
56     @JavaName getString
57     possibleString :: CommandContext -> String -> Maybe String
58
59     @JavaName getValue
60     possibleValue :: CommandContext -> String -> Maybe a
61
62     @JavaName getValue
63     justValue :: CommandContext -> String -> a
64
65     @JavaName containsKey
66     containsKey :: CommandContext -> String -> Boolean
67     
68     getKeys :: CommandContext -> [String]
69
70 importJava "org.simantics.document.server.io.CommandContextMutable" where
71     data CommandContextMutable
72
73     @JavaName putString
74     putString :: CommandContextMutable -> String -> String -> <Proc> CommandContextMutable
75     
76     putValue :: CommandContextMutable -> String -> a -> <Proc> CommandContextMutable
77
78     merge :: CommandContextMutable -> CommandContext -> <Proc> CommandContextMutable    
79
80 importJava "org.simantics.document.server.io.CommandContextImpl" where
81
82     @JavaName create
83     commandContext :: () -> CommandContextMutable
84
85 instance Coercible CommandContextMutable CommandContext where
86     coerce = Java.unsafeCoerce
87
88 cloneCommandContext :: CommandContext -> <Proc> CommandContextMutable
89 cloneCommandContext context = merge (commandContext ()) context
90
91 instance Show CommandContext where
92     show ctx = printContext ctx
93
94 importJava "org.simantics.document.server.io.CommandResult" where
95     data CommandResult
96
97 importJava "org.simantics.document.server.serverResponse.ServerResponse" where
98
99     @JavaName create
100     commandResult :: Integer -> String -> CommandContextMutable -> CommandResult
101
102 importJava "org.simantics.document.server.Functions" where
103
104     @JavaName putTuple
105     putTuple :: CommandContextMutable -> String -> a -> CommandContextMutable
106
107     @JavaName getTuples
108     getTuples :: CommandContext -> String -> [Dynamic]
109
110     printContext :: CommandContext -> String
111
112     commandList :: Variable -> <ReadGraph> [Command]
113
114     dataDefinitions :: Variable -> <ReadGraph> [DataDefinition]
115
116     @JavaName "dataDefinitions"
117     computeDataDefinitions :: Variable -> <ReadGraph> [DataDefinition]
118
119     emptyOnClick :: () -> <ReadGraph> AbstractEventHandler
120     
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
124
125     readEventHandler2 :: (CommandContext -> <ReadGraph> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
126     writeEventHandler2 :: (CommandContext -> <WriteGraph> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
127     eventHandler2 :: (CommandContext -> Maybe CommandResult) -> <ReadGraph> AbstractEventHandler
128     
129     responseHandler :: Variable -> String -> <ReadGraph> AbstractEventHandler
130
131     sclStateVariable :: Variable -> Variable -> String -> <ReadGraph> Variable
132     sclStateValueOrDefault :: Variable -> Variable -> String -> a -> <ReadGraph> a
133     setSclStateValue :: Variable -> Variable -> String -> a -> <WriteGraph> ()
134     
135     projectComponentState :: Variable -> String -> a -> <ReadGraph> a
136     setProjectComponentState :: Variable -> String -> a -> <WriteGraph> ()
137
138     documentModelContribution :: Resource -> <ReadGraph> [Variable]
139     documentModelContributionLabel :: Variable -> <ReadGraph> String
140     
141     @JavaName getPropertyValueCached
142     propertyValueCached_ :: Variable -> String -> Binding a -> <ReadGraph> a
143     
144     stateVariable :: Variable -> <ReadGraph> Variable
145     
146     compileDocumentSCLValueExpression :: Variable -> <ReadGraph> String
147     compileDocumentSCLHandlerValueExpression :: Variable -> <ReadGraph> String
148
149     primitiveProperties :: <Proc> DocumentProperties
150     
151 propertyValueCached :: Serializable a => Typeable a => Variable -> String -> <ReadGraph> a
152 propertyValueCached var prop = propertyValueCached_ var prop binding
153     
154 displayValue :: Variable -> String -> <ReadGraph> String
155 displayValue var str = propertyValue (property var str) "HasDisplayValue"
156
157 displayValue0 :: Variable -> <ReadGraph> String
158 displayValue0 var = propertyValue var "HasDisplayValue"
159
160 consoleLog :: CommandContext -> String -> ()
161 consoleLog context message = match possibleValue context "console" with
162   Nothing -> ()
163   Just console -> runProc $ addMessage console message
164
165 contextDocument :: CommandContext -> <Proc> IDocument
166 contextDocument ctx = justValue ctx "__document__"