// // Created by fly on 2021/11/25. // #ifndef PEARSON_MAINWINDOW_H #define PEARSON_MAINWINDOW_H #include #include #include #include #include #include #include #include "DataTableModel.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: explicit MainWindow(QWidget *parent = nullptr); ~MainWindow() override; void InitWidgetEnableState(); void InitHeaderComboBox(); void InitThreadCountComboBox(); void InitTableView(); protected slots: void on_exploreButton_clicked(); void on_openFileButton_clicked(); void on_primaryColComboBox_currentIndexChanged(int index); void on_dropColComboBox_currentIndexChanged(int index); void on_threadCountComboBox_currentIndexChanged(int index); void on_dropListWidget_itemDoubleClicked(QListWidgetItem *item); void on_startAnalysisButton_clicked(); void on_exportDataButton_clicked(); void PearsonResult(uint64_t index, double pearson); void PearsonFinished(); private: Ui::MainWindow *ui; QThreadPool m_threadPool; QString m_fileName; uint64_t m_primaryIndex; std::vector m_dataHeader; std::vector> m_dataVector; DataTableModel m_dataTableModel; }; #endif //PEARSON_MAINWINDOW_H