]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/scl/Simantics/Library.scl
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling.ui / scl / Simantics / Library.scl
diff --git a/bundles/org.simantics.modeling.ui/scl/Simantics/Library.scl b/bundles/org.simantics.modeling.ui/scl/Simantics/Library.scl
new file mode 100644 (file)
index 0000000..188dea9
--- /dev/null
@@ -0,0 +1,31 @@
+import "Simantics/Model"\r
+include "Simantics/Entity" hiding (nameOf)\r
+import "http://www.simantics.org/Layer0-1.1" as L0\r
+\r
+type Library = Resource\r
+\r
+importJava "org.simantics.modeling.ui.SCLLibrary" where\r
+    @JavaName createLibrary\r
+    """\r
+    Creates a new Library under the given Library parameter. Returns the created Library.\r
+    """\r
+    createLibrary :: Library -> <Proc> Library\r
+    \r
+    @Javaname createLibraryInModel\r
+    """\r
+    Creates a new Library under the given Model parameter. Returns the created Library.\r
+    """\r
+    createLibraryInModel :: Model -> <Proc> Library\r
+    \r
+    @JavaName getLibrary\r
+    getLibrary :: Model -> String -> <ReadGraph> Library\r
+    \r
+librariesOf :: Model -> <ReadGraph> [Library]\r
+librariesOf model = recurse L0.Library (toResource model)\r
+  where\r
+    recurse t r = do\r
+        cs = resourceChildrenOf r \r
+        libraries = map fromResource $ filter isLibrary cs\r
+        libraryGrp = filter (not . isLibrary) cs\r
+        libraries + concatMap (recurse t) libraryGrp\r
+    isLibrary r = isInstanceOf r L0.Library
\ No newline at end of file