X-Git-Url: http://shamusworld.gotdns.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=src%2Fgui%2Fmainwin.h;h=c87ce997dd4ee1fe44ac96ebe83e86eae030dbfd;hb=19e894a3a9d9aeb0fbb3bf10ead34bed35f15a05;hp=9149c554803a6f05ed32052c2c0b1d1232e99b20;hpb=f24ae2128609d5ab8c9a57dfd9dbb46afb7302a9;p=virtualjaguar diff --git a/src/gui/mainwin.h b/src/gui/mainwin.h index 9149c55..c87ce99 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 // @@ -10,11 +10,20 @@ //Hrm. uh??? I thought this wasn't the way to do this stuff...??? #include +#include "tom.h" + +#define RING_BUFFER_SIZE 32 // Forward declarations class GLWidget; class AboutWindow; +class HelpWindow; class FilePickerWindow; +class MemoryBrowserWindow; +class CPUBrowserWindow; +class OPBrowserWindow; +class M68KDasmBrowserWindow; +class RISCDasmBrowserWindow; class MainWin: public QMainWindow { @@ -22,7 +31,10 @@ class MainWin: public QMainWindow Q_OBJECT public: - MainWin(); +// MainWin(QString); + MainWin(bool); + void LoadFile(QString); + void SyncUI(void); protected: void closeEvent(QCloseEvent *); @@ -31,7 +43,7 @@ class MainWin: public QMainWindow private slots: void Open(void); - void Configure(void); + void Configure(void); void Timer(void); void TogglePowerState(void); void ToggleRunState(void); @@ -42,19 +54,39 @@ 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; @@ -62,10 +94,25 @@ class MainWin: public QMainWindow bool showUntunedTankCircuit; bool cartridgeLoaded; bool allowUnknownSoftware; - + bool CDActive; +// bool alpineLoadSuccessful; + bool pauseForFileSelector; + bool loadAndGo; + bool keyHeld[8]; + bool fullScreen; + public: + bool plzDontKillMyComputer; + uint32_t oldTimestamp; + uint32_t ringBufferPointer; + uint32_t ringBuffer[RING_BUFFER_SIZE]; + private: + QPoint mainWinPosition; +// QSize mainWinSize; QMenu * fileMenu; QMenu * helpMenu; + QMenu * debugMenu; QToolBar * toolbar; + QToolBar * debugbar; QActionGroup * zoomActs; QActionGroup * tvTypeActs; @@ -80,8 +127,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__