// Simulator for the RISC-V[ECTOR] mini-ISA // Copyright (C) 2025 Siddarth Suresh // Copyright (C) 2025 bdunahu // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // You should have received a copy of the GNU General Public License // along with this program. If not, see . #ifndef REGISTERVIEW_H #define REGISTERVIEW_H #include "storageview.h" #include #include // see https://doc.qt.io/qt-6/qabstracttablemodel.html class RegisterView : public StorageView { Q_OBJECT public: using StorageView::StorageView; /** * Returns a properly formatted cell, including alignment.This function is * specific to the implementation details of QAbstractTableModel. */ QVariant data(const QModelIndex &index, int role = Qt::DisplayRole) const override; /** * Adds custom formatting options for row and column headers. */ QVariant headerData( int section, Qt::Orientation o, int role = Qt::DisplayRole) const override; /** * @param field to assign to `this->gprs'. * @param field to assign to `this->vrs'. */ void set_data(const QVector &gprs, const QVector> &vrs); private: /** * The general purpose registers. */ QVector gprs; /** * The vector registers. */ QVector> vrs; }; #endif // REGISTERVIEW_H