UI modifications and crash fix
[clinton/Virtual-Jaguar-Rx.git] / src / gui / mainwin.h
index 52d1b1f..e836a34 100644 (file)
 \r
 #define RING_BUFFER_SIZE 32\r
 \r
-// Forward declarations\r
+// Main windows\r
 class GLWidget;\r
 class VideoWindow;\r
 class AboutWindow;\r
 class HelpWindow;\r
 class FilePickerWindow;\r
-class MemoryBrowserWindow;\r
-class StackBrowserWindow;\r
-class CPUBrowserWindow;\r
-class OPBrowserWindow;\r
-class M68KDasmBrowserWindow;\r
-class RISCDasmBrowserWindow;\r
 //class VideoOutputWindow;\r
 class DasmWindow;\r
 class m68KDasmWindow;\r
 class GPUDasmWindow;\r
 class DSPDasmWindow;\r
 class EmuStatusWindow;\r
+\r
+// Alpine\r
+class MemoryBrowserWindow;\r
+class StackBrowserWindow;\r
+class CPUBrowserWindow;\r
+class OPBrowserWindow;\r
+class M68KDasmBrowserWindow;\r
+class RISCDasmBrowserWindow;\r
+\r
+// Debugger\r
 class AllWatchBrowserWindow;\r
 class LocalBrowserWindow;\r
+class CallStackBrowserWindow;\r
 class HeapAllocatorBrowserWindow;\r
 class Memory1BrowserWindow;\r
 class BrkWindow;\r
 class ExceptionVectorTableBrowserWindow;\r
 \r
+\r
 class MainWin: public QMainWindow\r
 {\r
        // All Qt apps require this macro for signal/slot functionality to work\r
@@ -49,8 +55,8 @@ class MainWin: public QMainWindow
                MainWin(bool);\r
                void LoadFile(QString);\r
                void SyncUI(void);\r
-               void    RefreshDebuggerWindows(void);\r
-               void    ResetDebuggerWindows(void);\r
+               void    DebuggerRefreshWindows(void);\r
+               void    DebuggerResetWindows(void);\r
                void    RefreshAlpineWindows(void);\r
 \r
        protected:\r
@@ -77,25 +83,28 @@ class MainWin: public QMainWindow
                void LoadSoftware(QString);\r
                void ToggleCDUsage(void);\r
                void FrameAdvance(void);\r
-               void TraceStepOver(void);\r
-               void TraceStepInto(void);\r
                void ToggleFullScreen(void);\r
-               void Restart(void);\r
+               void ShowEmuStatusWin(void);\r
+               // Debugger\r
+               void DebuggerTraceStepOver(void);\r
+               void DebuggerTraceStepInto(void);\r
+               void DebuggerRestart(void);\r
+               void ShowAllWatchBrowserWin(void);\r
+               void ShowLocalBrowserWin(void);\r
+               void ShowCallStackBrowserWin(void);\r
+               void ShowHeapAllocatorBrowserWin(void);\r
+               void ShowMemory1BrowserWin(int NumWin);\r
+               void ShowExceptionVectorTableBrowserWin(void);\r
                void NewBreakpointFunction(void);\r
+               void ShowVideoOutputWin(void);\r
+               void ShowDasmWin(void);\r
+               // Alpine\r
                void ShowMemoryBrowserWin(void);\r
                void ShowStackBrowserWin(void);\r
                void ShowCPUBrowserWin(void);\r
                void ShowOPBrowserWin(void);\r
                void ShowM68KDasmBrowserWin(void);\r
                void ShowRISCDasmBrowserWin(void);\r
-               void ShowVideoOutputWin(void);\r
-               void ShowDasmWin(void);\r
-               void ShowEmuStatusWin(void);\r
-               void ShowAllWatchBrowserWin(void);\r
-               void ShowLocalBrowserWin(void);\r
-               void ShowHeapAllocatorBrowserWin(void);\r
-               void ShowMemory1BrowserWin(int NumWin);\r
-               void ShowExceptionVectorTableBrowserWin(void);\r
 \r
        private:\r
                void HandleKeys(QKeyEvent *, bool);\r
@@ -107,7 +116,7 @@ class MainWin: public QMainWindow
                void WriteSettings(void);\r
                void WriteUISettings(void);\r
 \r
-//     public:\r
+       private:\r
                GLWidget * videoWidget;\r
                QMdiArea *mainWindowCentrale;\r
                QMdiSubWindow *VideoOutputWindowCentrale;\r
@@ -122,11 +131,12 @@ class MainWin: public QMainWindow
                M68KDasmBrowserWindow * m68kDasmBrowseWin;\r
                RISCDasmBrowserWindow * riscDasmBrowseWin;\r
                //VideoOutputWindow * VideoOutputWin;\r
-               AllWatchBrowserWindow * allWatchBrowseWin;\r
-               LocalBrowserWindow * LocalBrowseWin;\r
+               AllWatchBrowserWindow *allWatchBrowseWin;\r
+               LocalBrowserWindow *LocalBrowseWin;\r
+               CallStackBrowserWindow *CallStackBrowseWin;\r
                ExceptionVectorTableBrowserWindow *exceptionvectortableBrowseWin;\r
                HeapAllocatorBrowserWindow *heapallocatorBrowseWin;\r
-               Memory1BrowserWindow ** mem1BrowseWin;\r
+               Memory1BrowserWindow **mem1BrowseWin;\r
                DasmWindow * DasmWin;\r
                QTabWidget *dasmtabWidget;\r
                //QDockWidget *dasmtabWidget;\r
@@ -139,8 +149,10 @@ class MainWin: public QMainWindow
                int zoomLevel;\r
                bool powerButtonOn;\r
                bool showUntunedTankCircuit;\r
+\r
        public:\r
                bool cartridgeLoaded;\r
+\r
        private:\r
                bool allowUnknownSoftware;\r
                bool CDActive;\r
@@ -150,11 +162,13 @@ class MainWin: public QMainWindow
                bool keyHeld[8];\r
                bool fullScreen;\r
                bool scannedSoftwareFolder;\r
+\r
        public:\r
                bool plzDontKillMyComputer;\r
                uint32_t oldTimestamp;\r
                uint32_t ringBufferPointer;\r
                uint32_t ringBuffer[RING_BUFFER_SIZE];\r
+\r
        private:\r
                QPoint mainWinPosition;\r
 //             QSize mainWinSize;\r
@@ -189,18 +203,22 @@ class MainWin: public QMainWindow
                QAction *traceStepIntoAct;\r
                QAction *restartAct;\r
                QAction * fullScreenAct;\r
+               QAction *DasmAct;\r
 \r
+               // Alpine\r
                QAction *memBrowseAct;\r
                QAction *stackBrowseAct;\r
                QAction *cpuBrowseAct;\r
                QAction *opBrowseAct;\r
                QAction *m68kDasmBrowseAct;\r
                QAction *riscDasmBrowseAct;\r
+\r
+               // Debugger\r
                QAction *VideoOutputAct;\r
-               QAction *DasmAct;\r
                QAction *heapallocatorBrowseAct;\r
                QAction *allWatchBrowseAct;\r
                QAction *LocalBrowseAct;\r
+               QAction *CallStackBrowseAct;\r
                QAction **mem1BrowseAct;\r
                QAction *newBreakpointFunctionAct;\r
                QAction *exceptionVectorTableBrowseAct;\r