#ifndef CCSPARAGRAPH_H #define CCSPARAGRAPH_H #include "ccsiteminterface.h" #include "ccsreport_global.h" #include "qglobal.h" #include "common_treenode.h" namespace CCS_Report { class CCSItemInterface; class CCSItem; class CCSParagraphPrivate; class ReportFunPara; class CCS_COMPASSREPORT_EXPORT CCSParagraph:public CCSItemInterface { Q_OBJECT Q_PROPERTY(QString identification READ identification WRITE SetIdentification) //标识符类型 Q_PROPERTY(int firstident READ firstident WRITE SetFirstIdent) //标识符类型 Q_PROPERTY(int grade READ grade WRITE SetGrade) //标识符 Q_PROPERTY(bool showgrade READ showgrade WRITE SetShowGrade) //标识符 Q_PROPERTY(int fontpixelsize READ fontpixelsize WRITE SetFontPixelSize) Q_PROPERTY(qreal linespace READ linespace WRITE SetLineSpace) Q_PROPERTY(qreal distancebefore READ distancebefore WRITE SetDistanceBefore) Q_PROPERTY(qreal distanceafter READ distanceafter WRITE SetDistanceAfter) public: CCSParagraph(QObject * parent = 0); ~CCSParagraph(); QString identification() const; void SetIdentification(const QString &text); int grade() const; void SetGrade(const int &grade); int firstident() const; void SetFirstIdent(const int &ident); bool showgrade() const; void SetShowGrade(const bool &flag); int fontpixelsize() const; void SetFontPixelSize(const int &size); qreal linespace() const; void SetLineSpace(const qreal& value); qreal distancebefore() const; void SetDistanceBefore(const qreal& value); qreal distanceafter() const; void SetDistanceAfter(const qreal& value); virtual CCSBaseItemInterface * createInstance(QObject * parent) const; virtual CCSBaseItemInterface * clone(bool withChildren = true, bool init = true) const; void SetValue(const QString& text,int iPos=0); virtual void exeFunction(ReportFunPara& arg); TreeNode* CalGrade(); protected: Q_DECLARE_PRIVATE(CCSParagraph) CCSParagraph(CCSParagraphPrivate *dd, QObject * parent); virtual CCSBaseItemInterface * itemClone() const; private: }; class CCSParagraphPrivate:public CCSItemInterfacePrivate { public: CCSParagraphPrivate() :CCSItemInterfacePrivate(), m_iGrade(0), m_strIdentification(""), m_iIndent(0), m_bShowGrade(false), m_iFontPixelSize(30), m_qLineSpace(0), m_qDistanceBefore(0), m_qDistanceAfter(0) {} CCSParagraphPrivate(const CCSParagraphPrivate& p) :CCSItemInterfacePrivate(p), m_iGrade(p.m_iGrade), m_strIdentification(p.m_strIdentification), m_iIndent(p.m_iIndent), m_bShowGrade(p.m_bShowGrade), m_iFontPixelSize(p.m_iFontPixelSize), m_qLineSpace(p.m_qLineSpace), m_qDistanceBefore(p.m_qDistanceBefore), m_qDistanceAfter(p.m_qDistanceAfter) {} virtual ~CCSParagraphPrivate(){} int m_iGrade; // //多级标题标识 1~4 int m_iIndent; //首行缩进 bool m_bShowGrade; //是否显示多级标题 QString m_strIdentification; //在填充时根据整个报告模板定义的级别动态生成 int m_iFontPixelSize; //段落标题的像素大小 qreal m_qLineSpace; //行间距 ; 以像素计 qreal m_qDistanceBefore; //段前间距; 以像素计 qreal m_qDistanceAfter; //段后间距; 以像素计 }; } #endif // CCSPARAGRAPH_H