2,新增“Apps”; 3,新增“Common”; 4,新增“FileList”; 5,新增“MediaX”; 6,新增“OpenSource”; 7,新增“Samples”; 8,新增“SoftwareBusinessLines”.
107 lines
2.2 KiB
C++
107 lines
2.2 KiB
C++
#ifndef MAINWINDOW_H
|
||
#define MAINWINDOW_H
|
||
|
||
#include <QMainWindow>
|
||
#include <QComboBox>
|
||
#include <QTimer>
|
||
|
||
#include <thread>
|
||
using namespace std;
|
||
|
||
#include "DiskAccessor.h"
|
||
#include "common/GCycleQueue.h"
|
||
|
||
namespace Ui {
|
||
class MainWindow;
|
||
}
|
||
|
||
#ifndef __byte_def__
|
||
#define __byte_def__
|
||
typedef unsigned char BYTE, Byte, byte;
|
||
#endif
|
||
|
||
const int c_nFRAME_SIZE = (32*1024*1024); // 32MB (当前常见最小硬盘Cache为64MB,此处取一半)
|
||
|
||
enum enumExportStatus
|
||
{
|
||
ES_Exporting = 1,
|
||
ES_Finished = 2,
|
||
ES_Stoped = 3,
|
||
ES_Ready = 0,
|
||
};
|
||
|
||
class MainWindow : public QMainWindow
|
||
{
|
||
Q_OBJECT
|
||
|
||
public:
|
||
explicit MainWindow(QWidget *parent = 0);
|
||
~MainWindow();
|
||
|
||
protected:
|
||
bool eventFilter(QObject *obj, QEvent *event);
|
||
|
||
private slots:
|
||
void OnButtonClicked();
|
||
void OnComboxIndexChanged(int nIndex);
|
||
void OnTimer();
|
||
|
||
private:
|
||
void InitStyle();
|
||
void LoadConnect();
|
||
void UnloadConnect();
|
||
|
||
bool BrowseRawFile();
|
||
|
||
bool DoExportData();
|
||
void SwitchUI(bool bExport);
|
||
|
||
bool DoQueryExportDataAddr();
|
||
|
||
private:
|
||
typedef void (MainWindow::*ThreadRunFunPtr)();
|
||
static void ThreadEntry(ThreadRunFunPtr pRunFun, void* pOwner);
|
||
|
||
void ThreadFun_ExportData();
|
||
void ThreadFun_SaveData();
|
||
|
||
bool StartThread();
|
||
void StopThread();
|
||
|
||
private:
|
||
Ui::MainWindow *ui;
|
||
|
||
QPoint m_ptMouse;
|
||
bool m_bMousePressed;
|
||
|
||
bool m_bThreadRunning_ExportData;
|
||
std::thread* m_pThread_ExportData;
|
||
|
||
bool m_bThreadRunning_SaveData;
|
||
std::thread* m_pThread_SaveData;
|
||
|
||
bool m_bExportData;
|
||
|
||
bool m_bUpdateUI_ExportData;
|
||
|
||
QTimer m_varTimer;
|
||
|
||
int m_nExportDiskID;
|
||
LARGE_INTEGER m_varAddress_ExportData;
|
||
LARGE_INTEGER m_varSize_ExportData;
|
||
|
||
GCycleQueue m_varCycleQueue;
|
||
double m_dExportData_Speed;
|
||
double m_dExportData_Progress;
|
||
|
||
double m_dExportData_TimeCost;
|
||
|
||
enumExportStatus m_eExportStatus;
|
||
|
||
QString m_strFilePath_SaveData;
|
||
|
||
bool m_bIsStartExport;
|
||
};
|
||
|
||
#endif // MAINWINDOW_H
|