#ifndef QCD_VIEW_H #define QCD_VIEW_H #include "piobject.h" #include namespace CDUtils { class CDType; class CDSection; } class CDItemModel; class CDView: public QTreeView, public PIObject { Q_OBJECT PIOBJECT(CDView) public: explicit CDView(QWidget *parent = 0); ~CDView(); void setType(int cdt); void setFile(const QString & filename); bool inProgress() const; void startPing(); CDUtils::CDSection * root(); QString typeLetter() const; CDItemModel * CDModel() {return model_;} public slots: void refresh(); void send(); void receive(); void save(); void load(); void clear(); void buildFromHeader(const QString & description, int mode = 2); void calculate(); private slots: void cd_sendFailed(); void cd_sendSucceed(); void cd_receiveFailed(); void cd_receiveSucceed(); private: EVENT_HANDLER(void, pi_cd_sendFailed) {emit _qcd_sendFailed();} EVENT_HANDLER(void, pi_cd_sendSucceed) {emit _qcd_sendSucceed();} EVENT_HANDLER(void, pi_cd_receiveFailed) {emit _qcd_receiveFailed();} EVENT_HANDLER(void, pi_cd_receiveSucceed) {emit _qcd_receiveSucceed();} CDItemModel * model_; int type_; signals: void sendFailed(); void sendSucceed(); void receiveFailed(); void receiveSucceed(); void messageStatus(QString msg); void busyStatusChanged(bool busy); void _qcd_sendFailed(); // PRIVATE void _qcd_sendSucceed(); // PRIVATE void _qcd_receiveFailed(); // PRIVATE void _qcd_receiveSucceed(); // PRIVATE }; #endif // QCD_VIEW_H