Added support for GUIEventAdapter::setHandled

This commit is contained in:
Robert Osfield
2007-01-24 12:28:18 +00:00
parent a01cade782
commit fd6f5c87b8
3 changed files with 17 additions and 33 deletions

View File

@@ -1075,18 +1075,16 @@ void Viewer::eventTraversal()
{
osgGA::GUIEventAdapter* event = itr->get();
bool handled = false;
if (_cameraManipulator.valid())
{
_cameraManipulator->handle( *event, *this);
if (_cameraManipulator->handle( *event, *this)) event->setHandled(true);
}
for(EventHandlers::iterator hitr = _eventHandlers.begin();
hitr != _eventHandlers.end() && !handled;
hitr != _eventHandlers.end();
++hitr)
{
handled = (*hitr)->handle( *event, *this, 0, 0);
if ((*hitr)->handle( *event, *this, 0, 0)) event->setHandled(true);
}
}
@@ -1101,18 +1099,13 @@ void Viewer::eventTraversal()
{
osgGA::GUIEventAdapter* event = itr->get();
bool handled = false;
_eventVisitor->reset();
_eventVisitor->addEvent( event );
getSceneData()->accept(*_eventVisitor);
if (_eventVisitor->getEventHandled()) handled = true;
}
}
if (getStats())
{