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

73 lines
1.9 KiB
C

#pragma once
#include "iGridRowItemUnt.h"
// 按钮类,比如点击后,弹出对话框或其他表格等等
class X_GUI_GRIDPTY_EXPORT iGridRowItemBtn :
public iGridRowItemUnt
{
Q_OBJECT
public:
explicit iGridRowItemBtn(iGridRowItem* pParent = nullptr);
~iGridRowItemBtn();
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 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; //外部弹出后,可以把数据传递回来,并且缓存,以支持序列化
};