CPURegsViewer.h 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. #ifndef CPUREGSVIEWER_H
  2. #define CPUREGSVIEWER_H
  3. #include <QFrame>
  4. class QPaintEvent;
  5. class CPURegsViewer : public QFrame
  6. {
  7. Q_OBJECT;
  8. public:
  9. CPURegsViewer(QWidget* parent = 0);
  10. void setData(unsigned char* datPtr);
  11. int readRegister(int id);
  12. QSize sizeHint() const;
  13. private:
  14. void resizeEvent(QResizeEvent* e);
  15. void paintEvent(QPaintEvent* e);
  16. void mousePressEvent(QMouseEvent* e);
  17. //void mouseMoveEvent(QMouseEvent* e);
  18. //void mouseReleaseEvent(QMouseEvent* e);
  19. void keyPressEvent(QKeyEvent* e);
  20. void focusOutEvent(QFocusEvent* e);
  21. bool event(QEvent* e);
  22. // layout
  23. int frameL, frameR, frameT, frameB;
  24. int leftRegPos, leftValuePos, rightRegPos, rightValuePos;
  25. int rowHeight;
  26. int regs[16], regsCopy[16];
  27. bool regsModified[16];
  28. bool regsChanged[16];
  29. int cursorLoc;
  30. void drawValue(QPainter& p, int id, int x, int y);
  31. void setRegister(int id, int value);
  32. void getRegister(int id, unsigned char* data);
  33. void applyModifications();
  34. void cancelModifications();
  35. signals:
  36. void registerChanged(int id, int value);
  37. void pcChanged(quint16);
  38. void flagsChanged(quint8);
  39. void spChanged(quint16);
  40. };
  41. #endif // CPUREGSVIEWER_H