Ok, I have a plan to revise the tooltips that are in pd-ext 0.43
- put enter/leave logic on the c-side. This is what pd-l2ork does and it results in easier, more predictable mouseover behavior.
- have autotips appear based on mouse position. This is what tooltips do in most other programs (and how it works in Pd-l2ork).
- separate out the "manual" tips that appear in the corner of the canvas. This can be used by tutorials, independent of the autotips, as well as by objects like [pddplink] to show where the link navigates to in a Firefox-style. (These can also appear/disappear regardless of the edit-mode status.)
- add a "INLET_n_DESC" tag in the [pd META] for objects that want a one to two word description of what an object does. That way a tooltip over the middle inlet of [clip] can tell you it expects the "low value", in addition to the fact that it expects a float.
- fix the bug that makes the tooltip font too small on Windows
And a little more complicated:
- Add some kind of standard "assist" or "tip" method which can be called by the tooltip so an object can provide dynamic data about itself or its xlets.
Example:
- User mouses over the right inlet of [float]
- Pd triggers the tooltip function
- The tooltip function checks if that object has an "assist" method, and if it does it calls it.
- The assist method for [float] sees from its args that the right inlet tooltip was triggered, so
it returns the message "42" which is the value stored at the right inlet.
5) Pd calls the tk proc to draw the tip, which could look something like:
Inlet1- stored value (42) - float
Question is: what args should be expected to the "assist" method? Does it just need to know
whether the object, inlet, or outlet tooltip was triggered, plus xletno? What's the best way for
the "assist" method to return the values? I'm guessing an array of atoms but I'm not sure.
-Jonathan