include "Simantics/Entity" hiding (nameOf) include "Simantics/Ontologies" import "Simantics/Misc" 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 -> 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 = singleObject m SIMU.HasConfiguration """ Returns the list of all models in the current project. """ allModels :: () -> [Model] allModels _ = 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 """ Activates the specified model but does not wait for any of the effects caused by the activation to be completed. In most cases the blocking version [syncActivateModel](#syncActivateModel) should be used instead of this function. """ 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) () """ Activates the specified model and blocks until all effects caused by the activation have been completed. This function is a synchronous version of the older [activateModel](#activateModel) function that does not wait for activation completion, i.e. works asynchronously. In most cases it is recommended to use this functions instead of The effect completion waiting works based on the `org.simantics.db.service.ServiceActivityMonitor` service offered by the database client. Therefore implementation that want to support waiting for activation completion need to register/unregister activities with this service accordingly. """ syncActivateModel :: Resource -> Boolean syncActivateModel model = do result = syncWrite (\() -> activateModel model) syncGraph () result