diff options
Diffstat (limited to 'ui/preview.h')
| -rw-r--r-- | ui/preview.h | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/ui/preview.h b/ui/preview.h new file mode 100644 index 00000000..670e8fb9 --- /dev/null +++ b/ui/preview.h @@ -0,0 +1,35 @@ +#pragma once + +#include <QtWidgets/QLabel> +#include <QtWidgets/QWidget> +#include "uitypes.h" + +class BINARYNINJAUIAPI PreviewScrollHandler +{ +public: + virtual ~PreviewScrollHandler() {} + virtual void sendWheelEvent(QWheelEvent* event) = 0; +}; + +class BINARYNINJAUIAPI PreviewWidget: public QFrame +{ + Q_OBJECT + + QWidget* m_contents; + PreviewScrollHandler* m_scrollHandler; + +protected: + virtual bool eventFilter(QObject* obj, QEvent* event) override; + virtual void wheelEvent(QWheelEvent* event) override; + +public: + PreviewWidget(); + virtual ~PreviewWidget(); + + void setContents(QWidget* widget); + void setScrollHandler(PreviewScrollHandler* handler); + void sendWheelEvent(QWheelEvent* event); + void closePreview(); + + static bool isPreviewWidget(QWidget* widget); +}; |
