7.12.2010 - bug fixes in PIString, all classes now based on PIString

This commit is contained in:
peri4
2010-12-07 19:13:15 +03:00
parent 08f214dbfa
commit 66d998f289
14 changed files with 194 additions and 145 deletions

View File

@@ -11,7 +11,7 @@ PIConfig::PIConfig(const PIString & path): PIFile(path) {
bool PIConfig::getValue(const PIString & vname, const bool def, bool * exist) const {
return atob(getValue(vname, btos(def), exist));}
char PIConfig::getValue(const PIString & vname, const char def, bool * exist) const {
return getValue(vname, PIString(1, def), exist)[0];}
return getValue(vname, PIString(def), exist)[0];}
short PIConfig::getValue(const PIString & vname, const short def, bool * exist) const {
return getValue(vname, itos(def), exist).toShort();}
int PIConfig::getValue(const PIString & vname, const int def, bool * exist) const {
@@ -59,7 +59,7 @@ void PIConfig::setValue(const PIString & name, const double value, bool write) {
PIString PIConfig::getValue(const PIString & vname, const PIString & def, bool * exist) const {
for (int i = 0; i < settname.size(); i++) {
for (uint i = 0; i < settname.size(); i++) {
if (settname[i] == vname) {
if (exist != 0) *exist = true;
return settval[i];
@@ -84,7 +84,7 @@ void PIConfig::setValue(const PIString & name, const PIString & value, const PIS
bool PIConfig::existsValue(const PIString & name) {
for (int i = 0; i < settname.size(); i++)
for (uint i = 0; i < settname.size(); i++)
if (settname[i] == name) return true;
return false;
}
@@ -105,7 +105,7 @@ void PIConfig::addLine(const PIString & name, const PIString & value, const PISt
}
void PIConfig::insertLine(int number, const PIString & name, const PIString & value, const PIString & type) {
void PIConfig::insertLine(uint number, const PIString & name, const PIString & value, const PIString & type) {
if (number >= settname.size()) {
addLine(name, value, type);
return;
@@ -116,7 +116,7 @@ void PIConfig::insertLine(int number, const PIString & name, const PIString & va
setttab.insert(setttab.begin() + number, setttab[number]);
setttype.insert(setttype.begin() + number, type);
settlines.insert(settlines.begin() + number, settlines[number]);
for (int i = number + 1; i < settlines.size(); i++) settlines[i]++;
for (uint i = number + 1; i < settlines.size(); i++) settlines[i]++;
all.insert(all.begin() + settlines[number], name + " = " + value + " #" + type);
flush();
writeAll();
@@ -124,14 +124,14 @@ void PIConfig::insertLine(int number, const PIString & name, const PIString & va
int PIConfig::getNumber(const PIString & name) {
for (int i = 0; i < settname.size(); i++)
for (uint i = 0; i < settname.size(); i++)
if (settname[i] == name)
return i;
return -1;
}
void PIConfig::setValue(int number, const PIString & value, bool write) {
void PIConfig::setValue(uint number, const PIString & value, bool write) {
PIString tmp = settname[number] + " = " + value + " #" + setttype[number] + " " + settcom[number];
settval[number] = value;
all[settlines[number]] = tmp;
@@ -139,7 +139,7 @@ void PIConfig::setValue(int number, const PIString & value, bool write) {
}
void PIConfig::setName(int number, const PIString & name) {
void PIConfig::setName(uint number, const PIString & name) {
PIString tmp = name + " = " + settval[number] + " #" + setttype[number] + " " + settcom[number];
settname[number] = name;
all[settlines[number]] = tmp;
@@ -147,7 +147,7 @@ void PIConfig::setName(int number, const PIString & name) {
}
void PIConfig::setType(int number, const PIString & type) {
void PIConfig::setType(uint number, const PIString & type) {
PIString tmp = settname[number] + " = " + settval[number] + " #" + type + " " + settcom[number];
setttype[number] = type;
all[settlines[number]] = tmp;
@@ -155,7 +155,7 @@ void PIConfig::setType(int number, const PIString & type) {
}
void PIConfig::setComment(int number, const PIString & comment) {
void PIConfig::setComment(uint number, const PIString & comment) {
PIString tmp = settname[number] + " = " + settval[number] + " #" + setttype[number] + " " + comment;
settcom[number] = comment;
all[settlines[number]] = tmp;
@@ -165,7 +165,7 @@ void PIConfig::setComment(int number, const PIString & comment) {
void PIConfig::deleteLine(const PIString & name) {
bool exist = false;
int i;
uint i;
for (i = 0; i < settname.size(); i++) {
if (settname[i] == name) {
exist = true;
@@ -177,14 +177,14 @@ void PIConfig::deleteLine(const PIString & name) {
}
void PIConfig::deleteLine(int number) {
void PIConfig::deleteLine(uint number) {
settname.erase(settname.begin() + number);
settval.erase(settval.begin() + number);
settcom.erase(settcom.begin() + number);
setttab.erase(setttab.begin() + number);
setttype.erase(setttype.begin() + number);
all.erase(all.begin() + settlines[number]);
for (int i = number; i < settlines.size(); i++) settlines[i]--;
for (uint i = number; i < settlines.size(); i++) settlines[i]--;
settlines.erase(settlines.begin() + number);
writeAll();
}
@@ -192,8 +192,8 @@ void PIConfig::deleteLine(int number) {
void PIConfig::writeAll() {
clear();
int c = 0;
for (int i = 0; i < all.size() - 1; i++) {
uint c = 0;
for (uint i = 0; i < all.size() - 1; i++) {
if (c < settlines.size() && c < setttab.size()) {
if (settlines[c] == i) {
*this << setttab[c];
@@ -229,7 +229,7 @@ void PIConfig::parse() {
str = readLine();
//cout << str << endl;
tab = str.left(str.find(str.trimmed().left(1)));
str = str.trimmed();
str.trim();
all.push_back(str);
ind = str.find('=');
if ((ind > 0) && !(str[0] == '#')) {