X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui%2Fmainwin.h;h=8d51e190ffa68d9b1ce9b3ee5f5c8d3cae2a9f56;hb=122ea9b537bf5da3e5cca0804826ef19d3b8fe86;hp=831b56bed704f33b119bd8cc094899b9b71743d0;hpb=94e1e961b57f253b760298ab0bae96a7de6d20fa;p=virtualjaguar diff --git a/src/gui/mainwin.h b/src/gui/mainwin.h index 831b56b..8d51e19 100644 --- a/src/gui/mainwin.h +++ b/src/gui/mainwin.h @@ -1,7 +1,7 @@ // // mainwin.h: Header file // -// by James L. Hammons +// by James Hammons // (C) 2010 Underground Software // @@ -12,10 +12,12 @@ #include // Forward declarations - class GLWidget; -//class EditWindow; -//class CharWindow; +class AboutWindow; +class HelpWindow; +class FilePickerWindow; +class MemoryBrowserWindow; +class CPUBrowserWindow; class MainWin: public QMainWindow { @@ -23,24 +25,102 @@ 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); + void SetZoom300(void); + void SetNTSC(void); + 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); private: + void HandleKeys(QKeyEvent *, bool); + 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; QTimer * timer; -// EditWindow * editWnd; -// CharWindow * charWnd; + 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: + 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; + QAction * ntscAct; + QAction * palAct; + QAction * blurAct; + QAction * aboutAct; + QAction * helpAct; + QAction * filePickAct; + QAction * configAct; + QAction * useCDAct; + QAction * frameAdvanceAct; + QAction * fullScreenAct; + + QAction * memBrowseAct; + QAction * cpuBrowseAct; + + QIcon powerGreen; + QIcon powerRed; }; #endif // __MAINWIN_H__