I'm working on a custom symbol, and i'm looking into some details on what attributes are added to the list of symbol datasources (DatasourceBehaviors.Multiple) when an Element is added to the symbol. So far my experiments show:
- All attributes on the Element
- Of course hidden attributes are NOT included (attribute property Hidden)
- Child attributes are NOT added, with the exception of Child attributes that have an attribute trait property set
Is this a complete list?
I want the user to drag an Element onto the display, and have the custom symbol configure itself based on the attributes. E.g. a chart scaling, based on the Minimum and Maximum traits.
Now i need to get some additional child attributes from the element using the PI Web API. This i wanted to avoid to save latency on load. Of course i could abuse the forecast trait, but i don't like to abuse that...
So that brings me to this. Of course there are other ways to implement this, e.g. just restructure my element to pull the attributes one level up.