]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Scenegraph.scl
diff --git a/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl b/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl
new file mode 100644 (file)
index 0000000..27ffc5d
--- /dev/null
@@ -0,0 +1,95 @@
+import "Simantics/DB"\r
+import "Simantics/Diagram"\r
+import "Simantics/Rename"\r
+\r
+importJava "org.simantics.g2d.canvas.ICanvasContext" where\r
+    data ICanvasContext\r
+    \r
+importJava "org.simantics.g2d.scenegraph.ICanvasSceneGraphProvider" where\r
+    data ICanvasSceneGraphProvider\r
+    \r
+    getCanvasContext :: ICanvasSceneGraphProvider -> ICanvasContext \r
+\r
+importJava "org.simantics.modeling.SCLScenegraph" where\r
+    sceneGraphTest :: ICanvasContext -> String -> String -> <Proc> String\r
+\r
+    getAllNodes :: ICanvasContext -> String\r
+    \r
+    getBoundsNodes :: ICanvasContext -> String\r
+    \r
+    getBackgroundNodes :: ICanvasContext -> String\r
+    \r
+    getDataNodes :: ICanvasContext -> String\r
+    \r
+    getNavigationNodes :: ICanvasContext -> String\r
+    \r
+    getParentNodes :: ICanvasContext -> String\r
+    \r
+    getDecorationNodes :: ICanvasContext -> String\r
+\r
+    getSingleElementNodes :: ICanvasContext -> String\r
+    \r
+    getConnectionNodes :: ICanvasContext -> String\r
+    \r
+    getTextNodes :: ICanvasContext -> String\r
+    \r
+    getItemNodes :: ICanvasContext -> String\r
+    \r
+    @JavaName getNodeText\r
+    getText :: ICanvasContext -> String -> String \r
+    \r
+    @JavaName getNodeCount\r
+    getCount :: ICanvasContext -> String\r
+    \r
+    @JavaName getNodeTransform\r
+    getTransform :: ICanvasContext -> String -> String\r
+    \r
+    getICanvasSceneGraphProvider :: Model -> Resource -> String -> ICanvasSceneGraphProvider\r
+    \r
+    disposeSceneGraphProvider :: ICanvasSceneGraphProvider -> ()\r
+    \r
+    editNodeText :: ICanvasContext -> String -> String -> String -> <Proc> String\r
+    \r
+    copyPaste :: ICanvasContext -> ICanvasContext -> [Resource] -> <Proc> Boolean\r
+\r
+getSceneGraphProvider :: Diagram -> <Proc> ICanvasSceneGraphProvider\r
+getSceneGraphProvider diagram = do\r
+    diagramName = syncRead(\() -> getSafeName (toResource diagram))\r
+    diagramRVI = "/" + diagramName\r
+    model = syncRead(\() -> getPossibleModel (toResource diagram))\r
+    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))\r
+    getICanvasSceneGraphProvider model composite diagramRVI\r
+\r
+getDiagramContext :: ICanvasSceneGraphProvider -> ICanvasContext\r
+getDiagramContext provider = do\r
+    getCanvasContext provider\r
+    \r
+getNodeTransform :: Diagram -> String -> <Proc> String\r
+getNodeTransform diagram nodeName = do\r
+    diagramName = syncRead(\() -> getSafeName (toResource diagram))\r
+    diagramRVI = "/" + diagramName\r
+    model = syncRead(\() -> getPossibleModel (toResource diagram))\r
+    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))\r
+    provider = getICanvasSceneGraphProvider model composite diagramRVI\r
+    context = getCanvasContext provider\r
+    getTransform context nodeName\r
+    \r
+getNodeText :: Diagram -> String -> <Proc> String\r
+getNodeText diagram nodeName = do\r
+    diagramName = syncRead(\() -> getSafeName (toResource diagram))\r
+    diagramRVI = "/" + diagramName\r
+    model = syncRead(\() -> getPossibleModel (toResource diagram))\r
+    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))\r
+    provider = getICanvasSceneGraphProvider model composite diagramRVI\r
+    context = getCanvasContext provider\r
+    getText context nodeName\r
+\r
+getNodeCount :: Diagram -> <Proc> String\r
+getNodeCount diagram = do\r
+    diagramName = syncRead(\() -> getSafeName (toResource diagram))\r
+    diagramRVI = "/" + diagramName\r
+    model = syncRead(\() -> getPossibleModel (toResource diagram))\r
+    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))\r
+    provider = getICanvasSceneGraphProvider model composite diagramRVI\r
+    context = getCanvasContext provider \r
+    getCount context\r