]> gerrit.simantics Code Review - simantics/interop.git/blobdiff - 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
index 8397844a1a42ce6743f76ff1af4c9c9b8ff3b93a..40d61b53fd0061f92a0328c4ad7ba8db406650f5 100644 (file)
@@ -21,13 +21,13 @@ importJava "org.simantics.interop.update.model.ModelUpdate" where
   applySelectedUpdates :: ModelUpdate -> <WriteGraph> ()
   
   @JavaName getUpdateTree2
-  getUpdateTree2 :: ModelUpdate -> <Proc> UpdateTree
+  getUpdateTree2 :: ModelUpdate -> <Proc> Maybe UpdateTree
   
   @JavaName getUpdateList2
-  getUpdateList2 :: ModelUpdate -> <Proc> UpdateList
+  getUpdateList2 :: ModelUpdate -> <Proc> Maybe UpdateList
   
   @JavaName getChanges2
-  getGraphChanges2 :: ModelUpdate -> <Proc> GraphChanges
+  getGraphChanges2 :: ModelUpdate -> <Proc> Maybe GraphChanges
   
   @JavaName getUpdateTree3
   getUpdateTree3 :: ModelUpdate -> <Proc> Maybe UpdateTree
@@ -54,19 +54,25 @@ importJava "org.simantics.interop.update.model.UpdateList" where
   data UpdateList
   
   @JavaName getChanges
-  getListChanges :: UpdateList -> <Proc> [Pair]
+  getListChanges :: UpdateList -> <Proc> [PropertyChange]
   
   @JavaName getSelected
-  getListSelected :: UpdateList -> <Proc> MSet.T Pair
+  getListSelected :: UpdateList -> <Proc> [PropertyChange]
   
-  @JavaName addSelected
-  addListSelected :: UpdateList -> Pair -> <Proc>()
+  @JavaName getChanges
+  getResChanges :: UpdateList -> Resource -> <ReadGraph> [PropertyChange]
+  
+  @JavaName getChange
+  getStmChange :: UpdateList -> Statement -> <ReadGraph> Maybe PropertyChange
+  
+  //@JavaName addSelected
+  //addListSelected :: UpdateList -> Pair -> <Proc>()
   
-  @JavaName removeSelected
-  removeListSelected :: UpdateList -> Pair -> <Proc>()
+  //@JavaName removeSelected
+  //removeListSelected :: UpdateList -> Pair -> <Proc>()
   
-  @JavaName isSelected
-  isListSelected :: UpdateList -> Pair -> <Proc> Boolean
+  //@JavaName isSelected
+  //isListSelected :: UpdateList -> Pair -> <Proc> Boolean
   
 importJava "org.simantics.interop.test.GraphChanges" where
   data GraphChanges
@@ -82,12 +88,34 @@ importJava "org.simantics.interop.test.GraphChanges" where
   
   @JavaName getModifications
   getModifications :: GraphChanges -> <Proc> [Pair]
+
+importJava "org.simantics.interop.update.model.PropertyChange" where
+  data PropertyChange
   
+  @JavaName "<init>"
+  createPropertyChange :: GraphChanges -> Maybe Statement -> Maybe Statement -> <Proc> PropertyChange
+  
+  @JavaName applied
+  pcApplied :: PropertyChange -> <Proc> Boolean
+  
+  @JavaName selected
+  pcSelected :: PropertyChange -> <Proc> Boolean
+  
+  @JavaName "select"
+  pcSelect :: PropertyChange -> Boolean -> <Proc> Boolean
+  
+  @JavaName getFirst
+  getFirst :: PropertyChange -> <Proc> Maybe Statement
+  
+  @JavaName getSecond
+  getSecond :: PropertyChange -> <Proc> Maybe Statement
+  
+
 importJava "org.simantics.interop.update.model.UpdateNode" where
   data UpdateNode
   
   @JavaName getResource
-  getNodeResource :: UpdateNode -> <Proc> Resource
+  getNodeResource :: UpdateNode -> <Proc> Maybe Resource
   
   @JavaName getStatus
   getNodeStatus :: UpdateNode -> <Proc> UpdateStatus
@@ -135,6 +163,9 @@ importJava "org.simantics.interop.update.model.UpdateOp" where
   @JavaName isChange
   opIsChange :: UpdateOp -> <Proc> Boolean
   
+  @JavaName getResource
+  getOpResource :: UpdateOp -> <Proc> Maybe Resource
+  
 importJava "org.simantics.interop.update.model.UpdateNode3" where
   data UpdateNode3
   
@@ -160,10 +191,10 @@ importJava "org.simantics.utils.datastructures.Pair" where
   createPair :: Maybe a -> Maybe b -> <Proc> Pair
   
   @JavaName first
-  getFirst :: Pair -> <Proc> Maybe a
+  getPairFirst :: Pair -> <Proc> Maybe a
   
   @JavaName second
-  getSecond :: Pair -> <Proc> Maybe b
+  getPairSecond :: Pair -> <Proc> Maybe b
   
 importJava "org.simantics.utils.datastructures.BijectionMap" where
   data BijectionMap