Update the breakpoint feature
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / localbrowser.h
1 //
2 // localbrowser.h: Local variables
3 //
4 // by Jean-Paul Mari
5 //
6
7 #ifndef __LOCALBROWSER_H__
8 #define __LOCALBROWSER_H__
9
10 //#define LOCAL_LAYOUTTEXTS // Use a layout with just texts
11 //#define LOCAL_SUPPORTARRAY // Support array
12 //#define LOCAL_SUPPORTSTRUCTURE // Support structure
13
14 #include <QtWidgets/QtWidgets>
15 #include <stdint.h>
16
17 // Error code definitions
18 #define LOCAL_NOERROR 0x00
19 #define LOCAL_ERROR 0x80
20 #define LOCAL_WARNING 0x40
21 #define LOCAL_NOLOCALS (0x01 | LOCAL_WARNING)
22
23
24 //
25 class LocalBrowserWindow: public QWidget
26 {
27 Q_OBJECT
28
29 //
30 typedef struct WatchInfo
31 {
32 size_t Op;
33 size_t Adr;
34 int Offset;
35 size_t TypeTag;
36 size_t TypeEncoding;
37 size_t TypeByteSize;
38 char *PtrVariableName;
39 char *PtrVariableBaseTypeName;
40 char *PtrCPURegisterName;
41 }
42 S_WatchInfo;
43
44 public:
45 LocalBrowserWindow(QWidget *parent = 0);
46 ~LocalBrowserWindow(void);
47
48 public slots:
49 void RefreshContents(void);
50 bool UpdateInfos(void);
51
52 protected:
53 void keyPressEvent(QKeyEvent *);
54
55 private:
56 QVBoxLayout *layout;
57 #ifdef LOCAL_LAYOUTTEXTS
58 QTextBrowser *text;
59 #else
60 QTableView *TableView;
61 QStandardItemModel *model;
62 #endif
63 WatchInfo *LocalInfo;
64 QStatusBar *statusbar;
65 size_t NbLocal;
66 char *FuncName;
67 };
68
69 #endif // __LOCALBROWSER_H__