2,新增“Apps”; 3,新增“Common”; 4,新增“FileList”; 5,新增“MediaX”; 6,新增“OpenSource”; 7,新增“Samples”; 8,新增“SoftwareBusinessLines”.
129 lines
3.1 KiB
C++
129 lines
3.1 KiB
C++
#ifndef MAINWINDOW_H
|
||
#define MAINWINDOW_H
|
||
|
||
//#include "AsioWrapper/AsioWrapper.h"
|
||
//#include "AsioWrapper/NetworkToolset.h"
|
||
//using namespace network_toolset;
|
||
|
||
#include <thread>
|
||
using namespace std;
|
||
|
||
#include <QMainWindow>
|
||
#include <QComboBox>
|
||
#include <QTimer>
|
||
#include <QStandardItemModel>
|
||
|
||
#include "StatusFrame.h"
|
||
#include "GuiInvoker.h"
|
||
|
||
namespace Ui
|
||
{
|
||
class MainWindow;
|
||
}
|
||
|
||
#ifndef __byte_def__
|
||
#define __byte_def__
|
||
typedef unsigned char BYTE, Byte, byte;
|
||
#endif
|
||
|
||
/*
|
||
* 并联电阻结构体
|
||
*/
|
||
typedef struct tagResistance_UnifiedNode
|
||
{
|
||
double dResistance_R_0; // 并联电阻0
|
||
double dResistance_R_1; // 并联电阻1
|
||
bool bUnified; // 是否为并联电阻节点
|
||
} Resistance_UnifiedNode;
|
||
|
||
enum eMatchMode
|
||
{
|
||
eMatchMode1 = 1, // 匹配模式1(分压电阻模式)
|
||
eMatchMode2 = 2, // 匹配模式2(电源输出模式)
|
||
eMatchMode3 = 3, // 匹配模式3(并联电阻模式)
|
||
};
|
||
|
||
class MainWindow : public QMainWindow
|
||
{
|
||
Q_OBJECT
|
||
|
||
public:
|
||
explicit MainWindow(QWidget* parent = 0);
|
||
~MainWindow();
|
||
|
||
private:
|
||
void Connect();
|
||
void Disconnect();
|
||
|
||
void DoMatchMode1_NonUnified();
|
||
void DoMatchMode1_Unified();
|
||
void DoMatchMode2_NonUnified();
|
||
void DoMatchMode2_Unified();
|
||
void DoMatchMode3();
|
||
|
||
void ResetItemData();
|
||
void SetItemData(int nItemIndex,
|
||
const QString& strModeType_R1_0, double dValue_R1_0,
|
||
const QString& strModeType_R1_1, double dValue_R1_1,
|
||
const QString& strModeType_R2_0, double dValue_R2_0,
|
||
const QString& strModeType_R2_1, double dValue_R2_1,
|
||
double dMatchResult);
|
||
|
||
void UpdateTableViewHeader(eMatchMode eMode);
|
||
|
||
static void OnUpdateUI(void* pParams, void* pOwner);
|
||
void DoUpdateUI(void* pParams);
|
||
|
||
protected:
|
||
virtual void resizeEvent(QResizeEvent* event);
|
||
virtual bool eventFilter(QObject* obj, QEvent* event);
|
||
|
||
private slots:
|
||
void OnButtonClicked();
|
||
void OnCurrentIndexChanged(int nIndex);
|
||
|
||
void OnResetItemData();
|
||
|
||
void OnTimer();
|
||
|
||
private:
|
||
void InitStyle();
|
||
|
||
private:
|
||
typedef bool (MainWindow::* pCallback_ThreadFun)();
|
||
|
||
static void ThreadEntry(pCallback_ThreadFun pThreadFun, void* pOwner);
|
||
|
||
private:
|
||
Ui::MainWindow* ui;
|
||
|
||
QPoint m_ptMouse;
|
||
bool m_bMousePressed;
|
||
|
||
const int m_nDisplayCount_Max = 200;
|
||
|
||
eMatchMode m_eMatchMode;
|
||
|
||
///
|
||
std::shared_ptr<QStandardItemModel> m_pDataModel_MatchResult;
|
||
|
||
bool m_bThreadRunning_RecvCmd;
|
||
std::thread* m_pThread_RecvCmd;
|
||
|
||
//std::mutex m_mutex_IPAddr;
|
||
|
||
//
|
||
QTimer m_varTimer_UpdateStatus;
|
||
bool m_bUpdateStatus;
|
||
int m_nTryCount_UpdateStatus;
|
||
|
||
///
|
||
StatusFrame* m_pStatusFrame;
|
||
|
||
QByteArrayList m_listMsgData;
|
||
std::shared_ptr<GuiInvoker> m_ptrGuiInvoker_RecvData;
|
||
std::shared_ptr<GuiInvoker> m_ptrGuiInvoker_Disconnect;
|
||
};
|
||
|
||
#endif // MAINWINDOW_H
|