#ifndef CCSTEXT_H #define CCSTEXT_H #include "ccsitem.h" #include "ccsreport_global.h" #include "qglobal.h" namespace CCS_Report { class CCSItem; class CCSTextPrivate; class ReportFunPara; class CCS_COMPASSREPORT_EXPORT CCSText:public CCSItem { Q_OBJECT // Q_PROPERTY(QString text READ text WRITE SetText) Q_PROPERTY(int textclose READ textclose WRITE SetTextClose) Q_PROPERTY(int spaceflag READ spaceflag WRITE SetSpaceFlag) Q_PROPERTY(int wrapflag READ wrapflag WRITE SetWrapFlag) // Q_PROPERTY(int fontpixelsize READ fontpixelsize WRITE SetFontPixelSize) Q_PROPERTY(int charformat READ charformat WRITE SetCharFormat) public: CCSText(QObject * parent = 0); ~CCSText(); int charformat() const; void SetCharFormat(const int &flag); qreal textheight() const; void SetTextHeight(const qreal& h); int textclose() const; void SetTextClose(const int &flag); int spaceflag() const; void SetSpaceFlag(const int &flag); int wrapflag() const; void SetWrapFlag(const int &flag); // int fontpixelsize() const; // void SetFontPixelSize(const int &size); CCSItem* Clone() const; 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); QString ParseFeildValue(QList> groupKey=QList>()); void SetFieldValue(QList>& fieldvalue); void SetTextAttribute(QString text); void ParseTextAttribute(QString text); QList> ParseItemAttribute(QString strAttribute); void UpdateItemAttribute(int position,QList> listParseText); protected: Q_DECLARE_PRIVATE(CCSText) CCSText(CCSTextPrivate *dd, QObject * parent); virtual CCSBaseItemInterface * itemClone() const; }; class CCSTextPrivate:public CCSItemPrivate { public: CCSTextPrivate() :CCSItemPrivate(), m_iClose(0), m_iAddFirstSpaceFlag(0), m_iWrapFlag(-1), m_qAlignCharFormatFlag(Qt::AlignVCenter) {} CCSTextPrivate(const CCSTextPrivate& p) :CCSItemPrivate(p), m_iClose(p.m_iClose), m_iAddFirstSpaceFlag(p.m_iAddFirstSpaceFlag), m_iWrapFlag(p.m_iWrapFlag), m_qAlignCharFormatFlag(p.m_qAlignCharFormatFlag) {} virtual ~CCSTextPrivate(){} //QString m_Text; // int m_iCharFormat; //标识是否为上下标 =0 正常 =-1 下标 = 1 上标 int m_iClose; //标识当进行折行时向前一个粘合不能拆分还是后一个不能拆分;缺省 =0 不粘合 =-1 向左边靠近粘合 =1 向右边粘合 qreal m_height; //高度 int m_qAlignCharFormatFlag = Qt::AlignVCenter; // 字符串对齐方式 :Qt::AlignTop,Qt::AlignBottom,Qt::AlignVCenter int m_iAddFirstSpaceFlag = 0; // =0 不加空格 int m_iWrapFlag = 0; // -1 - 截取 // 0 - 以字母折行 // 1 - 以单词折行 //QTextCharFormat 用于字符的上标下标 }; } #endif // CCSTEXT_H