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=43be6defbb6ee486957572caff2abe9d0a93f226;hp=d96dacdfdb4de0b8793060c034c83000eadc0cf6;hb=fa0b5e5d3c4561af251471c5a5e0511f3ca65a16;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..43be6defb 100644 --- a/bundles/org.simantics.scl.db/scl/Simantics/Variables.scl +++ b/bundles/org.simantics.scl.db/scl/Simantics/Variables.scl @@ -21,6 +21,12 @@ Example: """ variable :: String -> Variable + @JavaName getPossibleVariable + possibleResourceVariable :: Resource -> Maybe Variable + + @JavaName getPossibleVariable + possibleVariable :: String -> Maybe Variable + @JavaName getVariable """ Function **resourceVariable** converts a resource to a corresponding variable. @@ -73,6 +79,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 +96,21 @@ importJava "org.simantics.db.layer0.function.All" where importJava "org.simantics.db.layer0.variable.VariableMap" where data VariableMap +importJava "org.simantics.db.layer0.variable.StructuredProperty" where + data StructuredProperty + +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 +353,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 """ @@ -390,6 +411,7 @@ instance Show Variable where instance Browsable Variable where fromUri = variable uriOf = uri + possibleUriOf v = Just (uri v) nameOf = name possibleNameOf v = Just (name v) children v = collectionToList (children_ v) @@ -402,4 +424,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