You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.2 KiB

1 year ago
  1. #pragma once
  2. #include <QMainWindow>
  3. #include <QtCore/QVariant>
  4. #include <QtWidgets/QAction>
  5. #include <QtWidgets/QApplication>
  6. #include <QtWidgets/QComboBox>
  7. #include <QtWidgets/QFormLayout>
  8. #include <QtWidgets/QGridLayout>
  9. #include <QtWidgets/QGroupBox>
  10. #include <QtWidgets/QHBoxLayout>
  11. #include <QtWidgets/QLabel>
  12. #include <QtWidgets/QMainWindow>
  13. #include <QtWidgets/QMenu>
  14. #include <QtWidgets/QMenuBar>
  15. #include <QtWidgets/QPushButton>
  16. #include <QtWidgets/QSpacerItem>
  17. #include <QtWidgets/QStatusBar>
  18. #include <QtWidgets/QTabWidget>
  19. #include <QtWidgets/QTextBrowser>
  20. #include <QtWidgets/QTextEdit>
  21. #include <QtWidgets/QVBoxLayout>
  22. #include <QtWidgets/QWidget>
  23. //
  24. #include <fstream>
  25. #include <functional>
  26. #include <iostream>
  27. #include <list>
  28. #include <map>
  29. #include <memory>
  30. #include <set>
  31. #include <sstream>
  32. #include <string>
  33. #include <vector>
  34. #include "../QFunction.hpp"
  35. class ZQUI : public QObject {
  36. Q_OBJECT
  37. public:
  38. typedef std::function<void(QString)> display_func_t;
  39. std::function<void(QString)> m_instructionPreviewShow;
  40. std::function<void(QString)> m_reportPreviewShow;
  41. std::function<void(QString)> m_blockDataUploadPreviewShow;
  42. std::function<void(QString)> m_rawDataPreviewShow;
  43. std::function<void()> m_instructionPreviewClear;
  44. public:
  45. static ZQUI *ins();
  46. void initialize();
  47. void doinui(std::function<void()> dowhat);
  48. void instructionPreviewShow(const char *fmt, ...);
  49. void reportPreviewShow(const char *fmt, ...);
  50. void blockDataUploadPreviewShow(const char *fmt, ...);
  51. void rawDataPreviewShow(const char *fmt, ...);
  52. void instructionPreviewClear();
  53. void setInstructionPreviewShow(std::function<void(QString)> func) { m_instructionPreviewShow = func; }
  54. void setReportPreviewShow(std::function<void(QString)> func) { m_reportPreviewShow = func; }
  55. void setBlockDataUploadPreviewShow(std::function<void(QString)> func) { m_blockDataUploadPreviewShow = func; }
  56. void setRawDataPreviewShow(std::function<void(QString)> func) { m_rawDataPreviewShow = func; }
  57. void setInstructionPreviewClear(std::function<void()> func) { m_instructionPreviewClear = func; }
  58. private slots:
  59. void doinui_slot(QFunction);
  60. signals:
  61. void doinui_signal(QFunction);
  62. };