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

92 lines
3.1 KiB
C++
Raw Permalink 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 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<QPair<QString,QString>> groupKey=QList<QPair<QString,QString>>());
void SetFieldValue(QList<QPair<QString,QString>>& fieldvalue);
void SetTextAttribute(QString text);
void ParseTextAttribute(QString text);
QList<QPair<QString,QString>> ParseItemAttribute(QString strAttribute);
void UpdateItemAttribute(int position,QList<QPair<QString,QString>> 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