| 1 | //\r |
| 2 | // allwatchbrowser.h: All Watch\r |
| 3 | //\r |
| 4 | // by Jean-Paul Mari\r |
| 5 | //\r |
| 6 | \r |
| 7 | #ifndef __ALLWATCHBROWSER_H__\r |
| 8 | #define __ALLWATCHBROWSER_H__\r |
| 9 | \r |
| 10 | //#define AW_LAYOUTTEXTS // Use a layout with just texts\r |
| 11 | //#define AW_SUPPORTARRAY // Support array\r |
| 12 | //#define AW_SUPPORTSTRUCTURE // Support structure\r |
| 13 | \r |
| 14 | #include <QtWidgets/QtWidgets>\r |
| 15 | #include <stdint.h>\r |
| 16 | |
| 17 | // Error code definitions |
| 18 | #define AW_NOERROR 0x00 |
| 19 | #define AW_ERROR 0x80 |
| 20 | #define AW_WARNING 0x40\r |
| 21 | #define AW_NOALLWATCH (0x01 | AW_WARNING)\r |
| 22 | \r |
| 23 | \r |
| 24 | // \r |
| 25 | class AllWatchBrowserWindow: public QWidget\r |
| 26 | {\r |
| 27 | Q_OBJECT\r |
| 28 | \r |
| 29 | //\r |
| 30 | typedef struct WatchInfo\r |
| 31 | {\r |
| 32 | #ifdef AW_LAYOUTTEXTS\r |
| 33 | size_t addr;\r |
| 34 | #endif\r |
| 35 | size_t TypeTag;\r |
| 36 | char *PtrVariableName;\r |
| 37 | char *PtrVariableBaseTypeName;\r |
| 38 | }S_WatchInfo;\r |
| 39 | \r |
| 40 | public:\r |
| 41 | AllWatchBrowserWindow(QWidget *parent = 0);\r |
| 42 | ~AllWatchBrowserWindow(void);\r |
| 43 | void Reset(void);\r |
| 44 | \r |
| 45 | public slots:\r |
| 46 | void RefreshContents(void);\r |
| 47 | \r |
| 48 | protected:\r |
| 49 | void keyPressEvent(QKeyEvent *);\r |
| 50 | \r |
| 51 | private:\r |
| 52 | QVBoxLayout *layout;\r |
| 53 | #ifdef AW_LAYOUTTEXTS\r |
| 54 | QTextBrowser *text;\r |
| 55 | #else\r |
| 56 | QTableView *TableView;\r |
| 57 | QStandardItemModel *model;\r |
| 58 | #endif\r |
| 59 | QStatusBar *statusbar;\r |
| 60 | WatchInfo *PtrWatchInfo;\r |
| 61 | size_t NbWatch;\r |
| 62 | };\r |
| 63 | \r |
| 64 | #endif // __ALLWATCHBROWSER_H__\r |