include "Simantics/DB"
include "Simantics/Ontologies"
include "Simantics/SCL"
+include "Simantics/UI"
include "Document/All"
include "File"
+
+effect SpreadsheetTransaction
+ "spreadsheetTransaction"
+ "org.simantics.spreadsheet.Transaction"
+
+importJava "org.simantics.spreadsheet.graph.ExternalRef" where
+ data ExternalRef
+
importJava "org.simantics.spreadsheet.common.TableCell" where
data TableCell
+importJava "java.util.function.Consumer" where
+ data Consumer
+
+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> ()
+
+@inline
+editProperty :: Serializable a => CellEditor -> String -> String -> a -> Maybe Consumer -> <SpreadsheetTransaction> ()
+editProperty editor location property value consumer = editProperty_ editor location property value binding consumer
+
+importJava "org.simantics.spreadsheet.OperationMode" where
+ data OperationMode
+ OPERATION :: OperationMode
+ EDIT_MODE :: OperationMode
+
+importJava "org.simantics.spreadsheet.Transaction" where
+ data Transaction
+ commit :: Transaction -> <Proc> ()
+
importJava "org.simantics.spreadsheet.common.TreeTableCell" where
data TreeTableCell
getTreeTableCellData :: TreeTableCell -> <Proc> a
createTreeTableCell :: String -> a -> Maybe b -> Integer -> Integer -> Integer -> Boolean -> <Proc> TreeTableCell
+
+ createTreeTableCell2 :: String -> a -> Maybe b -> a -> Integer -> Integer -> Boolean -> <Proc> TreeTableCell
@JavaName getText
treeTableCellText :: TreeTableCell -> <Proc> String
saveInitialCondition :: Variable -> Resource -> String -> <WriteGraph> Resource
findCell :: Variable -> String -> <ReadGraph> Maybe Variable
invalidateAll :: Variable -> <ReadGraph> ()
+ extRefVariable :: Variable -> <ReadGraph> Variant
+ extRefActiveVariable :: Variable -> <ReadGraph> Variant
+ cellEditor :: Resource -> <ReadGraph> CellEditor
+ syncExec :: CellEditor -> OperationMode -> (<SpreadsheetTransaction, Proc> a) -> <Proc> a
+ cellColumn :: Variable -> <ReadGraph> Integer
+
+importJava "org.simantics.spreadsheet.Spreadsheets" where
+ cellName :: Integer -> Integer -> String
importJava "org.simantics.spreadsheet.util.SpreadsheetUtils" where
createSheet :: Resource -> String -> <WriteGraph> Resource
selectColumn :: Integer -> TableCell -> Boolean
setSCLLine :: Resource -> Integer -> String -> <WriteGraph> ()
sheetRun :: Resource -> Variable -> <ReadGraph> Variable
-
+
+sheetRunDefault :: Resource -> <ReadGraph> Variable
+sheetRunDefault sheet = sheetRun sheet (resourceVariable sheet)
+
+importJava "org.simantics.spreadsheet.graph.SpreadsheetSessionManager" where
+ removeSpreadsheetSession :: Variable -> <Proc, WriteGraph> ()
+
importJava "org.simantics.spreadsheet.graph.ExcelImport" where
importBook :: Resource -> File -> <Proc> ()
+importSpreadsheetBookAction :: Resource -> <Proc> ()
+importSpreadsheetBookAction res = match fileDialog "foo" [("Excel file", "*.xls"), ("Excel File", "*.xlsx")] with
+ Nothing -> ()
+ Just file -> importBook res file
+
createSpreadsheetBookAction :: Resource -> <Proc> ()
createSpreadsheetBookAction res = do
syncWrite (\() -> createSpreadsheetBookDefault res)