]> gerrit.simantics Code Review - simantics/interop.git/blob - org.simantics.interop.update/scl/Interop/Update.scl
SCL bindings for model update
[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 importJava "org.simantics.interop.update.model.UpdateTree" where
24   data UpdateTree
25   
26   @JavaName getRootNode
27   getRootNode :: UpdateTree -> <Proc> UpdateNode
28   
29 importJava "org.simantics.interop.update.model.UpdateList" where
30   data UpdateList
31   
32   @JavaName getChanges
33   getListChanges :: UpdateList -> <Proc> [Pair]
34   
35   @JavaName getSelected
36   getListSelected :: UpdateList -> <Proc> MSet.T Pair
37   
38   @JavaName addSelected
39   addListSelected :: UpdateList -> Pair -> <Proc>()
40   
41   @JavaName removeSelected
42   removeListSelected :: UpdateList -> Pair -> <Proc>()
43   
44   @JavaName isSelected
45   isListSelected :: UpdateList -> Pair -> <Proc> Boolean
46   
47 importJava "org.simantics.interop.test.GraphChanges" where
48   data GraphChanges
49   
50   @JavaName getComparable
51   getComparable :: GraphChanges -> <Proc> BijectionMap
52   
53   @JavaName getAdditions
54   getAdditions :: GraphChanges -> <Proc> [Statement]
55   
56   @JavaName getDeletions
57   getDeletions :: GraphChanges -> <Proc> [Statement]
58   
59   @JavaName getModifications
60   getModifications :: GraphChanges -> <Proc> [Pair]
61   
62 importJava "org.simantics.interop.update.model.UpdateNode" where
63   data UpdateNode
64   
65   @JavaName getResource
66   getNodeResource :: UpdateNode -> <Proc> Resource
67   
68   @JavaName getStatus
69   getNodeStatus :: UpdateNode -> <Proc> UpdateStatus
70   
71   @JavaName getLabel
72   getNodeLabel :: UpdateNode -> <Proc> String
73   
74   @JavaName getOp
75   getNodeOp :: UpdateNode -> <Proc> Maybe UpdateOp
76   
77   @JavaName getChildren
78   getNodeChildren :: UpdateNode -> <Proc> [UpdateNode]
79   
80   
81   
82 importJava "org.simantics.interop.update.model.UpdateStatus" where
83   data UpdateStatus
84   @JavaName EXIST
85   S_EXIST::UpdateStatus
86   @JavaName DELETED
87   S_DELETED::UpdateStatus
88   @JavaName NEW
89   S_NEW::UpdateStatus
90   @JavaName CONTAINS
91   S_CONTAINS::UpdateStatus 
92   
93 importJava "org.simantics.interop.update.model.UpdateOp" where
94   data UpdateOp
95   
96   @JavaName applied
97   opApplied :: UpdateOp -> <Proc> Boolean
98   
99   @JavaName selected
100   opSelected :: UpdateOp -> <Proc> Boolean
101   
102   @JavaName "select"
103   opSelect :: UpdateOp -> Boolean -> <Proc> Boolean
104   
105   @JavaName isAdd
106   opIsAdd :: UpdateOp -> <Proc> Boolean
107   
108   @JavaName isDelete
109   opIsDelete :: UpdateOp -> <Proc> Boolean
110   
111   @JavaName isChange
112   opIsChange :: UpdateOp -> <Proc> Boolean
113   
114 importJava "org.simantics.utils.datastructures.Pair" where
115   data Pair
116   
117   @JavaName first
118   getFirst :: Pair -> <Proc> Maybe a
119   
120   @JavaName second
121   getSecond :: Pair -> <Proc> Maybe b
122   
123 importJava "org.simantics.utils.datastructures.BijectionMap" where
124   data BijectionMap 
125   
126   @JavaName containsLeft
127   containsLeft :: BijectionMap -> l -> <Proc> Boolean
128   
129   @JavaName containsRight
130   containsRight :: BijectionMap -> r -> <Proc> Boolean
131   
132   @JavaName contains
133   contains :: BijectionMap -> l -> r -> <Proc> Boolean
134   
135   @JavaName getLeft
136   getLeft :: BijectionMap -> r -> <Proc> Maybe l
137   
138   @JavaName getRight
139   getRight :: BijectionMap -> l -> <Proc> Maybe r
140   
141 importJava "java.lang.Object" where
142     data Object
143     
144     @JavaName getClass
145     getClass :: Object -> <Proc> Class
146     
147 importJava "java.lang.Class" where
148     data Class 
149     
150     @JavaName getName
151     getClassName :: Class -> <Proc> String
152     
153     @JavaName getSimpleName
154     getSimpleClassName :: Class -> <Proc> String