|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
#include "iXmlBaseItem.h"
|
|
|
|
|
#include "iXmlBtn.h"
|
|
|
|
|
#include "Enums.h"
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 曲线越界的处理方式
|
|
|
|
|
*/
|
|
|
|
|
enum ExceedShowStyle
|
|
|
|
|
{
|
|
|
|
|
ESS_None = 0,
|
|
|
|
|
ESS_Exceed, ///< 越界
|
|
|
|
|
ESS_NoExceed, ///< 不越界
|
|
|
|
|
ESS_SecondRatio ///< 第二比例
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 刻度类型
|
|
|
|
|
*/
|
|
|
|
|
enum ScaleType
|
|
|
|
|
{
|
|
|
|
|
ST_None = 0,
|
|
|
|
|
ST_Linear, ///< 线性
|
|
|
|
|
ST_Logrithmic, ///< 对数
|
|
|
|
|
ST_Inclination ///< 倾角
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 曲线显示风格
|
|
|
|
|
*/
|
|
|
|
|
enum CurveStyle
|
|
|
|
|
{
|
|
|
|
|
CS_None = 0,
|
|
|
|
|
CS_Curve, ///< 曲线
|
|
|
|
|
CS_PreLadder, ///< 前阶梯
|
|
|
|
|
CS_PostLadder, ///< 后阶梯
|
|
|
|
|
CS_Pillar, ///< 杆状图
|
|
|
|
|
CS_Dot, ///< 散点
|
|
|
|
|
CS_DotCurve, ///< 散点曲线
|
|
|
|
|
CS_PillarCurve ///< 杆状曲线
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// @brief 测井曲线绘图配置信息
|
|
|
|
|
class I_XMLMANAGER_EXPORT iXmlLogConfig : public iXmlBaseItem
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
iXmlLogConfig(QObject* parent = 0);
|
|
|
|
|
~iXmlLogConfig();
|
|
|
|
|
|
|
|
|
|
// 把List分配到成员变量
|
|
|
|
|
// 输入开始的m_listValues中index,并且返回下一个index
|
|
|
|
|
virtual int allocateInfo(int nIndex);
|
|
|
|
|
|
|
|
|
|
void clear();
|
|
|
|
|
//十进制颜色转换
|
|
|
|
|
QColor transColor(int n);
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
virtual void initXmlTags();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
double m_dLeftScale; //左刻度
|
|
|
|
|
double m_dRightScale; //右刻度
|
|
|
|
|
ScaleType m_scaleType; //刻度类型
|
|
|
|
|
Qt::PenStyle m_eStyle; //线型
|
|
|
|
|
double m_dWidth; //线宽
|
|
|
|
|
QColor m_clrLine; //线色
|
|
|
|
|
int m_nclr; //仅仅做判断用
|
|
|
|
|
ExceedShowStyle m_exceedShowStyle; //越界显示方式
|
|
|
|
|
};
|
|
|
|
|
typedef QVector<iXmlLogConfig*> vecXmlLogConfigsPtr;
|
|
|
|
|
|
|
|
|
|
// @brief 交会图配置信息
|
|
|
|
|
class I_XMLMANAGER_EXPORT iXmlCorssConfig : public iXmlBaseItem
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
iXmlCorssConfig(QObject* parent = 0);
|
|
|
|
|
~iXmlCorssConfig();
|
|
|
|
|
|
|
|
|
|
// 把List分配到成员变量
|
|
|
|
|
// 输入开始的m_listValues中index,并且返回下一个index
|
|
|
|
|
virtual int allocateInfo(int nIndex);
|
|
|
|
|
|
|
|
|
|
void clear();
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
virtual void initXmlTags();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
double m_dLeftScale ;
|
|
|
|
|
double m_dRightScale;
|
|
|
|
|
double m_dMainSpace;
|
|
|
|
|
double m_dSubSpace;
|
|
|
|
|
};
|
|
|
|
|
typedef QVector<iXmlCorssConfig*> vecXmlCorssConfigsPtr;
|
|
|
|
|
|
|
|
|
|
// @brief 柱状图配置信息
|
|
|
|
|
class I_XMLMANAGER_EXPORT iXmlHistoConfig : public iXmlCorssConfig
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
iXmlHistoConfig();
|
|
|
|
|
~iXmlHistoConfig();
|
|
|
|
|
};
|
|
|
|
|
typedef QVector<iXmlHistoConfig*> vecXmlHistoConfigsPtr;
|
|
|
|
|
|
|
|
|
|
// @brief Curve字典信息
|
|
|
|
|
class I_XMLMANAGER_EXPORT iXmlCurveItem : public iXmlBaseItem
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
iXmlCurveItem(QObject* parent = 0);
|
|
|
|
|
~iXmlCurveItem();
|
|
|
|
|
|
|
|
|
|
iXmlCurveItem* getParenItem();
|
|
|
|
|
|
|
|
|
|
// 把List分配到成员变量
|
|
|
|
|
// 输入开始的m_listValues中index,并且返回下一个index
|
|
|
|
|
virtual int allocateInfo(int nIndex);
|
|
|
|
|
|
|
|
|
|
virtual void parseInfo(const QDomElement& e);
|
|
|
|
|
|
|
|
|
|
void clear();
|
|
|
|
|
|
|
|
|
|
//别名
|
|
|
|
|
QString getAlias();
|
|
|
|
|
//显示名称
|
|
|
|
|
QString getShowName();
|
|
|
|
|
//图标
|
|
|
|
|
QString getIcon();
|
|
|
|
|
//类型
|
|
|
|
|
CurveStyle getCurveStyle();
|
|
|
|
|
//单位
|
|
|
|
|
QString getUnit();
|
|
|
|
|
//最大值
|
|
|
|
|
double getMax();
|
|
|
|
|
//最小值
|
|
|
|
|
double getMin();
|
|
|
|
|
//备注
|
|
|
|
|
QString getRemark();
|
|
|
|
|
|
|
|
|
|
//测井图
|
|
|
|
|
//左刻度
|
|
|
|
|
double getLogLeftScale();
|
|
|
|
|
//右刻度
|
|
|
|
|
double getLogRightScale();
|
|
|
|
|
//刻度类型
|
|
|
|
|
ScaleType getLogScaleType();
|
|
|
|
|
//线型
|
|
|
|
|
Qt::PenStyle getLineStyle();
|
|
|
|
|
//线宽
|
|
|
|
|
double getLineWidth();
|
|
|
|
|
//线色
|
|
|
|
|
QColor getLineClr();
|
|
|
|
|
//越界显示方式
|
|
|
|
|
ExceedShowStyle getExceedShowStyle();
|
|
|
|
|
|
|
|
|
|
//交会图
|
|
|
|
|
//左刻度
|
|
|
|
|
double getCrossLeftScale();
|
|
|
|
|
//右刻度
|
|
|
|
|
double getCrossRightScale();
|
|
|
|
|
//大格
|
|
|
|
|
double getCrossMainSpace();
|
|
|
|
|
//小格
|
|
|
|
|
double getCrossSubSpace();
|
|
|
|
|
|
|
|
|
|
//柱状图
|
|
|
|
|
//左刻度
|
|
|
|
|
double getHistoLeftScale();
|
|
|
|
|
//右刻度
|
|
|
|
|
double getHistoRightScale();
|
|
|
|
|
//大格
|
|
|
|
|
double getHistoMainSpace();
|
|
|
|
|
//小格
|
|
|
|
|
double getHistoSubSpace();
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
virtual void initXmlTags();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
// QString m_sCode;
|
|
|
|
|
QString m_sAlias; //别称,中文
|
|
|
|
|
QString m_sShowName; //显示名称
|
|
|
|
|
QString m_sIcon; //图标
|
|
|
|
|
CurveStyle m_curveStyle; //类型
|
|
|
|
|
QString m_sUnit; //单位
|
|
|
|
|
double m_dMax; //最大值
|
|
|
|
|
double m_dMin; //最小值
|
|
|
|
|
QString m_sRemark; //备注
|
|
|
|
|
|
|
|
|
|
iXmlLogConfig* m_pLogConfig; //测井绘图配置
|
|
|
|
|
iXmlCorssConfig* m_pCorssConfig; //交会绘图配置
|
|
|
|
|
iXmlHistoConfig* m_pHistoConfig; //柱状绘图配置
|
|
|
|
|
};
|
|
|
|
|
typedef QVector<iXmlCurveItem*> vecXmlCurveItemsPtr;
|
|
|
|
|
|
|
|
|
|
|