summaryrefslogtreecommitdiff
path: root/examples/qt_with_qmake/exampleclass.h
blob: 7c8c5a768bc5b57d44f39df2e0046f861b17b87d (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
#ifndef EXAMPLECLASS_H
#define EXAMPLECLASS_H

#include <QObject>
#include <QTimer>
#include <QDebug>

#include <sigc++/sigc++.h>

class ExampleClass : public QObject
{
  Q_OBJECT
public:
  explicit ExampleClass(QObject* parent = nullptr);

  /* Instead of using the keyword 'signals', use the 'Q_SIGNALS' macro */
Q_SIGNALS:
  void example_signal();

  /* Instead of using the keyword 'slots', use the 'Q_SLOTS' macro */
public Q_SLOTS:
  void timer_slot();

  /**
   * This slot is called using libsigc++, however since it is defined under Q_SLOTS
   * it could also be used with the Qt signals/slots
   */
  void example_slot();

private:
  sigc::slot<void()> m_sigc_slot;
  sigc::signal<void()> m_sigc_signal;
  QTimer m_timer;
};

#endif // EXAMPLECLASS_H