Added the return address information in the call stack
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / allwatchbrowser.h
index 03b70b8..63107f4 100644 (file)
@@ -1,54 +1,64 @@
-//
-// allwatch.h: All Watch
-//
-// by James Hammons
-// (C) 2012 Underground Software
-//
+//\r
+// allwatchbrowser.h: All Watch\r
+//\r
+// by Jean-Paul Mari\r
+//\r
+\r
+#ifndef __ALLWATCHBROWSER_H__\r
+#define __ALLWATCHBROWSER_H__\r
+\r
+//#define AW_LAYOUTTEXTS                                               // Use a layout with just texts\r
+//#define AW_SUPPORTARRAY                                              // Support array\r
+//#define AW_SUPPORTSTRUCTURE                                  // Support structure\r
+\r
+#include <QtWidgets>\r
+#include <stdint.h>\r
 
-#ifndef __ALLWATCHBROWSER_H__
-#define __ALLWATCHBROWSER_H__
-
-#include <QtWidgets>
-#include <stdint.h>
-
-class AllWatchBrowserWindow: public QWidget
-{
-       Q_OBJECT
-
-       //
-       struct WatchInfo
-       {
-               //size_t TypeEncoding;
-               //size_t TypeByteSize;
-               size_t addr;
-               size_t TypeTag;
-               char *PtrVariableName;
-               char *PtrVariableBaseTypeName;
-       }S_WatchInfo;
-
-       public:
-               AllWatchBrowserWindow(QWidget *parent = 0);
-               ~AllWatchBrowserWindow(void);
-
-       public slots:
-//             void DefineAllKeys(void);
-               void RefreshContents(void);
-//             void GoToAddress(void);
-
-       protected:
-//             void keyPressEvent(QKeyEvent *);
-
-       private:
-               QVBoxLayout *layout;
-//             QTextBrowser * text;
-//             QLabel *text;
-               QTextBrowser *text;
-//             QPushButton *refresh;
-//             QLineEdit *address;
-//             QPushButton *go;
-               WatchInfo *PtrWatchInfo;
-//             int32_t memBase;
-               size_t NbWatch;
-};
-
-#endif // __ALLWATCHBROWSER_H__
+// Error code definitions
+#define        AW_NOERROR              0x00
+#define        AW_ERROR                0x80
+#define        AW_WARNING              0x40\r
+#define        AW_NOALLWATCH   (0x01 | AW_WARNING)\r
+\r
+\r
+// \r
+class AllWatchBrowserWindow: public QWidget\r
+{\r
+       Q_OBJECT\r
+\r
+       //\r
+       typedef struct WatchInfo\r
+       {\r
+#ifdef AW_LAYOUTTEXTS\r
+               size_t addr;\r
+#endif\r
+               size_t TypeTag;\r
+               char *PtrVariableName;\r
+               char *PtrVariableBaseTypeName;\r
+       }S_WatchInfo;\r
+\r
+       public:\r
+               AllWatchBrowserWindow(QWidget *parent = 0);\r
+               ~AllWatchBrowserWindow(void);\r
+               void Reset(void);\r
+\r
+       public slots:\r
+               void RefreshContents(void);\r
+\r
+       protected:\r
+               void keyPressEvent(QKeyEvent *);\r
+\r
+       private:\r
+               QVBoxLayout *layout;\r
+#ifdef AW_LAYOUTTEXTS\r
+               QTextBrowser *text;\r
+#else\r
+               QTableView *TableView;\r
+               QStandardItemModel *model;\r
+#endif\r
+               QStatusBar *statusbar;\r
+               WatchInfo *PtrWatchInfo;\r
+               size_t NbWatch;\r
+};\r
+\r
+#endif // __ALLWATCHBROWSER_H__\r