OSDN Git Service

[BUILD] Set SOVERSION and GIT hash automatically.
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / mainwidget_base.h
index afec83c..6278335 100644 (file)
@@ -7,15 +7,15 @@
 #ifndef _CSP_QT_MAINWIDGET_BASE_H
 #define _CSP_QT_MAINWIDGET_BASE_H
 
-#include <QVariant>
-#include <QObject>
-#include <QApplication>
+//#include <QVariant>
+//#include <QObject>
+//#include <QApplication>
 #include <QMainWindow>
 #include <QIcon>
 #include <QString>
 #include <QStringList>
-#include <QMenu>
-#include <QMenuBar>
+//#include <QMenu>
+//#include <QMenuBar>
 
 #include "common.h"
 #include "config.h"
@@ -36,12 +36,13 @@ enum {
        CSP_MAINWIDGET_SAVE_MOVIE_END,
 };
 
-#define MAX_RENDER_PLATFORMS 8
+#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
 };
 
@@ -87,12 +88,12 @@ QT_BEGIN_NAMESPACE
                __action[_i]->setEnabled(__enabled);                                                    \
                __action[_i]->binds->setValue1(_i);                                                             \
                __menu->addAction(__action[_i]);                                                                \
-               if(using_flags->get_config_ptr()->__cnf[_i][0]) __action[_i]->setChecked(true); \
+               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;
@@ -100,6 +101,9 @@ class QButtonGroup;
 class QGraphicsView;
 class QGraphicsScene;
 class QHeaderView;
+class QMenu;
+class QMenuBar;
+class QApplication;
 
 class QStatusBar;
 class QWidget;
@@ -117,6 +121,7 @@ class Menu_MetaClass;
 class Menu_FDClass;
 class Menu_CMTClass;
 class Menu_CartClass;
+class Menu_HDDClass;
 class Menu_QDClass;
 class Menu_BinaryClass;
 class Menu_BubbleClass;
@@ -148,6 +153,7 @@ private:
        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;
@@ -156,6 +162,7 @@ private:
        // Screen
        QActionGroup *actionGroup_Stretch;
        QActionGroup *actionGroup_SetRenderPlatform;
+       QActionGroup *actionGroup_RotateType;
        class Action_Control *action_ScreenSeparateThread;
        class Action_Control *action_ScreenUseOSD;
        class Action_Control *actionZoom;
@@ -163,7 +170,8 @@ private:
        class Action_Control *actionScanLine;
        class Action_Control *actionGLScanLineHoriz;
        class Action_Control *actionGLScanLineVert;
-       class Action_Control *actionRotate;
+       
+       class Action_Control *actionRotate[4];
        class Action_Control *actionCRT_Filter;
        class Action_Control *actionOpenGL_Filter;
        class Action_Control *actionDot_by_Dot;
@@ -239,10 +247,12 @@ private:
        uint32_t osd_led_data;
 
        // Inner functions
+       
        void ConfigCpuSpeed(void);
        void ConfigControlMenu(void);
        void connectActions_ControlMenu(void);
        void ConfigFloppyMenu(void);
+       void ConfigHardDiskMenu(void);
        void ConfigSoundMenu(void);
        void CreateSoundMenu(void);
 
@@ -252,7 +262,11 @@ private:
        void CreateFloppyMenu(int drv, int drv_base);
        void CreateFloppyPulldownMenu(int drv);
        void ConfigFloppyMenuSub(int drv);
-       // 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);
@@ -263,7 +277,7 @@ private:
        virtual QString GetBubbleB77FileName(int drv) { return QString::fromUtf8(""); }
        virtual QString GetBubbleB77BubbleName(int drv, int num) { return QString::fromUtf8(""); }
        
-       void CreateCMTMenu(int drive);
+       void CreateCMTMenu(int drive, int drv_base);
        void ConfigCMTMenu(void);
    
        void ConfigQuickDiskMenu(void);
@@ -276,12 +290,12 @@ private:
        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 CreateLaserdiscMenu(void);
+       void CreateLaserdiscMenu(int drv, int drv_base);
        void ConfigLaserdiscMenu(void);
        void ConfigLaserdiscMenuSub(void);
        void CreateLaserdiscPulldownMenu(void);
@@ -297,6 +311,7 @@ private:
        void ConfigDriveType(void);
        void ConfigSoundDeviceType(void);
        void ConfigPrinterType(void);
+       void ConfigMonitorType(void);
 
        // About Status bar
        int Calc_OSD_Wfactor(void);
@@ -323,10 +338,12 @@ protected:
        QStringList listQDs[8];
        QStringList listCMT[8];
        bool cmt_write_protect[8];
-       QStringList listCDROM;
-       QStringList listLaserdisc;
+       QStringList listCDROM[8];
+       QStringList listLaserdisc[8];
        QStringList listBINs[8];
        QStringList listFDs[16];
+       QStringList listHDDs[16];
+       
        QStringList listD88[16];
        QStringList listBubbles[8];
        QStringList listB77[8];
@@ -385,6 +402,10 @@ protected:
        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;
        QMenu *menuState;
@@ -395,6 +416,7 @@ protected:
        QMenu *menuStretch_Mode;
        QMenu *menuScreenSize;
        QMenu *menuScreen_Render;
+       QMenu *menuScreen_Rotate;
        
        QMenu *menuCpuType;
        QMenu *menuBootMode;
@@ -412,8 +434,9 @@ protected:
        Menu_FDClass *menu_fds[16];
        Menu_QDClass *menu_QDs[8];
        Menu_CMTClass *menu_CMT[8];
-       Menu_CompactDiscClass *menu_CDROM;
-       Menu_LaserdiscClass *menu_Laserdisc;
+       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];
@@ -447,6 +470,8 @@ protected:
        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);
@@ -499,6 +524,11 @@ public:
        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);
@@ -513,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);
@@ -533,13 +564,12 @@ public slots:
        virtual void OnOpenDebugger(int n);
        virtual void OnCloseDebugger(void);
        void doBeforeCloseMainWindow(void);     
-       void set_screen_rotate(bool);
        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 eject_cart(int);
@@ -594,6 +624,10 @@ 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);
 
@@ -654,6 +688,10 @@ public slots:
        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);
@@ -672,6 +710,7 @@ signals:
        int on_insert_fd(int);
        int on_eject_fd(int);
        int do_open_disk(int, QString);
+       
        int closed(void);
        int sig_quit_all(void);
        int sig_vm_reset(void);
@@ -692,6 +731,8 @@ signals:
        int sig_write_protect_disk(int drv, bool flag);
        int sig_open_disk(int, QString, int);
        int sig_close_disk(int);
+       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);
@@ -706,10 +747,10 @@ signals:
        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);