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