This commit is contained in:
2020-08-03 01:43:47 +03:00
parent fa4634b0c7
commit 0c7619d00b
3 changed files with 20 additions and 21 deletions

View File

@@ -356,9 +356,9 @@ int CDSection::sectionsCount() const {
PIStringList CDSection::index_names() const { PIStringList CDSection::index_names() const {
PIStringList ret; PIStringList ret;
PIMap<int, CDType>::const_iterator i; auto i = cd.makeIterator();
for (i = cd.begin(); i != cd.end(); ++i) while (i.next())
ret << i->second.name(); ret << i.value().name();
return ret; return ret;
} }
@@ -387,15 +387,14 @@ CDType & CDSection::getByName(const PIString & name_) {
int dv = 0; int dv = 0;
if (isd) dv = np[i].toInt(); if (isd) dv = np[i].toInt();
ns = 0; ns = 0;
PIMap<int, CDSection>::iterator it; auto it = cs->s.makeIterator();
//piCout << np[i] << isd << dv; while (it.next()) {
for (it = cs->s.begin(); it != cs->s.end(); ++it) {
bool f = false; bool f = false;
if (isd) f = (dv == it.key()); if (isd) f = (dv == it.key());
else f = (np[i] == it.value().alias); else f = (np[i] == it.value().alias);
//piCout << "s..." << it.key() << it.value().alias << f; //piCout << "s..." << it.key() << it.value().alias << f;
if (f) { if (f) {
ns = &(it.value()); ns = &(it.valueRef());
break; break;
} }
} }
@@ -403,13 +402,13 @@ CDType & CDSection::getByName(const PIString & name_) {
if (!ns) return null; if (!ns) return null;
cs = ns; cs = ns;
} }
PIMap<int, CDType>::iterator it;
if (np.back().isEmpty()) return null; if (np.back().isEmpty()) return null;
bool isd = np.back()[0].isDigit() || (np.back()[0] == '-'); bool isd = np.back()[0].isDigit() || (np.back()[0] == '-');
int dv = 0; int dv = 0;
if (isd) dv = np.back().toInt(); if (isd) dv = np.back().toInt();
//piCout << np.back() << isd << dv; //piCout << np.back() << isd << dv;
for (it = cs->cd.begin(); it != cs->cd.end(); ++it) { auto it = cs->cd.makeIterator();
while (it.next()) {
bool f = false; bool f = false;
if (isd) f = (dv == it.key()); if (isd) f = (dv == it.key());
else f = (np.back() == it.value().name()); else f = (np.back() == it.value().name());
@@ -446,9 +445,9 @@ void CDSection::write(PIIODevice * d, const PIString & prefix) {
d->write(l.toUTF8()); d->write(l.toUTF8());
l = "alias = " + alias + " \n"; l = "alias = " + alias + " \n";
d->write(l.toUTF8()); d->write(l.toUTF8());
PIMap<int, CDType>::iterator i; auto i = cd.makeIterator();
for (i = cd.begin(); i != cd.end(); ++i) { while (i.next()) {
CDType & ck(i.value()); const CDType & ck(i.value());
if (ck.cd_type() != cd_type_) continue; if (ck.cd_type() != cd_type_) continue;
switch (cd_type_) { switch (cd_type_) {
case CDType::cdNull: break; case CDType::cdNull: break;
@@ -487,9 +486,9 @@ void CDSection::write(PIIODevice * d, const PIString & prefix) {
if (!s.isEmpty()) { if (!s.isEmpty()) {
if (prefix.isEmpty()) l = "s"; if (prefix.isEmpty()) l = "s";
else l = prefix + ".s"; else l = prefix + ".s";
PIMap<int, CDSection>::iterator j; auto j = s.makeIterator();
for (j = s.begin(); j != s.end(); ++j) { while (j.next()) {
j.value().write(d, l + "." + PIString::fromNumber(j.key())); j.valueRef().write(d, l + "." + PIString::fromNumber(j.key()));
} }
} }
if (prefix.isEmpty()) { if (prefix.isEmpty()) {

2
pip

Submodule pip updated: 1fb5356825...427e7411c1

View File

@@ -394,15 +394,15 @@ void CDItemModel::rebuildModel() {
void CDItemModel::buildItem(CDItem * it, CDSection & r) { void CDItemModel::buildItem(CDItem * it, CDSection & r) {
//piCout << "build item" << r.name << r.alias; //piCout << "build item" << r.name << r.alias;
PIMap<int, CDType>::iterator i; auto i = r.cd.makeIterator();
for (i = r.cd.begin(); i != r.cd.end(); ++i) { while (i.next()) {
it->childs << new CDItem(interface, i.key(), CDItem::ItemCDType, it); it->childs << new CDItem(interface, i.key(), CDItem::ItemCDType, it);
} }
it->item_count = it->childs.size(); it->item_count = it->childs.size();
PIMap<int, CDSection>::iterator j; auto j = r.s.makeIterator();
for (j = r.s.begin(); j != r.s.end(); ++j) { while (j.next()) {
it->childs << new CDItem(interface, j.key(), CDItem::ItemCDSection, it); it->childs << new CDItem(interface, j.key(), CDItem::ItemCDSection, it);
buildItem(it->childs.back(), j.value()); buildItem(it->childs.back(), j.valueRef());
} }
} }