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

106 lines
3.4 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#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