COMPASSi/trunk/code/3rd/CCSReport_2/include/items/ccsimage.h

90 lines
2.5 KiB
C
Raw Permalink Normal View History

2025-06-25 15:06:42 +08:00
#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