]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.spreadsheet.graph/scl/Spreadsheet/All.scl
Spreadsheet changes
[simantics/platform.git] / bundles / org.simantics.spreadsheet.graph / scl / Spreadsheet / All.scl
1 include "Simantics/DB"
2 include "Simantics/Ontologies"
3 include "Simantics/SCL"
4 include "Document/All"
5 include "File"
6
7 importJava "org.simantics.spreadsheet.graph.ExternalRef" where
8     data ExternalRef
9
10 importJava "org.simantics.spreadsheet.common.TableCell" where
11     data TableCell
12
13 importJava "org.simantics.spreadsheet.common.TreeTableCell" where
14     data TreeTableCell
15
16     @JavaName getData
17     getTreeTableCellData :: TreeTableCell -> <Proc> a
18     
19     createTreeTableCell :: String -> a -> Maybe b -> Integer -> Integer -> Integer -> Boolean -> <Proc> TreeTableCell
20
21     createTreeTableCell2 :: String -> a -> Maybe b -> a -> Integer -> Integer -> Boolean -> <Proc> TreeTableCell
22     
23     @JavaName getText
24     treeTableCellText :: TreeTableCell -> <Proc> String
25     @JavaName getFont
26     treeTableCellFont :: TreeTableCell -> <Proc> Maybe IFont
27     @JavaName getRow
28     treeTableCellRow :: TreeTableCell -> <Proc> Integer
29     @JavaName getColumn
30     treeTableCellColumn :: TreeTableCell -> <Proc> Integer
31     
32 importJava "org.simantics.spreadsheet.common.SpreadsheetCell" where
33     data SpreadsheetCell
34
35 importJava "org.simantics.spreadsheet.graph.SCL" where
36     toVariant :: a -> Variant
37     modelsSourceContribution :: Resource -> <ReadGraph> [Variable]
38     modelsSourceContributionLabeler :: Variable -> <ReadGraph> String
39
40 importJava "org.simantics.spreadsheet.graph.SpreadsheetGraphUtils" where
41     @JavaName "fullSynchronization"
42     fullSynchronizeSheet :: Variable -> <ReadGraph> Boolean
43     evaluateAll :: Variable -> <ReadGraph> ()
44     saveInitialCondition :: Variable -> Resource -> String -> <WriteGraph> Resource
45     findCell :: Variable -> String -> <ReadGraph> Maybe Variable
46     invalidateAll :: Variable -> <ReadGraph> ()
47     extRefVariable :: Variable -> <ReadGraph> Variant
48     extRefActiveVariable :: Variable -> <ReadGraph> Variant
49
50 importJava "org.simantics.spreadsheet.util.SpreadsheetUtils" where
51     createSheet :: Resource -> String -> <WriteGraph> Resource
52     queryCells :: a -> [TableCell]
53     modifyCells1 :: [TableCell] -> (TableCell -> TableCell) -> [TableCell]
54     modifyCells :: [TableCell] -> [(TableCell -> TableCell)] -> [TableCell]
55     organizeCells :: Integer -> [String] -> [TableCell] -> [TableCell]
56     applyFont :: IFont -> (TableCell -> Boolean) -> TableCell -> TableCell
57     applyAlign :: Integer -> (TableCell -> Boolean) -> TableCell -> TableCell
58     applyForeground :: IColor -> (TableCell -> Boolean) -> TableCell -> TableCell
59     applyBackground :: IColor -> (TableCell -> Boolean) -> TableCell -> TableCell
60     simpleFont :: String -> String -> Integer -> IFont
61     rgbColor :: Integer -> Integer -> Integer -> IColor
62     selectRow :: Integer -> TableCell -> Boolean
63     selectColumn :: Integer -> TableCell -> Boolean
64     setSCLLine :: Resource -> Integer -> String -> <WriteGraph> ()
65     sheetRun :: Resource -> Variable -> <ReadGraph> Variable
66
67 importJava "org.simantics.spreadsheet.graph.SpreadsheetSessionManager" where
68     removeSpreadsheetSession :: Variable -> <Proc, WriteGraph> ()
69
70 importJava "org.simantics.spreadsheet.graph.ExcelImport" where
71     importBook :: Resource -> File -> <Proc> ()
72
73 createSpreadsheetBookAction :: Resource -> <Proc> ()
74 createSpreadsheetBookAction res = do
75   syncWrite (\() -> createSpreadsheetBookDefault res)
76   ()
77   
78 createSpreadsheetSheetAction :: Resource -> <Proc> ()
79 createSpreadsheetSheetAction res = do
80   syncWrite (\() -> createSpreadsheetDefault res)
81   ()
82
83 createSpreadsheetDefault :: Resource -> <WriteGraph> Resource
84 createSpreadsheetDefault library = createSheet library $ findFreshEscapedName "Sheet" library 
85
86 createSpreadsheetBookDefault :: Resource -> <WriteGraph> Resource
87 createSpreadsheetBookDefault library = createSpreadsheetBook library $ findFreshEscapedName "Book" library 
88
89 createRange :: Resource -> Resource -> String -> String -> <WriteGraph> Resource
90 createRange library type_ name expression = do
91     range = newResource ()
92     claim range L0.InstanceOf type_
93     claimRelatedValue range L0.HasName name
94     createSCLValue range SHEET.ExpressionRange.cells SHEET.SCLValue expression
95     claim range L0.PartOf library
96     range
97
98 createSpreadsheetBook :: Resource -> String -> <WriteGraph> Resource
99 createSpreadsheetBook library name = do
100     markUndoPoint ()
101     book = newResource ()
102     claim book L0.InstanceOf SHEET.Book
103     claimRelatedValue book L0.HasName name
104     claim book L0.PartOf library
105     createSheet book "Sheet"
106     addCommentMetadata ("Created Spreadsheet Book " + name)
107     book
108