fceux/src/drivers/Qt/ConsoleWindow.h

178 lines
3.9 KiB
C++

//
#ifndef __GameAppH__
#define __GameAppH__
#include <QApplication>
#include <QMainWindow>
#include <QWidget>
#include <QPushButton>
#include <QMenu>
#include <QMenuBar>
#include <QVBoxLayout>
#include <QHBoxLayout>
#include <QKeyEvent>
#include <QTimer>
#include <QThread>
#include <QMutex>
#include "Qt/ConsoleViewerGL.h"
#include "Qt/ConsoleViewerSDL.h"
#include "Qt/GamePadConf.h"
class emulatorThread_t : public QThread
{
Q_OBJECT
//public slots:
void run( void ) override;
signals:
void finished();
};
class consoleWin_t : public QMainWindow
{
Q_OBJECT
public:
consoleWin_t(QWidget *parent = 0);
~consoleWin_t(void);
ConsoleViewGL_t *viewport_GL;
ConsoleViewSDL_t *viewport_SDL;
void setCyclePeriodms( int ms );
QMutex *mutex;
void QueueErrorMsgWindow( const char *msg );
protected:
QMenu *fileMenu;
QMenu *optMenu;
QMenu *emuMenu;
QMenu *toolsMenu;
QMenu *debugMenu;
QMenu *movieMenu;
QMenu *helpMenu;
QAction *openROM;
QAction *closeROM;
QAction *playNSF;
QAction *loadStateAct;
QAction *saveStateAct;
QAction *quickLoadAct;
QAction *quickSaveAct;
QAction *loadLuaAct;
QAction *scrShotAct;
QAction *quitAct;
QAction *gamePadConfig;
QAction *gameSoundConfig;
QAction *gameVideoConfig;
QAction *hotkeyConfig;
QAction *paletteConfig;
QAction *guiConfig;
QAction *autoResume;
QAction *fullscreen;
QAction *aboutAct;
QAction *aboutActQt;
QAction *state[10];
QAction *powerAct;
QAction *resetAct;
QAction *sresetAct;
QAction *pauseAct;
QAction *gameGenieAct;
QAction *loadGgROMAct;
QAction *insCoinAct;
QAction *fdsSwitchAct;
QAction *fdsEjectAct;
QAction *fdsLoadBiosAct;
QAction *cheatsAct;
QAction *debuggerAct;
QAction *codeDataLogAct;
QAction *traceLogAct;
QAction *hexEditAct;
QAction *ppuViewAct;
QAction *openMovAct;
QAction *stopMovAct;
QAction *recMovAct;
QAction *recAsMovAct;
QTimer *gameTimer;
emulatorThread_t *emulatorThread;
std::string errorMsg;
bool errorMsgValid;
protected:
void closeEvent(QCloseEvent *event);
void keyPressEvent(QKeyEvent *event);
void keyReleaseEvent(QKeyEvent *event);
void syncActionConfig( QAction *act, const char *property );
void showErrorMsgWindow(void);
private:
void createMainMenu(void);
public slots:
void openDebugWindow(void);
void openHexEditor(void);
private slots:
void closeApp(void);
void openROMFile(void);
void loadNSF(void);
void loadStateFrom(void);
void saveStateAs(void);
void quickLoad(void);
void quickSave(void);
void closeROMCB(void);
void aboutFCEUX(void);
void aboutQt(void);
void openGamePadConfWin(void);
void openGameSndConfWin(void);
void openGameVideoConfWin(void);
void openHotkeyConfWin(void);
void openPaletteConfWin(void);
void openGuiConfWin(void);
void openCodeDataLogger(void);
void openTraceLogger(void);
void toggleAutoResume(void);
void toggleFullscreen(void);
void updatePeriodic(void);
void changeState0(void);
void changeState1(void);
void changeState2(void);
void changeState3(void);
void changeState4(void);
void changeState5(void);
void changeState6(void);
void changeState7(void);
void changeState8(void);
void changeState9(void);
void loadLua(void);
void takeScreenShot(void);
void powerConsoleCB(void);
void consoleHardReset(void);
void consoleSoftReset(void);
void consolePause(void);
void toggleGameGenie(bool checked);
void loadGameGenieROM(void);
void insertCoin(void);
void fdsSwitchDisk(void);
void fdsEjectDisk(void);
void fdsLoadBiosFile(void);
void openPPUViewer(void);
void openCheats(void);
void openMovie(void);
void stopMovie(void);
void recordMovie(void);
void recordMovieAs(void);
};
extern consoleWin_t *consoleWindow;
#endif