24d64612b86527c8c3ef3994692b747ee9e153fc
[qtmeetings] / src / UserInterface / Views / ViewBase.cpp
1 #include "ViewBase.h"
2
3 #include <QEvent>
4 #include <QKeyEvent>
5 #include <QTabletEvent>
6 #include <QMouseEvent>
7 #include <QMouseEvent>
8 #include <QMouseEvent>
9 #include <QLayout>
10
11 #include <QtDebug>
12
13 ViewBase::ViewBase( ViewBase::ViewMode aMode, QWidget *aParent ) : QWidget( aParent ), iViewMode( aMode )
14 {
15
16 }
17
18 ViewBase::~ViewBase()
19 {
20         
21 }
22
23 ViewBase::ViewMode ViewBase::viewMode()
24 {
25         return iViewMode;
26 }
27
28 bool ViewBase::event(QEvent *event)
29 {
30         switch( event->type() )
31         {
32                 // TODO : Add events as needed !!!
33                 case QEvent::KeyPress:
34                 case QEvent::KeyRelease:
35                 case QEvent::TabletMove:
36                 case QEvent::TabletPress:
37                 case QEvent::MouseMove:
38                 case QEvent::MouseButtonPress:
39                 case QEvent::MouseButtonDblClick:
40                         emit eventDetected();
41                         break;
42                 default:
43                         break;
44         }
45         
46         return QWidget::event( event );
47 }
48
49 bool ViewBase::eventFilter( QObject *watched, QEvent *event )
50 {
51         if ( watched != this ) // We do not filter our own events
52         {
53                 switch( event->type() )
54                 {
55                         // TODO : Add events as needed !!!!
56                         case QEvent::KeyPress:
57                         case QEvent::KeyRelease:
58                         case QEvent::TabletMove:
59                         case QEvent::TabletPress:
60                         case QEvent::MouseMove:
61                         case QEvent::MouseButtonPress:
62                         case QEvent::MouseButtonDblClick:
63                                 emit eventDetected();
64                                 break;
65                         default:
66                                 break;
67                 }
68         }
69         
70         return QWidget::eventFilter( watched, event );
71 }
72
73 void ViewBase::observeChild(QWidget *aChild)
74 {
75         aChild->setMouseTracking( true );
76         aChild->installEventFilter( this );
77 }