00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #include "mouseGrabber.h"
00024
00025 using namespace qglviewer;
00026
00027
00028 #if QT_VERSION >= 0x040000
00029 QList<MouseGrabber*> MouseGrabber::MouseGrabberPool_;
00030 #else
00031 QPtrList<MouseGrabber> MouseGrabber::MouseGrabberPool_;
00032 #endif
00033
00037 MouseGrabber::MouseGrabber()
00038 : grabsMouse_(false)
00039 {
00040 addInMouseGrabberPool();
00041 }
00042
00051 void MouseGrabber::addInMouseGrabberPool()
00052 {
00053 if (!isInMouseGrabberPool())
00054 MouseGrabber::MouseGrabberPool_.append(this);
00055 }
00056
00061 void MouseGrabber::removeFromMouseGrabberPool()
00062 {
00063 if (isInMouseGrabberPool())
00064 #if QT_VERSION >= 0x040000
00065 MouseGrabber::MouseGrabberPool_.removeAll(const_cast<MouseGrabber*>(this));
00066 #else
00067 MouseGrabber::MouseGrabberPool_.removeRef(this);
00068 #endif
00069 }
00070
00079 void MouseGrabber::clearMouseGrabberPool(bool autoDelete)
00080 {
00081 #if QT_VERSION >= 0x040000
00082 if (autoDelete)
00083 qDeleteAll(MouseGrabber::MouseGrabberPool_);
00084 #else
00085 MouseGrabber::MouseGrabberPool_.setAutoDelete(autoDelete);
00086 #endif
00087 MouseGrabber::MouseGrabberPool_.clear();
00088 }