]> Shamusworld >> Repos - virtualjaguar/blobdiff - src/gui/mainwin.h
Various changes to improve code readability, added mouse hiding.
[virtualjaguar] / src / gui / mainwin.h
index a3a26cccf95b2ebb3624fa4d680a6f452dbc4476..9efddfd83133554c63ced950cd4584a48efe167f 100644 (file)
@@ -1,7 +1,7 @@
 //
 // mainwin.h: Header file
 //
-// by James L. Hammons
+// by James Hammons
 // (C) 2010 Underground Software
 //
 
 
 //Hrm. uh??? I thought this wasn't the way to do this stuff...???
 #include <QtGui>
+#include "tom.h"
 
 // Forward declarations
-
 class GLWidget;
 class AboutWindow;
-//class EditWindow;
-//class CharWindow;
+class HelpWindow;
+class FilePickerWindow;
+class MemoryBrowserWindow;
+class CPUBrowserWindow;
+class OPBrowserWindow;
+class M68KDasmBrowserWindow;
+class RISCDasmBrowserWindow;
 
 class MainWin: public QMainWindow
 {
@@ -24,14 +29,21 @@ class MainWin: public QMainWindow
        Q_OBJECT
 
        public:
-               MainWin();
+//             MainWin(QString);
+               MainWin(bool);
+               void LoadFile(QString);
+               void SyncUI(void);
 
        protected:
-               void closeEvent(QCloseEvent * event);
+               void closeEvent(QCloseEvent *);
+               void keyPressEvent(QKeyEvent *);
+               void keyReleaseEvent(QKeyEvent *);
 
        private slots:
                void Open(void);
+               void Configure(void);
                void Timer(void);
+               void TogglePowerState(void);
                void ToggleRunState(void);
                void SetZoom100(void);
                void SetZoom200(void);
@@ -40,27 +52,69 @@ class MainWin: public QMainWindow
                void SetPAL(void);
                void ToggleBlur(void);
                void ShowAboutWin(void);
+               void ShowHelpWin(void);
+               void InsertCart(void);
+               void Unpause(void);
+               void LoadSoftware(QString);
+               void ToggleCDUsage(void);
+               void FrameAdvance(void);
+               void ToggleFullScreen(void);
+
+               void ShowMemoryBrowserWin(void);
+               void ShowCPUBrowserWin(void);
+               void ShowOPBrowserWin(void);
+               void ShowM68KDasmBrowserWin(void);
+               void ShowRISCDasmBrowserWin(void);
 
        private:
+               void HandleKeys(QKeyEvent *, bool);
+               void HandleGamepads(void);
+               void SetFullScreen(bool state = true);
                void ResizeMainWindow(void);
                void ReadSettings(void);
                void WriteSettings(void);
+               void WriteUISettings(void);
 
 //     public:
                GLWidget * videoWidget;
                AboutWindow * aboutWin;
+               HelpWindow * helpWin;
+               FilePickerWindow * filePickWin;
+               MemoryBrowserWindow * memBrowseWin;
+               CPUBrowserWindow * cpuBrowseWin;
+               OPBrowserWindow * opBrowseWin;
+               M68KDasmBrowserWindow * m68kDasmBrowseWin;
+               RISCDasmBrowserWindow * riscDasmBrowseWin;
                QTimer * timer;
                bool running;
                int zoomLevel;
-
+               bool powerButtonOn;
+               bool showUntunedTankCircuit;
+               bool cartridgeLoaded;
+               bool allowUnknownSoftware;
+               bool CDActive;
+//             bool alpineLoadSuccessful;
+               bool pauseForFileSelector;
+               bool loadAndGo;
+               bool keyHeld[8];
+               bool fullScreen;
+       public:
+               bool plzDontKillMyComputer;
+       private:
+               QPoint mainWinPosition;
+//             QSize mainWinSize;
                QMenu * fileMenu;
                QMenu * helpMenu;
+               QMenu * debugMenu;
+               QToolBar * toolbar;
+               QToolBar * debugbar;
 
                QActionGroup * zoomActs;
                QActionGroup * tvTypeActs;
 
                QAction * quitAppAct;
                QAction * powerAct;
+               QAction * pauseAct;
                QAction * x1Act;
                QAction * x2Act;
                QAction * x3Act;
@@ -68,6 +122,22 @@ class MainWin: public QMainWindow
                QAction * palAct;
                QAction * blurAct;
                QAction * aboutAct;
+               QAction * helpAct;
+               QAction * filePickAct;
+               QAction * configAct;
+               QAction * useCDAct;
+               QAction * frameAdvanceAct;
+               QAction * fullScreenAct;
+
+               QAction * memBrowseAct;
+               QAction * cpuBrowseAct;
+               QAction * opBrowseAct;
+               QAction * m68kDasmBrowseAct;
+               QAction * riscDasmBrowseAct;
+
+               QIcon powerGreen;
+               QIcon powerRed;
+               uint32_t testPattern[VIRTUAL_SCREEN_WIDTH * VIRTUAL_SCREEN_HEIGHT_PAL];
 };
 
 #endif // __MAINWIN_H__