#pragma once #include "mModuleDefines.h" #include "iGridRowItemCbx.h" #include "mGuiJob_global.h" class iModelInfo; // 模型下拉框 class M_GUI_JOB_EXPORT tGridRowItemModel : public iGridRowItemCbx { Q_OBJECT public: public: explicit tGridRowItemModel(iGridRowItem* pParent = nullptr); ~tGridRowItemModel(); void setModelInfos(QStringList& listTexts, \ QStringList& listCodes, \ QVariant o); virtual void setParameter(iParameter* p); // 返回类型 Model_Option_Type getMot(); // 序列化 virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); // 初始化子控件 virtual void initEditor(); virtual void configEditor(); virtual void setBounds(QRectF& rt);//全局 virtual QRectF getRightBounds_Main();//右 // 外界传递 virtual bool setCurValue(QVariant o); virtual QVariant getCurValue(); virtual QString getShowValue(); // 当前选项的Code QString getCurTextCode(); // 数据范围 virtual QString getParaScales(); // 双击 virtual void onItemDoubleCliked(GridTickPos o); // 其它 virtual void setActive(bool b); public: // 获取当前所在的父级层的标识,可能为空 virtual QString getUpperLayerTag(); // 获取当前所在的父级层的Index(第几层),从0开始,如果没找到,则为-1 virtual int getUpperLayerIndex(); // 是否层内节点(不考虑层内本身的层级) virtual bool isInnerItemOfUpperLayer(); public slots: // 改变 virtual void slotCbxCurItemChanged(int); //void slotGetCbxLists(QStringList& list, int& nCur, bool& b); protected: // 填充 virtual void fillCbxItems(); // 结果 virtual QVariant getInfoRight(); virtual QString getInfoUnit(); protected: // TODO 是否涉及序列化 QStringList m_listTexts; QStringList m_listCodes; // 不涉及序列化 Model_Option_Type m_oMot; };