]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.spreadsheet/scl/Spreadsheet/Solver.scl
SCL API for direct access to SpreadsheetBooks
[simantics/platform.git] / bundles / org.simantics.spreadsheet / scl / Spreadsheet / Solver.scl
diff --git a/bundles/org.simantics.spreadsheet/scl/Spreadsheet/Solver.scl b/bundles/org.simantics.spreadsheet/scl/Spreadsheet/Solver.scl
new file mode 100644 (file)
index 0000000..629767c
--- /dev/null
@@ -0,0 +1,55 @@
+
+importJava "org.simantics.spreadsheet.ExternalRef" where
+    data ExternalRef
+    
+importJava "org.simantics.spreadsheet.solver.SpreadsheetBook" where
+    data SpreadsheetBook
+    @JavaName "getEngine"
+    spreadsheetBookEngine :: SpreadsheetBook -> String -> <Proc> SpreadsheetEngine
+
+importJava "org.simantics.spreadsheet.solver.SpreadsheetEngine" where
+    data SpreadsheetEngine
+    @JavaName "getLines"
+    spreadsheetEngineLines :: SpreadsheetEngine -> Integer -> Integer -> <Proc> [SpreadsheetLine]
+
+importJava "org.simantics.spreadsheet.solver.SpreadsheetLine" where
+    data SpreadsheetLine
+    @JavaName "getRow"
+    spreadsheetLineRow :: SpreadsheetLine -> Integer
+    @JavaName "getCells"
+    spreadsheetLineCells :: SpreadsheetLine -> Integer -> Integer -> <Proc> [SpreadsheetCell]
+
+importJava "org.simantics.spreadsheet.solver.SpreadsheetCell" where
+    data SpreadsheetCell
+    @JavaName "getColumn"
+    spreadsheetCellColumn :: SpreadsheetCell -> Integer
+    @JavaName "getContentVariant"
+    spreadsheetCellContentVariant :: SpreadsheetCell -> SpreadsheetBook -> <Proc> Maybe Variant
+
+importJava "java.util.function.Consumer" where
+    data Consumer
+
+importJava "org.simantics.spreadsheet.Spreadsheets" where
+     cellName :: Integer -> Integer -> String
+
+importJava "org.simantics.spreadsheet.OperationMode" where
+    data OperationMode
+    OPERATION :: OperationMode
+    EDIT_MODE :: OperationMode
+
+importJava "org.simantics.spreadsheet.Transaction" where
+    data Transaction
+    commit :: Transaction -> <Proc> ()
+
+effect SpreadsheetTransaction 
+    "spreadsheetTransaction" 
+    "org.simantics.spreadsheet.Transaction"
+
+importJava "org.simantics.spreadsheet.CellEditor" where
+    data CellEditor
+    startTransaction :: CellEditor -> OperationMode -> <Proc> Transaction
+    @JavaName "edit"
+    editProperty_ :: CellEditor -> String -> String -> a -> Binding a -> Maybe Consumer -> <SpreadsheetTransaction> () 
+    @JavaName "edit"
+    editContent :: CellEditor -> String -> Variant -> Maybe Consumer -> <SpreadsheetTransaction> () 
+