[DEV] update to ne new ejson API (remove helper)

This commit is contained in:
Edouard DUPIN 2016-04-28 23:46:12 +02:00
parent be029b9103
commit 33992063e6
5 changed files with 46 additions and 39 deletions

View File

@ -40,30 +40,38 @@ void ewol::resource::ColorFile::reload() {
}
// open and read all json elements:
ejson::Document doc;
if (false == doc.load(m_name)) {
if (doc.load(m_name) == false) {
EWOL_ERROR("Can not load file : '" << m_name << "' = " << etk::FSNode(m_name).getFileSystemName());
return;
}
ejson::Array baseArray = doc["color"].toArray();
if (baseArray.exist() == false) {
EWOL_ERROR("Can not get basic array : 'color'");
EWOL_ERROR("Can not get basic array : 'color' in file:" << m_name);
doc.display();
return;
}
bool findError = false;
for (const auto it : baseArray) {
ejson::Object tmpObj = it.toObject();
if (tmpObj.exist() == false) {
EWOL_DEBUG(" can not get object in 'color' : " << it);
EWOL_ERROR(" can not get object in 'color' : " << it);
findError = true;
continue;
}
std::string name = tmpObj.getStringValue("name", "");
std::string color = tmpObj.getStringValue("color", m_errorColor.getHexString());
std::string name = tmpObj["name"].toString().get();
std::string color = tmpObj["color"].toString().get(m_errorColor.getHexString());
EWOL_DEBUG("find new color : '" << name << "' color='" << color << "'");
if (name.size() == 0) {
EWOL_ERROR("Drop an empty name");
findError = true;
continue;
}
m_list.add(name, etk::Color<float>(color));
}
if (findError == true) {
EWOL_ERROR("pb in parsing file:" << m_name);
doc.display();
}
}

View File

@ -72,12 +72,11 @@ double ewol::resource::ConfigFile::getNumber(int32_t _id) {
return m_list[_id].toNumber().get();
}
const std::string& ewol::resource::ConfigFile::getString(int32_t _id) {
std::string ewol::resource::ConfigFile::getString(int32_t _id) {
std::unique_lock<std::recursive_mutex> lock(m_mutex);
static const std::string& errorString("");
if ( _id < 0
|| m_list[_id].exist() == false) {
return errorString;
return "";
}
return m_list[_id].toString().get();
}

View File

@ -31,7 +31,7 @@ namespace ewol {
int32_t request(const std::string& _paramName);
double getNumber(int32_t _id);
const std::string& getString(int32_t _id);
std::string getString(int32_t _id);
bool getBoolean(int32_t _id);
public:
/**

View File

@ -354,22 +354,22 @@ void ewol::resource::DistanceFieldFont::exportOnFile() {
ejson::Array tmpList;
for (size_t iii=0; iii<m_listElement.size(); ++iii) {
ejson::Object tmpObj;
tmpObj.addString("m_UVal", etk::to_string(m_listElement[iii].m_UVal));
tmpObj.addNumber("m_glyphIndex", m_listElement[iii].m_glyphIndex);
tmpObj.addString("m_sizeTexture", (std::string)m_listElement[iii].m_sizeTexture);
tmpObj.addString("m_bearing", (std::string)m_listElement[iii].m_bearing);
tmpObj.addString("m_advance", (std::string)m_listElement[iii].m_advance);
tmpObj.addString("m_texturePosStart", (std::string)m_listElement[iii].m_texturePosStart);
tmpObj.addString("m_texturePosSize", (std::string)m_listElement[iii].m_texturePosSize);
tmpObj.addBoolean("m_exist", m_listElement[iii].m_exist);
tmpObj.add("m_UVal", ejson::String(etk::to_string(m_listElement[iii].m_UVal)));
tmpObj.add("m_glyphIndex", ejson::Number(m_listElement[iii].m_glyphIndex));
tmpObj.add("m_sizeTexture", ejson::String((std::string)m_listElement[iii].m_sizeTexture));
tmpObj.add("m_bearing", ejson::String((std::string)m_listElement[iii].m_bearing));
tmpObj.add("m_advance", ejson::String((std::string)m_listElement[iii].m_advance));
tmpObj.add("m_texturePosStart", ejson::String((std::string)m_listElement[iii].m_texturePosStart));
tmpObj.add("m_texturePosSize", ejson::String((std::string)m_listElement[iii].m_texturePosSize));
tmpObj.add("m_exist", ejson::Boolean(m_listElement[iii].m_exist));
tmpList.add(tmpObj);
}
doc.add("m_listElement", tmpList);
doc.addNumber("m_sizeRatio", m_sizeRatio);
doc.addString("m_lastGlyphPos", (std::string)m_lastGlyphPos);
doc.addNumber("m_lastRawHeigh", m_lastRawHeigh);
doc.addNumber("m_borderSize", m_borderSize);
doc.addString("m_textureBorderSize", (std::string)m_textureBorderSize);
doc.add("m_sizeRatio", ejson::Number(m_sizeRatio));
doc.add("m_lastGlyphPos", ejson::String(m_lastGlyphPos));
doc.add("m_lastRawHeigh", ejson::Number(m_lastRawHeigh));
doc.add("m_borderSize", ejson::Number(m_borderSize));
doc.add("m_textureBorderSize", ejson::String(m_textureBorderSize));
doc.store(m_fileName + ".json");
egami::store(m_data, m_fileName + ".bmp");
egami::store(m_data, m_fileName + ".png");
@ -389,11 +389,11 @@ bool ewol::resource::DistanceFieldFont::importFromFile() {
ejson::Document doc;
doc.load(m_fileName + ".json");
m_sizeRatio = doc.getNumberValue("m_sizeRatio", 0);
m_lastGlyphPos = doc.getStringValue("m_lastGlyphPos", "0,0");
m_lastRawHeigh = doc.getNumberValue("m_lastRawHeigh", 0);
m_borderSize = doc.getNumberValue("m_borderSize", 2);
m_textureBorderSize = doc.addString("m_textureBorderSize", "0,0");
m_sizeRatio = doc["m_sizeRatio"].toNumber().get(0);
m_lastGlyphPos = doc["m_lastGlyphPos"].toString().get("0,0");
m_lastRawHeigh = doc["m_lastRawHeigh"].toNumber().get(0);
m_borderSize = doc["m_borderSize"].toNumber().get(2);
m_textureBorderSize = doc["m_textureBorderSize"].toString().get("0,0");
ejson::Array tmpList = doc["m_listElement"].toArray();
if (tmpList.exist() == false) {
EWOL_ERROR("nullptr pointer array");
@ -406,14 +406,14 @@ bool ewol::resource::DistanceFieldFont::importFromFile() {
continue;
}
GlyphProperty prop;
prop.m_UVal = etk::string_to_int32_t(tmpObj.getStringValue("m_UVal", "0"));
prop.m_glyphIndex = tmpObj.getNumberValue("m_glyphIndex", 0);
prop.m_sizeTexture = tmpObj.getStringValue("m_sizeTexture", "0,0");
prop.m_bearing = tmpObj.getStringValue("m_bearing", "0,0");
prop.m_advance = tmpObj.getStringValue("m_advance", "0,0");
prop.m_texturePosStart = tmpObj.getStringValue("m_texturePosStart", "0,0");
prop.m_texturePosSize = tmpObj.getStringValue("m_texturePosSize", "0,0");
prop.m_exist = tmpObj.getBooleanValue("m_exist", false);
prop.m_UVal = etk::string_to_int32_t(tmpObj["m_UVal"].toString().get("0"));
prop.m_glyphIndex = tmpObj["m_glyphIndex"].toNumber().get(0);
prop.m_sizeTexture = tmpObj["m_sizeTexture"].toString().get("0,0");
prop.m_bearing = tmpObj["m_bearing"].toString().get("0,0");
prop.m_advance = tmpObj["m_advance"].toString().get("0,0");
prop.m_texturePosStart = tmpObj["m_texturePosStart"].toString().get("0,0");
prop.m_texturePosSize = tmpObj["m_texturePosSize"].toString().get("0,0");
prop.m_exist = tmpObj["m_exist"].toBoolean().get(false);
m_listElement.push_back(prop);
}
egami::load(m_data, m_fileName + ".bmp");

View File

@ -154,13 +154,13 @@ class LocalInstanceTranslation {
ejson::Document doc;
doc.load(filename);
for (auto element : doc.getKeys()) {
std::string val = doc.getStringValue(element);
std::string val = doc[element].toString().get();
m_translate.insert(make_pair(element, val));
}
filename = itMajor->second + "/" + m_languageDefault + ".json";
doc.load(filename);
for (auto element : doc.getKeys()) {
std::string val = doc.getStringValue(element);
std::string val = doc[element].toString().get();
auto itTrans = m_translate.find(element);
if (itTrans == m_translate.end()) {
m_translate.insert(make_pair(element, val));
@ -179,7 +179,7 @@ class LocalInstanceTranslation {
ejson::Document doc;
doc.load(filename);
for (auto element : doc.getKeys()) {
std::string val = doc.getStringValue(element);
std::string val = doc[element].toString().get();
auto itTrans = m_translate.find(element);
if (itTrans == m_translate.end()) {
m_translate.insert(make_pair(element, val));
@ -198,7 +198,7 @@ class LocalInstanceTranslation {
ejson::Document doc;
doc.load(filename);
for (auto element : doc.getKeys()) {
std::string val = doc.getStringValue(element);
std::string val = doc[element].toString().get();
auto itTrans = m_translate.find(element);
if (itTrans == m_translate.end()) {
m_translate.insert(make_pair(element, val));