#ifndef QBIGORDERVIEWER_H #define QBIGORDERVIEWER_H #include #include #include #include "ordertypedelegate.h" class QTableView; class QLineEdit; class QComboBox; class QPushButton; class BigOrderInfo; class QBigOrderViewer : public QWidget { Q_OBJECT public: explicit QBigOrderViewer(QWidget *parent = nullptr); ~QBigOrderViewer(); private: void setRowData(int row, QSharedPointer order); bool matchesFilter(QSharedPointer order); private slots: void onFilterChanged(); void onExportClicked(); void onBigOrderAdded(const BigOrderInfo &order); private: void initUI(); void initConnections(); void updateView(); void applyFilters(); QTableView *m_tableView; QLineEdit *m_stockCodeFilter; QComboBox *m_orderTypeFilter; QPushButton *m_exportButton; QStandardItemModel *m_model; QSortFilterProxyModel *m_proxyModel; OrderTypeDelegate *m_typeDelegate; HighlightDelegate *m_lastOrderDelegate; QList> m_allOrders; QList> m_currentOrders; signals: void sendStockCodeToMainForm(QString code); }; #endif