| 223 | } |
| 224 | |
| 225 | bool EELParser::manipulateProperty(EELBaseProperty *propbase) |
| 226 | { |
| 227 | if (propbase->getType() == EELPropertyType::NumberRange) |
| 228 | { |
| 229 | EELNumberRangeProperty<float> *prop = dynamic_cast<EELNumberRangeProperty<float>*>(propbase); |
| 230 | QString value; |
| 231 | |
| 232 | if (std::floor(prop->getStep()) == prop->getStep()) // is integer? |
| 233 | { |
| 234 | value = QString::number((int) prop->getValue()); |
| 235 | } |
| 236 | else |
| 237 | { |
| 238 | value = QString::number(prop->getValue(), 'f', 2); |
| 239 | } |
| 240 | |
| 241 | bool replace_res = replaceVariable(prop->getKey(), value, prop->getType()); |
| 242 | bool save_res = saveFile(); |
| 243 | return replace_res && save_res; |
| 244 | } |
| 245 | else if (propbase->getType() == EELPropertyType::List) |
| 246 | { |
| 247 | EELListProperty *prop = dynamic_cast<EELListProperty*>(propbase); |
| 248 | QString value = QString::number((int) prop->getValue()); |
| 249 | |
| 250 | bool replace_res = replaceVariable(prop->getKey(), value, prop->getType()); |
| 251 | bool save_res = saveFile(); |
| 252 | return replace_res && save_res; |
| 253 | } |
| 254 | |
| 255 | return false; |
| 256 | } |
| 257 | |
| 258 | // --- Private members |
| 259 | |