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.
nmWATI/Include/iData/iXmlManager/Models/iXmlCurveDictConfig.h

205 lines
4.5 KiB
C++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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;