aboutsummaryrefslogtreecommitdiff
path: root/src/aoevidencebutton.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/aoevidencebutton.h')
-rw-r--r--src/aoevidencebutton.h50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/aoevidencebutton.h b/src/aoevidencebutton.h
new file mode 100644
index 00000000..9830384f
--- /dev/null
+++ b/src/aoevidencebutton.h
@@ -0,0 +1,50 @@
+#pragma once
+
+#include "aoapplication.h"
+#include "aoimage.h"
+
+#include <QDebug>
+#include <QEnterEvent>
+#include <QPushButton>
+#include <QString>
+
+class AOEvidenceButton : public QPushButton
+{
+ Q_OBJECT
+
+public:
+ AOEvidenceButton(int id, int width, int height, AOApplication *ao_app, QWidget *parent = nullptr);
+
+ void setImage(QString fileName);
+
+ void setThemeImage(QString fileName);
+
+ void setSelected(bool enabled);
+
+Q_SIGNALS:
+ void evidenceClicked(int id);
+ void evidenceDoubleClicked(int id);
+
+ void mouseoverUpdated(int id, bool state);
+
+protected:
+#if QT_VERSION < QT_VERSION_CHECK(6, 0, 0)
+ void enterEvent(QEvent *e) override;
+#else
+ void enterEvent(QEnterEvent *e) override;
+#endif
+ void leaveEvent(QEvent *e) override;
+
+ void mouseDoubleClickEvent(QMouseEvent *e) override;
+
+private:
+ AOApplication *ao_app;
+
+ int m_id = 0;
+
+ AOImage *ui_selected;
+ AOImage *ui_selector;
+
+private Q_SLOTS:
+ void on_clicked();
+};