#pragma once #include #include "iUnitItem.h" // 单位组 class I_UNITSHARED_EXPORT iUnitGroup : public QObject { Q_OBJECT public: explicit iUnitGroup(QWidget *parent = 0); ~iUnitGroup(); public: // 解析 void parseInfo(const QDomElement& e); //解析xml void writeInfo(QDomElement& e,QDomDocument &doc); //写入xml void copyFrom(iUnitGroup* p); // 数据转换 bool convert(QString sUnitSrc, float fValueSrc, QString sUnitDest, float& fValueDest, int &nDigit); bool convert(QString sUnitSrc, VecFloat vecValueSrc, QString sUnitDest, VecFloat& vecValueDest, int &nDigit); // 查找是否还有某个单位 int indexOf(QString sUnit); // 获取某个单位对象体 iUnitItem* getUnitItem(QString sUnit); // 获取所有的单位名称 QStringList getAllUnitNames(); // 获取该单位组的基准单位 QString getUnitBase(); void clear(); public: QString m_sID; //ID QString m_sName; //名称 QString m_sType; //类型 QString m_sIcon; //图标 QString m_sTips; //备注说明 vecUnitItemPtr m_vecUnitItems; }; typedef QVector vecUnitGroupPtr;