mirror of
https://projects.vdr-developer.org/git/vdr-plugin-skindesigner.git
synced 2023-10-19 15:58:31 +00:00
support for global variables type 'double'
This commit is contained in:
@@ -27,6 +27,7 @@ public:
|
||||
virtual ~cGlobals(void) {};
|
||||
map <string, tColor> colors;
|
||||
map <string, int> intVars;
|
||||
map <string, double> doubleVars;
|
||||
map <string, string> stringVars;
|
||||
map <string, string> fonts;
|
||||
map <string, map< string, string > > translations;
|
||||
|
@@ -156,6 +156,17 @@ bool cNumericParameter::CheckExpression(int &val, string &parsedVal) {
|
||||
parsedValue = parsedValue.replace(foundToken, token.size(), st.str());
|
||||
}
|
||||
}
|
||||
for (map<string, double>::iterator globDouble = globals->doubleVars.begin(); globDouble != globals->doubleVars.end(); globDouble++) {
|
||||
stringstream sToken;
|
||||
sToken << "{" << globDouble->first << "}";
|
||||
string token = sToken.str();
|
||||
size_t foundToken = parsedValue.find(token);
|
||||
if (foundToken != string::npos) {
|
||||
stringstream st;
|
||||
st << globDouble->second;
|
||||
parsedValue = parsedValue.replace(foundToken, token.size(), st.str());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (IsNumber(parsedValue)) {
|
||||
|
@@ -291,6 +291,9 @@ void cXmlParser::InsertVariable(string name, string type, string value) {
|
||||
if (!type.compare("int")) {
|
||||
int val = atoi(value.c_str());
|
||||
globals->intVars.insert(pair<string, int>(name, val));
|
||||
} else if (!type.compare("double")) {
|
||||
double val = atof(value.c_str());
|
||||
globals->doubleVars.insert(pair<string, double>(name, val));
|
||||
} else if (!type.compare("string")) {
|
||||
globals->stringVars.insert(pair<string, string>(name, value));
|
||||
}
|
||||
|
Reference in New Issue
Block a user