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

92 lines
3.1 KiB
C
Raw Permalink Normal View History

2025-06-25 15:06:42 +08:00
#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