Added handling of up/down key to ComboBox

This commit is contained in:
Robert Osfield 2014-05-19 09:30:36 +00:00
parent 87fd1d38fb
commit 1b34fed500

View File

@ -41,17 +41,29 @@ bool ComboBox::handleImplementation(osgGA::EventVisitor* ev, osgGA::Event* event
switch(ea->getEventType()) switch(ea->getEventType())
{ {
case(osgGA::GUIEventAdapter::SCROLL): case(osgGA::GUIEventAdapter::SCROLL):
OSG_NOTICE<<"Scroll "<<std::endl;
if (ea->getScrollingMotion()==osgGA::GUIEventAdapter::SCROLL_DOWN) if (ea->getScrollingMotion()==osgGA::GUIEventAdapter::SCROLL_DOWN)
{ {
OSG_NOTICE<<"Scroll Down`"<<std::endl;
if (getCurrentItem()<getNumItems()-1) setCurrentItem(getCurrentItem()+1); if (getCurrentItem()<getNumItems()-1) setCurrentItem(getCurrentItem()+1);
return true;
} }
else if (ea->getScrollingMotion()==osgGA::GUIEventAdapter::SCROLL_UP) else if (ea->getScrollingMotion()==osgGA::GUIEventAdapter::SCROLL_UP)
{ {
OSG_NOTICE<<"Scroll Up`"<<std::endl;
if (getCurrentItem()>0) setCurrentItem(getCurrentItem()-1); if (getCurrentItem()>0) setCurrentItem(getCurrentItem()-1);
return true;
} }
break;
case(osgGA::GUIEventAdapter::KEYDOWN):
if (ea->getKey()==osgGA::GUIEventAdapter::KEY_Down)
{
if (getCurrentItem()<getNumItems()-1) setCurrentItem(getCurrentItem()+1);
return true;
}
else if (ea->getKey()==osgGA::GUIEventAdapter::KEY_Up)
{
if (getCurrentItem()>0) setCurrentItem(getCurrentItem()-1);
return true;
}
break; break;
case(osgGA::GUIEventAdapter::PUSH): case(osgGA::GUIEventAdapter::PUSH):
OSG_NOTICE<<"Button pressed "<<std::endl; OSG_NOTICE<<"Button pressed "<<std::endl;