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