]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.platform.ui.ontology/graph/scl/SCLMain.scl
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.platform.ui.ontology / graph / scl / SCLMain.scl
1 include "Simantics/All"\r
2 include "SWT/All"\r
3 \r
4 usedSharedOntologies2 :: Variable -> <ReadGraph> [Resource]\r
5 usedSharedOntologies2 model = usedSharedOntologies $ represents model\r
6 \r
7 availableSharedOntologies2 :: Variable -> <ReadGraph> [Resource]\r
8 availableSharedOntologies2 model = availableSharedOntologies $ represents model\r
9 \r
10 useSelectedHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
11 useSelectedHandler input parameters = do\r
12   model = represents input\r
13   resources = map wseResource $ decodeWSES $ parameters "selection"\r
14   for resources $ linkSharedOntology model\r
15   ""\r
16 \r
17 unlinkSelectedHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
18 unlinkSelectedHandler input parameters = do\r
19   model = represents input\r
20   resources = map wseResource $ decodeWSES $ parameters "selection"\r
21   unlinkSharedOntologyWithUI input resources\r
22   ""\r
23 \r
24 createNewHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
25 createNewHandler input parameters = do\r
26   createSharedOntologyWithUI L0.SharedOntology\r
27   ""\r
28 \r
29 importHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
30 importHandler input parameters = do\r
31   importSharedOntologyWithUI input\r
32   ""\r
33 \r
34 fooHandler :: Variable -> CommandContext -> <WriteGraph> Maybe CommandResult\r
35 fooHandler self ctx = do\r
36   val = fromJust $ possibleString ctx "selected"\r
37   setProjectComponentState self "currentSelection" val\r
38   Nothing\r
39   \r
40 availableRanges :: Variable -> <ReadGraph> [String]\r
41 availableRanges input = do\r
42   u = uri input\r
43   res = represents input\r
44   ranges = objectsWithType res L0.ConsistsOf SHEET.Range\r
45   map nameOf ranges\r
46   \r
47 defaultRange :: Variable -> <ReadGraph> String\r
48 defaultRange input = do\r
49   ranges = availableRanges input\r
50   if (length ranges) == 0 then "" else ranges!0\r
51 \r
52 currentRangeName :: Variable -> Variable -> <ReadGraph> String\r
53 currentRangeName self input = \r
54   projectComponentState self "#currentSelection" (defaultRange input)\r
55 \r
56 currentRangeExpressionVariable :: Variable -> Variable -> <ReadGraph> Variable\r
57 currentRangeExpressionVariable self input = do\r
58   name = projectComponentState self "./Combo#currentSelection" (defaultRange input)\r
59   browse input ("/" + name + "#cells")\r
60 \r
61 currentRangeExpression :: Variable -> Variable -> <ReadGraph> String\r
62 currentRangeExpression self input = do\r
63   variable = currentRangeExpressionVariable self input\r
64   value $ browse variable "#expression"\r
65 \r
66 currentRangeTextAndErrors :: Variable -> Variable -> <ReadGraph> TextAndErrors\r
67 currentRangeTextAndErrors self input = do\r
68   expression = currentRangeExpression self input\r
69   createTextAndErrors expression []\r
70 \r
71 fooHandler2 :: Variable -> CommandContext -> <WriteGraph> Maybe CommandResult\r
72 fooHandler2 self ctx = do\r
73   val = fromJust $ possibleString ctx "text"\r
74   setExpression self val\r
75   Nothing\r
76 \r
77 modifyCodeHandler :: Variable -> Variable -> CommandContext -> <WriteGraph> Maybe CommandResult\r
78 modifyCodeHandler self input ctx = do\r
79   val = fromJust $ possibleString ctx "text"\r
80   variable = currentRangeExpressionVariable self input\r
81   setExpression variable val\r
82   Nothing\r
83