numberbuilderproxy.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #ifndef NUMBERBUILDERPROXY_H
  2. #define NUMBERBUILDERPROXY_H
  3. #include <QtCore>
  4. #include "numberlistmodel.h"
  5. #include "numberbuilder.h"
  6. #include "SNCCore_global.h"
  7. class SNCCORESHARED_EXPORT NumberBuilderProxy: public QThread
  8. {
  9. Q_OBJECT
  10. public:
  11. NumberBuilderProxy(NumberListModel *oldModel);
  12. ~NumberBuilderProxy();
  13. void setList(QStringList list);
  14. void setRegList(QStringList regList);
  15. void setBuildType(NumberBuildType buildType);
  16. signals:
  17. void progressMaxUpdated(int max);
  18. void progressUpdated(int i);
  19. void numberBuilt(NumberListModel *newModel);
  20. void threadAborted();
  21. protected:
  22. void run();
  23. void updateProgress();
  24. private:
  25. void appendModel();
  26. private:
  27. int counter;
  28. int progress;
  29. bool stop;
  30. int batchSize;
  31. QMutex mutex;
  32. QString content;
  33. QStringList list;
  34. QStringList regList;
  35. NumberBuildType buildType;
  36. QStringList segments;
  37. QList<QStringList> numbers;
  38. NumberListModel *oldModel;
  39. NumberListModel *newModel;
  40. public slots:
  41. void onChildTaskFinished(QStringList segments,QList<QStringList> numbers);
  42. void abort();
  43. };
  44. #endif // NUMBERBUILDERPROXY_H