I know I'm a bit late to this discussion, however, I agree with OnEnter/OnLeave being independent of tooltip/OnTooltipShow. It should be up to the plug-in author to not include both, which would make the spec more versatile for future implementation.
Also, I would like to see another field added to the data broker specification. It would help in providing backward compatibility for future/custom types.
Field Type Description ----- ---- ----------- ignore string/ Indicates a name (or list of names) to be ignored from table future LibDataBroker_DataObjectCreated events.
Basically an add-on would create two or more versions of itself, always trying to create the non-standard type(s) first. If a type is in fact supported then you have the 'ignore' field that specifies the name(s) of the later object(s) that you are also going to try and create. A display could then filter out the name(s) to prevent duplicates of the add-on.
I have a FuBar plug-in that I can't convert over to LDB without losing some capabilities. So, I create one version using a not-yet-standard type that allows a full conversion to LDB. I then create a version using a standard type that all existing LDB displays should be able to process, losing some features in the process, and requiring multiple objects instead of just one. Having provided those names in the 'ignore' field of the first version, any display able to process it will know to skip creating objects for the second version.
I hope I explained that right.