I'm working with the Vision Tag Browser Tree on an Ad Hoc trend in vision. Client has requested mouseover behavior that shows the tool-tip or documentation property of the tag that's being moused over, but I am at a loss for how to execute this. I expect I'll need to use a custom method and dig into the java component? Any thoughts or guidance would be appreciated. Cheers!
There's two halves -
First, you'll need to create a new rendering function for the tree, by providing a custom tree cell renderer. In theory, something like this:
from com.inductiveautomation.ignition.client.tags.tree.node.HistoricalProvidersNode import HistoricalTreeRenderer
class CustomHistoricalTreeRenderer(HistoricalTreeRenderer):
def getTreeCellRendererComponent(self, tree, value, isSelected, isExpanded, isLeaf, rowIndex, isFocused):
ret = HistoricalTreeRenderer.getTreeCellRendererComponent(self, tree, value, isSelected, isExpanded, isLeaf, rowIndex, isFocused)
ret.toolTipText = "Something Custom Here"
ret.text = "TESTING"
return ret
event.source.tree.setCellRenderer(CustomHistoricalTreeRenderer())
The value object will be a com.inductiveautomation.ignition.common.browsing.Result object. That result object does not have the tooltip or documentation of the tag - because the only backing source of information it has is the historian. The historian may or may not be delivering data from an Ignition tag, so you'll have to issue the reads to do that yourself.
Doing that in a safe way, since the tooltip rendering code is running on the event dispatch thread, is non-trivial.