]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop.update/scl/Interop/Update.scl
Accessing UpdateOperations with SCL.
[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 getUpdateNode3
39   getUpdateNode3 :: ModelUpdate -> <Proc> Maybe UpdateNode3
40   
41   @JavaName getChanges
42   getGraphChanges3 :: ModelUpdate -> <Proc> Maybe GraphChanges
43   
44   @JavaName defaultSelections
45   setDefaultSelections :: ModelUpdate -> <Proc>()
46
47 importJava "org.simantics.interop.update.model.UpdateOperations" where
48   data UpdateOperations
49   
50   @JavaName getUpdateOp
51   getUpdateOpWithResource :: UpdateOperations -> Resource -> <Proc> Maybe UpdateOp
52   
53   @JavaName getUpdateOp
54   getUpdateOpWithStatement :: UpdateOperations -> Statement -> <Proc> Maybe UpdateOp
55   
56 importJava "org.simantics.interop.update.model.UpdateTree" where
57   data UpdateTree
58   
59   @JavaName getRootNode
60   getRootNode :: UpdateTree -> <Proc> UpdateNode
61   
62   @JavaName getNode
63   getNode :: UpdateTree -> Resource -> <Proc> Maybe UpdateNode
64   
65   @JavaName getUpdateOps
66   getUpdateOps :: UpdateTree -> <Proc> UpdateOperations
67   
68 importJava "org.simantics.interop.update.model.UpdateList" where
69   data UpdateList
70   
71   @JavaName getChanges
72   getListChanges :: UpdateList -> <Proc> [PropertyChange]
73   
74   @JavaName getSelected
75   getListSelected :: UpdateList -> <Proc> [PropertyChange]
76   
77   @JavaName getChanges
78   getResChanges :: UpdateList -> Resource -> <ReadGraph> [PropertyChange]
79   
80   @JavaName getChange
81   getStmChange :: UpdateList -> Statement -> <ReadGraph> Maybe PropertyChange
82   
83   //@JavaName addSelected
84   //addListSelected :: UpdateList -> Pair -> <Proc>()
85   
86   //@JavaName removeSelected
87   //removeListSelected :: UpdateList -> Pair -> <Proc>()
88   
89   //@JavaName isSelected
90   //isListSelected :: UpdateList -> Pair -> <Proc> Boolean
91   
92 importJava "org.simantics.interop.test.GraphChanges" where
93   data GraphChanges
94   
95   @JavaName getComparable
96   getComparable :: GraphChanges -> <Proc> BijectionMap
97   
98   @JavaName getAdditions
99   getAdditions :: GraphChanges -> <Proc> [Statement]
100   
101   @JavaName getDeletions
102   getDeletions :: GraphChanges -> <Proc> [Statement]
103   
104   @JavaName getModifications
105   getModifications :: GraphChanges -> <Proc> [Pair]
106
107 importJava "org.simantics.interop.update.model.PropertyChange" where
108   data PropertyChange
109   
110   @JavaName "<init>"
111   createPropertyChange :: GraphChanges -> Resource -> Maybe Statement -> Resource -> Maybe Statement -> <Proc> PropertyChange
112   
113   @JavaName applied
114   pcApplied :: PropertyChange -> <Proc> Boolean
115   
116   @JavaName selected
117   pcSelected :: PropertyChange -> <Proc> Boolean
118   
119   @JavaName "select"
120   pcSelect :: PropertyChange -> Boolean -> <Proc> Boolean
121   
122   @JavaName getFirst
123   getFirst :: PropertyChange -> <Proc> Maybe Statement
124   
125   @JavaName getSecond
126   getSecond :: PropertyChange -> <Proc> Maybe Statement
127   
128   @JavaName getFirstSubject
129   getFirstSubject :: PropertyChange -> <Proc> Resource
130   
131   @JavaName getSecondSubject
132   getSecondSubject :: PropertyChange -> <Proc> Resource
133   
134   @JavaName isVisible  
135   pcVisible :: PropertyChange -> <Proc> Boolean
136   
137   @JavaName enabled  
138   pcEnabled :: PropertyChange -> <Proc> Boolean
139   
140   @JavaName setEnabled
141   pcEnable :: PropertyChange -> Boolean -> <Proc> ()
142   
143
144 importJava "org.simantics.interop.update.model.UpdateNode" where
145   data UpdateNode
146   
147   @JavaName getResource
148   getNodeResource :: UpdateNode -> <Proc> Maybe Resource
149   
150   @JavaName getStatus
151   getNodeStatus :: UpdateNode -> <Proc> UpdateStatus
152   
153   @JavaName getLabel
154   getNodeLabel :: UpdateNode -> <Proc> String
155   
156   @JavaName getOp
157   getNodeOp :: UpdateNode -> <Proc> Maybe UpdateOp
158   
159   @JavaName getChildren
160   getNodeChildren :: UpdateNode -> <Proc> [UpdateNode]
161   
162   @JavaName isVisible
163   isNodeVisible :: UpdateNode -> <Proc> Boolean
164   
165   
166   
167 importJava "org.simantics.interop.update.model.UpdateStatus" where
168   data UpdateStatus
169   @JavaName EXIST
170   S_EXIST::UpdateStatus
171   @JavaName DELETED
172   S_DELETED::UpdateStatus
173   @JavaName NEW
174   S_NEW::UpdateStatus
175   @JavaName CONTAINS
176   S_CONTAINS::UpdateStatus 
177   
178 importJava "org.simantics.interop.update.model.UpdateOp" where
179   data UpdateOp
180   
181   @JavaName applied
182   opApplied :: UpdateOp -> <Proc> Boolean
183   
184   @JavaName selected
185   opSelected :: UpdateOp -> <Proc> Boolean
186   
187   @JavaName "select"
188   opSelect :: UpdateOp -> Boolean -> <Proc> Boolean
189   
190   @JavaName isAdd
191   opIsAdd :: UpdateOp -> <Proc> Boolean
192   
193   @JavaName isDelete
194   opIsDelete :: UpdateOp -> <Proc> Boolean
195   
196   @JavaName isChange
197   opIsChange :: UpdateOp -> <Proc> Boolean
198   
199   @JavaName enabled
200   opEnabled :: UpdateOp -> <Proc> Boolean
201   
202   @JavaName getResource
203   getOpResource :: UpdateOp -> <Proc> Maybe Resource
204   
205   
206 importJava "org.simantics.interop.update.model.UpdateNode3" where
207   data UpdateNode3
208   
209   @JavaName getUn1
210   getNode1 :: UpdateNode3 -> <Proc> Maybe UpdateNode
211   
212   @JavaName getUn2
213   getNode2 :: UpdateNode3 -> <Proc> Maybe UpdateNode
214   
215   @JavaName getUn3
216   getNode3 :: UpdateNode3 -> <Proc> Maybe UpdateNode
217   
218   @JavaName getChildren
219   getNode3Children :: UpdateNode3 -> <Proc> [UpdateNode3]
220   
221   @JavaName isVisible
222   isNode3Visible :: UpdateNode3 -> <Proc> Boolean
223   
224   //@JavaName getCombinedTree
225   //getCombinedTree :: ModelUpdate -> <Proc> UpdateNode3
226   
227 importJava "org.simantics.utils.datastructures.Pair" where
228   data Pair
229   
230   @JavaName "<init>"
231   createPair :: Maybe a -> Maybe b -> <Proc> Pair
232   
233   @JavaName first
234   getPairFirst :: Pair -> <Proc> Maybe a
235   
236   @JavaName second
237   getPairSecond :: Pair -> <Proc> Maybe b
238   
239 importJava "org.simantics.utils.datastructures.BijectionMap" where
240   data BijectionMap 
241   
242   @JavaName containsLeft
243   containsLeft :: BijectionMap -> l -> <Proc> Boolean
244   
245   @JavaName containsRight
246   containsRight :: BijectionMap -> r -> <Proc> Boolean
247   
248   @JavaName contains
249   contains :: BijectionMap -> l -> r -> <Proc> Boolean
250   
251   @JavaName getLeft
252   getLeft :: BijectionMap -> r -> <Proc> Maybe l
253   
254   @JavaName getRight
255   getRight :: BijectionMap -> l -> <Proc> Maybe r
256   
257 importJava "java.lang.Object" where
258     data Object
259     
260     @JavaName getClass
261     getClass :: Object -> <Proc> Class a
262     
263 importJava "java.lang.Class" where
264     
265     @JavaName getName
266     getClassName :: Class a -> <Proc> String
267     
268     @JavaName getSimpleName
269     getSimpleClassName :: Class a -> <Proc> String