import "Simantics/Variables" import "Map" as Map import "Simantics/Testing/BuiltinKeys" importJava "org.simantics.browsing.ui.model.browsecontexts.BrowseContext" where """ BrowseContext holds all contributions related to given set of browse contexts. """ data BrowseContext @JavaName getChildren """ Returns the possible children of the given NodeContext parameter. """ browseContextChildren :: BrowseContext -> NodeContext -> Collection NodeContext @JavaName getParents """ Returns the possible parents of the given NodeContext parameter. """ browseContextParents:: BrowseContext -> NodeContext -> Collection NodeContext @JavaName getLabel """ Finds labels for the given NodeContext parameter. """ browseContextLabel :: BrowseContext -> NodeContext -> Map.T String String @JavaName getImage """ Finds @link ImageDescriptors for the given NodeContext parameter. """ browseContextImage :: BrowseContext -> NodeContext -> Map.T String ImageDescriptor @JavaName getCheckedState """ Finds if the given NodeContext is checked or not. """ browseContextCheckedState :: BrowseContext -> NodeContext -> CheckedState @JavaName getLabelDecorator """ Finds LabelDecorator for the given NodeContext parameter. """ browseContextLabelDecorator :: BrowseContext -> NodeContext -> LabelDecorator @JavaName getImageDecorator """ Finds ImageDecorator for the given NodeContext parameter. """ browseContextImageDecorator :: BrowseContext -> NodeContext -> ImageDecorator @JavaName getModifier """ Finds Modifier for the given NodeContext parameter. """ browseContextModifier :: BrowseContext -> NodeContext -> String -> Maybe Modifier @private create :: [Resource] -> BrowseContext importJava "org.simantics.browsing.ui.NodeContext" where """ A context used to represent a single visible UI item. """ data NodeContext """ Finds value with the specified key or null if there was no value for the key """ getConstant :: NodeContext -> ConstantKey -> a importJava "org.eclipse.jface.resource.ImageDescriptor" where data ImageDescriptor importJava "org.simantics.browsing.ui.content.ImageDecorator" where data ImageDecorator importJava "org.eclipse.jface.resource.DeviceResourceDescriptor" where data FontDescriptor data ColorDescriptor importJava "org.eclipse.jface.resource.FontDescriptor" where @private @JavaName createFrom createFontDescriptorFrom :: String -> Integer -> Integer -> FontDescriptor defaultFontDescriptor = createFontDescriptorFrom "Arial" 12 0 importJava "org.simantics.browsing.ui.content.LabelDecorator" where """ An interface for decorating aesthetic properties of an UI item, including the label text, font, background color and foreground color. """ data LabelDecorator """ 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 -> String decorateForeground :: LabelDecorator -> a -> String -> Integer -> a decorateBackground :: LabelDecorator -> a -> String -> Integer -> a decorateFont :: LabelDecorator -> Maybe a -> String -> Integer -> Maybe a importJava "org.simantics.browsing.ui.CheckedState" where data CheckedState importJava "org.simantics.browsing.ui.content.Labeler$Modifier" where data Modifier getValue :: Modifier -> String isValid :: Modifier -> String -> Maybe String modify :: Modifier -> String -> () importJava "org.simantics.browsing.ui.model.browsecontexts.BrowseContexts" where toBrowseContextG :: Vector String -> BrowseContext getNodeContextForResource :: Resource -> NodeContext """ Creates a new BrowseContext for the given Collection of Resources. """ createBrowseContext :: [Resource] -> BrowseContext createBrowseContext resource = do create resource importJava "org.simantics.browsing.ui.common.NodeContextBuilder" where buildWithInput :: a -> NodeContext instanceOfTest :: Variable -> (Resource -> Boolean) instanceOfTest self = do typeResource = singleObject (represents $ parent self) MOD.InstanceOfTest.HasType (\r -> isInstanceOf r typeResource)