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
;
46 class BreakpointsWindow
;
47 class NewFnctBreakpointWindow
;
48 class ExceptionVectorTableBrowserWindow
;
49 class FilesrcListWindow
;
53 class MainWin
: public QMainWindow
55 // All Qt apps require this macro for signal/slot functionality to work
61 void LoadFile(QString
);
63 void DebuggerRefreshWindows(void);
64 void DebuggerResetWindows(void);
65 void AlpineRefreshWindows(void);
68 void closeEvent(QCloseEvent
*);
69 void keyPressEvent(QKeyEvent
*);
70 void keyReleaseEvent(QKeyEvent
*);
76 void TogglePowerState(void);
77 void ToggleRunState(void);
78 void SetZoom100(void);
79 void SetZoom200(void);
80 void SetZoom300(void);
83 void ToggleBlur(void);
84 void ShowAboutWin(void);
85 void ShowHelpWin(void);
86 void InsertCart(void);
88 void LoadSoftware(QString
);
89 void ToggleCDUsage(void);
90 void FrameAdvance(void);
91 void ToggleFullScreen(void);
92 void ShowEmuStatusWin(void);
93 void MakeScreenshot(void);
95 void DebuggerTraceStepOver(void);
96 void DebuggerTraceStepInto(void);
97 void DebuggerRestart(void);
98 void ShowAllWatchBrowserWin(void);
99 void ShowLocalBrowserWin(void);
100 void ShowCallStackBrowserWin(void);
101 void ShowHeapAllocatorBrowserWin(void);
102 void ShowMemory1BrowserWin(int NumWin
);
103 void ShowExceptionVectorTableBrowserWin(void);
104 void ShowNewFunctionBreakpointWin(void);
105 void ShowBreakpointsWin(void);
106 void DeleteAllBreakpoints(void);
107 void DisableAllBreakpoints(void);
108 //void ShowVideoOutputWin(void);
109 //void ShowDasmWin(void);
111 void ShowMemoryBrowserWin(void);
112 void ShowStackBrowserWin(void);
113 void ShowCPUBrowserWin(void);
114 void ShowOPBrowserWin(void);
115 void ShowM68KDasmBrowserWin(void);
116 void ShowRISCDasmBrowserWin(void);
119 void HandleKeys(QKeyEvent
*, bool);
120 void HandleGamepads(void);
121 void SetFullScreen(bool state
= true);
122 void ResizeMainWindow(void);
123 void ReadUISettings(void);
124 void ReadSettings(void);
125 void WriteSettings(void);
126 void WriteUISettings(void);
129 GLWidget
*videoWidget
;
130 QMdiArea
*mainWindowCentrale
;
131 QMdiSubWindow
*VideoOutputWindowCentrale
;
132 AboutWindow
*aboutWin
;
134 FilePickerWindow
*filePickWin
;
135 EmuStatusWindow
*emuStatusWin
;
136 MemoryBrowserWindow
*memBrowseWin
;
137 StackBrowserWindow
*stackBrowseWin
;
138 CPUBrowserWindow
*cpuBrowseWin
;
139 OPBrowserWindow
*opBrowseWin
;
140 M68KDasmBrowserWindow
*m68kDasmBrowseWin
;
141 RISCDasmBrowserWindow
*riscDasmBrowseWin
;
142 //VideoOutputWindow *VideoOutputWin;
143 AllWatchBrowserWindow
*allWatchBrowseWin
;
144 LocalBrowserWindow
*LocalBrowseWin
;
145 CallStackBrowserWindow
*CallStackBrowseWin
;
146 ExceptionVectorTableBrowserWindow
*exceptionvectortableBrowseWin
;
147 HeapAllocatorBrowserWindow
*heapallocatorBrowseWin
;
148 Memory1BrowserWindow
**mem1BrowseWin
;
149 //DasmWindow * DasmWin;
150 QTabWidget
*dasmtabWidget
;
151 //QDockWidget *dasmtabWidget;
152 m68KDasmWindow
*m68kDasmWin
;
153 GPUDasmWindow
*GPUDasmWin
;
154 DSPDasmWindow
*DSPDasmWin
;
155 FilesrcListWindow
*FilesrcListWin
;
156 BreakpointsWindow
*BreakpointsWin
;
157 NewFnctBreakpointWindow
*NewFunctionBreakpointWin
;
162 bool showUntunedTankCircuit
;
165 bool cartridgeLoaded
;
168 bool allowUnknownSoftware
;
170 // bool alpineLoadSuccessful;
171 bool pauseForFileSelector
;
175 bool scannedSoftwareFolder
;
178 bool plzDontKillMyComputer
;
179 uint32_t oldTimestamp
;
180 uint32_t ringBufferPointer
;
181 uint32_t ringBuffer
[RING_BUFFER_SIZE
];
184 QPoint mainWinPosition
;
185 // QSize mainWinSize;
186 int lastEditedProfile
;
189 QMenu
*debugMenu
, *debugWindowsMenu
, *debugWindowsBrowsesMenu
, *debugWindowsWatchMenu
, *debugWindowOutputMenu
, *debugWindowExceptionMenu
, *debugWindowsMemoryMenu
, *debugNewBreakpointMenu
;
192 QToolBar
* debuggerbar
;
194 QActionGroup
* zoomActs
;
195 QActionGroup
* tvTypeActs
;
208 QAction
*filePickAct
;
210 QAction
*emustatusAct
;
212 QAction
*frameAdvanceAct
;
213 QAction
*fullScreenAct
;
215 QAction
*screenshotAct
;
218 QAction
*memBrowseAct
;
219 QAction
*stackBrowseAct
;
220 QAction
*cpuBrowseAct
;
221 QAction
*opBrowseAct
;
222 QAction
*m68kDasmBrowseAct
;
223 QAction
*riscDasmBrowseAct
;
226 QAction
*traceStepOverAct
;
227 QAction
*traceStepIntoAct
;
229 //QAction *VideoOutputAct;
230 QAction
*heapallocatorBrowseAct
;
231 QAction
*allWatchBrowseAct
;
232 QAction
*LocalBrowseAct
;
233 QAction
*CallStackBrowseAct
;
234 QAction
**mem1BrowseAct
;
235 QAction
*newFunctionBreakpointAct
;
236 QAction
*BreakpointsAct
;
237 QAction
*deleteAllBreakpointsAct
;
238 QAction
*disableAllBreakpointsAct
;
239 QAction
*exceptionVectorTableBrowseAct
;
244 uint32_t testPattern
[VIRTUAL_SCREEN_WIDTH
* VIRTUAL_SCREEN_HEIGHT_PAL
];
245 uint32_t testPattern2
[VIRTUAL_SCREEN_WIDTH
* VIRTUAL_SCREEN_HEIGHT_PAL
];
248 #endif // __MAINWIN_H__