diff options
Diffstat (limited to 'SQLiteStudio3/guiSQLiteStudio/common/immediatetooltip.cpp')
| -rw-r--r-- | SQLiteStudio3/guiSQLiteStudio/common/immediatetooltip.cpp | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/SQLiteStudio3/guiSQLiteStudio/common/immediatetooltip.cpp b/SQLiteStudio3/guiSQLiteStudio/common/immediatetooltip.cpp new file mode 100644 index 0000000..45531be --- /dev/null +++ b/SQLiteStudio3/guiSQLiteStudio/common/immediatetooltip.cpp @@ -0,0 +1,43 @@ +#include "immediatetooltip.h" +#include "common/unused.h" +#include <QEnterEvent> +#include <QToolTip> +#include <QWidget> +#include <QDebug> + +ImmediateTooltip::ImmediateTooltip(QWidget* parent) + : QObject(parent) +{ + parent->setMouseTracking(true); + parent->installEventFilter(this); +} + +bool ImmediateTooltip::eventFilter(QObject* obj, QEvent* event) +{ + UNUSED(obj); + switch (event->type()) + { + case QEvent::Enter: + { + QEnterEvent* e = dynamic_cast<QEnterEvent*>(event); + QToolTip::showText(e->globalPos(), toolTip); + break; + } + case QEvent::Leave: + QToolTip::hideText(); + break; + default: + break; + } + return false; +} + +const QString& ImmediateTooltip::getToolTip() const +{ + return toolTip; +} + +void ImmediateTooltip::setToolTip(const QString& newToolTip) +{ + toolTip = newToolTip; +} |
