63 lines
1.4 KiB
C
63 lines
1.4 KiB
C
|
|
#ifndef QBIGORDERVIEWER_H
|
||
|
|
#define QBIGORDERVIEWER_H
|
||
|
|
|
||
|
|
#include <QWidget>
|
||
|
|
#include <QStandardItemModel>
|
||
|
|
#include <QSortFilterProxyModel>
|
||
|
|
|
||
|
|
#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<BigOrderInfo> order);
|
||
|
|
bool matchesFilter(QSharedPointer<BigOrderInfo> order);
|
||
|
|
|
||
|
|
private slots:
|
||
|
|
//void onBigOrderAdded(QSharedPointer<BigOrderItem> order); // 信号槽无法正确识别,暂时先这么用
|
||
|
|
//void onBigOrdersUpdated();
|
||
|
|
void onFilterChanged();
|
||
|
|
void onExportClicked();
|
||
|
|
|
||
|
|
void onBigOrderAdded(const BigOrderInfo &order); // 修改参数类型
|
||
|
|
|
||
|
|
private:
|
||
|
|
void initUI();
|
||
|
|
void initConnections();
|
||
|
|
void updateView();
|
||
|
|
void applyFilters();
|
||
|
|
|
||
|
|
// UI组件
|
||
|
|
QTableView *m_tableView;
|
||
|
|
QLineEdit *m_stockCodeFilter;
|
||
|
|
QComboBox *m_orderTypeFilter;
|
||
|
|
QPushButton *m_exportButton;
|
||
|
|
|
||
|
|
// 数据模型
|
||
|
|
QStandardItemModel *m_model;
|
||
|
|
QSortFilterProxyModel *m_proxyModel;
|
||
|
|
OrderTypeDelegate *m_typeDelegate;
|
||
|
|
|
||
|
|
// 数据存储
|
||
|
|
QList<QSharedPointer<BigOrderInfo>> m_allOrders;
|
||
|
|
QList<QSharedPointer<BigOrderInfo>> m_currentOrders;
|
||
|
|
|
||
|
|
signals:
|
||
|
|
void sendStockCodeToMainForm(QString code);
|
||
|
|
};
|
||
|
|
|
||
|
|
#endif // QBIGORDERVIEWER_H
|