Drake Designer
 All Classes Namespaces Files Functions Variables Enumerations Enumerator Macros Pages
ddPythonEventFilter.h
Go to the documentation of this file.
1 #ifndef __ddPythonEventFilter_h
2 #define __ddPythonEventFilter_h
3 
4 #include <QObject>
5 #include <QEvent>
6 #include "ddAppConfigure.h"
7 
8 class DD_APP_EXPORT ddPythonEventFilter : public QObject
9 {
10  Q_OBJECT
11 
12 public slots:
13 
14  void setEventHandlerResult(bool result)
15  {
16  this->EventHandlerResult = result;
17  }
18 
19  void addFilteredEventType(int eventType)
20  {
21  this->EventTypes.append(eventType);
22  }
23 
24  void removeFilteredEventType(int eventType)
25  {
26  this->EventTypes.removeAll(eventType);
27  }
28 
29 signals:
30 
31  void handleEvent(QObject* obj, QEvent* event);
32 
33 protected:
34 
35  bool eventFilter(QObject *obj, QEvent *event)
36  {
37  if (this->EventTypes.contains(event->type()))
38  {
39  this->EventHandlerResult = false;
40  emit this->handleEvent(obj, event);
41  return this->EventHandlerResult;
42  }
43  return false;
44  }
45 
47 
48  QList<int> EventTypes;
49 };
50 
51 #endif
void setEventHandlerResult(bool result)
bool eventFilter(QObject *obj, QEvent *event)
void addFilteredEventType(int eventType)
#define DD_APP_EXPORT
void removeFilteredEventType(int eventType)