90 lines
2.5 KiB
C
90 lines
2.5 KiB
C
|
#ifndef CCSIMAGE_H
|
||
|
#define CCSIMAGE_H
|
||
|
#include "qglobal.h"
|
||
|
#include "QObject"
|
||
|
#include "ccsreport_global.h"
|
||
|
#include "ccsitem.h"
|
||
|
|
||
|
namespace CCS_Report {
|
||
|
class CCSItem;
|
||
|
class CCSItemPrivate;
|
||
|
class CCSImagePrivate;
|
||
|
class ReportFunPara;
|
||
|
class CCS_COMPASSREPORT_EXPORT CCSImage:public CCSItem
|
||
|
{
|
||
|
Q_OBJECT
|
||
|
Q_ENUMS(ShowMode)
|
||
|
Q_PROPERTY(int showmode READ showmode WRITE SetShowMode)
|
||
|
Q_PROPERTY(QSize size READ size WRITE SetSize)
|
||
|
Q_PROPERTY(int widthmode READ widthmode WRITE SetWidthMode)
|
||
|
Q_PROPERTY(int heightmode READ heightmode WRITE SetHeightMode)
|
||
|
|
||
|
public:
|
||
|
CCSImage(QObject * parent = 0);
|
||
|
~CCSImage();
|
||
|
|
||
|
enum class ShowMode { Clip = 0, Real = 1, Scale = 2 };
|
||
|
virtual CCSBaseItemInterface * createInstance(QObject * parent) const;
|
||
|
virtual CCSBaseItemInterface * clone(bool withChildren = true, bool init = true) const;
|
||
|
virtual void exeFunction(ReportFunPara& arg);
|
||
|
virtual void SetValue(const QString & text,int iPos=0);
|
||
|
void SetFieldValue(QList<QPair<QString,QString>>& fieldvalue);
|
||
|
void ParseFeildValue(QList<QPair<QString,QString>> groupKey=QList<QPair<QString,QString>>());
|
||
|
|
||
|
int showmode() const;
|
||
|
void SetShowMode(int& show);
|
||
|
//qreal opacity() const;
|
||
|
//void SetOpacity(const qreal &o);
|
||
|
void SetImagesize(const QSize & s=QSize());
|
||
|
QSize imagerealsize() const;
|
||
|
QSize size() const;
|
||
|
void SetSize(const QSize & h);
|
||
|
int widthmode() const;
|
||
|
void SetWidthMode(const int &flag);
|
||
|
int heightmode()const;
|
||
|
void SetHeightMode(const int & flag);
|
||
|
protected:
|
||
|
Q_DECLARE_PRIVATE(CCSImage)
|
||
|
CCSImage(CCSImagePrivate *dd, QObject * parent);
|
||
|
virtual CCSBaseItemInterface * itemClone() const;
|
||
|
|
||
|
private:
|
||
|
|
||
|
|
||
|
};
|
||
|
|
||
|
class CCSImagePrivate:public CCSItemPrivate
|
||
|
{
|
||
|
public:
|
||
|
CCSImagePrivate()
|
||
|
:CCSItemPrivate(),
|
||
|
m_eShowMode(1),
|
||
|
m_iWidthMode(0),
|
||
|
m_iHeightMode(0)
|
||
|
{
|
||
|
m_Size.setHeight(0);
|
||
|
m_Size.setWidth(0);
|
||
|
}
|
||
|
CCSImagePrivate(const CCSImagePrivate& p)
|
||
|
:CCSItemPrivate(p),
|
||
|
m_eShowMode(p.m_eShowMode),
|
||
|
m_Size(p.m_Size),
|
||
|
m_iWidthMode(p.m_iWidthMode),
|
||
|
m_iHeightMode(p.m_iHeightMode)
|
||
|
{}
|
||
|
virtual ~CCSImagePrivate(){}
|
||
|
|
||
|
|
||
|
int m_eShowMode; //图片显示模式
|
||
|
int m_iWidthMode; // =0 自身大小 =1 按定义宽度
|
||
|
int m_iHeightMode; // = 0 独立 =1 按宽度比例计算
|
||
|
int m_iHeight; //百分比,像素值
|
||
|
QColor m_Color;
|
||
|
QFont m_Font;
|
||
|
QSize m_Size; //图片设定大小
|
||
|
QSize m_realSize; //图片真实大小
|
||
|
|
||
|
};
|
||
|
}
|
||
|
#endif // CCSIMAGE_H
|