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++

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

#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;
};