]> Shamusworld >> Repos - virtualjaguar/blob - src/gui/mainwin.h
fd6aef14c8c03de782dc02d8e1d59f30c38f357c
[virtualjaguar] / src / gui / mainwin.h
1 //
2 // mainwin.h: Header file
3 //
4 // by James Hammons
5 // (C) 2010 Underground Software
6 //
7
8 #ifndef __MAINWIN_H__
9 #define __MAINWIN_H__
10
11 //Hrm. uh??? I thought this wasn't the way to do this stuff...???
12 #include <QtGui>
13
14 // Forward declarations
15 class GLWidget;
16 class AboutWindow;
17 class HelpWindow;
18 class FilePickerWindow;
19 class MemoryBrowserWindow;
20
21 class MainWin: public QMainWindow
22 {
23         // All Qt apps require this macro for signal/slot functionality to work
24         Q_OBJECT
25
26         public:
27 //              MainWin(QString);
28                 MainWin(bool);
29                 void LoadFile(QString);
30                 void SyncUI(void);
31
32         protected:
33                 void closeEvent(QCloseEvent *);
34                 void keyPressEvent(QKeyEvent *);
35                 void keyReleaseEvent(QKeyEvent *);
36
37         private slots:
38                 void Open(void);
39                 void Configure(void);
40                 void Timer(void);
41                 void TogglePowerState(void);
42                 void ToggleRunState(void);
43                 void SetZoom100(void);
44                 void SetZoom200(void);
45                 void SetZoom300(void);
46                 void SetNTSC(void);
47                 void SetPAL(void);
48                 void ToggleBlur(void);
49                 void ShowAboutWin(void);
50                 void ShowHelpWin(void);
51                 void InsertCart(void);
52                 void Unpause(void);
53                 void LoadSoftware(QString);
54                 void ToggleCDUsage(void);
55                 void FrameAdvance(void);
56
57                 void ShowMemoryBrowserWin(void);
58
59         private:
60                 void HandleKeys(QKeyEvent *, bool);
61                 void ResizeMainWindow(void);
62                 void ReadSettings(void);
63                 void WriteSettings(void);
64                 void WriteUISettings(void);
65
66 //      public:
67                 GLWidget * videoWidget;
68                 AboutWindow * aboutWin;
69                 HelpWindow * helpWin;
70                 FilePickerWindow * filePickWin;
71                 MemoryBrowserWindow * memBrowseWin;
72                 QTimer * timer;
73                 bool running;
74                 int zoomLevel;
75                 bool powerButtonOn;
76                 bool showUntunedTankCircuit;
77                 bool cartridgeLoaded;
78                 bool allowUnknownSoftware;
79                 bool CDActive;
80 //              bool alpineLoadSuccessful;
81                 bool pauseForFileSelector;
82                 bool loadAndGo;
83                 bool keyHeld[8];
84         public:
85                 bool plzDontKillMyComputer;
86         private:
87                 QMenu * fileMenu;
88                 QMenu * helpMenu;
89                 QMenu * debugMenu;
90                 QToolBar * toolbar;
91                 QToolBar * debugbar;
92
93                 QActionGroup * zoomActs;
94                 QActionGroup * tvTypeActs;
95
96                 QAction * quitAppAct;
97                 QAction * powerAct;
98                 QAction * pauseAct;
99                 QAction * x1Act;
100                 QAction * x2Act;
101                 QAction * x3Act;
102                 QAction * ntscAct;
103                 QAction * palAct;
104                 QAction * blurAct;
105                 QAction * aboutAct;
106                 QAction * helpAct;
107                 QAction * filePickAct;
108                 QAction * configAct;
109                 QAction * useCDAct;
110                 QAction * frameAdvanceAct;
111
112                 QAction * memBrowseAct;
113
114                 QIcon powerGreen;
115                 QIcon powerRed;
116 };
117
118 #endif  // __MAINWIN_H__