]> gerrit.simantics Code Review - simantics/platform.git/blobdiff - bundles/org.simantics.modeling.ui/scl/Simantics/Testing/BrowseContext.scl
Merge "Added effectful Kleisli composition to Prelude."
[simantics/platform.git] / bundles / org.simantics.modeling.ui / scl / Simantics / Testing / BrowseContext.scl
index 3edb179fc295adc3c7ac223a70f04e49f857ad45..590ddd21ce8f658d40b133dd6cb0fddd3be8607d 100644 (file)
@@ -1,6 +1,6 @@
-import "Simantics/DB"
+import "Simantics/Variables"
 import "Map" as Map
 import "Map" as Map
-import "Simantics/Testing/BuiltinKeys"
+include "Simantics/Testing/BuiltinKeys" as BuiltinKeys
 
 importJava "org.simantics.browsing.ui.model.browsecontexts.BrowseContext" where
     """
 
 importJava "org.simantics.browsing.ui.model.browsecontexts.BrowseContext" where
     """
@@ -68,7 +68,7 @@ importJava "org.simantics.browsing.ui.NodeContext" where
     """
     Finds value with the specified key or <code>null</code> if there was no value for the key
     """
     """
     Finds value with the specified key or <code>null</code> if there was no value for the key
     """
-    getConstant :: NodeContext -> ConstantKey -> <Proc> a
+    getConstant :: NodeContext -> BuiltinKeys.ConstantKey -> <Proc> a
 
 importJava "org.eclipse.jface.resource.ImageDescriptor" where
     data ImageDescriptor
 
 importJava "org.eclipse.jface.resource.ImageDescriptor" where
     data ImageDescriptor
@@ -78,6 +78,8 @@ importJava "org.simantics.browsing.ui.content.ImageDecorator" where
 
 importJava "org.eclipse.jface.resource.DeviceResourceDescriptor" where
     data FontDescriptor
 
 importJava "org.eclipse.jface.resource.DeviceResourceDescriptor" where
     data FontDescriptor
+
+importJava "org.eclipse.jface.resource.ColorDescriptor" where    
     data ColorDescriptor
 
 importJava "org.eclipse.jface.resource.FontDescriptor" where
     data ColorDescriptor
 
 importJava "org.eclipse.jface.resource.FontDescriptor" where
@@ -85,6 +87,11 @@ importJava "org.eclipse.jface.resource.FontDescriptor" where
     @JavaName createFrom
     createFontDescriptorFrom :: String -> Integer -> Integer -> FontDescriptor
 
     @JavaName createFrom
     createFontDescriptorFrom :: String -> Integer -> Integer -> FontDescriptor
 
+importJava "org.simantics.modeling.ColorDescriptorUtil" where
+    colorDescriptorAsHex :: ColorDescriptor -> <Proc> String
+    colorDescriptorAsTuple3 :: ColorDescriptor -> <Proc> (Double, Double, Double)
+    colorDescriptor :: (Double, Double, Double) -> <Proc> ColorDescriptor
+
 defaultFontDescriptor = createFontDescriptorFrom "Arial" 12 0 
 
 importJava "org.simantics.browsing.ui.content.LabelDecorator" where
 defaultFontDescriptor = createFontDescriptorFrom "Arial" 12 0 
 
 importJava "org.simantics.browsing.ui.content.LabelDecorator" where
@@ -97,7 +104,7 @@ importJava "org.simantics.browsing.ui.content.LabelDecorator" where
     Decorates the given label with the name of the UI column which the label is for and  the index of this label within its parenting INodeContext.
     Returns the decorated Label 
     """
     Decorates the given label with the name of the UI column which the label is for and  the index of this label within its parenting INodeContext.
     Returns the decorated Label 
     """
-    decorateLabel :: LabelDecorator -> String -> String -> Integer -> <Proc> String
+    decorateLabel :: LabelDecorator -> String -> String -> Integer -> <Proc> Maybe String
     decorateForeground :: LabelDecorator -> a -> String -> Integer -> <Proc> a
     decorateBackground :: LabelDecorator -> a -> String -> Integer -> <Proc> a
     decorateFont :: LabelDecorator -> Maybe a -> String -> Integer -> <Proc> Maybe a
     decorateForeground :: LabelDecorator -> a -> String -> Integer -> <Proc> a
     decorateBackground :: LabelDecorator -> a -> String -> Integer -> <Proc> a
     decorateFont :: LabelDecorator -> Maybe a -> String -> Integer -> <Proc> Maybe a
@@ -115,6 +122,7 @@ importJava "org.simantics.browsing.ui.content.Labeler$Modifier" where
 importJava "org.simantics.browsing.ui.model.browsecontexts.BrowseContexts" where
     toBrowseContextG :: Vector String -> <ReadGraph> BrowseContext
     getNodeContextForResource :: Resource -> <Proc> NodeContext
 importJava "org.simantics.browsing.ui.model.browsecontexts.BrowseContexts" where
     toBrowseContextG :: Vector String -> <ReadGraph> BrowseContext
     getNodeContextForResource :: Resource -> <Proc> NodeContext
+    getNodeContextWithTypeForResource :: Resource -> <Proc, ReadGraph> NodeContext
 
 """
 Creates a new BrowseContext for the given Collection of Resources.
 
 """
 Creates a new BrowseContext for the given Collection of Resources.
@@ -126,3 +134,7 @@ createBrowseContext resource = do
 importJava "org.simantics.browsing.ui.common.NodeContextBuilder" where
     buildWithInput :: a -> <Proc> NodeContext
 
 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)