#pragma once #include "iGridRowGroup.h" class iBdyInfo; // 边界分组的特殊处理 class X_GUI_GRIDPTY_EXPORT iGridRowGroupBdy : public iGridRowGroup { Q_OBJECT public: explicit iGridRowGroupBdy(iGridRowItem* pParent = NULL); ~iGridRowGroupBdy(); public: // 序列化 virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); // 控件 virtual void initEditor(); virtual void setDlgBase(QWidget* p); virtual void configEditor(); virtual void initOtherEditors(); // 范围 virtual void setBounds(QRectF& rt);//全局 virtual QRectF getRightBounds_Main();//右 signals: /// @brief 触发边界信息改变,比如修改平行边界,由上下改为左右 /// @param pItem: (in) 当前的GroupItem,其实即是本类iGridRowGroupBdy /// @param vvec: (in & out) 边界信息数据 /// @param bModified: (out) 是否正确触发且vvec发生改变 void sigBdyDetails(iGridRowItem* pItem, \ QVector< iBdyInfo* >& vvec, \ bool& bModified); public slots: virtual void slotBdyDetails(); public: // 绘图 virtual void paint(QPainter* pPainter); //根据设置后结果设置属性 void freshChildsWithBdys(QVector vvec); protected: // virtual void paintGroup(QPainter* pPainter, int nCountVisible); // virtual void paintItem(QPainter* pPainter); // virtual void _paintItemTag(QPainter* pPainter, QString s); virtual void _paintItemValue(QPainter* pPainter); // virtual void _paintItemIcon(QPainter* pPainter); // virtual void _paintItemGrid(QPainter* pPainter); private: protected: QPushButton* m_pBtn; };