]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop.update/scl/Interop/Update.scl
Add Maybe for SCL functions that can return null.
[simantics/interop.git] / org.simantics.interop.update / scl / Interop / Update.scl
1 import "Simantics/All"
2 import "JavaBuiltin"
3
4
5 importJava "org.simantics.interop.update.model.ModelUpdate" where
6   data ModelUpdate
7   
8   @JavaName getUpdateTree
9   getUpdateTree :: ModelUpdate -> <Proc> UpdateTree
10   
11   @JavaName getUpdateList
12   getUpdateList :: ModelUpdate -> <Proc> UpdateList
13   
14   @JavaName getChanges
15   getGraphChanges :: ModelUpdate -> <Proc> GraphChanges
16   
17   @JavaName applyAll
18   applyAllUpdates :: ModelUpdate -> <WriteGraph> ()
19   
20   @JavaName applySelected
21   applySelectedUpdates :: ModelUpdate -> <WriteGraph> ()
22   
23   @JavaName getUpdateTree2
24   getUpdateTree2 :: ModelUpdate -> <Proc> Maybe UpdateTree
25   
26   @JavaName getUpdateList2
27   getUpdateList2 :: ModelUpdate -> <Proc> Maybe UpdateList
28   
29   @JavaName getChanges2
30   getGraphChanges2 :: ModelUpdate -> <Proc> Maybe GraphChanges
31   
32   @JavaName getUpdateTree3
33   getUpdateTree3 :: ModelUpdate -> <Proc> Maybe UpdateTree
34   
35   @JavaName getUpdateList
36   getUpdateList3 :: ModelUpdate -> <Proc> Maybe UpdateList
37   
38   @JavaName getChanges
39   getGraphChanges3 :: ModelUpdate -> <Proc> Maybe GraphChanges
40   
41   @JavaName defaultSelections
42   setDefaultSelections :: ModelUpdate -> <Proc>()
43   
44 importJava "org.simantics.interop.update.model.UpdateTree" where
45   data UpdateTree
46   
47   @JavaName getRootNode
48   getRootNode :: UpdateTree -> <Proc> UpdateNode
49   
50   @JavaName getNode
51   getNode :: UpdateTree -> Resource -> <Proc> Maybe UpdateNode
52   
53 importJava "org.simantics.interop.update.model.UpdateList" where
54   data UpdateList
55   
56   @JavaName getChanges
57   getListChanges :: UpdateList -> <Proc> [PropertyChange]
58   
59   @JavaName getSelected
60   getListSelected :: UpdateList -> <Proc> [PropertyChange]
61   
62   @JavaName getChanges
63   getResChanges :: UpdateList -> Resource -> <ReadGraph> [PropertyChange]
64   
65   @JavaName getChange
66   getStmChange :: UpdateList -> Statement -> <ReadGraph> Maybe PropertyChange
67   
68   //@JavaName addSelected
69   //addListSelected :: UpdateList -> Pair -> <Proc>()
70   
71   //@JavaName removeSelected
72   //removeListSelected :: UpdateList -> Pair -> <Proc>()
73   
74   //@JavaName isSelected
75   //isListSelected :: UpdateList -> Pair -> <Proc> Boolean
76   
77 importJava "org.simantics.interop.test.GraphChanges" where
78   data GraphChanges
79   
80   @JavaName getComparable
81   getComparable :: GraphChanges -> <Proc> BijectionMap
82   
83   @JavaName getAdditions
84   getAdditions :: GraphChanges -> <Proc> [Statement]
85   
86   @JavaName getDeletions
87   getDeletions :: GraphChanges -> <Proc> [Statement]
88   
89   @JavaName getModifications
90   getModifications :: GraphChanges -> <Proc> [Pair]
91
92 importJava "org.simantics.interop.update.model.PropertyChange" where
93   data PropertyChange
94   
95   @JavaName "<init>"
96   createPropertyChange :: GraphChanges -> Maybe Statement -> Maybe Statement -> <Proc> PropertyChange
97   
98   @JavaName applied
99   pcApplied :: PropertyChange -> <Proc> Boolean
100   
101   @JavaName selected
102   pcSelected :: PropertyChange -> <Proc> Boolean
103   
104   @JavaName "select"
105   pcSelect :: PropertyChange -> Boolean -> <Proc> Boolean
106   
107   @JavaName getFirst
108   getFirst :: PropertyChange -> <Proc> Maybe Statement
109   
110   @JavaName getSecond
111   getSecond :: PropertyChange -> <Proc> Maybe Statement
112   
113
114 importJava "org.simantics.interop.update.model.UpdateNode" where
115   data UpdateNode
116   
117   @JavaName getResource
118   getNodeResource :: UpdateNode -> <Proc> Maybe Resource
119   
120   @JavaName getStatus
121   getNodeStatus :: UpdateNode -> <Proc> UpdateStatus
122   
123   @JavaName getLabel
124   getNodeLabel :: UpdateNode -> <Proc> String
125   
126   @JavaName getOp
127   getNodeOp :: UpdateNode -> <Proc> Maybe UpdateOp
128   
129   @JavaName getChildren
130   getNodeChildren :: UpdateNode -> <Proc> [UpdateNode]
131   
132   
133   
134 importJava "org.simantics.interop.update.model.UpdateStatus" where
135   data UpdateStatus
136   @JavaName EXIST
137   S_EXIST::UpdateStatus
138   @JavaName DELETED
139   S_DELETED::UpdateStatus
140   @JavaName NEW
141   S_NEW::UpdateStatus
142   @JavaName CONTAINS
143   S_CONTAINS::UpdateStatus 
144   
145 importJava "org.simantics.interop.update.model.UpdateOp" where
146   data UpdateOp
147   
148   @JavaName applied
149   opApplied :: UpdateOp -> <Proc> Boolean
150   
151   @JavaName selected
152   opSelected :: UpdateOp -> <Proc> Boolean
153   
154   @JavaName "select"
155   opSelect :: UpdateOp -> Boolean -> <Proc> Boolean
156   
157   @JavaName isAdd
158   opIsAdd :: UpdateOp -> <Proc> Boolean
159   
160   @JavaName isDelete
161   opIsDelete :: UpdateOp -> <Proc> Boolean
162   
163   @JavaName isChange
164   opIsChange :: UpdateOp -> <Proc> Boolean
165   
166   @JavaName getResource
167   getOpResource :: UpdateOp -> <Proc> Maybe Resource
168   
169 importJava "org.simantics.interop.update.model.UpdateNode3" where
170   data UpdateNode3
171   
172   @JavaName getUn1
173   getNode1 :: UpdateNode3 -> <Proc> Maybe UpdateNode
174   
175   @JavaName getUn2
176   getNode2 :: UpdateNode3 -> <Proc> Maybe UpdateNode
177   
178   @JavaName getUn3
179   getNode3 :: UpdateNode3 -> <Proc> Maybe UpdateNode
180   
181   @JavaName getChildren
182   getNode3Children :: UpdateNode3 -> <Proc> [UpdateNode3]
183   
184   @JavaName getCombinedTree
185   getCombinedTree :: ModelUpdate -> <Proc> UpdateNode3
186   
187 importJava "org.simantics.utils.datastructures.Pair" where
188   data Pair
189   
190   @JavaName "<init>"
191   createPair :: Maybe a -> Maybe b -> <Proc> Pair
192   
193   @JavaName first
194   getPairFirst :: Pair -> <Proc> Maybe a
195   
196   @JavaName second
197   getPairSecond :: Pair -> <Proc> Maybe b
198   
199 importJava "org.simantics.utils.datastructures.BijectionMap" where
200   data BijectionMap 
201   
202   @JavaName containsLeft
203   containsLeft :: BijectionMap -> l -> <Proc> Boolean
204   
205   @JavaName containsRight
206   containsRight :: BijectionMap -> r -> <Proc> Boolean
207   
208   @JavaName contains
209   contains :: BijectionMap -> l -> r -> <Proc> Boolean
210   
211   @JavaName getLeft
212   getLeft :: BijectionMap -> r -> <Proc> Maybe l
213   
214   @JavaName getRight
215   getRight :: BijectionMap -> l -> <Proc> Maybe r
216   
217 importJava "java.lang.Object" where
218     data Object
219     
220     @JavaName getClass
221     getClass :: Object -> <Proc> Class
222     
223 importJava "java.lang.Class" where
224     data Class 
225     
226     @JavaName getName
227     getClassName :: Class -> <Proc> String
228     
229     @JavaName getSimpleName
230     getSimpleClassName :: Class -> <Proc> String