Comments
Над этим я не задумывался. Просто старый добрый принцип из Воннегутовых «Сирен Титана» — пользователь чувствует себя в безопасности, если на аппарате есть кнопка ВЫКЛ
Это очень важный момент — в противном случае Ваш TooltipHintController будет хранить референсы на все добавленные контролы/панели, что приведет к утечки памяти.
Как вариант, добавить listener к свойству sceneProperty корневого элемента окна/виджета/области (Node#sceneProperty), когда оно будет null — весь граф контролов не отображается более на экране, то есть можно почистить все подсказки, биндинги, подписчики и т.д.
Думаю, это было бы разумно.

Другой вопрос — важна ли эта реализация где-то за пределами моего приложения и куда её можно пристроить?
«Настолько простые и удобные подсказки были предметом величайшей зависти тех, кто сидел на MFC» — насколько помню, именно в MFC была впервые реализована концепция подсказок и статусных строк (точнее, концепция была в голом Win32-API, а в MFC удобная обёртка, бравшая на себя рутину по связи идентификаторов менюшек с идентификатором строк подсказок). Более того, строки подсказок лежали в «ресурсах» (.res), что позволяло их легко локализовывать на разные языки даже в готовом EXEшнике без исходников.
Видимо, это было уже в более-менее новых версиях. На моей памяти там был CToolTipCtrl c непредсказуемым синтаксисом на макросах.
Порог вхождения в VC++ + MFC для начинающих программистов был выше, чем в Delphi + VCL или, например, в VB, но при должном понимании никаких проблем не было с подсказками.
Значит, завистники не могли «сидеть» на MFC, если не преодолели порог вхождения. А если преодолели, то и подсказки, и остальные аспекты библиотеки были понятны и логичны, т.к. следовали единым принципам. Вы уж простите, что привязался, но не нужно свою некомпетенцию (в прошлом) так смело обобщать до свойств библиотеки или до трудностей всех программистов, использующих её. Работа с ресурсами в MFC была отличной.
Всё в порядке. Я тогда в школе ещё учился, так что оставался в числе завистников.

Потом, конечно, были WinForms (куда привлекли бывшую команду из VCL, насколько я знаю). MVC стало меньше, зато порог вхождения снизился
Не подумайте, что я придираюсь, но строки на пустоту лучше проверять с помощью .isEmpty()
Это код вывешен именно для того, чтобы к нему придирались. Всё правильно вы говорите.

Уже исправил.
Only those users with full accounts are able to leave comments. Log in, please.