peripheralwidget.h
49 lines
| 1.2 KiB
| text/x-c
|
CLexer
/ src / peripheralwidget.h
Jeandet Alexis
|
r5 | #ifndef PERIPHERALWIDGET_H | ||
#define PERIPHERALWIDGET_H | ||||
#include <QWidget> | ||||
#include <QGroupBox> | ||||
#include <QVBoxLayout> | ||||
#include <QList> | ||||
#include <QTimer> | ||||
#include "registerwidget.h" | ||||
Jeandet Alexis
|
r7 | /* | ||
* TODO ADD an outdated marker | ||||
* Show outdated registers with a different color for example | ||||
*/ | ||||
Jeandet Alexis
|
r5 | class peripheralWidget : public QWidget | ||
{ | ||||
Q_OBJECT | ||||
public: | ||||
explicit peripheralWidget(const QString& name,qint32 baseAddress, QWidget *parent = 0); | ||||
Jeandet Alexis
|
r7 | registerWidget* registerAt(int index) | ||
{ | ||||
if(index>=0 && index<registersWdgts.count()) | ||||
return registersWdgts.at(index); | ||||
return NULL; | ||||
} | ||||
Jeandet Alexis
|
r5 | signals: | ||
void writeRegSig(qint32 address,qint32 value); | ||||
qint32 readRegSig(qint32 address); | ||||
public slots: | ||||
void blinkCursor(); | ||||
void addRegister(const QString& name,qint32 address); | ||||
protected: | ||||
void mousePressEvent(QMouseEvent *event); | ||||
void mouseMoveEvent(QMouseEvent *event); | ||||
void mouseReleaseEvent(QMouseEvent *event); | ||||
void keyPressEvent(QKeyEvent * event); | ||||
void paintEvent(QPaintEvent* event); | ||||
private: | ||||
void up(); | ||||
void down(); | ||||
QString p_name; | ||||
QString p_header; | ||||
qint32 p_baseAddress; | ||||
QList<registerWidget*> registersWdgts; | ||||
int selectedReg; | ||||
QTimer* p_timer; | ||||
}; | ||||
#endif // PERIPHERALWIDGET_H | ||||