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
|