]> gerrit.simantics Code Review - simantics/platform.git/blob - 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
1 import "Simantics/Model"\r
2 include "Simantics/Entity" hiding (nameOf)\r
3 import "http://www.simantics.org/Layer0-1.1" as L0\r
4 \r
5 type Library = Resource\r
6 \r
7 importJava "org.simantics.modeling.ui.SCLLibrary" where\r
8     @JavaName createLibrary\r
9     """\r
10     Creates a new Library under the given Library parameter. Returns the created Library.\r
11     """\r
12     createLibrary :: Library -> <Proc> Library\r
13     \r
14     @Javaname createLibraryInModel\r
15     """\r
16     Creates a new Library under the given Model parameter. Returns the created Library.\r
17     """\r
18     createLibraryInModel :: Model -> <Proc> Library\r
19     \r
20     @JavaName getLibrary\r
21     getLibrary :: Model -> String -> <ReadGraph> Library\r
22     \r
23 librariesOf :: Model -> <ReadGraph> [Library]\r
24 librariesOf model = recurse L0.Library (toResource model)\r
25   where\r
26     recurse t r = do\r
27         cs = resourceChildrenOf r \r
28         libraries = map fromResource $ filter isLibrary cs\r
29         libraryGrp = filter (not . isLibrary) cs\r
30         libraries + concatMap (recurse t) libraryGrp\r
31     isLibrary r = isInstanceOf r L0.Library