Added a search feature in the All Watch variables window
[clinton/Virtual-Jaguar-Rx.git] / src / debugger / allwatchbrowser.h
index 7c4391c..4f56817 100644 (file)
@@ -7,47 +7,69 @@
 #ifndef __ALLWATCHBROWSER_H__\r
 #define __ALLWATCHBROWSER_H__\r
 \r
-#include <QtWidgets>\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/QtWidgets>\r
 #include <stdint.h>\r
+
+// 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
+#if 0\r
        //\r
-       struct WatchInfo\r
+       typedef struct WatchInfo\r
        {\r
-               //size_t TypeEncoding;\r
-               //size_t TypeByteSize;\r
+#ifdef AW_LAYOUTTEXTS\r
                size_t addr;\r
+#endif\r
                size_t TypeTag;\r
+               size_t Adr;\r
                char *PtrVariableName;\r
                char *PtrVariableBaseTypeName;\r
        }S_WatchInfo;\r
+#endif\r
 \r
        public:\r
                AllWatchBrowserWindow(QWidget *parent = 0);\r
                ~AllWatchBrowserWindow(void);\r
+               void Reset(void);\r
 \r
        public slots:\r
-//             void DefineAllKeys(void);\r
                void RefreshContents(void);\r
-//             void GoToAddress(void);\r
 \r
        protected:\r
-//             void keyPressEvent(QKeyEvent *);\r
+               void keyPressEvent(QKeyEvent *);\r
+\r
+       protected slots:\r
+               void SearchSymbol(void);
+               void SelectSearchSymbol(void);\r
 \r
        private:\r
                QVBoxLayout *layout;\r
-//             QTextBrowser * text;\r
-//             QLabel *text;\r
+#ifdef AW_LAYOUTTEXTS\r
                QTextBrowser *text;\r
-//             QPushButton *refresh;\r
-//             QLineEdit *address;\r
-//             QPushButton *go;\r
-               WatchInfo *PtrWatchInfo;\r
-//             int32_t memBase;\r
+#else\r
+               QTableView *TableView;\r
+               QStandardItemModel *model;\r
+#endif\r
+               QStatusBar *statusbar;\r
+               //WatchInfo *PtrWatchInfo;\r
+               void **PtrWatchInfo;\r
                size_t NbWatch;\r
+               QPushButton *search;\r
+               QLineEdit* symbol;\r
+               size_t CurrentWatch;\r
 };\r
 \r
 #endif // __ALLWATCHBROWSER_H__\r