aboutsummaryrefslogtreecommitdiff
path: root/src/aoevidencebutton.h
blob: 9830384f930bf04a86bcd12e071168158f031170 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
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();
};