コード例 #1
0
ファイル: widget.cpp プロジェクト: piotrdz/FlightSim
void Widget::reorderChildren()
{
  WidgetChildren newChildren;
  for (WidgetChildrenIterator it = _children.begin();
       it != _children.end(); ++it)
  {
    newChildren.insert(*it);
  }
}
コード例 #2
0
ファイル: UIManager.cpp プロジェクト: markglenn/MiniUI
	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 );
		}
	}
コード例 #3
0
ファイル: render.cpp プロジェクト: piotrdz/FlightSim
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();
    }
  }
}