2 // mainwin.h: Header file
5 // (C) 2010 Underground Software
11 //Hrm. uh??? I thought this wasn't the way to do this stuff...???
15 #define RING_BUFFER_SIZE 32
22 class FilePickerWindow
;
23 //class VideoOutputWindow;
28 class EmuStatusWindow
;
31 class MemoryBrowserWindow
;
32 class StackBrowserWindow
;
33 class CPUBrowserWindow
;
34 class OPBrowserWindow
;
35 class M68KDasmBrowserWindow
;
36 class RISCDasmBrowserWindow
;
39 class AllWatchBrowserWindow
;
40 class LocalBrowserWindow
;
41 class CallStackBrowserWindow
;
42 class HeapAllocatorBrowserWindow
;
43 class Memory1BrowserWindow
;
45 class ExceptionVectorTableBrowserWindow
;
46 class FilesrcListWindow
;
50 class MainWin
: public QMainWindow
52 // All Qt apps require this macro for signal/slot functionality to work
58 void LoadFile(QString
);
60 void DebuggerRefreshWindows(void);
61 void DebuggerResetWindows(void);
62 void AlpineRefreshWindows(void);
65 void closeEvent(QCloseEvent
*);
66 void keyPressEvent(QKeyEvent
*);
67 void keyReleaseEvent(QKeyEvent
*);
73 void TogglePowerState(void);
74 void ToggleRunState(void);
75 void SetZoom100(void);
76 void SetZoom200(void);
77 void SetZoom300(void);
80 void ToggleBlur(void);
81 void ShowAboutWin(void);
82 void ShowHelpWin(void);
83 void InsertCart(void);
85 void LoadSoftware(QString
);
86 void ToggleCDUsage(void);
87 void FrameAdvance(void);
88 void ToggleFullScreen(void);
89 void ShowEmuStatusWin(void);
90 void MakeScreenshot(void);
92 void DebuggerTraceStepOver(void);
93 void DebuggerTraceStepInto(void);
94 void DebuggerRestart(void);
95 void ShowAllWatchBrowserWin(void);
96 void ShowLocalBrowserWin(void);
97 void ShowCallStackBrowserWin(void);
98 void ShowHeapAllocatorBrowserWin(void);
99 void ShowMemory1BrowserWin(int NumWin
);
100 void ShowExceptionVectorTableBrowserWin(void);
101 void NewBreakpointFunction(void);
102 //void ShowVideoOutputWin(void);
103 //void ShowDasmWin(void);
105 void ShowMemoryBrowserWin(void);
106 void ShowStackBrowserWin(void);
107 void ShowCPUBrowserWin(void);
108 void ShowOPBrowserWin(void);
109 void ShowM68KDasmBrowserWin(void);
110 void ShowRISCDasmBrowserWin(void);
113 void HandleKeys(QKeyEvent
*, bool);
114 void HandleGamepads(void);
115 void SetFullScreen(bool state
= true);
116 void ResizeMainWindow(void);
117 void ReadUISettings(void);
118 void ReadSettings(void);
119 void WriteSettings(void);
120 void WriteUISettings(void);
123 GLWidget
*videoWidget
;
124 QMdiArea
*mainWindowCentrale
;
125 QMdiSubWindow
*VideoOutputWindowCentrale
;
126 AboutWindow
*aboutWin
;
128 FilePickerWindow
*filePickWin
;
129 EmuStatusWindow
*emuStatusWin
;
130 MemoryBrowserWindow
*memBrowseWin
;
131 StackBrowserWindow
*stackBrowseWin
;
132 CPUBrowserWindow
*cpuBrowseWin
;
133 OPBrowserWindow
*opBrowseWin
;
134 M68KDasmBrowserWindow
*m68kDasmBrowseWin
;
135 RISCDasmBrowserWindow
*riscDasmBrowseWin
;
136 //VideoOutputWindow *VideoOutputWin;
137 AllWatchBrowserWindow
*allWatchBrowseWin
;
138 LocalBrowserWindow
*LocalBrowseWin
;
139 CallStackBrowserWindow
*CallStackBrowseWin
;
140 ExceptionVectorTableBrowserWindow
*exceptionvectortableBrowseWin
;
141 HeapAllocatorBrowserWindow
*heapallocatorBrowseWin
;
142 Memory1BrowserWindow
**mem1BrowseWin
;
143 //DasmWindow * DasmWin;
144 QTabWidget
*dasmtabWidget
;
145 //QDockWidget *dasmtabWidget;
146 m68KDasmWindow
*m68kDasmWin
;
147 GPUDasmWindow
*GPUDasmWin
;
148 DSPDasmWindow
*DSPDasmWin
;
149 FilesrcListWindow
*FilesrcListWin
;
155 bool showUntunedTankCircuit
;
158 bool cartridgeLoaded
;
161 bool allowUnknownSoftware
;
163 // bool alpineLoadSuccessful;
164 bool pauseForFileSelector
;
168 bool scannedSoftwareFolder
;
171 bool plzDontKillMyComputer
;
172 uint32_t oldTimestamp
;
173 uint32_t ringBufferPointer
;
174 uint32_t ringBuffer
[RING_BUFFER_SIZE
];
177 QPoint mainWinPosition
;
178 // QSize mainWinSize;
179 int lastEditedProfile
;
182 QMenu
* debugMenu
, * debugWindowsMenu
, *debugWindowsBrowsesMenu
, *debugWindowsWatchMenu
, *debugWindowOutputMenu
, *debugWindowExceptionMenu
, *debugWindowsMemoryMenu
, *debugNewBreakpointMenu
;
185 QToolBar
* debuggerbar
;
187 QActionGroup
* zoomActs
;
188 QActionGroup
* tvTypeActs
;
190 QAction
* quitAppAct
;
201 QAction
* filePickAct
;
203 QAction
* emustatusAct
;
205 QAction
* frameAdvanceAct
;
206 QAction
*traceStepOverAct
;
207 QAction
*traceStepIntoAct
;
209 QAction
* fullScreenAct
;
211 QAction
*screenshotAct
;;
214 QAction
*memBrowseAct
;
215 QAction
*stackBrowseAct
;
216 QAction
*cpuBrowseAct
;
217 QAction
*opBrowseAct
;
218 QAction
*m68kDasmBrowseAct
;
219 QAction
*riscDasmBrowseAct
;
222 //QAction *VideoOutputAct;
223 QAction
*heapallocatorBrowseAct
;
224 QAction
*allWatchBrowseAct
;
225 QAction
*LocalBrowseAct
;
226 QAction
*CallStackBrowseAct
;
227 QAction
**mem1BrowseAct
;
228 QAction
*newBreakpointFunctionAct
;
229 QAction
*exceptionVectorTableBrowseAct
;
234 uint32_t testPattern
[VIRTUAL_SCREEN_WIDTH
* VIRTUAL_SCREEN_HEIGHT_PAL
];
235 uint32_t testPattern2
[VIRTUAL_SCREEN_WIDTH
* VIRTUAL_SCREEN_HEIGHT_PAL
];
238 #endif // __MAINWIN_H__