|
|
#pragma once
|
|
|
|
|
|
#include "iGridRowItemUnt.h"
|
|
|
|
|
|
// 边界
|
|
|
class X_GUI_GRIDPTY_EXPORT iGridRowItemBdy :
|
|
|
public iGridRowItemUnt
|
|
|
{
|
|
|
Q_OBJECT
|
|
|
|
|
|
public:
|
|
|
|
|
|
// 分别对应0,1,2
|
|
|
//m_listOptions << tr("CloseB");
|
|
|
//m_listOptions << tr("FixP");
|
|
|
// m_listOptions << tr("Infinite");
|
|
|
/// @brief 边界下拉选项
|
|
|
enum BdyItemOption
|
|
|
{
|
|
|
BDY_Item_CloseB = 0, //0:封闭(即不渗透)
|
|
|
BDY_Item_FixP, //1:定压
|
|
|
BDY_Item_Infinite, //2:无限大
|
|
|
BDY_Item_Unknown
|
|
|
};
|
|
|
|
|
|
public:
|
|
|
|
|
|
explicit iGridRowItemBdy(iGridRowItem* pParent = nullptr);
|
|
|
~iGridRowItemBdy();
|
|
|
|
|
|
//
|
|
|
virtual void setParameter(iParameter* p);
|
|
|
|
|
|
// 初始化子控件
|
|
|
void initEditor();
|
|
|
|
|
|
// 设置父窗体、为了Editor位置控制
|
|
|
void setDlgBase(QWidget* p);
|
|
|
|
|
|
public:
|
|
|
|
|
|
// 序列化
|
|
|
virtual void onSerialize(ZxSerializer* ser);
|
|
|
virtual void onDeserialize(ZxSerializer* ser);
|
|
|
|
|
|
// 范围
|
|
|
virtual void setBounds(QRectF& rt);//全局
|
|
|
virtual QRectF getRightBounds_Main();//右
|
|
|
virtual QRectF getRightBounds_Bdy();
|
|
|
virtual QRectF getRightBounds_Unt();
|
|
|
|
|
|
// 结果
|
|
|
virtual QVariant getInfoRight();
|
|
|
virtual QString getInfoUnit();
|
|
|
virtual QString getShowValue(); //非激活时显示在右侧的文本
|
|
|
int getBdyTypeCbxIndex();
|
|
|
|
|
|
// 双击
|
|
|
virtual void onItemDoubleCliked(GridTickPos o);
|
|
|
|
|
|
// from邹春梅:封闭放在边界距离前面是不是好些?
|
|
|
virtual void organizeResult(iResultInfo& o, QString sType);
|
|
|
|
|
|
protected slots:
|
|
|
|
|
|
void slotBdyItemOptionChanged(QString sItemOption);
|
|
|
|
|
|
protected:
|
|
|
|
|
|
virtual void _paintItemValue(QPainter* pPainter);
|
|
|
|
|
|
virtual void freshBdyDistance();
|
|
|
|
|
|
BdyItemOption getBioBy(QString sItemOption);
|
|
|
QString getOptionBy(BdyItemOption bio);
|
|
|
|
|
|
private:
|
|
|
|
|
|
QComboBox* m_pCbxTypes;
|
|
|
QStringList m_listAllOptions;
|
|
|
QStringList m_listPossibleOptions;
|
|
|
int m_nIndexOption;
|
|
|
bool m_bEnableSP; //临时变量
|
|
|
};
|