You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
nmWTAI-Platform/Include/iGui/iGuiGridPty/iGridRowItemSubNormal.h

86 lines
2.7 KiB
C

#pragma once
#include "iGridRowItemSub.h"
// 常规的Sub比如层数据
/* 第1层(李三)
* 100
* 27
* 1.098
* 2()
* 110
* 21
* 3.098
*/
class X_GUI_GRIDPTY_EXPORT iGridRowItemSubNormal :
public iGridRowItemSub
{
Q_OBJECT
public:
explicit iGridRowItemSubNormal(iGridRowItem* pParent = nullptr);
~iGridRowItemSubNormal();
public:
// 序列化
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
// 控件
virtual void initEditor();
virtual void configEditor();
virtual void initOtherEditors();
virtual bool isInputOk();
virtual void setParameter(iParameter* p);
// 根据当前数据,构造默认的数据体
virtual void defaultSubInfos();
// 刷新
// n:数
virtual void freshSubChild(int n, bool bBySegCount);
// 从外部设置数据
virtual void setAllSubInfos(QStringList& listTagRows, \
VVecVariant& vvec, \
bool bReadonly = true, \
bool bExpanded = false);
virtual void makesureChildren(int nTargetCount); //在反序列化时如果发现孩子个数不一致,则需要确保
/// @brief 在过程中createRowChildOf允许根据当前数据进行调整某些项
/// @param pItemChild: (in) 待调整的项
/// @param sPara: (in) 子项,具体可能需要加序号标识
/// @param nRowIndex: (in) 当前第几行/层
/// @param nColIndex: (in) 当前行/层的第几个参数,默认为-1其实与sPara是对应的
virtual bool adjustValueOfRowChild(iGridRowItem* pItemChild, \
const QString sPara, \
int nRowIndex, \
int nColIndex = -1);
/// @brief 在过程中createRowChildOf允许调整内部标识
/// @param sTagInner: (in&out) TagInner
/// @param sNameInner: (in&out) NameInner
/// @param nRowIndex: (in) 当前第几行/层
virtual bool adjustTagOfRowChild(QString& sTagInner, \
QString& sNameInner, \
int nRowIndex);
/// @brief 在过程中createRowChildOf允许调整内部标识
/// @param sTagInner: (in&out) TagInner
/// @param sNameInner: (in&out) NameInner
/// @param nRowIndex: (in) 当前第几行/层
virtual bool adjustTagOfRowGroup(QString& sTagInner, \
int nRowIndex);
public slots:
protected:
QStringList m_listTagRows;
VVecVariant m_vvecSubInfos;
};