void ForEachToken(Id const & id, Doc const & doc, Fn && fn) { doc.ForEachToken([&](int8_t lang, Token const & token) { if (lang >= 0) fn(AddLang(lang, token)); }); }
size_t GetNumDocs(int8_t lang, strings::UniString const & token, bool prefix) const { auto const key = AddLang(lang, token); if (!prefix) { size_t numDocs = 0; m_trie.WithValuesHolder(key, [&](List const & list) { numDocs = list.Size(); }); return numDocs; } return WithIds([&](std::vector<Id> & ids) { m_trie.ForEachInSubtree( key, [&](Token const & /* token */, Id const & id) { ids.push_back(id); }); }) .size(); }
DataEditorControl::DataEditorControl(Ui::MainWindow *ui) { //设置视图模型 mSoldierTableModule = new SoldierTableModule(this); mSoldierTableView = ui->soldierTableView; mSoldierTableView->setModel(mSoldierTableModule); mHorseTableModule = new HorseTableModule(this); mHorseTableView = ui->horseTableView; mHorseTableView->setModel(mHorseTableModule); mPWeaponTableModule = new PWeaponTableModule(this); mPWeaponTableView = ui->pweaponTableView; mPWeaponTableView->setModel(mPWeaponTableModule); mSWeaponTableModule = new SWeaponTableModule(this); mSWeaponTableView = ui->sweaponTableView; mSWeaponTableView->setModel(mSWeaponTableModule); mArmorTableModule = new ArmorTableModule(this); mArmorTableView = ui->armorTableView; mArmorTableView->setModel(mArmorTableModule); mShieldTableModule = new ShieldTableModule(this); mShieldTableView = ui->shieldTableView; mShieldTableView->setModel(mShieldTableModule); mSkillTableModule = new SkillTableModule(this); mSkillTableView = ui->skillTableView; mSkillTableView->setModel(mSkillTableModule); mEffectTableModule = new EffectTableModule(this); mEffectTableView = ui->effectTableView; mEffectTableView->setModel(mEffectTableModule); mSquadTableModule = new SquadTableModule(this); mSquadTableView = ui->squadTableView; mSquadTableView->setModel(mSquadTableModule); mSquadSkillTableModule = new SquadSkillTableModule(this); mSquadSkillTableView = ui->squadSkillTableView; mSquadSkillTableView->setModel(mSquadSkillTableModule); mStringTableModule = new StringTableModule(this); mStringTableView = ui->stringTableView; mStringTableView->setModel(mStringTableModule); mModBox = ui->modBox; mLangBox = ui->langBox; RefreshModList(); //连接消息 connect(ui->addMod,SIGNAL(clicked()),this,SLOT(AddMod())); connect(ui->addLang,SIGNAL(clicked()),this,SLOT(AddLang())); connect(ui->addSoldier,SIGNAL(clicked()),this,SLOT(AddSoldier())); connect(ui->delSoldier,SIGNAL(clicked()),this,SLOT(DelSoldier())); connect(ui->addHorse,SIGNAL(clicked()),this,SLOT(AddHorse())); connect(ui->delHorse,SIGNAL(clicked()),this,SLOT(DelHorse())); connect(ui->addPWeapon,SIGNAL(clicked()),this,SLOT(AddPWeapon())); connect(ui->delPWeapon,SIGNAL(clicked()),this,SLOT(DelPWeapon())); connect(ui->addSWeapon,SIGNAL(clicked()),this,SLOT(AddSWeapon())); connect(ui->delSWeapon,SIGNAL(clicked()),this,SLOT(DelSWeapon())); connect(ui->addArmor,SIGNAL(clicked()),this,SLOT(AddArmor())); connect(ui->delArmor,SIGNAL(clicked()),this,SLOT(DelArmor())); connect(ui->addShield,SIGNAL(clicked()),this,SLOT(AddShield())); connect(ui->delShield,SIGNAL(clicked()),this,SLOT(DelShield())); connect(ui->addSkill,SIGNAL(clicked()),this,SLOT(AddSkill())); connect(ui->delSkill,SIGNAL(clicked()),this,SLOT(DelSkill())); connect(ui->addEffect,SIGNAL(clicked()),this,SLOT(AddEffect())); connect(ui->delEffect,SIGNAL(clicked()),this,SLOT(DelEffect())); connect(ui->addSquad,SIGNAL(clicked()),this,SLOT(AddSquad())); connect(ui->delSquad,SIGNAL(clicked()),this,SLOT(DelSquad())); connect(ui->addSquadSkill,SIGNAL(clicked()),this,SLOT(AddSquadSkill())); connect(ui->delSquadSkill,SIGNAL(clicked()),this,SLOT(DelSquadSkill())); connect(ui->addString,SIGNAL(clicked()),this,SLOT(AddString())); connect(ui->delString,SIGNAL(clicked()),this,SLOT(DelString())); connect(ui->squadTableView,SIGNAL(clicked(const QModelIndex &)),this,SLOT(SelectSquad(const QModelIndex &))); }