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.

78 lines
1.8 KiB

2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
  1. #ifndef MAINWINDOW_H
  2. #define MAINWINDOW_H
  3. #include <QMainWindow>
  4. #include <QtCore/QVariant>
  5. #include <QtWidgets/QAction>
  6. #include <QtWidgets/QApplication>
  7. #include <QtWidgets/QGridLayout>
  8. #include <QtWidgets/QLabel>
  9. #include <QtWidgets/QMainWindow>
  10. #include <QtWidgets/QMenu>
  11. #include <QtWidgets/QMenuBar>
  12. #include <QtWidgets/QPushButton>
  13. #include <QtWidgets/QStatusBar>
  14. #include <QtWidgets/QTextBrowser>
  15. #include <QtWidgets/QTextEdit>
  16. #include <QtWidgets/QWidget>
  17. //
  18. #include <fstream>
  19. #include <functional>
  20. #include <iostream>
  21. #include <list>
  22. #include <map>
  23. #include <memory>
  24. #include <set>
  25. #include <sstream>
  26. #include <string>
  27. #include <vector>
  28. #include "src/zqthread.hpp"
  29. QT_BEGIN_NAMESPACE
  30. namespace Ui {
  31. class MainWindow;
  32. }
  33. QT_END_NAMESPACE
  34. class DispalyRegIterm {
  35. public:
  36. QLabel *label = 0;
  37. QTextBrowser *regBrowser = 0;
  38. QTextEdit *regEditer = 0;
  39. QPushButton *writerButton = 0;
  40. };
  41. class MainWindow : public QMainWindow {
  42. Q_OBJECT
  43. private:
  44. std::map<int32_t, DispalyRegIterm *> m_regdisplayer;
  45. std::unique_ptr<iflytop::ZQThread> m_thread;
  46. public:
  47. Ui::MainWindow *ui;
  48. MainWindow(QWidget *parent = nullptr);
  49. ~MainWindow();
  50. private:
  51. void construct_reg_table();
  52. void push_reg(QWidget *parent, int off, const char *regname, int32_t regadd, int32_t rwflag);
  53. /*******************************************************************************
  54. * *
  55. *******************************************************************************/
  56. static void log_output(QtMsgType type, const QMessageLogContext &context, const QString &msg);
  57. private slots:
  58. void append_log_slot(QString);
  59. signals:
  60. void append_log_signal(QString str);
  61. private:
  62. void mainWindowsRun();
  63. };
  64. #endif // MAINWINDOW_H