2 import "Simantics/Diagram"
3 import "Simantics/Rename"
5 importJava "org.simantics.g2d.canvas.ICanvasContext" where
8 importJava "org.simantics.g2d.scenegraph.ICanvasSceneGraphProvider" where
9 data ICanvasSceneGraphProvider
11 getCanvasContext :: ICanvasSceneGraphProvider -> ICanvasContext
13 importJava "org.simantics.modeling.SCLScenegraph" where
14 sceneGraphTest :: ICanvasContext -> String -> String -> <Proc> String
16 getAllNodes :: ICanvasContext -> String
18 getBoundsNodes :: ICanvasContext -> String
20 getBackgroundNodes :: ICanvasContext -> String
22 getDataNodes :: ICanvasContext -> String
24 getNavigationNodes :: ICanvasContext -> String
26 getParentNodes :: ICanvasContext -> String
28 getDecorationNodes :: ICanvasContext -> String
30 getSingleElementNodes :: ICanvasContext -> String
32 getConnectionNodes :: ICanvasContext -> String
34 getTextNodes :: ICanvasContext -> String
36 getItemNodes :: ICanvasContext -> String
39 getText :: ICanvasContext -> String -> String
41 @JavaName getNodeCount
42 getCount :: ICanvasContext -> String
44 @JavaName getNodeTransform
45 getTransform :: ICanvasContext -> String -> String
47 getICanvasSceneGraphProvider :: Model -> Resource -> String -> ICanvasSceneGraphProvider
49 disposeSceneGraphProvider :: ICanvasSceneGraphProvider -> ()
51 editNodeText :: ICanvasContext -> String -> String -> String -> <Proc> String
53 copyPaste :: ICanvasContext -> ICanvasContext -> [Resource] -> <Proc> Boolean
55 getSceneGraphProvider :: Diagram -> <Proc> ICanvasSceneGraphProvider
56 getSceneGraphProvider diagram = do
57 diagramName = syncRead(\() -> getSafeName diagram)
58 diagramRVI = "/" + diagramName
59 model = syncRead(\() -> getPossibleModel diagram)
60 composite = syncRead(\() -> compositeToDiagram' diagram)
61 getICanvasSceneGraphProvider model composite diagramRVI
63 getDiagramContext :: ICanvasSceneGraphProvider -> ICanvasContext
64 getDiagramContext provider = do
65 getCanvasContext provider
67 getNodeTransform :: Diagram -> String -> <Proc> String
68 getNodeTransform diagram nodeName = do
69 diagramName = syncRead(\() -> getSafeName diagram)
70 diagramRVI = "/" + diagramName
71 model = syncRead(\() -> getPossibleModel diagram)
72 composite = syncRead(\() -> compositeToDiagram' diagram)
73 provider = getICanvasSceneGraphProvider model composite diagramRVI
74 context = getCanvasContext provider
75 getTransform context nodeName
77 getNodeText :: Diagram -> String -> <Proc> String
78 getNodeText diagram nodeName = do
79 diagramName = syncRead(\() -> getSafeName diagram)
80 diagramRVI = "/" + diagramName
81 model = syncRead(\() -> getPossibleModel diagram)
82 composite = syncRead(\() -> compositeToDiagram' diagram)
83 provider = getICanvasSceneGraphProvider model composite diagramRVI
84 context = getCanvasContext provider
85 getText context nodeName
87 getNodeCount :: Diagram -> <Proc> String
88 getNodeCount diagram = do
89 diagramName = syncRead(\() -> getSafeName diagram)
90 diagramRVI = "/" + diagramName
91 model = syncRead(\() -> getPossibleModel diagram)
92 composite = syncRead(\() -> compositeToDiagram' diagram)
93 provider = getICanvasSceneGraphProvider model composite diagramRVI
94 context = getCanvasContext provider