2 // mainwin.h: Header file
5 // (C) 2010 Underground Software
7 // Modified by Jean-Paul Mari
13 //Hrm. uh??? I thought this wasn't the way to do this stuff...???
17 #define RING_BUFFER_SIZE 32
24 class FilePickerWindow
;
25 //class VideoOutputWindow;
30 class EmuStatusWindow
;
33 class MemoryBrowserWindow
;
34 class StackBrowserWindow
;
35 class CPUBrowserWindow
;
36 class OPBrowserWindow
;
37 class M68KDasmBrowserWindow
;
38 class RISCDasmBrowserWindow
;
41 class AllWatchBrowserWindow
;
42 class LocalBrowserWindow
;
43 class CallStackBrowserWindow
;
44 class HeapAllocatorBrowserWindow
;
45 class Memory1BrowserWindow
;
47 class ExceptionVectorTableBrowserWindow
;
48 class FilesrcListWindow
;
52 class MainWin
: public QMainWindow
54 // All Qt apps require this macro for signal/slot functionality to work
60 void LoadFile(QString
);
62 void DebuggerRefreshWindows(void);
63 void DebuggerResetWindows(void);
64 void AlpineRefreshWindows(void);
67 void closeEvent(QCloseEvent
*);
68 void keyPressEvent(QKeyEvent
*);
69 void keyReleaseEvent(QKeyEvent
*);
75 void TogglePowerState(void);
76 void ToggleRunState(void);
77 void SetZoom100(void);
78 void SetZoom200(void);
79 void SetZoom300(void);
82 void ToggleBlur(void);
83 void ShowAboutWin(void);
84 void ShowHelpWin(void);
85 void InsertCart(void);
87 void LoadSoftware(QString
);
88 void ToggleCDUsage(void);
89 void FrameAdvance(void);
90 void ToggleFullScreen(void);
91 void ShowEmuStatusWin(void);
92 void MakeScreenshot(void);
94 void DebuggerTraceStepOver(void);
95 void DebuggerTraceStepInto(void);
96 void DebuggerRestart(void);
97 void ShowAllWatchBrowserWin(void);
98 void ShowLocalBrowserWin(void);
99 void ShowCallStackBrowserWin(void);
100 void ShowHeapAllocatorBrowserWin(void);
101 void ShowMemory1BrowserWin(int NumWin
);
102 void ShowExceptionVectorTableBrowserWin(void);
103 void NewBreakpointFunction(void);
104 //void ShowVideoOutputWin(void);
105 //void ShowDasmWin(void);
107 void ShowMemoryBrowserWin(void);
108 void ShowStackBrowserWin(void);
109 void ShowCPUBrowserWin(void);
110 void ShowOPBrowserWin(void);
111 void ShowM68KDasmBrowserWin(void);
112 void ShowRISCDasmBrowserWin(void);
115 void HandleKeys(QKeyEvent
*, bool);
116 void HandleGamepads(void);
117 void SetFullScreen(bool state
= true);
118 void ResizeMainWindow(void);
119 void ReadUISettings(void);
120 void ReadSettings(void);
121 void WriteSettings(void);
122 void WriteUISettings(void);
125 GLWidget
*videoWidget
;
126 QMdiArea
*mainWindowCentrale
;
127 QMdiSubWindow
*VideoOutputWindowCentrale
;
128 AboutWindow
*aboutWin
;
130 FilePickerWindow
*filePickWin
;
131 EmuStatusWindow
*emuStatusWin
;
132 MemoryBrowserWindow
*memBrowseWin
;
133 StackBrowserWindow
*stackBrowseWin
;
134 CPUBrowserWindow
*cpuBrowseWin
;
135 OPBrowserWindow
*opBrowseWin
;
136 M68KDasmBrowserWindow
*m68kDasmBrowseWin
;
137 RISCDasmBrowserWindow
*riscDasmBrowseWin
;
138 //VideoOutputWindow *VideoOutputWin;
139 AllWatchBrowserWindow
*allWatchBrowseWin
;
140 LocalBrowserWindow
*LocalBrowseWin
;
141 CallStackBrowserWindow
*CallStackBrowseWin
;
142 ExceptionVectorTableBrowserWindow
*exceptionvectortableBrowseWin
;
143 HeapAllocatorBrowserWindow
*heapallocatorBrowseWin
;
144 Memory1BrowserWindow
**mem1BrowseWin
;
145 //DasmWindow * DasmWin;
146 QTabWidget
*dasmtabWidget
;
147 //QDockWidget *dasmtabWidget;
148 m68KDasmWindow
*m68kDasmWin
;
149 GPUDasmWindow
*GPUDasmWin
;
150 DSPDasmWindow
*DSPDasmWin
;
151 FilesrcListWindow
*FilesrcListWin
;
157 bool showUntunedTankCircuit
;
160 bool cartridgeLoaded
;
163 bool allowUnknownSoftware
;
165 // bool alpineLoadSuccessful;
166 bool pauseForFileSelector
;
170 bool scannedSoftwareFolder
;
173 bool plzDontKillMyComputer
;
174 uint32_t oldTimestamp
;
175 uint32_t ringBufferPointer
;
176 uint32_t ringBuffer
[RING_BUFFER_SIZE
];
179 QPoint mainWinPosition
;
180 // QSize mainWinSize;
181 int lastEditedProfile
;
184 QMenu
*debugMenu
, *debugWindowsMenu
, *debugWindowsBrowsesMenu
, *debugWindowsWatchMenu
, *debugWindowOutputMenu
, *debugWindowExceptionMenu
, *debugWindowsMemoryMenu
, *debugNewBreakpointMenu
;
187 QToolBar
* debuggerbar
;
189 QActionGroup
* zoomActs
;
190 QActionGroup
* tvTypeActs
;
203 QAction
*filePickAct
;
205 QAction
*emustatusAct
;
207 QAction
*frameAdvanceAct
;
208 QAction
*traceStepOverAct
;
209 QAction
*traceStepIntoAct
;
211 QAction
*fullScreenAct
;
213 QAction
*screenshotAct
;
216 QAction
*memBrowseAct
;
217 QAction
*stackBrowseAct
;
218 QAction
*cpuBrowseAct
;
219 QAction
*opBrowseAct
;
220 QAction
*m68kDasmBrowseAct
;
221 QAction
*riscDasmBrowseAct
;
224 //QAction *VideoOutputAct;
225 QAction
*heapallocatorBrowseAct
;
226 QAction
*allWatchBrowseAct
;
227 QAction
*LocalBrowseAct
;
228 QAction
*CallStackBrowseAct
;
229 QAction
**mem1BrowseAct
;
230 //QAction *newBreakpointFunctionAct;
231 QAction
*exceptionVectorTableBrowseAct
;
236 uint32_t testPattern
[VIRTUAL_SCREEN_WIDTH
* VIRTUAL_SCREEN_HEIGHT_PAL
];
237 uint32_t testPattern2
[VIRTUAL_SCREEN_WIDTH
* VIRTUAL_SCREEN_HEIGHT_PAL
];
240 #endif // __MAINWIN_H__