]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.document.ui/scl/Simantics/Document.scl
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.document.ui / scl / Simantics / Document.scl
diff --git a/bundles/org.simantics.document.ui/scl/Simantics/Document.scl b/bundles/org.simantics.document.ui/scl/Simantics/Document.scl
new file mode 100644 (file)
index 0000000..1c1b6cc
--- /dev/null
@@ -0,0 +1,40 @@
+import "Simantics/Model"\r
+import "Simantics/Ontologies"\r
+import "UI/Progress"\r
+    \r
+importJava "org.simantics.document.ui.actions.ImportDocumentWithDetail" where\r
+    importDocumentWithDetailSCL :: Resource -> String -> <WriteGraph> Resource\r
+    \r
+importJava "org.simantics.document.ui.graphfile.FileDocumentUtil" where\r
+    importFolderWithName :: String -> Resource -> Resource -> Resource -> ProgressMonitor -> <WriteGraph> Resource\r
+    \r
+importJava "org.simantics.document.ui.actions.AddUrlDocumentWithDetail" where\r
+    addUrlDocumentWithDetailSCL :: Resource -> String -> String -> <WriteGraph> Resource\r
+    \r
+importJava "org.simantics.document.ui.actions.ExportDocumentFile" where\r
+    exportDocument :: Resource -> String -> <Proc> ()\r
+\r
+documentsFolders :: Model -> <ReadGraph> [Resource]\r
+documentsFolders model = recurse DOCUMENT.DocumentLibrary (toResource model)\r
+  where\r
+    recurse t r = do\r
+        cs = resourceChildrenOf r \r
+        libraries = filter isLibrary cs\r
+        libraryGrp = filter (not . isLibrary) cs\r
+        libraries + concatMap (recurse t) libraryGrp\r
+    isLibrary r = isInstanceOf r DOCUMENT.DocumentLibrary\r
+\r
+documents :: Model -> <ReadGraph> [Resource]\r
+documents model = recurse DOCUMENT.Document (toResource model)\r
+  where\r
+    recurse t r = do\r
+        cs = resourceChildrenOf r \r
+        documents = filter isDocument cs\r
+        documentFolder = filter (not . isDocument) cs\r
+        documents + concatMap (recurse t) documentFolder\r
+    isDocument r = isInstanceOf r DOCUMENT.Document\r
+    \r
+document :: Model -> String -> <ReadGraph> [Resource]\r
+document model name = do\r
+    docs = documents model\r
+    filter (\x -> (relatedValue2 x L0.HasName :: String) == name) docs\r