#ifndef ELATOOLTIPPRIVATE_H #define ELATOOLTIPPRIVATE_H #include #include "ElaDef.h" class ElaToolTip; class QVBoxLayout; class ElaText; class ElaToolTipPrivate : public QObject { Q_OBJECT Q_D_CREATE(ElaToolTip) Q_PROPERTY_CREATE_D(int, BorderRadius) Q_PROPERTY_CREATE_D(int, DisplayMsec) Q_PROPERTY_CREATE_D(int, ShowDelayMsec) Q_PROPERTY_CREATE_D(int, HideDelayMsec) Q_PROPERTY_CREATE_D(QString, ToolTip) Q_PROPERTY_CREATE_D(QWidget *, CustomWidget) Q_PROPERTY_CREATE(qreal, Opacity) public: explicit ElaToolTipPrivate(QObject *parent = nullptr); ~ElaToolTipPrivate() override; protected: virtual bool eventFilter(QObject *watched, QEvent *event); private: ElaText *_toolTipText{nullptr}; QVBoxLayout *_mainLayout{nullptr}; ElaThemeType::ThemeMode _themeMode; int _shadowBorderWidth{6}; void _doShowAnimation(); void _updatePos(); }; #endif // ELATOOLTIPPRIVATE_H