git-svn-id: svn://db.shs.com.ru/libs@164 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -141,8 +141,8 @@ bool CDType::calculate(PIEvaluator * e, PIVector<const CDType * > stack) {
|
||||
}
|
||||
|
||||
|
||||
PIVector<CDType::Enumerator> CDType::parseEnumComment(PIString c) {
|
||||
PIVector<CDType::Enumerator> ret;
|
||||
PIVariantTypes::Enum CDType::parseEnumComment(PIString c) {
|
||||
PIVariantTypes::Enum ret;
|
||||
if (c.isEmpty()) return ret;
|
||||
if (type_ == "e") {
|
||||
PIStringList sl = c.inBrackets('{', '}').split(",");
|
||||
@@ -157,11 +157,11 @@ PIVector<CDType::Enumerator> CDType::parseEnumComment(PIString c) {
|
||||
s.cutLeft(ind + 1).trim();
|
||||
}
|
||||
}
|
||||
ret << CDType::Enumerator(cval, s);
|
||||
ret << PIVariantTypes::Enumerator(cval, s);
|
||||
++cval;
|
||||
}
|
||||
}
|
||||
piCout << c << "=" << ret;
|
||||
//piCout << c << "=" << ret;
|
||||
return ret;
|
||||
}
|
||||
|
||||
@@ -317,11 +317,11 @@ void CDSection::write(PIIODevice * d, const PIString & prefix) {
|
||||
d->write(l.toUTF8());
|
||||
l.clear(); l << ck.index() << ".v = " << ck.value() << " #" << ck.type() << " " << ck.name() << " \n";
|
||||
d->write(l.toUTF8());
|
||||
if (!ck.enumValues().isEmpty()) {
|
||||
if (!ck.enumValues().enum_list.isEmpty()) {
|
||||
l.clear(); l << ck.index() << ".ev = {";
|
||||
//PIVector<CDType::Enumerator> el = ck.enumValues();
|
||||
piForeachC (CDType::Enumerator & e, ck.enumValues())
|
||||
l << e.first << " - " << e.second << ", ";
|
||||
piForeachC (PIVariantTypes::Enumerator & e, ck.enumValues().enum_list)
|
||||
l << e.value << " - " << e.name << ", ";
|
||||
l.cutRight(2);
|
||||
l << "} \n";
|
||||
d->write(l.toUTF8());
|
||||
@@ -497,11 +497,11 @@ PIVector<CDType * > CDSection::children(bool recursive) const {
|
||||
}
|
||||
|
||||
|
||||
PIVector<CDType::Enumerator> CDSection::enumValues() const {
|
||||
PIVector<CDType::Enumerator> ret;
|
||||
PIVariantTypes::Enum CDSection::enumValues() const {
|
||||
PIVariantTypes::Enum ret;
|
||||
PIMap<int, CDType>::const_iterator i;
|
||||
for (i = k.begin(); i != k.end(); ++i)
|
||||
ret << CDType::Enumerator(i.key(), i.value().name());
|
||||
ret << PIVariantTypes::Enumerator(i.key(), i.value().name());
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,6 +3,7 @@
|
||||
|
||||
#include "pistring.h"
|
||||
#include "pimap.h"
|
||||
#include "pivarianttypes.h"
|
||||
|
||||
class PIIODevice;
|
||||
class PIEvaluator;
|
||||
@@ -18,7 +19,6 @@ class CDType {
|
||||
friend class CDSection;
|
||||
public:
|
||||
enum cdT {cdNull, cdK, cdX, cdC};
|
||||
typedef PIPair<int, PIString> Enumerator;
|
||||
CDType();
|
||||
CDType(int i, const PIString & n, const PIString & t, const PIString & v, const PIString & f, const PIString & c, cdT cd_t);
|
||||
int index() const {return index_;}
|
||||
@@ -35,19 +35,19 @@ public:
|
||||
void setFormula(const PIString & formula);
|
||||
void setComment(const PIString & comment) {comment_ = comment;}
|
||||
operator double() const {return value_d;}
|
||||
const PIVector<CDType::Enumerator> & enumValues() const {return enum_values;}
|
||||
void setEnumValues(const PIVector<CDType::Enumerator> & ev) {enum_values = ev;}
|
||||
const PIVariantTypes::Enum & enumValues() const {return enum_values;}
|
||||
void setEnumValues(const PIVariantTypes::Enum & ev) {enum_values = ev;}
|
||||
const PIString & errorString() const {return error_;}
|
||||
PIDeque<int> path() const {return path_;}
|
||||
|
||||
protected:
|
||||
bool calculate(PIEvaluator * e, PIVector<const CDType * > stack = PIVector<const CDType * >());
|
||||
PIVector<CDType::Enumerator> parseEnumComment(PIString c);
|
||||
PIVariantTypes::Enum parseEnumComment(PIString c);
|
||||
cdT cd_type_;
|
||||
int index_;
|
||||
PIString name_, type_;
|
||||
PIString value_s, formula_, comment_, error_;
|
||||
PIVector<CDType::Enumerator> enum_values;
|
||||
PIVariantTypes::Enum enum_values;
|
||||
CDSection * parent;
|
||||
PIDeque<int> path_;
|
||||
double value_d;
|
||||
@@ -85,7 +85,7 @@ public:
|
||||
void calculate();
|
||||
void makePath(PIDeque<int> p = PIDeque<int>());
|
||||
PIVector<CDType * > children(bool recursive = true) const;
|
||||
PIVector<CDType::Enumerator> enumValues() const;
|
||||
PIVariantTypes::Enum enumValues() const;
|
||||
|
||||
PIString name;
|
||||
PIString alias;
|
||||
|
||||
Reference in New Issue
Block a user