#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; //临时变量 };