void Render::keyboardDownEvent(KeyboardDownEvent *e) { BindingManager *b = BindingManager::instance(); int keysym = e->event().keysym.sym; if (b->findKey("ToggleFPS").check(keysym)) { e->stop(); _fpsLabel->setVisible(!_fpsLabel->visible()); } else if (b->findKey("Quit").check(keysym)) { e->stop(); Application::instance()->quit(0); } else if (b->findKey("Console").check(keysym)) { e->stop(); if (!_console->visible()) { _consoleSaveEvents.clear(); WidgetChildren *c = children(); for (WidgetChildrenIterator it = c->begin(); it != c->end(); ++it) { _consoleSaveEvents.push_back((*it)->eventMask()); if (*it != _console) (*it)->disableInput(); } _console->show(); } else { WidgetChildren *c = children(); int i = 0; for (WidgetChildrenIterator it = c->begin(); it != c->end(); ++it, ++i) (*it)->setEventMask(_consoleSaveEvents[i]); _console->hide(); } } }
void UIManager::UpdateWidget ( WidgetList* pWidgetList, int timestep, Input::Mouse* pMouse ) /////////////////////////////////////////////////////////////////////////// { for ( WidgetList::iterator i = pWidgetList->begin(); i != pWidgetList->end(); i++ ) { (*i)->Update ( timestep ); WidgetChildren::iterator j; WidgetChildren *pWidgetChildren = (*i)->GetWidgetChildren(); for ( j = pWidgetChildren->begin(); j != pWidgetChildren->end(); j++ ) UpdateWidget ( &(*j).children, timestep, pMouse ); } }