]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl
Add <Proc> to dispose-function of IScenegraphProvider
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Scenegraph.scl
index 27ffc5dfc793770bd7beb57993c65ba063dfe112..978eff21a8f7c0f68a57e38769129c7509b337b5 100644 (file)
-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
+import "Simantics/DB"
+import "Simantics/Diagram"
+import "Simantics/Rename"
+
+importJava "org.simantics.g2d.canvas.ICanvasContext" where
+    data ICanvasContext
+    
+importJava "org.simantics.g2d.scenegraph.ICanvasSceneGraphProvider" where
+    data ICanvasSceneGraphProvider
+    
+    getCanvasContext :: ICanvasSceneGraphProvider -> ICanvasContext 
+
+importJava "org.simantics.modeling.SCLScenegraph" where
+    sceneGraphTest :: ICanvasContext -> String -> String -> <Proc> String
+
+    getAllNodes :: ICanvasContext -> String
+    
+    getBoundsNodes :: ICanvasContext -> String
+    
+    getBackgroundNodes :: ICanvasContext -> String
+    
+    getDataNodes :: ICanvasContext -> String
+    
+    getNavigationNodes :: ICanvasContext -> String
+    
+    getParentNodes :: ICanvasContext -> String
+    
+    getDecorationNodes :: ICanvasContext -> String
+
+    getSingleElementNodes :: ICanvasContext -> String
+    
+    getConnectionNodes :: ICanvasContext -> String
+    
+    getTextNodes :: ICanvasContext -> String
+    
+    getItemNodes :: ICanvasContext -> String
+    
+    @JavaName getNodeText
+    getText :: ICanvasContext -> String -> String 
+    
+    @JavaName getNodeCount
+    getCount :: ICanvasContext -> String
+    
+    @JavaName getNodeTransform
+    getTransform :: ICanvasContext -> String -> String
+    
+    getICanvasSceneGraphProvider :: Model -> Resource -> String -> ICanvasSceneGraphProvider
+    
+    disposeSceneGraphProvider :: ICanvasSceneGraphProvider -> <Proc> ()
+    
+    editNodeText :: ICanvasContext -> String -> String -> String -> <Proc> String
+    
+    copyPaste :: ICanvasContext -> ICanvasContext -> [Resource] -> <Proc> Boolean
+    
+    renderSVG :: ICanvasContext -> <Proc> String
+
+getSceneGraphProvider :: Diagram -> <Proc> ICanvasSceneGraphProvider
+getSceneGraphProvider diagram = do
+    diagramName = syncRead(\() -> getSafeName diagram)
+    diagramRVI = "/" + diagramName
+    model = syncRead(\() -> fromJust $ possibleIndexRoot diagram)
+    composite = syncRead(\() -> compositeToDiagram' diagram)
+    getICanvasSceneGraphProvider model composite diagramRVI
+
+getDiagramContext :: ICanvasSceneGraphProvider -> ICanvasContext
+getDiagramContext provider = do
+    getCanvasContext provider
+    
+getNodeTransform :: Diagram -> String -> <Proc> String
+getNodeTransform diagram nodeName = do
+    diagramName = syncRead(\() -> getSafeName diagram)
+    diagramRVI = "/" + diagramName
+    model = syncRead(\() -> getPossibleModel diagram)
+    composite = syncRead(\() -> compositeToDiagram' diagram)
+    provider = getICanvasSceneGraphProvider model composite diagramRVI
+    context = getCanvasContext provider
+    getTransform context nodeName
+    
+getNodeText :: Diagram -> String -> <Proc> String
+getNodeText diagram nodeName = do
+    diagramName = syncRead(\() -> getSafeName diagram)
+    diagramRVI = "/" + diagramName
+    model = syncRead(\() -> getPossibleModel diagram)
+    composite = syncRead(\() -> compositeToDiagram' diagram)
+    provider = getICanvasSceneGraphProvider model composite diagramRVI
+    context = getCanvasContext provider
+    getText context nodeName
+
+getNodeCount :: Diagram -> <Proc> String
+getNodeCount diagram = do
+    diagramName = syncRead(\() -> getSafeName diagram)
+    diagramRVI = "/" + diagramName
+    model = syncRead(\() -> getPossibleModel diagram)
+    composite = syncRead(\() -> compositeToDiagram' diagram)
+    provider = getICanvasSceneGraphProvider model composite diagramRVI
+    context = getCanvasContext provider 
+    getCount context
+
+importJava "org.simantics.scenegraph.g2d.G2DNodeModification" where
+    data G2DNodeModification
+    @JavaName "<init>"
+    createG2DNodeModification :: [SVGNodeAssignment] -> [TransformationAssignment] -> G2DNodeModification 
+    @JavaName "<init>"
+    createG2DNodeModification3 :: [SVGNodeAssignment] -> [TargetedSVGNodeAssignment] -> [TransformationAssignment] -> G2DNodeModification 
+    
+importJava "org.simantics.scenegraph.g2d.nodes.SVGNodeAssignment" where
+    data SVGNodeAssignment
+    @JavaName "<init>"
+    createSVGNodeAssignment :: String -> String -> String -> SVGNodeAssignment 
+    
+importJava "org.simantics.scenegraph.g2d.nodes.TargetedSVGNodeAssignment" where
+    data TargetedSVGNodeAssignment
+    @JavaName "<init>"
+    createTargetedSVGNodeAssignment :: a -> String -> String -> String -> TargetedSVGNodeAssignment 
+
+importJava "org.simantics.scenegraph.g2d.nodes.TransformationAssignment" where
+    data TransformationAssignment
+    @JavaName "<init>"
+    createTransformationAssignment :: a -> AffineTransform -> TransformationAssignment
+    
+importJava "java.awt.geom.AffineTransform" where
+    data AffineTransform
+    @JavaName "<init>"
+    createAffineTransform :: Double -> Double -> Double -> Double -> Double -> Double -> AffineTransform
+
+importJava "org.simantics.scenegraph.g2d.AffineTransformFunctions" where
+    transform :: AffineTransform -> (Double,Double) -> (Double,Double)
+    inverseTransform :: AffineTransform -> (Double,Double) -> (Double,Double)
+    
\ No newline at end of file