#pragma once #include "iGridRowItemUnt.h" // 流动段数、产液段数 class iParameterSeg; class X_GUI_GRIDPTY_EXPORT iGridRowItemSeg : public iGridRowItemUnt { Q_OBJECT public: explicit iGridRowItemSeg(iGridRowItem* pParent = NULL); ~iGridRowItemSeg(); public: // 序列化 virtual void onSerialize(ZxSerializer* ser); virtual void onDeserialize(ZxSerializer* ser); // 控件 virtual void initEditor(); virtual void configEditor(); virtual void initOtherEditors(); // 范围 virtual void setBounds(QRectF& rt);//全局 virtual QRectF getRightBounds_Main();//右 // 关联绑定的Item,长度 virtual void setLenAll(double f); virtual void setBrotherItem(iGridRowItem* p); // 刷新 // n:段数 virtual void freshSubChild(int n, bool bBySegCount); // 对于Editor的范围及颜色管理 virtual void checkAndClr(); virtual QString getEditorCss(bool bValid); virtual bool isInputOk(); // 外界传递 virtual bool setCurValue(QVariant o); virtual QVariant getCurValue(); public slots: virtual void slotSegCountChanged(int n); virtual void slotItemLenthChanged(QString, QVariant); protected: // 对于需要调整的,计算其默认的位置 virtual VecDouble calDefaultPoss(int n, double fLenAll); // 结果 virtual QVariant getInfoRight(); virtual QString getInfoUnit(); protected: iGridRowItem* m_pBrotherItem; //关联的长度Item double m_fLenAll; };