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

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 "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; //外部弹出后,可以把数据传递回来,并且缓存,以支持序列化
};