92 lines
3.1 KiB
C++
92 lines
3.1 KiB
C++
#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
|