[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: // open and read all json elements:
ejson::Document doc; 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()); EWOL_ERROR("Can not load file : '" << m_name << "' = " << etk::FSNode(m_name).getFileSystemName());
return; return;
} }
ejson::Array baseArray = doc["color"].toArray(); ejson::Array baseArray = doc["color"].toArray();
if (baseArray.exist() == false) { 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; return;
} }
bool findError = false;
for (const auto it : baseArray) { for (const auto it : baseArray) {
ejson::Object tmpObj = it.toObject(); ejson::Object tmpObj = it.toObject();
if (tmpObj.exist() == false) { 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; continue;
} }
std::string name = tmpObj.getStringValue("name", ""); std::string name = tmpObj["name"].toString().get();
std::string color = tmpObj.getStringValue("color", m_errorColor.getHexString()); std::string color = tmpObj["color"].toString().get(m_errorColor.getHexString());
EWOL_DEBUG("find new color : '" << name << "' color='" << color << "'"); EWOL_DEBUG("find new color : '" << name << "' color='" << color << "'");
if (name.size() == 0) { if (name.size() == 0) {
EWOL_ERROR("Drop an empty name"); EWOL_ERROR("Drop an empty name");
findError = true;
continue; continue;
} }
m_list.add(name, etk::Color<float>(color)); 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(); 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); std::unique_lock<std::recursive_mutex> lock(m_mutex);
static const std::string& errorString("");
if ( _id < 0 if ( _id < 0
|| m_list[_id].exist() == false) { || m_list[_id].exist() == false) {
return errorString; return "";
} }
return m_list[_id].toString().get(); return m_list[_id].toString().get();
} }

View File

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

View File

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

View File

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