]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl
Merge "(refs #7607) Async module for running functions asynchronously"
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Scenegraph.scl
index dae67434e9d2a64a1463f384378812e8b8e73c6f..3c9c5579969cb61b1015f0d461cc5e9c50431d1a 100644 (file)
@@ -51,13 +51,15 @@ importJava "org.simantics.modeling.SCLScenegraph" where
     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 (toResource diagram))
+    diagramName = syncRead(\() -> getSafeName diagram)
     diagramRVI = "/" + diagramName
-    model = syncRead(\() -> getPossibleModel (toResource diagram))
-    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))
+    model = syncRead(\() -> fromJust $ possibleIndexRoot diagram)
+    composite = syncRead(\() -> compositeToDiagram' diagram)
     getICanvasSceneGraphProvider model composite diagramRVI
 
 getDiagramContext :: ICanvasSceneGraphProvider -> ICanvasContext
@@ -66,30 +68,62 @@ getDiagramContext provider = do
     
 getNodeTransform :: Diagram -> String -> <Proc> String
 getNodeTransform diagram nodeName = do
-    diagramName = syncRead(\() -> getSafeName (toResource diagram))
+    diagramName = syncRead(\() -> getSafeName diagram)
     diagramRVI = "/" + diagramName
-    model = syncRead(\() -> getPossibleModel (toResource diagram))
-    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))
+    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 (toResource diagram))
+    diagramName = syncRead(\() -> getSafeName diagram)
     diagramRVI = "/" + diagramName
-    model = syncRead(\() -> getPossibleModel (toResource diagram))
-    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))
+    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 (toResource diagram))
+    diagramName = syncRead(\() -> getSafeName diagram)
     diagramRVI = "/" + diagramName
-    model = syncRead(\() -> getPossibleModel (toResource diagram))
-    composite = syncRead(\() -> compositeToDiagram' (toResource diagram))
+    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