2 include "Simantics/Ontologies"
3 include "Simantics/SCL"
8 importJava "org.simantics.spreadsheet.graph.ExternalRef" where
11 importJava "org.simantics.spreadsheet.common.TableCell" where
14 importJava "org.simantics.spreadsheet.common.TreeTableCell" where
18 getTreeTableCellData :: TreeTableCell -> <Proc> a
20 createTreeTableCell :: String -> a -> Maybe b -> Integer -> Integer -> Integer -> Boolean -> <Proc> TreeTableCell
22 createTreeTableCell2 :: String -> a -> Maybe b -> a -> Integer -> Integer -> Boolean -> <Proc> TreeTableCell
25 treeTableCellText :: TreeTableCell -> <Proc> String
27 treeTableCellFont :: TreeTableCell -> <Proc> Maybe IFont
29 treeTableCellRow :: TreeTableCell -> <Proc> Integer
31 treeTableCellColumn :: TreeTableCell -> <Proc> Integer
33 importJava "org.simantics.spreadsheet.common.SpreadsheetCell" where
36 importJava "org.simantics.spreadsheet.graph.SCL" where
37 toVariant :: a -> Variant
38 modelsSourceContribution :: Resource -> <ReadGraph> [Variable]
39 modelsSourceContributionLabeler :: Variable -> <ReadGraph> String
41 importJava "org.simantics.spreadsheet.graph.SpreadsheetGraphUtils" where
42 @JavaName "fullSynchronization"
43 fullSynchronizeSheet :: Variable -> <ReadGraph> Boolean
44 evaluateAll :: Variable -> <ReadGraph> ()
45 saveInitialCondition :: Variable -> Resource -> String -> <WriteGraph> Resource
46 findCell :: Variable -> String -> <ReadGraph> Maybe Variable
47 invalidateAll :: Variable -> <ReadGraph> ()
48 extRefVariable :: Variable -> <ReadGraph> Variant
49 extRefActiveVariable :: Variable -> <ReadGraph> Variant
51 importJava "org.simantics.spreadsheet.util.SpreadsheetUtils" where
52 createSheet :: Resource -> String -> <WriteGraph> Resource
53 queryCells :: a -> [TableCell]
54 modifyCells1 :: [TableCell] -> (TableCell -> TableCell) -> [TableCell]
55 modifyCells :: [TableCell] -> [(TableCell -> TableCell)] -> [TableCell]
56 organizeCells :: Integer -> [String] -> [TableCell] -> [TableCell]
57 applyFont :: IFont -> (TableCell -> Boolean) -> TableCell -> TableCell
58 applyAlign :: Integer -> (TableCell -> Boolean) -> TableCell -> TableCell
59 applyForeground :: IColor -> (TableCell -> Boolean) -> TableCell -> TableCell
60 applyBackground :: IColor -> (TableCell -> Boolean) -> TableCell -> TableCell
61 simpleFont :: String -> String -> Integer -> IFont
62 rgbColor :: Integer -> Integer -> Integer -> IColor
63 selectRow :: Integer -> TableCell -> Boolean
64 selectColumn :: Integer -> TableCell -> Boolean
65 setSCLLine :: Resource -> Integer -> String -> <WriteGraph> ()
66 sheetRun :: Resource -> Variable -> <ReadGraph> Variable
68 importJava "org.simantics.spreadsheet.graph.SpreadsheetSessionManager" where
69 removeSpreadsheetSession :: Variable -> <Proc, WriteGraph> ()
71 importJava "org.simantics.spreadsheet.graph.ExcelImport" where
72 importBook :: Resource -> File -> <Proc> ()
74 importSpreadsheetBookAction :: Resource -> <Proc> ()
75 importSpreadsheetBookAction res = match fileDialog "foo" [("Excel file", "*.xls"), ("Excel File", "*.xlsx")] with
77 Just file -> importBook res file
79 createSpreadsheetBookAction :: Resource -> <Proc> ()
80 createSpreadsheetBookAction res = do
81 syncWrite (\() -> createSpreadsheetBookDefault res)
84 createSpreadsheetSheetAction :: Resource -> <Proc> ()
85 createSpreadsheetSheetAction res = do
86 syncWrite (\() -> createSpreadsheetDefault res)
89 createSpreadsheetDefault :: Resource -> <WriteGraph> Resource
90 createSpreadsheetDefault library = createSheet library $ findFreshEscapedName "Sheet" library
92 createSpreadsheetBookDefault :: Resource -> <WriteGraph> Resource
93 createSpreadsheetBookDefault library = createSpreadsheetBook library $ findFreshEscapedName "Book" library
95 createRange :: Resource -> Resource -> String -> String -> <WriteGraph> Resource
96 createRange library type_ name expression = do
97 range = newResource ()
98 claim range L0.InstanceOf type_
99 claimRelatedValue range L0.HasName name
100 createSCLValue range SHEET.ExpressionRange.cells SHEET.SCLValue expression
101 claim range L0.PartOf library
104 createSpreadsheetBook :: Resource -> String -> <WriteGraph> Resource
105 createSpreadsheetBook library name = do
107 book = newResource ()
108 claim book L0.InstanceOf SHEET.Book
109 claimRelatedValue book L0.HasName name
110 claim book L0.PartOf library
111 createSheet book "Sheet"
112 addCommentMetadata ("Created Spreadsheet Book " + name)