Cosmetic changes on UI and icons.
[clinton/Virtual-Jaguar-Rx.git] / src / gui / mainwin.h
CommitLineData
0203b5fd
JPM
1//\r
2// mainwin.h: Header file\r
3//\r
4// by James Hammons\r
5// (C) 2010 Underground Software\r
6//\r
7\r
8#ifndef __MAINWIN_H__\r
9#define __MAINWIN_H__\r
10\r
11//Hrm. uh??? I thought this wasn't the way to do this stuff...???\r
12#include <QtWidgets>\r
13#include "tom.h"\r
14\r
15#define RING_BUFFER_SIZE 32\r
16\r
17// Forward declarations\r
18class GLWidget;\r
19class VideoWindow;\r
20class AboutWindow;\r
21class HelpWindow;\r
22class FilePickerWindow;\r
23class MemoryBrowserWindow;\r
24class StackBrowserWindow;\r
25class CPUBrowserWindow;\r
26class OPBrowserWindow;\r
27class M68KDasmBrowserWindow;\r
28class RISCDasmBrowserWindow;\r
a2dfb8e5 29//class VideoOutputWindow;\r
0203b5fd
JPM
30class DasmWindow;\r
31class m68KDasmWindow;\r
32class GPUDasmWindow;\r
33class DSPDasmWindow;\r
34class EmuStatusWindow;\r
35class AllWatchBrowserWindow;\r
36class LocalBrowserWindow;\r
37class HeapAllocatorBrowserWindow;\r
38class Memory1BrowserWindow;\r
39class BrkWindow;\r
40class ExceptionVectorTableBrowserWindow;\r
41\r
42class MainWin: public QMainWindow\r
43{\r
44 // All Qt apps require this macro for signal/slot functionality to work\r
45 Q_OBJECT\r
46\r
47 public:\r
48// MainWin(QString);\r
49 MainWin(bool);\r
50 void LoadFile(QString);\r
51 void SyncUI(void);\r
52 void RefreshDebuggerWindows(void);\r
a2dfb8e5 53 void ResetDebuggerWindows(void);\r
0203b5fd
JPM
54 void RefreshAlpineWindows(void);\r
55\r
56 protected:\r
57 void closeEvent(QCloseEvent *);\r
58 void keyPressEvent(QKeyEvent *);\r
59 void keyReleaseEvent(QKeyEvent *);\r
60\r
61 private slots:\r
62 void Open(void);\r
63 void Configure(void);\r
64 void Timer(void);\r
65 void TogglePowerState(void);\r
66 void ToggleRunState(void);\r
67 void SetZoom100(void);\r
68 void SetZoom200(void);\r
69 void SetZoom300(void);\r
70 void SetNTSC(void);\r
71 void SetPAL(void);\r
72 void ToggleBlur(void);\r
73 void ShowAboutWin(void);\r
74 void ShowHelpWin(void);\r
75 void InsertCart(void);\r
76 void Unpause(void);\r
77 void LoadSoftware(QString);\r
78 void ToggleCDUsage(void);\r
79 void FrameAdvance(void);\r
80 void TraceStepOver(void);\r
81 void TraceStepInto(void);\r
82 void ToggleFullScreen(void);\r
83 void Restart(void);\r
84 void NewBreakpointFunction(void);\r
85 void ShowMemoryBrowserWin(void);\r
86 void ShowStackBrowserWin(void);\r
87 void ShowCPUBrowserWin(void);\r
88 void ShowOPBrowserWin(void);\r
89 void ShowM68KDasmBrowserWin(void);\r
90 void ShowRISCDasmBrowserWin(void);\r
91 void ShowVideoOutputWin(void);\r
92 void ShowDasmWin(void);\r
93 void ShowEmuStatusWin(void);\r
94 void ShowAllWatchBrowserWin(void);\r
95 void ShowLocalBrowserWin(void);\r
96 void ShowHeapAllocatorBrowserWin(void);\r
97 void ShowMemory1BrowserWin(int NumWin);\r
98 void ShowExceptionVectorTableBrowserWin(void);\r
99\r
100 private:\r
101 void HandleKeys(QKeyEvent *, bool);\r
102 void HandleGamepads(void);\r
103 void SetFullScreen(bool state = true);\r
104 void ResizeMainWindow(void);\r
105 void ReadUISettings(void);\r
106 void ReadSettings(void);\r
107 void WriteSettings(void);\r
108 void WriteUISettings(void);\r
109\r
110// public:\r
111 GLWidget * videoWidget;\r
112 QMdiArea *mainWindowCentrale;\r
113 QMdiSubWindow *VideoOutputWindowCentrale;\r
114 AboutWindow * aboutWin;\r
115 HelpWindow * helpWin;\r
116 FilePickerWindow * filePickWin;\r
117 EmuStatusWindow * emuStatusWin;\r
118 MemoryBrowserWindow * memBrowseWin;\r
119 StackBrowserWindow * stackBrowseWin;\r
120 CPUBrowserWindow * cpuBrowseWin;\r
121 OPBrowserWindow * opBrowseWin;\r
122 M68KDasmBrowserWindow * m68kDasmBrowseWin;\r
123 RISCDasmBrowserWindow * riscDasmBrowseWin;\r
a2dfb8e5 124 //VideoOutputWindow * VideoOutputWin;\r
0203b5fd
JPM
125 AllWatchBrowserWindow * allWatchBrowseWin;\r
126 LocalBrowserWindow * LocalBrowseWin;\r
127 ExceptionVectorTableBrowserWindow *exceptionvectortableBrowseWin;\r
128 HeapAllocatorBrowserWindow *heapallocatorBrowseWin;\r
129 Memory1BrowserWindow ** mem1BrowseWin;\r
130 DasmWindow * DasmWin;\r
131 QTabWidget *dasmtabWidget;\r
132 //QDockWidget *dasmtabWidget;\r
133 m68KDasmWindow *m68kDasmWin;\r
134 GPUDasmWindow *GPUDasmWin;\r
135 DSPDasmWindow *DSPDasmWin;\r
136 BrkWindow *brkWin;\r
137 QTimer * timer;\r
138 bool running;\r
139 int zoomLevel;\r
140 bool powerButtonOn;\r
141 bool showUntunedTankCircuit;\r
142 public:\r
143 bool cartridgeLoaded;\r
144 private:\r
145 bool allowUnknownSoftware;\r
146 bool CDActive;\r
147// bool alpineLoadSuccessful;\r
148 bool pauseForFileSelector;\r
149 bool loadAndGo;\r
150 bool keyHeld[8];\r
151 bool fullScreen;\r
152 bool scannedSoftwareFolder;\r
153 public:\r
154 bool plzDontKillMyComputer;\r
155 uint32_t oldTimestamp;\r
156 uint32_t ringBufferPointer;\r
157 uint32_t ringBuffer[RING_BUFFER_SIZE];\r
158 private:\r
159 QPoint mainWinPosition;\r
160// QSize mainWinSize;\r
161 int lastEditedProfile;\r
162 QMenu * fileMenu;\r
163 QMenu * helpMenu;\r
164 QMenu * debugMenu, * debugWindowsMenu, *debugWindowsBrowsesMenu, *debugWindowsWatchMenu, *debugWindowOutputMenu, *debugWindowExceptionMenu, *debugWindowsMemoryMenu, *debugNewBreakpointMenu;\r
165 QToolBar * toolbar;\r
166 QToolBar * debugbar;\r
167 QToolBar * debuggerbar;\r
168\r
169 QActionGroup * zoomActs;\r
170 QActionGroup * tvTypeActs;\r
171\r
172 QAction * quitAppAct;\r
173 QAction * powerAct;\r
174 QAction * pauseAct;\r
175 QAction * x1Act;\r
176 QAction * x2Act;\r
177 QAction * x3Act;\r
178 QAction * ntscAct;\r
179 QAction * palAct;\r
180 QAction * blurAct;\r
181 QAction * aboutAct;\r
182 QAction * helpAct;\r
183 QAction * filePickAct;\r
184 QAction * configAct;\r
185 QAction * emustatusAct;\r
186 QAction * useCDAct;\r
187 QAction * frameAdvanceAct;\r
188 QAction *traceStepOverAct;\r
189 QAction *traceStepIntoAct;\r
190 QAction *restartAct;\r
191 QAction * fullScreenAct;\r
192\r
193 QAction *memBrowseAct;\r
194 QAction *stackBrowseAct;\r
195 QAction *cpuBrowseAct;\r
196 QAction *opBrowseAct;\r
197 QAction *m68kDasmBrowseAct;\r
198 QAction *riscDasmBrowseAct;\r
199 QAction *VideoOutputAct;\r
200 QAction *DasmAct;\r
201 QAction *heapallocatorBrowseAct;\r
202 QAction *allWatchBrowseAct;\r
203 QAction *LocalBrowseAct;\r
204 QAction **mem1BrowseAct;\r
205 QAction *newBreakpointFunctionAct;\r
206 QAction *exceptionVectorTableBrowseAct;\r
207\r
208 QIcon powerGreen;\r
209 QIcon powerRed;\r
210 QIcon blur;\r
211 uint32_t testPattern[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT_PAL];\r
212 uint32_t testPattern2[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT_PAL];\r
213};\r
214\r
215#endif // __MAINWIN_H__\r