You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
55 lines
1.2 KiB
C++
55 lines
1.2 KiB
C++
#pragma once
|
|
|
|
#include <QtXml/QDomDocument>
|
|
#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<iUnitGroup*> vecUnitGroupPtr;
|