Initial commit
This commit is contained in:
commit
b7d90b9afe
16245 files changed
+3396666
No files matched your search
+72
@@ -0,0 +1,72 @@
|
||||
/**
|
||||
**
|
||||
** @RDE_HEADER@
|
||||
** Event Dispatcher for Qt5 to delegate mouse and keyboard event to another event dispatcher
|
||||
** $Id$
|
||||
** $HeadURL$
|
||||
** $Author$
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Hardware-Environment: Intel-PC
|
||||
** Software-Environment: Windows 7, Qt 5.4. ArcGIS 10.2.5
|
||||
**
|
||||
** Language ........: C++ 11
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Author ...........: Jörg Turla, SPD G, Tel. 3132
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
**
|
||||
** Notes .........:
|
||||
**
|
||||
** 15.04.2015, JT : First edition
|
||||
**
|
||||
** -----------------------------------------------------------------------------------------------
|
||||
*/
|
||||
|
||||
#include "event_delegater.h"
|
||||
|
||||
namespace SituationMap { namespace RB
|
||||
{
|
||||
|
||||
EventDelegater::EventDelegater(QWidget * getEventsFrom, AbstractEventDispatcher * delegateEventTo)
|
||||
: AbstractEventDispatcher(getEventsFrom), _delegateEventTo(delegateEventTo)
|
||||
{
|
||||
connect( delegateEventTo, &AbstractEventDispatcher::signalKickTheBucket,
|
||||
this , &AbstractEventDispatcher::onDo_kickTheBucket );
|
||||
|
||||
connect( this , &AbstractEventDispatcher::signalKickTheBucket,
|
||||
delegateEventTo, &AbstractEventDispatcher::onDo_kickTheBucket );
|
||||
|
||||
_restoreMouseTracking = delegateEventTo->_restoreMouseTracking;
|
||||
_whatsThisBackup = delegateEventTo->_whatsThisBackup;
|
||||
|
||||
} /* EventDispatcher::EventDispatcher */
|
||||
|
||||
|
||||
bool EventDelegater::eventFilter(QObject * watched, QEvent * e)
|
||||
{
|
||||
if (hasFinished()) return true; // don't accept new events if dispatcher is going to finish
|
||||
if (hasActiveEvent()) return true; // don't accept new events before last event has been handled completly
|
||||
|
||||
if (_delegateEventTo != nullptr)
|
||||
{
|
||||
return _delegateEventTo->eventFilter( watched, e );
|
||||
}
|
||||
return false;
|
||||
} /* EventDispatcher::eventFilter */
|
||||
|
||||
|
||||
void EventDelegater::KickTheBucket()
|
||||
{
|
||||
if (_delegateEventTo != nullptr)
|
||||
{
|
||||
_delegateEventTo->unlinkEventDispatcher();
|
||||
}
|
||||
AbstractEventDispatcher::KickTheBucket();
|
||||
} /* EventDelegater::KickTheBucket */
|
||||
|
||||
|
||||
} } /* namespace SituationMap::RB */
|
||||
Reference in new issue
Block a user