#ifndef RELOCSWIDGET_H #define RELOCSWIDGET_H #include #include #include "CutterDockWidget.h" #include "Cutter.h" class MainWindow; namespace Ui { class RelocsWidget; } class RelocsModel : public QAbstractTableModel { Q_OBJECT private: QList *relocs; public: enum COLUMNS {VADDR = 0, TYPE, NAME, COUNT}; static const int AddressRole = Qt::UserRole; RelocsModel(QList *relocs, QObject* parent = nullptr); int rowCount(const QModelIndex &parent) const; int columnCount(const QModelIndex &parent) const; QVariant data(const QModelIndex &index, int role) const; QVariant headerData(int section, Qt::Orientation orientation, int role) const; void beginReload(); void endReload(); }; class RelocsWidget : public CutterDockWidget { Q_OBJECT public: explicit RelocsWidget(MainWindow *main, QAction *action = nullptr); ~RelocsWidget(); private slots: void on_relocsTreeView_doubleClicked(const QModelIndex &index); void refreshRelocs(); private: std::unique_ptr ui; RelocsModel *model; QList relocs; void setScrollMode(); }; #endif // RELOCSWIDGET_H