|
Currently, the editor intercepts scrolling events that an adornment
such as the PinnedWatchView might want to receive. This prevents such an
adornment from being properly scrollable.
Looking at how pinned watches work on Windows, however, the watch itself
cannot be expanded. Rather, the user can click an expand button to see
the child items in a popup. Inspired by this, I have removed scrolling
and expansion from the PinnedWatchView, and made it so hovering a watch
shows the same popover tooltip (which _is_ scrollable, as it's a child
window) that one sees when hovering a value in the editor.
A few notes:
* Changed the data source to not add child nodes at all when
`AllowExpanding` is not set on the tree view. This ensures there will
be no disclosure triangle.
* Pinned watches whose values do not have children will not get a
tooltip.
* When hovering a pinned watch, the root node will always be expanded.
* The only way to dismiss the watch's popover tooltip is to press ESC
or click elsewhere. This actually feels pretty good.
* Child expansion state in the tooltip is preserved as long as the watch
remains pinned.
Fixes: https://devdiv.visualstudio.com/DevDiv/_workitems/edit/999603
|