String IniFile::getString(const String& section, const String& key) const { const GenericScopedLock<CriticalSection> scopedlock(lock); String realSection(section); if (realSection.isEmpty()) { realSection = "__empty"; } if (!data.contains(realSection)) { return getDefaultString(section, key); } DynamicObject *sectionObject = data[realSection].getDynamicObject(); if (sectionObject->getProperty(key) == var::null) { return getDefaultString(section, key); } return sectionObject->getProperty(key); }
// Загружаем переменную из библиотеки void Skin::loadValue(eSkinParam param, string name) { if (getType(param) == ecvString) { setString(param, getNewStrValue(getString(param), name, getDefaultString(param))); } else if (getType(param) == ecvInt) { setInt(param, getNewNumValue(getInt(param), name, getDefaultInt(param))); } else { showError("Не инициализировано значение"); } }
// Устанавливаем значения по умолчанию void Skin::resetSettings() { for (int i = 0; i < espLast; i++) { eSkinParam eIterator = (eSkinParam)i; if (getType(eIterator) == ecvString) { setString(eIterator, getDefaultString(eIterator)); } else if (getType(eIterator) == ecvInt) { setInt(eIterator, getDefaultInt(eIterator)); } else { showError("Не инициализировано значение"); } } firstUpdate = true; }