X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fscl%2FSimantics%2FScenegraph.scl;h=92738469719e2a0a165a89378879701ab1146d7f;hb=c8cce62f9952ab3f6db451d2f22d969b4e777eaa;hp=dae67434e9d2a64a1463f384378812e8b8e73c6f;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl b/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl index dae67434e..927384697 100644 --- a/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl +++ b/bundles/org.simantics.modeling/scl/Simantics/Scenegraph.scl @@ -51,13 +51,15 @@ importJava "org.simantics.modeling.SCLScenegraph" where editNodeText :: ICanvasContext -> String -> String -> String -> String copyPaste :: ICanvasContext -> ICanvasContext -> [Resource] -> Boolean + + renderSVG :: ICanvasContext -> String getSceneGraphProvider :: Diagram -> 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,53 @@ getDiagramContext provider = do getNodeTransform :: Diagram -> String -> 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 -> 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 -> 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 "" + createG2DNodeModification :: [SVGNodeAssignment] -> [TransformationAssignment] -> G2DNodeModification + +importJava "org.simantics.scenegraph.g2d.nodes.SVGNodeAssignment" where + data SVGNodeAssignment + +importJava "org.simantics.scenegraph.g2d.nodes.TransformationAssignment" where + data TransformationAssignment + @JavaName "" + createTransformationAssignment :: a -> AffineTransform -> TransformationAssignment + +importJava "java.awt.geom.AffineTransform" where + data AffineTransform + @JavaName "" + 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