summaryrefslogtreecommitdiff
path: root/ui/preview.h
diff options
context:
space:
mode:
Diffstat (limited to 'ui/preview.h')
-rw-r--r--ui/preview.h35
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);
+};