示例#1
0
void GUIManager::populateDatalists ( std::vector<DataManager *> const & list )
{
  CEGUI::WindowManager & wm = CEGUI::WindowManager::getSingleton();
  auto populate = [&]( std::string const & name,
      DataManagerType const & type ) {
    CEGUI::Listbox *lb = static_cast<CEGUI::Listbox *>(wm.getWindow(
          "Sheet/DatasetFrame/TabControl/"+name+"/Listbox"));
    unsigned int i = 0;
    for (DataManager *p : list) {
      if (p != NULL && p->type == type) {
        ListboxItem *item = new ListboxItem(p->name, i);
        item->setUserData(p);
        lb->addItem(item);
      }
      i++;
    }
  };
  populate("HTab", DM_Height);
  populate("PTab", DM_Pattern);
  populate("CTab", DM_Color);
}