X-Git-Url: https://gerrit.simantics.org/r/gitweb?p=simantics%2Fplatform.git;a=blobdiff_plain;f=bundles%2Forg.simantics.scl.db%2Fscl%2FSimantics%2FVariables.scl;h=9a6ffde8c17267717a3113d3ecfded655e262942;hp=d96dacdfdb4de0b8793060c034c83000eadc0cf6;hb=21137c34eea354153dbc83b92a5be05957b48ee5;hpb=0ae2b770234dfc3cbb18bd38f324125cf0faca07 diff --git a/bundles/org.simantics.scl.db/scl/Simantics/Variables.scl b/bundles/org.simantics.scl.db/scl/Simantics/Variables.scl index d96dacdfd..9a6ffde8c 100644 --- a/bundles/org.simantics.scl.db/scl/Simantics/Variables.scl +++ b/bundles/org.simantics.scl.db/scl/Simantics/Variables.scl @@ -21,6 +21,9 @@ Example: """ variable :: String -> Variable + @JavaName getPossibleVariable + possibleVariable :: String -> Maybe Variable + @JavaName getVariable """ Function **resourceVariable** converts a resource to a corresponding variable. @@ -73,6 +76,11 @@ Example: instanceIndexRoot :: Variable -> Resource createValueAccessor :: (Variable -> a) -> (Variable -> Binding b -> b) -> (Variable -> c -> ()) -> (Variable -> d -> Binding d -> ()) -> (Variable -> Datatype) -> ValueAccessor + + @JavaName getConfigurationContext + possibleConfigurationContext :: Resource -> Variable + + setRVIProperty :: Variable -> RVI -> () importJava "org.simantics.db.layer0.function.All" where @@ -85,11 +93,18 @@ importJava "org.simantics.db.layer0.function.All" where importJava "org.simantics.db.layer0.variable.VariableMap" where data VariableMap +importJava "org.simantics.db.layer0.variable.ResourceCollectionVariableMap" where + @JavaName "" + createVariableMap :: [Resource] -> VariableMap + importJava "org.simantics.db.layer0.variable.ValueAccessor" where data ValueAccessor importJava "org.simantics.db.layer0.variable.Variable" where data Variable + + @JavaName getRVI + rviOf :: Variable -> RVI @JavaName getProperties properties_ :: Variable -> Collection Variable @@ -332,13 +347,13 @@ Example: """ modelVariableOfVariable :: Variable -> Variable -modelVariableOfVariable var = variable $ uriOf $ toResource $ modelOfVariable var +modelVariableOfVariable var = variable $ uriOf $ modelOfVariable var uniqueChild :: Model -> Resource -> String -> Variable uniqueChild model typet childName = do typeName = DB.nameOf typet query = "Types: " + typeName + " AND Name: " + childName - moduleResources = searchByQuery (toResource model) query + moduleResources = searchByQuery model query variable $ uriOf $ moduleResources ! 0 """ @@ -402,4 +417,14 @@ instance Browsable Variable where propertiesClassified :: Variable -> Resource -> [Variable] propertiesClassified parent classified = do - collectionToList $ propertiesClassified_ parent classified \ No newline at end of file + collectionToList $ propertiesClassified_ parent classified + +importJava "org.simantics.db.layer0.variable.RVI" where + data RVI + + resolvePossible :: RVI -> Variable -> Maybe Variable + +instantiateUnder :: Resource -> Resource -> Resource +instantiateUnder container typeToInstantiate = do + fn = (resourceVariable typeToInstantiate)#methods#instantiateUnder :: Resource -> Resource -> Resource + fn container typeToInstantiate \ No newline at end of file