-
-
-importJava "org.simantics.g3d.scenegraph.base.INode" where
- data INode
+import "JavaBuiltin" as Java
importJava "org.simantics.g3d.scenegraph.base.ParentNode" where
data ParentNode
- addNode :: ParentNode -> String -> INode -> ()
- removeNode :: ParentNode -> String -> INode -> Boolean
- deattachNode :: ParentNode -> String -> INode -> Boolean
+ @JavaName addNode
+ addNode' :: ParentNode -> String -> Node -> <Proc> ()
+ @JavaName removeNode
+ removeNode' :: ParentNode -> String -> Node -> <Proc> Boolean
+ @JavaName deattachNode
+ deattachNode' :: ParentNode -> String -> Node -> <Proc> Boolean
- removeNodes :: ParentNode -> String ->()
- getNodes :: ParentNode -> String -> [INode]
+ @JavaName removeNodes
+ removeNodes' :: ParentNode -> String -> <Proc>()
@JavaName getNodes
- getAllNodes :: ParentNode -> [INode]
- remove :: ParentNode -> ()
+ getNodes' :: ParentNode -> String -> <Proc> [Node]
+ @JavaName getNodes
+ getAllNodes' :: ParentNode -> <Proc> [Node]
+ @JavaName remove
+ remove' :: ParentNode -> <Proc> ()
+
+class ParentNodeClass a where
+ asParentNode :: a -> ParentNode
+ asParentNode = Java.unsafeCoerce
+
+ addNode :: a -> String -> Node -> <Proc> ()
+ addNode c = addNode' (asParentNode c)
+ removeNode :: a -> String -> Node -> <Proc> Boolean
+ removeNode c = removeNode' (asParentNode c)
+ deattachNode :: a -> String -> Node -> <Proc> Boolean
+ deattachNode c = deattachNode' (asParentNode c)
+ removeNodes :: a -> String -> <Proc> ()
+ removeNodes c = removeNodes' (asParentNode c)
+ getNodes :: a -> String -> <Proc> [Node]
+ getNodes c = getNodes' (asParentNode c)
+ remove :: a -> <Proc> ()
+ remove c = remove' (asParentNode c)
+
+instance NodeClass ParentNode
+instance ParentNodeClass ParentNode where
+ asParentNode = id
-importJava "org.simantics.g3d.scenegraph.base.Node" where
+importJava "org.simantics.g3d.scenegraph.base.INode" where
data Node
- getParent :: Node -> Maybe ParentNode
- getRootNode :: Node -> Maybe ParentNode
- deattach :: Node -> ()
+ @JavaName getParent
+ getParent' :: Node -> <Proc> Maybe ParentNode
+ @JavaName getRootNode
+ getRootNode' :: Node -> <Proc> Maybe ParentNode
+ @JavaName deattach
+ deattach' :: Node -> <Proc> ()
+
+class NodeClass a where
+ asNode :: a -> Node
+ asNode = Java.unsafeCoerce
+
+ getParent :: a -> <Proc> Maybe ParentNode
+ getParent c = getParent' (asNode c)
+ getRootNode :: a -> <Proc> Maybe ParentNode
+ getRootNode c = getRootNode' (asNode c)
+ deattach :: a -> <Proc> ()
+ deattach c = deattach' (asNode c)
+
+instance NodeClass Node where
+ asNode = id