X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=bundles%2Forg.simantics.modeling%2Fscl%2FSimantics%2FModel.scl;fp=bundles%2Forg.simantics.modeling%2Fscl%2FSimantics%2FModel.scl;h=f360040d359dcef4d9b18659eefbd49259291758;hb=969bd23cab98a79ca9101af33334000879fb60c5;hp=0000000000000000000000000000000000000000;hpb=866dba5cd5a3929bbeae85991796acb212338a08;p=simantics%2Fplatform.git diff --git a/bundles/org.simantics.modeling/scl/Simantics/Model.scl b/bundles/org.simantics.modeling/scl/Simantics/Model.scl new file mode 100644 index 000000000..f360040d3 --- /dev/null +++ b/bundles/org.simantics.modeling/scl/Simantics/Model.scl @@ -0,0 +1,70 @@ +include "Simantics/Entity" hiding (nameOf) +include "Simantics/Ontologies" + +type Model = Resource +type Configuration = Resource + +""" + model name + +Returns an existing model in the current project with the given `name` +""" +model :: String -> Model +model name = match possibleResourceChild (currentProject ()) name with + Just m -> fromResource m + Nothing -> fail $ "Didn't find a model " + name + "." + +""" + configurationOf model + +Returns the configuration of the given `model` +and returns the `configuration` resource +""" +configurationOf :: Model -> Configuration +configurationOf m = do + conf = singleObject (toResource m) SIMU.HasConfiguration + fromResource conf + +""" +Returns the list of all models in the current project. +""" +allModels :: () -> [Model] +allModels _ = map fromResource $ objectsWithType (currentProject ()) L0.ConsistsOf SIMU.Model + +importJava "org.simantics.modeling.ModelingUtils" where + """Removes the index associated with the model.""" + removeIndex :: Model -> () + + resetIssueSources :: Model -> () + + """Copies annotation types from one model to another.""" + copyAnnotationTypes :: Model -> Model -> () + + deleteIndex :: Resource -> () + releaseMemory :: () -> () + + searchByType :: Resource -> Resource -> [Resource] + searchByTypeShallow :: Resource -> Resource -> [Resource] + searchByTypeAndName :: Resource -> Resource -> String -> [Resource] + searchByTypeAndNameShallow :: Resource -> Resource -> String -> [Resource] + searchByQuery :: Resource -> String -> [Resource] + searchByQueryShallow :: Resource -> String -> [Resource] + searchByTypeAndFilter :: Resource -> Resource -> (Resource -> Boolean) -> [Resource] + + listIndexEntries :: Resource -> String -> String + activateModel :: Resource -> Boolean + + @JavaName createModel + createGenericModel :: Resource -> String -> Resource + +importJava "org.simantics.modeling.ModelingUtils" where + @JavaName getPossibleModel + getPossibleModel :: Resource -> Model + possibleIndexRoot :: Resource -> Maybe Resource + +activateModelAction :: Resource -> () +activateModelAction model = do + syncWrite (\() -> activateModel model) + () + + \ No newline at end of file