+include "Simantics/All"\r
+include "SWT/All"\r
+\r
+usedSharedOntologies2 :: Variable -> <ReadGraph> [Resource]\r
+usedSharedOntologies2 model = usedSharedOntologies $ represents model\r
+\r
+availableSharedOntologies2 :: Variable -> <ReadGraph> [Resource]\r
+availableSharedOntologies2 model = availableSharedOntologies $ represents model\r
+\r
+useSelectedHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
+useSelectedHandler input parameters = do\r
+ model = represents input\r
+ resources = map wseResource $ decodeWSES $ parameters "selection"\r
+ for resources $ linkSharedOntology model\r
+ ""\r
+\r
+unlinkSelectedHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
+unlinkSelectedHandler input parameters = do\r
+ model = represents input\r
+ resources = map wseResource $ decodeWSES $ parameters "selection"\r
+ unlinkSharedOntologyWithUI input resources\r
+ ""\r
+\r
+createNewHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
+createNewHandler input parameters = do\r
+ createSharedOntologyWithUI L0.SharedOntology\r
+ ""\r
+\r
+importHandler :: Variable -> (String -> Maybe String) -> <WriteGraph> String\r
+importHandler input parameters = do\r
+ importSharedOntologyWithUI input\r
+ ""\r
+\r
+fooHandler :: Variable -> CommandContext -> <WriteGraph> Maybe CommandResult\r
+fooHandler self ctx = do\r
+ val = fromJust $ possibleString ctx "selected"\r
+ setProjectComponentState self "currentSelection" val\r
+ Nothing\r
+ \r
+availableRanges :: Variable -> <ReadGraph> [String]\r
+availableRanges input = do\r
+ u = uri input\r
+ res = represents input\r
+ ranges = objectsWithType res L0.ConsistsOf SHEET.Range\r
+ map nameOf ranges\r
+ \r
+defaultRange :: Variable -> <ReadGraph> String\r
+defaultRange input = do\r
+ ranges = availableRanges input\r
+ if (length ranges) == 0 then "" else ranges!0\r
+\r
+currentRangeName :: Variable -> Variable -> <ReadGraph> String\r
+currentRangeName self input = \r
+ projectComponentState self "#currentSelection" (defaultRange input)\r
+\r
+currentRangeExpressionVariable :: Variable -> Variable -> <ReadGraph> Variable\r
+currentRangeExpressionVariable self input = do\r
+ name = projectComponentState self "./Combo#currentSelection" (defaultRange input)\r
+ browse input ("/" + name + "#cells")\r
+\r
+currentRangeExpression :: Variable -> Variable -> <ReadGraph> String\r
+currentRangeExpression self input = do\r
+ variable = currentRangeExpressionVariable self input\r
+ value $ browse variable "#expression"\r
+\r
+currentRangeTextAndErrors :: Variable -> Variable -> <ReadGraph> TextAndErrors\r
+currentRangeTextAndErrors self input = do\r
+ expression = currentRangeExpression self input\r
+ createTextAndErrors expression []\r
+\r
+fooHandler2 :: Variable -> CommandContext -> <WriteGraph> Maybe CommandResult\r
+fooHandler2 self ctx = do\r
+ val = fromJust $ possibleString ctx "text"\r
+ setExpression self val\r
+ Nothing\r
+\r
+modifyCodeHandler :: Variable -> Variable -> CommandContext -> <WriteGraph> Maybe CommandResult\r
+modifyCodeHandler self input ctx = do\r
+ val = fromJust $ possibleString ctx "text"\r
+ variable = currentRangeExpressionVariable self input\r
+ setExpression variable val\r
+ Nothing\r
+
\ No newline at end of file