You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

54 lines
1.3 KiB
C++

#ifndef BINDROUTETABLEMODEL_H
#define BINDROUTETABLEMODEL_H
/*
采用Qt Model/View方式展示航线信息表。
此类为自定义Model类。
*/
#include <QAbstractTableModel>
#include <QVector3D>
#include "Engine/UGDatasetVector.h"
//
struct RouteData
{
QMap<int,QVector3D>points;
QString routeNumber;
// qreal routeHeight;
QString bindState;
QString routeFeatures;
};
class BindRouteTableModel : public QAbstractTableModel
{
Q_OBJECT
public:
explicit BindRouteTableModel(QObject *parent = nullptr);
~BindRouteTableModel();
void getHeader();
int getRowCount();
void setBeginResetModel();
void setEndResetModel();
protected:
virtual int rowCount(const QModelIndex& parent = QModelIndex()) const override;
virtual int columnCount(const QModelIndex& parent = QModelIndex()) const override;
virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
virtual QVariant headerData(int section, Qt::Orientation orientation,int role = Qt::DisplayRole) const override;
Qt::ItemFlags flags(const QModelIndex& index) const override;
public:
QStringList m_headData; //表头数据
RouteData routeData;
};
#endif // BINDROUTETABLEMODEL_H