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/iGridRowItemSub.h

126 lines
4.2 KiB
C

#pragma once
#include "iGridRowItemUnt.h"
// 产量段数
class iParameterSeg;
class X_GUI_GRIDPTY_EXPORT iGridRowItemSub :
public iGridRowItemUnt
{
Q_OBJECT
public:
explicit iGridRowItemSub(iGridRowItem* pParent = nullptr);
~iGridRowItemSub();
public:
// 序列化
virtual void onSerialize(ZxSerializer* ser);
virtual void onDeserialize(ZxSerializer* ser);
// 控件
virtual void initEditor();
virtual void configEditor();
virtual void initOtherEditors();
// 范围
virtual void setBounds(QRectF& rt);//全局
virtual QRectF getRightBounds_Main();//右
// 对于Editor的范围及颜色管理
virtual void checkAndClr();
virtual QString getEditorCss(bool bValid);
virtual bool isInputOk();
// 外界传递
virtual bool setCurValue(QVariant o);
virtual QVariant getCurValue();
public:
// 刷新
// n:段数
virtual void freshSubChild(int n, bool bBySegCount);
virtual void makesureChildren(int nTargetCount); //在反序列化时如果发现孩子个数不一致,则需要确保
/// @brief 创建(多少行/层子项为了后续改成表格方便姑且用Row
/* 第1层(李三)
* 100
* 27
* 1.098
* 2()
* 110
* 21
* 3.098
*/
/// @param nTargetRowCount: (in) 目标是多少行/层
/// @param bResetAll: (in) 是否是否重新生成所有
virtual bool createRowChildren(int nTargetRowCount, bool bResetAll = false);
/// @brief 创建子项(第几行/层比如第一层、第二层的一或二为了后续改成表格方便姑且用Row
/* 第1层(李三)
* 100
* 27
* 1.098
* 2()
* 110
* 21
* 3.098
*/
/// @param listSubItemNames: (in) 子项,具体可能需要加序号标识
/// @param listSubItemAliass: (in) 子项别称,具体可能需要加序号标识
/// @param nRowIndex: (in) 当前第几行/层
/// @param bAddNo: (in) 是否需要添加序号标识
virtual bool createOneRowChildOf(const QStringList& listSubItemNames, \
const QStringList& listSubItemAliass, \
int nRowIndex, \
bool bAddNo = true);
/// @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);
/// @brief 允许外部对子项进行调整
/// @param listSubItemNames: (in & out) 调整后的子项
/// @param listSubItemAliass: (in & out) 调整后的子项别称
/// @result 是否已经调整
bool adjustSubItemNames(QStringList& listSubItemNames, \
QStringList& listSubItemAliass);
public slots:
virtual void slotSubCountChanged(int n);
protected:
// 结果
virtual QVariant getInfoRight();
virtual QString getInfoUnit();
protected:
};