#ifndef ELAWIDGETTOOLS_SRC_DEVELOPERCOMPONENTS_ELAKEYBINDERCONTAINER_H_ #define ELAWIDGETTOOLS_SRC_DEVELOPERCOMPONENTS_ELAKEYBINDERCONTAINER_H_ #include "ElaDef.h" #include class ElaKeyBinder; class ElaKeyBinderContainer : public QWidget { Q_OBJECT Q_PRIVATE_CREATE(QString, BinderKeyText) Q_PRIVATE_CREATE(quint32, NativeVirtualBinderKey) public: explicit ElaKeyBinderContainer(QWidget* parent = nullptr); ~ElaKeyBinderContainer(); void logOrResetHistoryData(bool isLog); void saveBinderChanged(); protected: virtual void mousePressEvent(QMouseEvent* event) override; virtual void keyPressEvent(QKeyEvent* event) override; virtual void focusOutEvent(QFocusEvent* event) override; virtual void paintEvent(QPaintEvent* event) override; private: QString _historyBinderKeyText; quint32 _historyNativeVirtualBinderKey{0}; ElaThemeType::ThemeMode _themeMode; ElaKeyBinder* _keyBinder{nullptr}; }; #endif //ELAWIDGETTOOLS_SRC_DEVELOPERCOMPONENTS_ELAKEYBINDERCONTAINER_H_