]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling/scl/Simantics/Model.scl
Migrated source code from Simantics SVN
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Model.scl
diff --git a/bundles/org.simantics.modeling/scl/Simantics/Model.scl b/bundles/org.simantics.modeling/scl/Simantics/Model.scl
new file mode 100644 (file)
index 0000000..f360040
--- /dev/null
@@ -0,0 +1,70 @@
+include "Simantics/Entity" hiding (nameOf)\r
+include "Simantics/Ontologies"\r
+\r
+type Model = Resource\r
+type Configuration = Resource\r
+\r
+"""\r
+    model name\r
+    \r
+Returns an existing model in the current project with the given `name`\r
+"""\r
+model :: String -> <ReadGraph> Model\r
+model name = match possibleResourceChild (currentProject ()) name with\r
+    Just m -> fromResource m\r
+    Nothing -> fail $ "Didn't find a model " + name + "." \r
+\r
+"""\r
+    configurationOf model\r
+    \r
+Returns the configuration of the given `model`\r
+and returns the `configuration` resource\r
+"""\r
+configurationOf :: Model -> <ReadGraph> Configuration\r
+configurationOf m = do\r
+    conf = singleObject (toResource m) SIMU.HasConfiguration \r
+    fromResource conf\r
+\r
+"""\r
+Returns the list of all models in the current project.\r
+"""\r
+allModels :: () -> <ReadGraph> [Model]\r
+allModels _ = map fromResource $ objectsWithType (currentProject ()) L0.ConsistsOf SIMU.Model\r
+\r
+importJava "org.simantics.modeling.ModelingUtils" where\r
+    """Removes the index associated with the model."""\r
+    removeIndex :: Model -> <WriteGraph> ()\r
+    \r
+    resetIssueSources :: Model -> <WriteGraph> ()\r
+    \r
+    """Copies annotation types from one model to another."""\r
+    copyAnnotationTypes :: Model -> Model -> <WriteGraph> ()\r
+    \r
+    deleteIndex :: Resource -> <WriteGraph> ()\r
+    releaseMemory :: () -> <WriteGraph> ()\r
+    \r
+    searchByType :: Resource -> Resource -> <ReadGraph> [Resource]\r
+    searchByTypeShallow :: Resource -> Resource -> <ReadGraph> [Resource]\r
+    searchByTypeAndName :: Resource -> Resource -> String -> <ReadGraph> [Resource]\r
+    searchByTypeAndNameShallow :: Resource -> Resource -> String -> <ReadGraph> [Resource]\r
+    searchByQuery :: Resource -> String -> <ReadGraph> [Resource]\r
+    searchByQueryShallow :: Resource -> String -> <ReadGraph> [Resource]\r
+    searchByTypeAndFilter :: Resource -> Resource -> (Resource -> <ReadGraph> Boolean) -> <ReadGraph> [Resource]\r
+    \r
+    listIndexEntries :: Resource -> String -> <ReadGraph> String\r
+    activateModel :: Resource -> <WriteGraph> Boolean\r
+    \r
+    @JavaName createModel\r
+    createGenericModel :: Resource -> String -> <WriteGraph> Resource\r
+\r
+importJava "org.simantics.modeling.ModelingUtils" where\r
+    @JavaName getPossibleModel\r
+    getPossibleModel :: Resource -> <ReadGraph> Model\r
+    possibleIndexRoot :: Resource -> <ReadGraph> Maybe Resource\r
+\r
+activateModelAction :: Resource -> <Proc> ()\r
+activateModelAction model = do\r
+  syncWrite (\() -> activateModel model)\r
+  ()\r
+    \r
+    
\ No newline at end of file