CSVWorld::IdTypeDelegateFactory::IdTypeDelegateFactory() { for (int i=0; i<CSMWorld::UniversalId::NumberOfTypes; ++i) { CSMWorld::UniversalId id (static_cast<CSMWorld::UniversalId::Type> (i)); DataDisplayDelegateFactory::add (id.getType(), QString::fromUtf8 (id.getTypeName().c_str()), QString::fromUtf8 (id.getIcon().c_str())); } }
std::string CSMTools::MagicEffectCheckStage::checkReferenceable(const std::string &id, const CSMWorld::UniversalId &type, const std::string &column) const { std::string error; if (!id.empty()) { CSMWorld::RefIdData::LocalIndex index = mReferenceables.getDataSet().searchId(id); if (index.first == -1) { error = "No such " + column + " '" + id + "'"; } else if (index.second != type.getType()) { error = column + " is not of type " + type.getTypeName(); } } return error; }
CSVWorld::ReferenceableCreator::ReferenceableCreator (CSMWorld::Data& data, QUndoStack& undoStack, const CSMWorld::UniversalId& id) : GenericCreator (data, undoStack, id) { QLabel *label = new QLabel ("Type", this); insertBeforeButtons (label, false); std::vector<CSMWorld::UniversalId::Type> types = CSMWorld::UniversalId::listReferenceableTypes(); mType = new QComboBox (this); for (std::vector<CSMWorld::UniversalId::Type>::const_iterator iter (types.begin()); iter!=types.end(); ++iter) { CSMWorld::UniversalId id (*iter, ""); mType->addItem (QIcon (id.getIcon().c_str()), id.getTypeName().c_str(), static_cast<int> (id.getType())); } insertBeforeButtons (mType, false); }