X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling.ui%2Fscl%2FSimantics%2FLibrary.scl;fp=bundles%2Forg.simantics.modeling.ui%2Fscl%2FSimantics%2FLibrary.scl;h=188dea9d46884910b7c631a017d22e08f78da000;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git 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 index 000000000..188dea9d4 --- /dev/null +++ b/bundles/org.simantics.modeling.ui/scl/Simantics/Library.scl @@ -0,0 +1,31 @@ +import "Simantics/Model" +include "Simantics/Entity" hiding (nameOf) +import "http://www.simantics.org/Layer0-1.1" as L0 + +type Library = Resource + +importJava "org.simantics.modeling.ui.SCLLibrary" where + @JavaName createLibrary + """ + Creates a new Library under the given Library parameter. Returns the created Library. + """ + createLibrary :: Library -> Library + + @Javaname createLibraryInModel + """ + Creates a new Library under the given Model parameter. Returns the created Library. + """ + createLibraryInModel :: Model -> Library + + @JavaName getLibrary + getLibrary :: Model -> String -> Library + +librariesOf :: Model -> [Library] +librariesOf model = recurse L0.Library (toResource model) + where + recurse t r = do + cs = resourceChildrenOf r + libraries = map fromResource $ filter isLibrary cs + libraryGrp = filter (not . isLibrary) cs + libraries + concatMap (recurse t) libraryGrp + isLibrary r = isInstanceOf r L0.Library \ No newline at end of file