#ifndef RADIX_RADIXWIDGETS_EXAMPLE_RADIXTABLEWIDGET_HH_ #define RADIX_RADIXWIDGETS_EXAMPLE_RADIXTABLEWIDGET_HH_ #include #include #include #include "radixwidgets/tableview.hh" namespace Ui { class MainWindow; } struct Contact { QString name; QString address; }; class TableModel : public QAbstractTableModel { Q_OBJECT QList contacts; public: TableModel(QObject *parent = 0); TableModel(QList contacts, QObject *parent = 0); int rowCount(const QModelIndex &parent) const override; int columnCount(const QModelIndex &parent) const override; QVariant data(const QModelIndex &index, int role) const override; QVariant headerData(int section, Qt::Orientation orientation, int role) const override; Qt::ItemFlags flags(const QModelIndex &index) const override; bool setData(const QModelIndex &index, const QVariant &value, int role = Qt::EditRole) override; bool insertRows(int position, int rows, const QModelIndex &index = QModelIndex()) override; bool removeRows(int position, int rows, const QModelIndex &index = QModelIndex()) override; }; class MainWindow : public QMainWindow { Q_OBJECT private: radix::TableView *mTableView; TableModel *mModel; public: explicit MainWindow(QWidget *parent = 0); ~MainWindow(); }; #endif // RADIX_RADIXWIDGETS_EXAMPLE_RADIXTABLEWIDGET_HH_