Added the return address information in the call stack
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / localbrowser.h
index 6ee2a60..056fd73 100644 (file)
@@ -1,5 +1,5 @@
 //\r
-// localbrowser.h: All Watch\r
+// localbrowser.h: Local variables\r
 //\r
 // by Jean-Paul Mari\r
 //\r
@@ -7,18 +7,28 @@
 #ifndef __LOCALBROWSER_H__\r
 #define __LOCALBROWSER_H__\r
 \r
+//#define LOCAL_LAYOUTTEXTS                                            // Use a layout with just texts\r
+//#define LOCAL_SUPPORTARRAY                                           // Support array\r
+//#define LOCAL_SUPPORTSTRUCTURE                                       // Support structure\r
+\r
 #include <QtWidgets>\r
 #include <stdint.h>\r
+
+// Error code definitions\r
+#define        LOCAL_NOERROR           0x00\r
+#define        LOCAL_ERROR                     0x80
+#define        LOCAL_WARNING           0x40\r
+#define        LOCAL_NOLOCALS          (0x01 | LOCAL_WARNING)\r
+\r
 \r
+// \r
 class LocalBrowserWindow: public QWidget\r
 {\r
        Q_OBJECT\r
 \r
        //\r
-       struct WatchInfo\r
+       typedef struct WatchInfo\r
        {\r
-               //size_t TypeEncoding;\r
-               //size_t TypeByteSize;\r
                size_t Op;\r
                size_t Adr;\r
                int Offset;\r
@@ -28,31 +38,30 @@ class LocalBrowserWindow: public QWidget
                char *PtrVariableName;\r
                char *PtrVariableBaseTypeName;\r
                char *PtrCPURegisterName;\r
-       }S_WatchInfo;\r
+       }\r
+       S_WatchInfo;\r
 \r
        public:\r
                LocalBrowserWindow(QWidget *parent = 0);\r
                ~LocalBrowserWindow(void);\r
 \r
        public slots:\r
-//             void DefineAllKeys(void);\r
                void RefreshContents(void);\r
                bool UpdateInfos(void);\r
-//             void GoToAddress(void);\r
 \r
        protected:\r
                void keyPressEvent(QKeyEvent *);\r
 \r
        private:\r
                QVBoxLayout *layout;\r
-//             QTextBrowser * text;\r
-//             QLabel *text;\r
+#ifdef LOCAL_LAYOUTTEXTS\r
                QTextBrowser *text;\r
-//             QPushButton *refresh;\r
-//             QLineEdit *address;\r
-//             QPushButton *go;\r
+#else\r
+               QTableView *TableView;\r
+               QStandardItemModel *model;\r
+#endif\r
                WatchInfo *LocalInfo;\r
-//             int32_t memBase;\r
+               QStatusBar *statusbar;\r
                size_t NbLocal;\r
                char *FuncName;\r
 };\r