8 changed files with 355 additions and 77 deletions
-
2CMakeLists.txt
-
148libzqt/zui/z_reg_table_list_box.cpp
-
46libzqt/zui/z_reg_table_list_box.hpp
-
72libzqt/zui/zqui.cpp
-
73libzqt/zui/zqui.hpp
-
3libzqt/zui/zui.hpp
-
77mainwindow.cpp
-
11mainwindow.h
@ -0,0 +1,72 @@ |
|||
#include "zqui.hpp"
|
|||
|
|||
using namespace std; |
|||
#define TAG "ZQUI"
|
|||
|
|||
/***********************************************************************************************************************
|
|||
* PreviewShow * |
|||
***********************************************************************************************************************/ |
|||
ZQUI *ZQUI::ins() { |
|||
static ZQUI instance; |
|||
return &instance; |
|||
} |
|||
|
|||
void ZQUI::instructionPreviewShow(const char *fmt, ...) { |
|||
va_list args; |
|||
va_start(args, fmt); |
|||
char buf[1024] = {0}; |
|||
vsnprintf(buf, sizeof(buf), fmt, args); |
|||
va_end(args); |
|||
QString text(buf); |
|||
if (m_instructionPreviewShow) m_instructionPreviewShow(text); |
|||
} |
|||
|
|||
void ZQUI::instructionPreviewClear() { |
|||
if (m_instructionPreviewClear) m_instructionPreviewClear(); |
|||
} |
|||
|
|||
void ZQUI::reportPreviewShow(const char *fmt, ...) { |
|||
va_list args; |
|||
va_start(args, fmt); |
|||
char buf[1024] = {0}; |
|||
vsnprintf(buf, sizeof(buf), fmt, args); |
|||
va_end(args); |
|||
QString text(buf); |
|||
if (m_reportPreviewShow) m_reportPreviewShow(text); |
|||
} |
|||
|
|||
void ZQUI::blockDataUploadPreviewShow(const char *fmt, ...) { |
|||
va_list args; |
|||
va_start(args, fmt); |
|||
char buf[1024] = {0}; |
|||
vsnprintf(buf, sizeof(buf), fmt, args); |
|||
va_end(args); |
|||
QString text(buf); |
|||
if (m_blockDataUploadPreviewShow) m_blockDataUploadPreviewShow(text); |
|||
} |
|||
void ZQUI::rawDataPreviewShow(const char *fmt, ...) { |
|||
va_list args; |
|||
va_start(args, fmt); |
|||
char buf[1024] = {0}; |
|||
vsnprintf(buf, sizeof(buf), fmt, args); |
|||
va_end(args); |
|||
QString text(buf); |
|||
if (m_rawDataPreviewShow) m_rawDataPreviewShow(text); |
|||
} |
|||
|
|||
void ZQUI::initialize() { |
|||
qRegisterMetaType<int32_t>("int32_t"); |
|||
qRegisterMetaType<uint32_t>("uint32_t"); |
|||
qRegisterMetaType<float>("float"); |
|||
qRegisterMetaType<function<void()>>("function<void()>"); |
|||
qRegisterMetaType<QFunction>("QFunction"); |
|||
connect(this, SIGNAL(doinui_signal(QFunction)), this, SLOT(doinui_slot(QFunction))); |
|||
} |
|||
void ZQUI::doinui(function<void()> dowhat) { |
|||
emit doinui_signal(QFunction([dowhat]() { |
|||
if (dowhat) dowhat(); |
|||
})); |
|||
} |
|||
void ZQUI::doinui_slot(QFunction func) { |
|||
if (func.get()) func.get()(); |
|||
} |
@ -0,0 +1,73 @@ |
|||
#pragma once
|
|||
|
|||
#include <QMainWindow>
|
|||
#include <QtCore/QVariant>
|
|||
#include <QtWidgets/QAction>
|
|||
#include <QtWidgets/QApplication>
|
|||
#include <QtWidgets/QComboBox>
|
|||
#include <QtWidgets/QFormLayout>
|
|||
#include <QtWidgets/QGridLayout>
|
|||
#include <QtWidgets/QGroupBox>
|
|||
#include <QtWidgets/QHBoxLayout>
|
|||
#include <QtWidgets/QLabel>
|
|||
#include <QtWidgets/QMainWindow>
|
|||
#include <QtWidgets/QMenu>
|
|||
#include <QtWidgets/QMenuBar>
|
|||
#include <QtWidgets/QPushButton>
|
|||
#include <QtWidgets/QSpacerItem>
|
|||
#include <QtWidgets/QStatusBar>
|
|||
#include <QtWidgets/QTabWidget>
|
|||
#include <QtWidgets/QTextBrowser>
|
|||
#include <QtWidgets/QTextEdit>
|
|||
#include <QtWidgets/QVBoxLayout>
|
|||
#include <QtWidgets/QWidget>
|
|||
//
|
|||
|
|||
#include <fstream>
|
|||
#include <functional>
|
|||
#include <iostream>
|
|||
#include <list>
|
|||
#include <map>
|
|||
#include <memory>
|
|||
#include <set>
|
|||
#include <sstream>
|
|||
#include <string>
|
|||
#include <vector>
|
|||
|
|||
#include "../QFunction.hpp"
|
|||
|
|||
class ZQUI : public QObject { |
|||
Q_OBJECT |
|||
public: |
|||
typedef std::function<void(QString)> display_func_t; |
|||
|
|||
std::function<void(QString)> m_instructionPreviewShow; |
|||
std::function<void(QString)> m_reportPreviewShow; |
|||
std::function<void(QString)> m_blockDataUploadPreviewShow; |
|||
std::function<void(QString)> m_rawDataPreviewShow; |
|||
std::function<void()> m_instructionPreviewClear; |
|||
|
|||
public: |
|||
static ZQUI *ins(); |
|||
|
|||
void initialize(); |
|||
void doinui(std::function<void()> dowhat); |
|||
|
|||
void instructionPreviewShow(const char *fmt, ...); |
|||
void reportPreviewShow(const char *fmt, ...); |
|||
void blockDataUploadPreviewShow(const char *fmt, ...); |
|||
void rawDataPreviewShow(const char *fmt, ...); |
|||
void instructionPreviewClear(); |
|||
|
|||
void setInstructionPreviewShow(std::function<void(QString)> func) { m_instructionPreviewShow = func; } |
|||
void setReportPreviewShow(std::function<void(QString)> func) { m_reportPreviewShow = func; } |
|||
void setBlockDataUploadPreviewShow(std::function<void(QString)> func) { m_blockDataUploadPreviewShow = func; } |
|||
void setRawDataPreviewShow(std::function<void(QString)> func) { m_rawDataPreviewShow = func; } |
|||
void setInstructionPreviewClear(std::function<void()> func) { m_instructionPreviewClear = func; } |
|||
|
|||
private slots: |
|||
void doinui_slot(QFunction); |
|||
|
|||
signals: |
|||
void doinui_signal(QFunction); |
|||
}; |
Write
Preview
Loading…
Cancel
Save
Reference in new issue