X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=source%2Fsrc%2Fqt%2Fgui%2Fmainwidget_base.h;h=6278335b360cb6528f33105b8c6288e4dda7c640;hb=90a1d498c79c26d69c78435600856b152aa07291;hp=713467d0ba047953d4a6bfd641a3208517387456;hpb=9703e81ed5680d1958c74805c91d16697676d17c;p=csp-qt%2Fcommon_source_project-fm7.git diff --git a/source/src/qt/gui/mainwidget_base.h b/source/src/qt/gui/mainwidget_base.h index 713467d0b..6278335b3 100644 --- a/source/src/qt/gui/mainwidget_base.h +++ b/source/src/qt/gui/mainwidget_base.h @@ -7,47 +7,22 @@ #ifndef _CSP_QT_MAINWIDGET_BASE_H #define _CSP_QT_MAINWIDGET_BASE_H -#if defined(_USE_QT5) -#include -#include -#include -#include -#include -#include +//#include +//#include +//#include #include -#include -#include -#include -#include #include -#include -#include +#include #include -#include -#else -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#endif +//#include +//#include -#include "simd_types.h" #include "common.h" #include "config.h" #include "menu_flags.h" -//#include "emu.h" -//#include "vm.h" +#include "csp_logger.h" -class MOVIE_SAVER; +class DLL_PREFIX_I MOVIE_SAVER; #include "qt_main.h" #define _MAX_DEBUGGER 8 @@ -61,8 +36,84 @@ enum { CSP_MAINWIDGET_SAVE_MOVIE_END, }; +#define MAX_RENDER_PLATFORMS 12 + +enum { + RENDER_PLATFORMS_OPENGL3_MAIN = 0, + RENDER_PLATFORMS_OPENGL2_MAIN, + RENDER_PLATFORMS_OPENGL_CORE, + RENDER_PLATFORMS_OPENGL_ES_2, + RENDER_PLATFORMS_END +}; + QT_BEGIN_NAMESPACE + +#define SET_ACTION_SINGLE(__action,__checkable,__enabled,__cfgif) \ + __action = new Action_Control(this, using_flags); \ + __action->setCheckable(__checkable); \ + __action->setEnabled(__enabled); \ + __action->setChecked(false); \ + if(__cfgif) { \ + __action->setChecked(true); \ + } \ + +#define SET_ACTION_CHECKABLE_SINGLE_CONNECT(__menu,__action,__objname,__cond,__signal1,__slot1) \ + __action = new Action_Control(this, using_flags); \ + __action->setObjectName(QString::fromUtf8(__objname)); \ + __action->setCheckable(true); \ + if(__cond) __action->setChecked(true); \ + connect(__action, __signal1, this, __slot1); \ + __menu->addAction(__action); + + +#define SET_HELP_MENUENTRY(__menu,__action,__objname,__txtname) \ + __action = new Action_Control(this, using_flags); \ + __action->setObjectName(QString::fromUtf8(__objname)); \ + __action->do_set_string(QString::fromUtf8(__txtname)); \ + connect(__action, SIGNAL(triggered()), __action, SLOT(do_send_string())); \ + connect(__action, SIGNAL(sig_send_string(QString)), this, SLOT(do_browse_document(QString))); \ + __menu->addAction(__action); + + +#define SET_ACTION_CONTROL_ARRAY(__start,__end, \ + __parent,__using_flags, \ + __menu,__action, \ + __checkable,__enabled,__cnf, \ + __signal1,__slot1, \ + __signal2,__slot2) \ + for(int _i = __start; _i < __end; _i++) { \ + __action[_i] = new Action_Control(__parent, __using_flags); \ + __action[_i]->setCheckable(__checkable); \ + __action[_i]->setEnabled(__enabled); \ + __action[_i]->binds->setValue1(_i); \ + __menu->addAction(__action[_i]); \ + if(p_config->__cnf[_i][0]) __action[_i]->setChecked(true); \ + connect(__action[_i], __signal1, __action[_i], __slot1); \ + connect(__action[_i], __signal2, this, __slot2); \ + } \ + +class OSD; +class QVariant; +class QAction; +class QActionGroup; +class QButtonGroup; +class QGraphicsView; +class QGraphicsScene; +class QHeaderView; +class QMenu; +class QMenuBar; +class QApplication; + +class QStatusBar; +class QWidget; +class QLabel; +class QGraphicsEllipseItem; +class QClipboard; +class QDockWidget; +class QHBoxLayout; +class QVBoxLayout; +class QGridLayout; class Ui_SoundDialog; class GLDrawClass; class Action_Control; @@ -70,32 +121,19 @@ class Menu_MetaClass; class Menu_FDClass; class Menu_CMTClass; class Menu_CartClass; +class Menu_HDDClass; class Menu_QDClass; class Menu_BinaryClass; class Menu_BubbleClass; class Menu_CompactDiscClass; class Menu_LaserdiscClass; +class CSP_DockDisks; class MOVIE_SAVER; - - +class EmuThreadClass; class DLL_PREFIX Ui_MainWindowBase : public QMainWindow { Q_OBJECT - protected: - USING_FLAGS *using_flags; - config_t *p_config; - QMainWindow *MainWindow; - QApplication *CoreApplication; - - QWidget *centralwidget; - GLDrawClass *graphicsView; - QStatusBar *statusbar; - QMenuBar *menubar; - QTimer *statusUpdateTimer; - - QTimer *ledUpdateTimer; - - int screen_mode_count; +private: QIcon WindowIcon; QIcon InsertIcon; QIcon EjectIcon; @@ -107,12 +145,114 @@ class DLL_PREFIX Ui_MainWindowBase : public QMainWindow QIcon VolumeLowIcon; QIcon VolumeMidIcon; QIcon VolumeHighIcon; - // Some Functions + + // File + QActionGroup *actionGroup_CpuSpeed; + class Action_Control *actionSpeed_x1; + class Action_Control *actionSpeed_x2; + class Action_Control *actionSpeed_x4; + class Action_Control *actionSpeed_x8; + class Action_Control *actionSpeed_x16; + class Action_Control *actionSpeed_FULL; + class Action_Control *actionPaste_from_Clipboard; + class Action_Control *actionStop_Pasting; + QMenu *menuSave_State; + QMenu *menuLoad_State; + + // Screen + QActionGroup *actionGroup_Stretch; + QActionGroup *actionGroup_SetRenderPlatform; + QActionGroup *actionGroup_RotateType; + class Action_Control *action_ScreenSeparateThread; + class Action_Control *action_ScreenUseOSD; + class Action_Control *actionZoom; + class Action_Control *actionDisplay_Mode; + class Action_Control *actionScanLine; + class Action_Control *actionGLScanLineHoriz; + class Action_Control *actionGLScanLineVert; + + class Action_Control *actionRotate[4]; + class Action_Control *actionCRT_Filter; + class Action_Control *actionOpenGL_Filter; + class Action_Control *actionDot_by_Dot; + class Action_Control *actionReferToX_Display; + class Action_Control *actionReferToY_Display; + class Action_Control *actionFill_Display; + QActionGroup *actionGroup_ScreenSize; + QActionGroup *actionGroup_RenderMode; + + // Sound + QActionGroup *actionGroup_Sound_Freq; + QActionGroup *actionGroup_Sound_Latency; + //class Action_Control *actionSoundCMT; + class Action_Control *action_VolumeDialog; + class Action_Control *actionSoundPlayTape; + class Action_Control *actionSoundStrictRendering; + class Action_Control *action_SoundFilesFDD; + class Action_Control *action_SoundFilesRelay; + //QMenu *menuLogToConsole; + //QMenu *menuLogToSyslog; + QMenu *menuDevLogToConsole; + QMenu *menuDevLogToSyslog; + QMenu *menu_SetRenderPlatform; + + // Misc + QMenu *menu_DispVirtualMedias; + QActionGroup *actionGroup_DispVirtualMedias; + class Action_Control *action_DispVirtualMedias[5]; + class Action_Control *action_FocusWithClick; + class Action_Control *action_UseRomaKana; + class Action_Control *action_NumPadEnterAsFullkey; + class Action_Control *action_Logging_FDC; + class Action_Control *action_LogToSyslog; + class Action_Control *action_LogToConsole; + class Action_Control *action_LogRecord; + class Action_Control *action_DevLogToSyslog[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1]; + class Action_Control *action_DevLogToConsole[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1]; + class Action_Control *action_DevLogRecord[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1]; + // Emulator + class Action_Control *action_SetupJoystick; + class Action_Control *action_SetupKeyboard; + class Action_Control *action_LogView; + class Action_Control *action_PrintCpuStatistics; + + QMenu *menu_EmulateCursorAs; + QActionGroup *actionGroup_EmulateCursorAs; + class Action_Control *action_EmulateCursorAs[4]; + + // Help + class Action_Control *actionHelp_README_BIOS; + class Action_Control *actionHelp_README; + class Action_Control *actionHelp_README_QT; + class Action_Control *actionHelp_README_MR_TANAM; + class Action_Control *actionHelp_README_Artane; + class Action_Control *actionHelp_README_Umaiboux; + class Action_Control *actionHelp_README_FAQ; + class Action_Control *actionHelp_README_FAQ_JP; + class Action_Control *actionHelp_README_FM7; + class Action_Control *actionHelp_README_FM7_JP; + class Action_Control *actionHelp_History; + class Action_Control *actionHelp_History_Relnote; + class Action_Control *actionHelp_History_ChangeLog; + class Action_Control *actionHelp_History_MR_TANAM; + class Action_Control *actionHelp_License; + class Action_Control *actionHelp_License_JP; + + // Led: OSD. + bool flags_led[32]; + bool flags_led_bak[32]; + QGraphicsView *led_graphicsView; + QGraphicsScene *led_gScene; + QGraphicsEllipseItem *led_leds[32]; + uint32_t osd_led_data; + + // Inner functions + void ConfigCpuSpeed(void); void ConfigControlMenu(void); void connectActions_ControlMenu(void); - void retranslateControlMenu(const char *SpecialResetTitle, bool WithSpecialReset); void ConfigFloppyMenu(void); + void ConfigHardDiskMenu(void); void ConfigSoundMenu(void); void CreateSoundMenu(void); @@ -122,23 +262,25 @@ class DLL_PREFIX Ui_MainWindowBase : public QMainWindow void CreateFloppyMenu(int drv, int drv_base); void CreateFloppyPulldownMenu(int drv); void ConfigFloppyMenuSub(int drv); - void retranslateFloppyMenu(int drv, int basedrv); - // Bubble + void CreateHardDiskMenu(int drv, int drv_base); + void CreateHardDiskPulldownMenu(int drv); + void ConfigHardDiskMenuSub(int drv); +// Bubble void CreateBubbleMenu(int drv, int drv_base); void CreateBubblePulldownMenu(int drv); void ConfigBubbleMenuSub(int drv); - void retranslateBubbleMenu(int drv, int basedrv); void ConfigBubbleMenu(void); + virtual int GetBubbleBankNum(int drv) { return 0; } + virtual int GetBubbleCurrentBankNum(int drv) { return 0; } + virtual bool GetBubbleCasetteIsProtected(int drv) { return false; } + virtual QString GetBubbleB77FileName(int drv) { return QString::fromUtf8(""); } + virtual QString GetBubbleB77BubbleName(int drv, int num) { return QString::fromUtf8(""); } - void CreateCMTMenu(void); - void CreateCMTPulldownMenu(void); - void ConfigCMTMenuSub(void); - void retranslateCMTMenu(void); + void CreateCMTMenu(int drive, int drv_base); void ConfigCMTMenu(void); void ConfigQuickDiskMenu(void); - void retranslateQuickDiskMenu(int drv, int basedrv); void ConfigQuickDiskMenuSub(int drv); void CreateQuickDiskPulldownMenu(int drv); void CreateQuickDiskMenu(int drv, int drv_base); @@ -148,171 +290,121 @@ class DLL_PREFIX Ui_MainWindowBase : public QMainWindow void ConfigCartMenuSub(int drv); void ConfigCartMenu(void); - void CreateCDROMMenu(void); + void CreateCDROMMenu(int drv, int drv_base); void ConfigCDROMMenu(void); void ConfigCDROMMenuSub(void); void CreateCDROMPulldownMenu(void); - void retranslateCDROMMenu(void); - - void CreateLaserdiscMenu(void); + + void CreateLaserdiscMenu(int drv, int drv_base); void ConfigLaserdiscMenu(void); void ConfigLaserdiscMenuSub(void); void CreateLaserdiscPulldownMenu(void); - void retranslateLaserdiscMenu(void); void ConfigBinaryMenu(void); - void retranslateBinaryMenu(int drv, int basedrv); - - void retranslateSoundMenu(void); - void ConfigScreenMenu(void); void ConfigScreenMenu_List(void); void CreateScreenMenu(void); void ConfigDeviceType(void); + void ConfigKeyboardType(void); + void ConfigJoystickType(void); + void ConfigMouseType(void); void ConfigDriveType(void); void ConfigSoundDeviceType(void); void ConfigPrinterType(void); + void ConfigMonitorType(void); + + // About Status bar + int Calc_OSD_Wfactor(void); +protected: + USING_FLAGS *using_flags; + config_t *p_config; + CSP_Logger *csp_logger; + QMainWindow *MainWindow; + QApplication *CoreApplication; - void retranslateScreenMenu(void); - void retranslateMachineMenu(void); + GLDrawClass *graphicsView; + CSP_DockDisks *driveData; + QWidget *pCentralWidget; + QVBoxLayout *pCentralLayout; + QStatusBar *statusbar; + QMenuBar *menubar; + + QTimer *statusUpdateTimer; + QTimer *ledUpdateTimer; + int screen_mode_count; + // Virtual medias. + QStringList listCARTs[8]; + QStringList listQDs[8]; + QStringList listCMT[8]; + bool cmt_write_protect[8]; + QStringList listCDROM[8]; + QStringList listLaserdisc[8]; + QStringList listBINs[8]; + QStringList listFDs[16]; + QStringList listHDDs[16]; + + QStringList listD88[16]; + QStringList listBubbles[8]; + QStringList listB77[8]; + + // Some Functions + QActionGroup *actionGroup_BootMode; + QActionGroup *actionGroup_CpuType; class Action_Control *actionReset; class Action_Control *actionSpecial_Reset; class Action_Control *actionExit_Emulator; - - // Pls.Override - QActionGroup *actionGroup_CpuType; - QMenu *menuCpuType; class Action_Control *actionCpuType[8]; - void ConfigCPUTypes(int num); - - QActionGroup *actionGroup_CpuSpeed; - class Action_Control *actionSpeed_x1; - class Action_Control *actionSpeed_x2; - class Action_Control *actionSpeed_x4; - class Action_Control *actionSpeed_x8; - class Action_Control *actionSpeed_x16; - - - // Pls.Override - QActionGroup *actionGroup_BootMode; - QMenu *menuBootMode; class Action_Control *actionBootMode[8]; - void ConfigCPUBootMode(int num); - - class Action_Control *actionPaste_from_Clipboard; - class Action_Control *actionStop_Pasting; - - class Action_Control *actionSave_State; - class Action_Control *actionLoad_State; - class Action_Control *actionDebugger[_MAX_DEBUGGER]; + class Action_Control *actionSave_State[10]; + class Action_Control *actionLoad_State[10]; //class Action_Control *actionClose_Debuggers; + class Action_Control *actionScreenSize[32]; + class Action_Control *actionAbout; + class Action_Control *actionMouseEnable; + class Action_Control *actionHelp_AboutQt; - - QStringList listCARTs[8]; - - QStringList listQDs[8]; - - QStringList listCMT; - bool cmt_write_protect; - QStringList listCDROM; - QStringList listLaserdisc; - QStringList listBINs[8]; // Screen - class Action_Control *actionZoom; - class Action_Control *actionDisplay_Mode; - - class Action_Control *actionScanLine; - - class Action_Control *actionGLScanLineHoriz; - class Action_Control *actionGLScanLineVert; - class Action_Control *actionRotate; - - class Action_Control *actionCRT_Filter; - class Action_Control *actionOpenGL_Filter; - - QActionGroup *actionGroup_Stretch; - class Action_Control *actionDot_by_Dot; - class Action_Control *actionReferToX_Display; - class Action_Control *actionReferToY_Display; - class Action_Control *actionFill_Display; - class Action_Control *actionCapture_Screen; - - QActionGroup *actionGroup_ScreenSize; - class Action_Control *actionScreenSize[32]; - class Action_Control *actionAbout; - class Action_Control *actionHelp_README_BIOS; - class Action_Control *actionHelp_README; - class Action_Control *actionHelp_README_QT; - class Action_Control *actionHelp_README_MR_TANAM; - class Action_Control *actionHelp_README_Artane; - class Action_Control *actionHelp_README_FAQ; - class Action_Control *actionHelp_README_FAQ_JP; - - class Action_Control *actionHelp_README_FM7; - class Action_Control *actionHelp_README_FM7_JP; - - class Action_Control *actionHelp_History; - class Action_Control *actionHelp_History_Relnote; - class Action_Control *actionHelp_History_ChangeLog; - class Action_Control *actionHelp_History_MR_TANAM; - - class Action_Control *actionHelp_License; - class Action_Control *actionHelp_License_JP; - - - QActionGroup *actionGroup_Sound_Freq; - QActionGroup *actionGroup_Sound_Latency; - - class Action_Control *actionSoundCMT; - + class Action_Control *action_SetRenderMode[8]; + // Sound class Action_Control *action_Freq[8]; class Action_Control *action_Latency[6]; class Action_Control *actionStart_Record; class Action_Control *actionStop_Record; - class Action_Control *actionStart_Record_Movie; - class Action_Control *actionStop_Record_Movie; - class Action_Control *action_VolumeDialog; - - - class Action_Control *actionMouseEnable; - class Action_Control *actionHelp_AboutQt; - + // Emulator QActionGroup *actionGroup_DeviceType; - QMenu *menuDeviceType; - class Action_Control *actionDeviceType[16]; - + QActionGroup *actionGroup_KeyboardType; + QActionGroup *actionGroup_JoystickType; + QActionGroup *actionGroup_MouseType; QActionGroup *actionGroup_DriveType; + QActionGroup *actionGroup_SoundDevice; + QActionGroup *actionGroup_PrintDevice; + QMenu *menuDeviceType; + QMenu *menuKeyboardType; + QMenu *menuJoystickType; + QMenu *menuMouseType; QMenu *menuDriveType; - class Action_Control *actionDriveType[8]; - - QActionGroup *actionGroup_SoundDevice; QMenu *menuSoundDevice; - class Action_Control *actionSoundDevice[32]; // - - QActionGroup *actionGroup_PrintDevice; QMenu *menuPrintDevice; + class Action_Control *actionDeviceType[16]; + class Action_Control *actionKeyboardType[16]; + class Action_Control *actionJoystickType[16]; + class Action_Control *actionMouseType[8]; + class Action_Control *actionDriveType[8]; + class Action_Control *actionSoundDevice[32]; // class Action_Control *actionPrintDevice[16]; - // Emulator - class Action_Control *action_SetupJoystick; - class Action_Control *action_SetupKeyboard; - - QMenu *menuLogToConsole; - QMenu *menuLogToSyslog; - QMenu *menuDevLogToConsole; - QMenu *menuDevLogToSyslog; + class Action_Control *action_SetRenderPlatform[MAX_RENDER_PLATFORMS]; - class Action_Control *action_LogToSyslog; - class Action_Control *action_LogToConsole; - class Action_Control *action_LogRecord; - class Action_Control *action_DevLogToSyslog[256 - 32]; - class Action_Control *action_DevLogToConsole[256 - 32]; - class Action_Control *action_DevLogRecord[256 - 32]; - + class Action_Control *actionStart_Record_Movie; + class Action_Control *actionStop_Record_Movie; class Action_Control *action_SetupMovie; // 15, 24, 30, 60 + + QMenu *menuMonitorType; + QActionGroup *actionGroup_MonitorType; + Action_Control *actionMonitorType[16]; // Menus QMenu *menuControl; @@ -320,29 +412,14 @@ class DLL_PREFIX Ui_MainWindowBase : public QMainWindow QMenu *menuCopy_Paste; QMenu *menuCpu_Speed; QMenu *menuDebugger; - - Menu_FDClass *menu_fds[16]; - QStringList listFDs[16]; - QStringList listD88[16]; - - Menu_QDClass *menu_QDs[8]; - - Menu_CMTClass *menu_CMT; - - Menu_CompactDiscClass *menu_CDROM; - Menu_LaserdiscClass *menu_Laserdisc; - Menu_CartClass *menu_Cart[8]; - Menu_BinaryClass *menu_BINs[8]; - Menu_BubbleClass *menu_bubbles[8]; - - QStringList listBubbles[8]; - QStringList listB77[8]; - QMenu *menuScreen; - QMenu *menuStretch_Mode; QMenu *menuScreenSize; - + QMenu *menuScreen_Render; + QMenu *menuScreen_Rotate; + + QMenu *menuCpuType; + QMenu *menuBootMode; QMenu *menuSound; QMenu *menuOutput_Frequency; QMenu *menuSound_Latency; @@ -354,52 +431,59 @@ class DLL_PREFIX Ui_MainWindowBase : public QMainWindow QMenu *menuHELP; QMenu *menuHelp_Readme; QMenu *menuHelp_Histories; + Menu_FDClass *menu_fds[16]; + Menu_QDClass *menu_QDs[8]; + Menu_CMTClass *menu_CMT[8]; + Menu_HDDClass *menu_hdds[16]; + Menu_CompactDiscClass *menu_CDROM[8]; + Menu_LaserdiscClass *menu_Laserdisc[8]; + Menu_CartClass *menu_Cart[8]; + Menu_BinaryClass *menu_BINs[8]; + Menu_BubbleClass *menu_bubbles[8]; // Status Bar QWidget *dummyStatusArea1; QLabel *messagesStatusBar; QWidget *dummyStatusArea2; - QLabel *fd_StatusBar[16]; - QString osd_str_fd[16]; - - QLabel *qd_StatusBar[8]; - QString osd_str_qd[8]; - - QLabel *cmt_StatusBar; - QString osd_str_cmt; - QLabel *cdrom_StatusBar; QString osd_str_cdrom; QLabel *laserdisc_StatusBar; QString osd_str_laserdisc; - QLabel *bubble_StatusBar[8]; QString osd_str_bubble[8]; - QImage *bitmapImage; - - bool flags_led[32]; - bool flags_led_bak[32]; - QGraphicsView *led_graphicsView; - QGraphicsScene *led_gScene; - QGraphicsEllipseItem *led_leds[32]; - uint32_t osd_led_data; - QClipboard *ClipBoard; - - // About Status bar - int Calc_OSD_Wfactor(void); // Constructor - class EmuThreadClass *hRunEmu; + EmuThreadClass *hRunEmu; class DrawThreadClass *hDrawEmu; class JoyThreadClass *hRunJoy; class MOVIE_SAVER *hSaveMovieThread; int max_vm_nodes; bool ui_retranslate_completed; + + // CPU Type + void ConfigCPUTypes(int num); + void ConfigCPUBootMode(int num); + // Translate UIs. + void retranslateControlMenu(const char *SpecialResetTitle, bool WithSpecialReset); + void retranslateFloppyMenu(int drv, int basedrv); + void retranslateFloppyMenu(int drv, int basedrv, QString specName); + void retranslateHardDiskMenu(int drv, int basedrv); + void retranslateHardDiskMenu(int drv, int basedrv, QString specName); + void retranslateBubbleMenu(int drv, int basedrv); + void retranslateCMTMenu(int drive); + void retranslateQuickDiskMenu(int drv, int basedrv); + + void retranslateCDROMMenu(void); + void retranslateLaserdiscMenu(void); + void retranslateScreenMenu(void); + void retranslateMachineMenu(void); + void retranslateBinaryMenu(int drv, int basedrv); + void retranslateSoundMenu(void); public: - Ui_MainWindowBase(USING_FLAGS *p, QWidget *parent = 0); + Ui_MainWindowBase(USING_FLAGS *p, CSP_Logger *logger, QWidget *parent = 0); ~Ui_MainWindowBase(); // Initializer : using from InitContext. @@ -413,6 +497,7 @@ public: virtual void retranslateCartMenu(int drv, int basedrv); virtual void retranslateVolumeLabels(Ui_SoundDialog *); virtual void retranslateEmulatorMenu(void); + virtual void retranselateUi_Depended_OSD(void); // About Status bar virtual void initStatusBar(void); // EmuThread @@ -422,7 +507,6 @@ public: virtual void StopJoyThread(void); virtual void LaunchJoyThread(void); // Screen - virtual void OnWindowResize(void); virtual void OnWindowMove(void); virtual void OnWindowRedraw(void); @@ -436,10 +520,15 @@ public: virtual void OnMainWindowClosed(void); // Basic Action Definition void OnCpuPower(int mode); - bool get_wave_shaper(void); - bool get_direct_load_mzt(void); + bool get_wave_shaper(int drive); + bool get_direct_load_mzt(int drive); virtual bool GetPowerState(void); - + void set_logger(CSP_Logger *logger) { csp_logger = logger; } + + virtual QString get_system_version(); + virtual QString get_build_date(); + QString get_gui_version(); + // Basic slots public slots: void delete_emu_thread(void); @@ -454,6 +543,7 @@ public slots: void do_update_volume(int level); void set_screen_aspect(int num); void set_screen_size(int w, int h); + void do_set_screen_rotate(int type); void OnReset(void); void OnSpecialReset(void); virtual void do_set_mouse_enable(bool flag); @@ -461,46 +551,37 @@ public slots: void do_set_sound_device(int); void do_emu_update_volume_balance(int num, int level); void do_emu_update_volume_level(int num, int level); - + void rise_log_viewer(void); void rise_volume_dialog(void); - void rise_joystick_dialog(void); - void rise_keyboard_dialog(void); virtual void rise_movie_dialog(void); void do_stop_saving_movie(void); void do_start_saving_movie(void); void do_set_state_saving_movie(bool state); - void OnLoadState(void); - void OnSaveState(void); + void set_osd_virtual_media(bool f); + virtual void OnOpenDebugger(int n); virtual void OnCloseDebugger(void); - - void set_screen_rotate(bool); - void set_crt_filter(bool); + void doBeforeCloseMainWindow(void); void set_gl_crt_filter(bool); void set_cpu_power(int pw) { OnCpuPower(pw); } virtual void on_actionExit_triggered(); - + void do_emu_full_speed(bool f); void OnStartAutoKey(void); void OnStopAutoKey(void); - - void do_change_osd_fd(int drv, QString tmpstr); - void eject_cart(int); void set_recent_cart(int, int); int set_recent_cdrom(int drv, int num); void do_eject_cdrom(int drv); void do_open_cdrom(int drv, QString path); - void do_change_osd_cdrom(QString tmpstr); int set_recent_laserdisc(int drv, int num); void do_eject_laserdisc(int drv); void do_open_laserdisc(int drv, QString path); - void do_change_osd_laserdisc(QString tmpstr); void CreateBinaryMenu(int drv, int drv_base); void CreateBinaryPulldownMenu(int drv); @@ -516,31 +597,25 @@ public slots: void _open_quick_disk(int drv, const QString fname); void eject_Qd(int drv); - void do_change_osd_qd(int drv, QString tmpstr); virtual void _open_disk(int drv, const QString fname); void _open_cart(int drv, const QString fname); - void eject_cmt(void); + void eject_cmt(int drv); void do_change_boot_mode(int mode); void do_change_cpu_type(int mode); void do_write_protect_cmt(int drv, bool flag); int set_recent_cmt(int drv, int num); - void set_wave_shaper(bool f); -//#if defined(_MZ80A) || defined(_MZ80K) || defined(_MZ1200) || defined(_MZ700) || defined(_MZ800) || defined(_MZ1500) || \ -// defined(_MZ80B) || defined(_MZ2000) || defined(_MZ2200) - void set_direct_load_from_mzt(bool f); -//#endif - void do_open_write_cmt(QString); - void do_open_read_cmt(int dummy, QString path); - void do_change_osd_cmt(QString tmpstr); - - void do_push_play_tape(void); - void do_push_stop_tape(void); - void do_display_tape_play(bool flag); - void do_push_fast_forward_tape(void); - void do_push_rewind_tape(void); - void do_push_apss_forward_tape(void); - void do_push_apss_rewind_tape(void); + void set_wave_shaper(int drive, bool f); + void set_direct_load_from_mzt(int drive, bool f); + void do_open_write_cmt(int drive, QString); + void do_open_read_cmt(int drive, QString path); + + void do_push_play_tape(int drive); + void do_push_stop_tape(int drive); + void do_push_fast_forward_tape(int drive); + void do_push_rewind_tape(int drive); + void do_push_apss_forward_tape(int drive); + void do_push_apss_rewind_tape(int drive); void set_cmt_sound(bool); int write_protect_fd(int drv, bool flag); @@ -549,51 +624,74 @@ public slots: virtual int set_d88_slot(int drive, int num); virtual int set_recent_disk(int, int); + virtual void do_update_recent_hard_disk(int); + virtual void _open_hard_disk(int drv, const QString fname); + void eject_hard_disk(int drv); + virtual int set_recent_hard_disk(int, int); // Bubble Casette int write_protect_bubble(int drv, bool flag); - virtual int set_b77_slot(int drive, int num); - virtual void do_update_recent_bubble(int drv); - virtual int set_recent_bubble(int drv, int num); - void do_change_osd_bubble(int drv, QString tmpstr); + int set_b77_slot(int drive, int num); + void do_update_recent_bubble(int drv); + int set_recent_bubble(int drv, int num); + void _open_bubble(int drv, const QString fname); + void eject_bubble(int drv); - virtual void _open_bubble(int drv, const QString fname); - virtual void eject_bubble(int drv); void start_record_sound(bool rec); void set_freq(int); void set_latency(int); void set_sound_device(int); + void do_set_sound_strict_rendering(bool f); + void do_set_sound_play_tape(bool f); + void set_monitor_type(int); void message_status_bar(QString); void resize_statusbar(int w, int h); virtual void do_release_emu_resources(void); virtual void set_window_title(); void set_device_type(int); + void set_mouse_type(int); + void set_keyboard_type(int); + void set_joystick_type(int); void set_drive_type(int); void set_scan_line(bool); void set_gl_scan_line_vert(bool); void set_gl_scan_line_horiz(bool); - void set_dipsw(int num, bool flag) { - if((num < 0) || (num >= 32)) return; - if(flag) { - using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch | (1 << num); - } else { - using_flags->get_config_ptr()->dipswitch = using_flags->get_config_ptr()->dipswitch & ~(1 << num); - } - } - bool get_dipsw(int num) { - if((num < 0) || (num >= 32)) return false; - if(((1 << num) & using_flags->get_config_ptr()->dipswitch) == 0) return false; - return true; - } void set_printer_device(int); void do_show_about(void); void do_browse_document(QString); + void set_dipsw(int num, bool flag); + bool get_dipsw(int num); + + void do_set_sound_files_fdd(bool f); + void do_set_sound_files_relay(bool f); void do_set_conslog(bool); void do_set_syslog(bool); void do_update_device_node_name(int id, const _TCHAR *name); void do_set_dev_log_to_console(int id, bool f); + void do_set_dev_log_to_syslog(int id, bool f); + void do_set_roma_kana(bool f); + void do_set_numpad_enter_as_fullkey(bool f); + void do_set_render_mode_std(void); + void do_set_render_mode_tv(void); + void do_select_render_platform(int num); + void do_set_window_focus_type(bool flag); + + void do_set_visible_virtual_media_none(); + void do_set_visible_virtual_media_upper(); + void do_set_visible_virtual_media_lower(); + void do_set_visible_virtual_media_left(); + void do_set_visible_virtual_media_right(); + + void do_set_emulate_cursor_as(int num); + void do_set_logging_fdc(bool onoff); + void do_set_separate_thread_draw(bool f); + void do_set_print_cpu_statistics(bool flag); + // ToDo: GUI + void do_set_state_log_to_record(bool f); + void do_set_state_log_to_console(bool f); + void do_set_state_log_to_syslog(bool f); signals: int message_changed(QString); @@ -601,6 +699,7 @@ signals: int call_joy_thread(EMU *); int quit_joy_thread(); int quit_draw_thread(); + int quit_emulator_all(); int sig_quit_movie_thread(); int sig_stop_saving_movie(void); int sig_start_saving_movie(void); @@ -611,13 +710,11 @@ signals: int on_insert_fd(int); int on_eject_fd(int); int do_open_disk(int, QString); - int do_recent_cmt(bool); + int closed(void); int sig_quit_all(void); int sig_vm_reset(void); int sig_vm_specialreset(void); - int sig_vm_loadstate(void); - int sig_vm_savestate(void); int sig_check_grab_mouse(bool); int sig_resize_uibar(int, int); int sig_resize_screen(int, int); @@ -628,28 +725,32 @@ signals: int sig_emu_set_display_size(int, int, int, int); int sig_emu_update_volume_level(int, int); int sig_emu_update_volume_balance(int, int); + + int sig_resize_osd(int); int sig_write_protect_disk(int drv, bool flag); int sig_open_disk(int, QString, int); int sig_close_disk(int); - int sig_play_tape(QString name); - int sig_rec_tape(QString name); - int sig_close_tape(void); - int sig_cmt_push_play(void); - int sig_cmt_push_stop(void); - int sig_cmt_push_fast_forward(void); - int sig_cmt_push_fast_rewind(void); - int sig_cmt_push_apss_forward(void); - int sig_cmt_push_apss_rewind(void); + int sig_open_hard_disk(int, QString); + int sig_close_hard_disk(int); + int sig_play_tape(int ,QString); + int sig_rec_tape(int, QString); + int sig_close_tape(int); + int sig_cmt_push_play(int); + int sig_cmt_push_stop(int); + int sig_cmt_push_fast_forward(int); + int sig_cmt_push_fast_rewind(int); + int sig_cmt_push_apss_forward(int); + int sig_cmt_push_apss_rewind(int); int sig_write_protect_quickdisk(int drv, bool flag); int sig_close_quickdisk(int drv); int sig_open_quickdisk(int drv, QString path); int sig_close_cart(int drv); int sig_open_cart(int drv, QString path); - int sig_open_cdrom(QString path); - int sig_close_cdrom(void); - int sig_close_laserdisc(void); - int sig_open_laserdisc(QString path); + int sig_open_cdrom(int drv, QString path); + int sig_close_cdrom(int drv); + int sig_close_laserdisc(int drv); + int sig_open_laserdisc(int drv, QString path); int sig_load_binary(int drv, QString path); int sig_save_binary(int drv, QString path); int sig_write_protect_bubble(int, bool); @@ -658,9 +759,17 @@ signals: int sig_led_update(QRectF); int sig_start_auto_key(QString); int sig_stop_auto_key(void); - + int sig_set_display_osd(bool); + int sig_display_osd_leds(int,bool); + int sig_set_led_width(int); + int sig_set_orientation_osd(int); + int sig_set_roma_kana(bool); int quit_debugger_thread(void); int sig_quit_widgets(void); + + int sig_load_state(QString); + int sig_save_state(QString); + }; QT_END_NAMESPACE