]> gerrit.simantics Code Review - simantics/platform.git/commitdiff
InstanceOf tester (VP.Test) 88/488/1
authorAntti Villberg <antti.villberg@semantum.fi>
Sun, 7 May 2017 06:41:46 +0000 (09:41 +0300)
committerAntti Villberg <antti.villberg@semantum.fi>
Sun, 7 May 2017 06:41:46 +0000 (09:41 +0300)
refs #7192

Change-Id: Ife996f7b8dfa7d302877aef7dfad7f4bc711211d

bundles/org.simantics.modeling.ontology/graph/ModelingViewpoint.pgraph
bundles/org.simantics.modeling.ui/scl/Simantics/Testing/BrowseContext.scl
bundles/org.simantics.modeling/scl/Simantics/All.scl

index 7e572df9f69e3aeb385fe98b5f4034bfaa0bd08d..e71c13997a661d9c729872e23054efe5883b3824 100644 (file)
@@ -29,7 +29,7 @@ MOD.SCLAction <T ACT.Action
 MOD.SCLDropAction <T ACT.Action
   --> MOD.SCLDropAction.action ==> "Resource -> Dynamic -> Integer -> <Proc> ()" <R L0.HasProperty : L0.FunctionalRelation 
 
-MOD.SCLTest <T ACT.Action
+MOD.SCLTest <T VP.Test
   --> MOD.SCLTest.test ==> "Resource -> <ReadGraph> Boolean" <R L0.HasProperty : L0.FunctionalRelation 
 
 // Legacy ModelingBrowseContext
@@ -659,6 +659,15 @@ MOD.InstantiateUnder <T MOD.SCLAction
 ACTIONS.InstantiateUnder
   @MOD.sclAction "instantiateUnderAction self"
 
+MOD.InstanceOfTest <T MOD.SCLTest
+  >-- MOD.InstanceOfTest.HasType --> L0.Type <R L0.IsRelatedTo : L0.TotalFunction
+  @MOD.sclAssertion MOD.SCLTest.test "instanceOfTest self" "Resource -> <Proc> Boolean"
+
+MOD.instanceOfTest : L0.Template
+    @template %test %type
+        %test : MOD.InstanceOfTest
+          MOD.InstanceOfTest.HasType %type
+
 TESTS = MAC.Tests : L0.Library
 TESTS.IsNotPublished
   @MOD.sclTest "isNotPublished"
index 3edb179fc295adc3c7ac223a70f04e49f857ad45..cd4e9755dfa1e9a81d343c19189e235a8bf9e2d7 100644 (file)
@@ -1,4 +1,4 @@
-import "Simantics/DB"
+import "Simantics/Variables"
 import "Map" as Map
 import "Simantics/Testing/BuiltinKeys"
 
@@ -126,3 +126,7 @@ createBrowseContext resource = do
 importJava "org.simantics.browsing.ui.common.NodeContextBuilder" where
     buildWithInput :: a -> <Proc> NodeContext
 
+instanceOfTest :: Variable -> <ReadGraph> (Resource -> <ReadGraph> Boolean)
+instanceOfTest self = do
+  typeResource = singleObject (represents $ parent self) MOD.InstanceOfTest.HasType
+  (\r -> isInstanceOf r typeResource) 
index 07f8a04641ebbb14a4e49679ea75ebaa99e928bf..00d6980cfb07165a33e9694eb1dfb1e6d36ade53 100644 (file)
@@ -31,4 +31,5 @@ include "SWT/All"
 include "Simantics/UI"
 include "Simantics/SelectionView"
 include "Simantics/Formatting"
-include "Simantics/Action"
\ No newline at end of file
+include "Simantics/Action"
+include "Simantics/Testing/BrowseContext"
\ No newline at end of file