#ifndef MAINWINDOW_H #define MAINWINDOW_H #include #include #include #include "data/DataManager.h" #include "provider/IProvider.h" #include "type/AdvancedFilterDto.h" QT_BEGIN_NAMESPACE namespace Ui { class MainWindow; } QT_END_NAMESPACE class MainWindow : public QMainWindow { Q_OBJECT public: MainWindow(QWidget* parent = nullptr); ~MainWindow(); void setTable(QAbstractItemModel* model); void setDefaultAdvancedFilters(AdvancedFilterDto dto); //uncrustify off private slots: //uncrustify on void onTableRowClicked(const QModelIndex& current, const QModelIndex& previous); void onTableDeselected(); void onActionStartCapture(bool trigered); void onFilterTextSubmitted(); void onAdvancedFilterRequested(); void onFilterError(QString msg); void onFilterTextChanged(); void onClear(); void onClientConnected(); void onClientDisconnected(); void onClientSocketError(const QString& error); private: void prepareTableView(); void prepareTreeView(); void createConnections(); void prepareAdvancedFilters(); QString getCurrentFilter(); void handleFilterChange(); void useNetworkProvider(QString address, quint16 port); DataManager _dataManager; DataProvider_ptr _dataProvider; Ui::MainWindow* ui; AdvancedFilterDto _aFDto; }; #endif //MAINWINDOW_H