|
|
|
|
|
#pragma once
|
|
|
|
|
|
|
|
|
|
|
|
#include "iGridRowItemDouble.h"
|
|
|
|
|
|
|
|
|
|
|
|
// 在 iGridRowItemDouble 基础上,增加按钮,即:激活时,多了一个按钮
|
|
|
|
|
|
// 用于,比如 对某些Item,自行进行计算,点击按钮 响应,目前用于数值
|
|
|
|
|
|
|
|
|
|
|
|
class X_GUI_GRIDPTY_EXPORT iGridRowItemDoubleBtn :
|
|
|
|
|
|
public iGridRowItemDouble
|
|
|
|
|
|
{
|
|
|
|
|
|
Q_OBJECT
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
explicit iGridRowItemDoubleBtn(iGridRowItem* pParent = nullptr);
|
|
|
|
|
|
~iGridRowItemDoubleBtn();
|
|
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
|
|
// 序列化
|
|
|
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
|
|
|
|
|
|
// 控件
|
|
|
|
|
|
virtual void initEditor();
|
|
|
|
|
|
virtual void configEditor();
|
|
|
|
|
|
virtual void initOtherEditors();
|
|
|
|
|
|
|
|
|
|
|
|
virtual void setDlgBase(QWidget* p);
|
|
|
|
|
|
virtual void setParameter(iParameter* p);
|
|
|
|
|
|
|
|
|
|
|
|
// 从外部绑定数据
|
|
|
|
|
|
virtual void bindTableInfos(const QStringList& listTitles, \
|
|
|
|
|
|
const VVecVariant& vvec, \
|
|
|
|
|
|
bool bReadonly = true, \
|
|
|
|
|
|
bool bExpanded = false);
|
|
|
|
|
|
virtual bool isInputOk();
|
|
|
|
|
|
virtual void setActive(bool b);
|
|
|
|
|
|
|
|
|
|
|
|
// 该基类默认按double进行实现
|
|
|
|
|
|
virtual bool setCurValue(QVariant o);//现值
|
|
|
|
|
|
virtual QVariant getCurValue();
|
|
|
|
|
|
virtual QString getShowValue(); //非激活时显示在右侧的文本
|
|
|
|
|
|
|
|
|
|
|
|
// 原值,请在setParameter之前调用
|
|
|
|
|
|
virtual void setRawValue(QVariant o);
|
|
|
|
|
|
QVariant getRawValue();
|
|
|
|
|
|
|
|
|
|
|
|
// 位置相关
|
|
|
|
|
|
virtual void setBounds(QRectF& rt);
|
|
|
|
|
|
virtual QRectF getRightBounds_Main();
|
|
|
|
|
|
virtual QVariant getInfoRight();
|
|
|
|
|
|
virtual QString getInfoUnit();
|
|
|
|
|
|
|
|
|
|
|
|
signals:
|
|
|
|
|
|
|
|
|
|
|
|
/// @brief 触发按钮,允许外部进行按钮操作,比如弹出对话框之类
|
|
|
|
|
|
/// @param sName: (in) 参数标识,为英文标识
|
|
|
|
|
|
/// @param vCustom: (in & out) 外部弹出后,可以把数据传递回来,并且缓存,以支持序列化
|
|
|
|
|
|
/// @param bModified: (out) 是否正确触发且vCustom发生改变
|
|
|
|
|
|
void sigBtnClicked(const QString sSegName, \
|
|
|
|
|
|
QVariant& vCustom, \
|
|
|
|
|
|
bool& bModified);
|
|
|
|
|
|
|
|
|
|
|
|
public slots:
|
|
|
|
|
|
|
|
|
|
|
|
virtual void slotBtnClicked();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
virtual void onCustomDataChanged();
|
|
|
|
|
|
|
|
|
|
|
|
protected:
|
|
|
|
|
|
|
|
|
|
|
|
QPushButton* m_pBtn;
|
|
|
|
|
|
|
|
|
|
|
|
QVariant m_vCustom; //这是额外增加的数据体,暂时保留,以便后续扩展
|
|
|
|
|
|
|
|
|
|
|
|
// QStringList m_listTitles;
|
|
|
|
|
|
// VVecVariant m_vvecData;
|
|
|
|
|
|
};
|