#ifndef WORKING_PAGE_H #define WORKING_PAGE_H #include "Common/custom.h" #include "qcustomplot.h" #include "Common/work_thread.h" #include "custom_lineedit.h" #include "qtimer.h" #include #include #include #include #include "Common/mymessagebox.h" namespace Ui { #if PageType == IDCE48CT class Working_Page; #elif PageType == FBO48CT class Working_Page_FBO; #elif PageType == FBI48CT class Working_Page_FBI; #endif } class Working_Page : public customDialog { Q_OBJECT public: explicit Working_Page(QWidget *parent = 0,Work_Thread *thread = 0); ~Working_Page(); Work_Thread *work_thread; QString batteryName; //电池组名 TEST_PARAM_XML test_param_xml; void toHide(); void toShow(int type); void ContinueTest(CHECK_DATA c_data, FBO_DATA f_data); private: #if PageType == IDCE48CT Ui::Working_Page *ui; #elif PageType == FBO48CT Ui::Working_Page_FBO *ui; #elif PageType == FBI48CT Ui::Working_Page_FBI *ui; #endif BuzzerDrv *BD; QTableWidgetItem* tableItem; QCPBars* bars1; //常规单体 QCPBars* bars2; //最大单体 QCPBars* bars3; //最小单体 QCPBars* bars4; //电压差 QTimer *getDataTimer; MessageBox *CurrentBox; QString AlarmText; private: QVector stopType; QVector chargeType; QStringList testTypeList; QStringList chartTypeList; quint16 SingleVolBeforeTest[MONOMER_NUM_MAX]; qint8 ChargeDelayTime; bool isCloseBeep; int batteryId; //电池组编号 int nominalCap; MON_TABLE mon_table; //单体界面属性 QVector vector_groupvol; QVector vector_cur; QVector vector_cap; QVector vector_second; QVector > vector_mon; int chartMonID; int allMonNum; int GmonNum; int CBGroupIndex; quint8 IF_READCUR; bool if_update; FBO_DATA fbodata; LOCAL_DATA lcldata; private: void initPage(); void initParam(); void setTestPage(); void setEachGroupInfo(quint16 groupnum); void setStateAlarmAndDrop(quint8 state,quint8 alarm,quint16 drop); void setIconTime(); void cleanMonomerTable(); void setMonomerTable(); void setMonomerBtnState(); void initMonomerChart(); void setMonomerChart(); bool AutoStartChargeTest(void); void setParamEnabled(bool enabled); bool setEditInput(Custom_LineEdit *edit,int space, float min,float max,int floatNum); void setChartEditInput(Custom_LineEdit *edit,int min, int max); bool setTimeInput(Custom_LineEdit *edit,int space); bool checkTimeText(QString time); void initTestChart(); void updateVolChart(); void updateCurChart(); void updateCapChart(); void updateMonChart(int index); void initPageShow(); void initConnectBeep(bool); void toStart(int); void toStartZCH(int); void toStop(int); bool AppStartAlarm(); QString format_monID(int index); QString format_monomer(int index,int vol); double get_top_chart(QVector data_v); double get_top_barmon(QVector data_v,QVector data_vold,int state); void popBox(QString msg); void setDCdataTable(); signals: void sendParam(TEST_PARAM_XML); void sendStart(int,QString); void senddeleteSocket(); private slots: void CustomEditSlot(); void ChartMonEditSlot(); void WorkBtnSlot(); void GetDataSlot(); void ReadDataSlot(); void SendParamSlot(); void alarm_beep(void); void DischargeWaitF1(); void ChargeWaitF1(); void GroupMComboBoxChangeSlot(int); void TabcurrentChangeSlot(int index); void TestChartComboBoxChangeSlot(int index); void TypeComboBoxChangeSlot(int index); void popBoxAlarm(quint8 alarm); void delay_ContinueTest_Start(); public slots: void operatorCMD_Work(int); }; #endif // WORKING_PAGE_H