76 lines
2.0 KiB
C++
76 lines
2.0 KiB
C++
#ifndef CCSITEM_H
|
||
#define CCSITEM_H
|
||
#include "ccsiteminterface.h"
|
||
#include "ccsreport_global.h"
|
||
|
||
namespace CCS_Report {
|
||
class CCSItemInterface;
|
||
class CCSItemPrivate;
|
||
class ReportFunPara;
|
||
class CCS_COMPASSREPORT_EXPORT CCSItem:public CCSItemInterface
|
||
{
|
||
Q_OBJECT
|
||
Q_PROPERTY(QString text READ text WRITE SetText)
|
||
Q_PROPERTY(bool group READ group WRITE SetGroup)
|
||
Q_PROPERTY(qreal opacity READ opacity WRITE SetOpacity)
|
||
Q_PROPERTY(qreal angle READ angle WRITE SetAngle)
|
||
|
||
public:
|
||
CCSItem(QObject * parent = 0);
|
||
~CCSItem();
|
||
QString text() const;
|
||
void SetText(const QString &text);
|
||
bool group() const;
|
||
void SetGroup(bool flag);
|
||
|
||
qreal opacity() const;
|
||
void SetOpacity(qreal value);
|
||
qreal angle() const;
|
||
void SetAngle(qreal value);
|
||
|
||
virtual void SetValue(const QString &text,int iPos=0)=0;
|
||
virtual void exeFunction(ReportFunPara& arg)=0;
|
||
|
||
virtual CCSBaseItemInterface * createInstance(QObject * parent) const=0;
|
||
virtual CCSBaseItemInterface * clone(bool withChildren = true, bool init = true) const=0;
|
||
|
||
QString GetFieldName();
|
||
|
||
protected:
|
||
Q_DECLARE_PRIVATE(CCSItem)
|
||
CCSItem(CCSItemPrivate *dd, QObject * parent);
|
||
virtual CCSBaseItemInterface * itemClone() const{return nullptr;}
|
||
private:
|
||
|
||
};
|
||
class CCSItemPrivate:public CCSItemInterfacePrivate
|
||
{
|
||
public:
|
||
CCSItemPrivate()
|
||
:CCSItemInterfacePrivate(),
|
||
m_iType(0),
|
||
m_strText(""),
|
||
m_bGroup(false),
|
||
m_qOpacity(0),
|
||
m_qAngle(0)
|
||
{}
|
||
CCSItemPrivate(const CCSItemPrivate& p)
|
||
:CCSItemInterfacePrivate(p),
|
||
m_iType(p.m_iType),
|
||
m_strText(p.m_strText),
|
||
m_bGroup(p.m_bGroup),
|
||
m_qOpacity(p.m_qOpacity),
|
||
m_qAngle(p.m_qAngle)
|
||
{}
|
||
virtual ~CCSItemPrivate(){}
|
||
|
||
int m_iType; // 类型
|
||
QString m_strText; // 文本内容
|
||
bool m_bGroup; //对于某个字段在绑定数据时是否在Grouptable的key中,缺省false
|
||
qreal m_qOpacity;
|
||
qreal m_qAngle; //逆时针角度
|
||
|
||
};
|
||
}
|
||
#endif // CCSITEM_H
|