OSDN Git Service

[General] Merge upstream 2017-03-08 1/2.
[csp-qt/common_source_project-fm7.git] / source / src / qt / gui / mainwidget_base.h
1 /*
2  * MainWidget : Defines
3  * Modified by K.Ohta <whatisthis.sowhat _at_ gmail.com>
4  * Please use this file as templete.
5  */
6
7 #ifndef _CSP_QT_MAINWIDGET_BASE_H
8 #define _CSP_QT_MAINWIDGET_BASE_H
9
10 #include <QVariant>
11 #include <QObject>
12 #include <QApplication>
13 #include <QMainWindow>
14 #include <QIcon>
15 #include <QString>
16 #include <QStringList>
17 #include <QMenu>
18 #include <QMenuBar>
19
20 #include "common.h"
21 #include "config.h"
22 #include "menu_flags.h"
23 #include "csp_logger.h"
24
25 class DLL_PREFIX_I MOVIE_SAVER;
26
27 #include "qt_main.h"
28 #define _MAX_DEBUGGER 8
29
30 enum {
31         CSP_MAINWIDGET_SAVE_MOVIE_STOP = 0,
32         CSP_MAINWIDGET_SAVE_MOVIE_15FPS = 1,
33         CSP_MAINWIDGET_SAVE_MOVIE_24FPS,
34         CSP_MAINWIDGET_SAVE_MOVIE_30FPS,
35         CSP_MAINWIDGET_SAVE_MOVIE_60FPS,
36         CSP_MAINWIDGET_SAVE_MOVIE_END,
37 };
38
39 #define MAX_RENDER_PLATFORMS 8
40
41 enum {
42         RENDER_PLATFORMS_OPENGL3_MAIN = 0,
43         RENDER_PLATFORMS_OPENGL2_MAIN,
44         RENDER_PLATFORMS_OPENGL_CORE,
45         RENDER_PLATFORMS_END
46 };
47
48 QT_BEGIN_NAMESPACE
49
50
51 class QVariant;
52 class QAction;
53 class QActionGroup;
54 class QButtonGroup;
55 class QGraphicsView;
56 class QGraphicsScene;
57 class QHeaderView;
58
59 class QStatusBar;
60 class QWidget;
61 class QLabel;
62 class QGraphicsEllipseItem;
63 class QClipboard;
64
65 class Ui_SoundDialog;
66 class GLDrawClass;
67 class Action_Control;
68 class Menu_MetaClass;
69 class Menu_FDClass;
70 class Menu_CMTClass;
71 class Menu_CartClass;
72 class Menu_QDClass;
73 class Menu_BinaryClass;
74 class Menu_BubbleClass;
75 class Menu_CompactDiscClass;
76 class Menu_LaserdiscClass;
77 class MOVIE_SAVER;
78 class DLL_PREFIX Ui_MainWindowBase : public QMainWindow
79 {
80         Q_OBJECT
81  protected:
82         USING_FLAGS *using_flags;
83         config_t *p_config;
84         CSP_Logger *csp_logger;
85         QMainWindow *MainWindow;
86         QApplication *CoreApplication;
87         
88         QWidget *centralwidget;
89         GLDrawClass *graphicsView;
90         QStatusBar  *statusbar;
91         QMenuBar    *menubar;
92         QTimer *statusUpdateTimer;
93
94         QTimer *ledUpdateTimer;
95
96         int screen_mode_count;
97         QIcon WindowIcon;
98         QIcon InsertIcon;
99         QIcon EjectIcon;
100         QIcon StopIcon;
101         QIcon RecordSoundIcon;
102         QIcon ResetIcon;
103         QIcon ExitIcon;
104         QIcon VolumeMutedIcon;
105         QIcon VolumeLowIcon;
106         QIcon VolumeMidIcon;
107         QIcon VolumeHighIcon;
108         // Some Functions
109         void ConfigCpuSpeed(void);
110         void ConfigControlMenu(void);
111         void connectActions_ControlMenu(void);
112         void retranslateControlMenu(const char *SpecialResetTitle,  bool WithSpecialReset);
113         void ConfigFloppyMenu(void);
114         void ConfigSoundMenu(void);
115         void CreateSoundMenu(void);
116
117         void CreateEmulatorMenu(void);
118         void ConfigEmulatorMenu(void);
119         
120         void CreateFloppyMenu(int drv, int drv_base);
121         void CreateFloppyPulldownMenu(int drv);
122         void ConfigFloppyMenuSub(int drv);
123         void retranslateFloppyMenu(int drv, int basedrv);
124
125         // Bubble
126         void CreateBubbleMenu(int drv, int drv_base);
127         void CreateBubblePulldownMenu(int drv);
128         void ConfigBubbleMenuSub(int drv);
129         void retranslateBubbleMenu(int drv, int basedrv);
130         void ConfigBubbleMenu(void);
131         
132         void CreateCMTMenu(void);
133         void CreateCMTPulldownMenu(void);
134         void ConfigCMTMenuSub(void);
135         void retranslateCMTMenu(void);
136         void ConfigCMTMenu(void);
137    
138         void ConfigQuickDiskMenu(void);
139         void retranslateQuickDiskMenu(int drv, int basedrv);
140         void ConfigQuickDiskMenuSub(int drv);
141         void CreateQuickDiskPulldownMenu(int drv);
142         void CreateQuickDiskMenu(int drv, int drv_base);
143
144         void CreateCartMenu(int drv, int drv_base);
145         void CreateCartPulldownMenu(int drv);
146         void ConfigCartMenuSub(int drv);
147         void ConfigCartMenu(void);
148
149         void CreateCDROMMenu(void);
150         void ConfigCDROMMenu(void);
151         void ConfigCDROMMenuSub(void);
152         void CreateCDROMPulldownMenu(void);
153         void retranslateCDROMMenu(void);
154
155         void CreateLaserdiscMenu(void);
156         void ConfigLaserdiscMenu(void);
157         void ConfigLaserdiscMenuSub(void);
158         void CreateLaserdiscPulldownMenu(void);
159         void retranslateLaserdiscMenu(void);
160
161         void ConfigBinaryMenu(void);
162         void retranslateBinaryMenu(int drv, int basedrv);
163         
164         void retranslateSoundMenu(void);
165
166         void ConfigScreenMenu(void);
167         void ConfigScreenMenu_List(void);
168         void CreateScreenMenu(void);
169         void ConfigDeviceType(void);
170         void ConfigDriveType(void);
171         void ConfigSoundDeviceType(void);
172         void ConfigPrinterType(void);
173         
174         void retranslateScreenMenu(void);
175         void retranslateMachineMenu(void);
176
177         class Action_Control *actionReset;
178         class Action_Control *actionSpecial_Reset;
179         class Action_Control *actionExit_Emulator;
180
181         // Pls.Override
182         QActionGroup *actionGroup_CpuType;
183         QMenu *menuCpuType;
184         class Action_Control *actionCpuType[8];
185         void ConfigCPUTypes(int num);
186
187         QActionGroup *actionGroup_CpuSpeed;
188         class Action_Control *actionSpeed_x1;
189         class Action_Control *actionSpeed_x2;
190         class Action_Control *actionSpeed_x4;
191         class Action_Control *actionSpeed_x8;
192         class Action_Control *actionSpeed_x16;
193
194
195         // Pls.Override
196         QActionGroup *actionGroup_BootMode;
197         QMenu *menuBootMode;
198         class Action_Control *actionBootMode[8];
199         void ConfigCPUBootMode(int num);
200
201         class Action_Control *actionPaste_from_Clipboard;
202         class Action_Control *actionStop_Pasting;
203
204         class Action_Control *actionSave_State;
205         class Action_Control *actionLoad_State;
206         
207         class Action_Control *actionDebugger[_MAX_DEBUGGER];
208         //class Action_Control *actionClose_Debuggers;
209
210
211         QStringList listCARTs[8];
212
213         QStringList listQDs[8];
214         
215         QStringList listCMT;
216         bool cmt_write_protect;
217         QStringList listCDROM;
218         QStringList listLaserdisc;
219         QStringList listBINs[8];
220         // Screen
221         class Action_Control *actionZoom;
222         class Action_Control *actionDisplay_Mode;
223
224         class Action_Control *actionScanLine;
225
226         class Action_Control *actionGLScanLineHoriz;
227         class Action_Control *actionGLScanLineVert;
228         class Action_Control *actionRotate;
229
230         class Action_Control *actionCRT_Filter;
231         class Action_Control *actionOpenGL_Filter;
232
233         QActionGroup *actionGroup_Stretch;
234         class Action_Control *actionDot_by_Dot;
235         class Action_Control *actionReferToX_Display;
236         class Action_Control *actionReferToY_Display;
237         class Action_Control *actionFill_Display;
238
239         class Action_Control *actionCapture_Screen;
240
241         QActionGroup *actionGroup_ScreenSize;
242         class Action_Control *actionScreenSize[32];
243
244         QActionGroup *actionGroup_RenderMode;
245         class Action_Control *action_SetRenderMode[8];
246         
247         class Action_Control *actionAbout;
248         class Action_Control *actionHelp_README_BIOS;
249         class Action_Control *actionHelp_README;
250         class Action_Control *actionHelp_README_QT;
251         class Action_Control *actionHelp_README_MR_TANAM;
252         class Action_Control *actionHelp_README_Artane;
253         class Action_Control *actionHelp_README_Umaiboux;
254         class Action_Control *actionHelp_README_FAQ;
255         class Action_Control *actionHelp_README_FAQ_JP;
256         
257         class Action_Control *actionHelp_README_FM7;
258         class Action_Control *actionHelp_README_FM7_JP;
259
260         class Action_Control *actionHelp_History;
261         class Action_Control *actionHelp_History_Relnote;
262         class Action_Control *actionHelp_History_ChangeLog;
263         class Action_Control *actionHelp_History_MR_TANAM;
264
265         class Action_Control *actionHelp_License;
266         class Action_Control *actionHelp_License_JP;
267         
268         
269         QActionGroup   *actionGroup_Sound_Freq;
270         QActionGroup   *actionGroup_Sound_Latency;
271
272         class Action_Control *actionSoundCMT;
273
274         class Action_Control *action_Freq[8];
275         class Action_Control *action_Latency[6];
276         class Action_Control *actionStart_Record;
277         class Action_Control *actionStop_Record;
278         class Action_Control *actionStart_Record_Movie;
279         class Action_Control *actionStop_Record_Movie;
280         class Action_Control *action_VolumeDialog;
281         class Action_Control *actionSoundStrictRendering;
282
283         class Action_Control *actionMouseEnable;
284         class Action_Control *actionHelp_AboutQt;
285
286
287         QActionGroup *actionGroup_DeviceType;
288         QMenu *menuDeviceType;
289         class Action_Control *actionDeviceType[16];
290
291         QActionGroup *actionGroup_DriveType;
292         QMenu *menuDriveType;
293         class Action_Control *actionDriveType[8];
294
295         QActionGroup   *actionGroup_SoundDevice;
296         QMenu *menuSoundDevice;
297         class Action_Control *actionSoundDevice[32]; //
298
299         QActionGroup *actionGroup_PrintDevice;
300         QMenu *menuPrintDevice;
301         class Action_Control *actionPrintDevice[16];
302         // Emulator
303         class Action_Control *action_SetupJoystick;
304         class Action_Control *action_SetupKeyboard;
305         class Action_Control *action_LogView;
306         
307         class Action_Control *action_SoundFilesFDD;
308         class Action_Control *action_SoundFilesRelay;
309         class Action_Control *action_SoundFilesButtons;
310         //QMenu *menuLogToConsole;
311         //QMenu *menuLogToSyslog;
312         QMenu *menuDevLogToConsole;
313         QMenu *menuDevLogToSyslog;
314         QMenu *menu_SetRenderPlatform;
315         
316         class Action_Control *action_SetRenderPlatform[MAX_RENDER_PLATFORMS];
317         QActionGroup *actionGroup_SetRenderPlatform;
318
319         class Action_Control *action_UseRomaKana;
320         class Action_Control *action_LogToSyslog;
321         class Action_Control *action_LogToConsole;
322         class Action_Control *action_LogRecord;
323         class Action_Control *action_DevLogToSyslog[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
324         class Action_Control *action_DevLogToConsole[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
325         class Action_Control *action_DevLogRecord[CSP_LOG_TYPE_VM_DEVICE_END - CSP_LOG_TYPE_VM_DEVICE_0 + 1];
326
327         class Action_Control *action_SetupMovie; // 15, 24, 30, 60
328
329         
330         // Menus    
331         QMenu *menuControl;
332         QMenu *menuState;
333         QMenu *menuCopy_Paste;
334         QMenu *menuCpu_Speed;
335         QMenu *menuDebugger;
336         
337         Menu_FDClass *menu_fds[16];
338         QStringList listFDs[16];
339         QStringList listD88[16];
340         
341         Menu_QDClass *menu_QDs[8];
342         
343         Menu_CMTClass *menu_CMT;
344         
345         Menu_CompactDiscClass *menu_CDROM;
346         Menu_LaserdiscClass *menu_Laserdisc;
347         Menu_CartClass *menu_Cart[8];
348         Menu_BinaryClass *menu_BINs[8];
349         Menu_BubbleClass *menu_bubbles[8];
350         
351         QStringList listBubbles[8];
352         QStringList listB77[8];
353
354         QMenu *menuScreen;
355
356         QMenu *menuStretch_Mode;
357         QMenu *menuScreenSize;
358         QMenu *menuScreen_Render;
359   
360         QMenu *menuSound;
361         QMenu *menuOutput_Frequency;
362         QMenu *menuSound_Latency;
363         QMenu *menuMachine;
364         QMenu *menuRecord;
365         QMenu *menuRecord_sound;
366         QMenu *menuRecord_as_movie;
367         QMenu *menuEmulator;
368         QMenu *menuHELP;
369         QMenu *menuHelp_Readme;
370         QMenu *menuHelp_Histories;
371         // Status Bar
372         QWidget *dummyStatusArea1;
373         QLabel *messagesStatusBar;
374         QWidget *dummyStatusArea2;
375
376         QLabel *fd_StatusBar[16];
377         QString osd_str_fd[16];
378         
379         QLabel *qd_StatusBar[8];
380         QString osd_str_qd[8];
381         
382         QLabel *cmt_StatusBar;
383         QString osd_str_cmt;
384         
385         QLabel *cdrom_StatusBar;
386         QString osd_str_cdrom;
387         
388         QLabel *laserdisc_StatusBar;
389         QString osd_str_laserdisc;
390         
391         QLabel *bubble_StatusBar[8];
392         QString osd_str_bubble[8];
393         
394         QImage *bitmapImage;
395         
396         bool flags_led[32];
397         bool flags_led_bak[32];
398         QGraphicsView *led_graphicsView;
399         QGraphicsScene *led_gScene;
400         QGraphicsEllipseItem *led_leds[32];
401         uint32_t osd_led_data;
402         
403         QClipboard *ClipBoard;
404
405         // About Status bar
406         int Calc_OSD_Wfactor(void);
407         // Constructor
408         class EmuThreadClass *hRunEmu;
409         class DrawThreadClass *hDrawEmu;
410         class JoyThreadClass *hRunJoy;
411         class MOVIE_SAVER *hSaveMovieThread;
412         
413         int max_vm_nodes;
414         bool ui_retranslate_completed;
415 public:
416         Ui_MainWindowBase(USING_FLAGS *p, CSP_Logger *logger, QWidget *parent = 0);
417         ~Ui_MainWindowBase();
418
419         // Initializer : using from InitContext.
420         void setCoreApplication(QApplication *p);
421         void createContextMenu(void);
422         void setupUi(void);
423         virtual void set_window(int mode);
424         // Belows are able to re-implement.
425         virtual void retranslateUi(void);
426         virtual void retranslateUI_Help(void);
427         virtual void retranslateCartMenu(int drv, int basedrv);
428         virtual void retranslateVolumeLabels(Ui_SoundDialog *);
429         virtual void retranslateEmulatorMenu(void);
430         virtual void retranselateUi_Depended_OSD(void);
431         // About Status bar
432         virtual void initStatusBar(void);
433         // EmuThread
434         void StopEmuThread(void);
435         virtual void LaunchEmuThread(void);
436         // JoyThread
437         virtual void StopJoyThread(void);
438         virtual void LaunchJoyThread(void);
439         // Screen
440         virtual void OnWindowResize(void);
441         virtual void OnWindowMove(void);
442         virtual void OnWindowRedraw(void);
443    
444         // Getting important widgets.
445         QMainWindow *getWindow(void) { return MainWindow; }
446         QMenuBar    *getMenuBar(void) { return menubar;}
447         GLDrawClass *getGraphicsView(void) { return graphicsView; }
448         QStatusBar *getStatusBar(void) { return statusbar;}
449         QImage *getBitmapImage(void) { return bitmapImage; }
450         
451         virtual void OnMainWindowClosed(void);
452         // Basic Action Definition
453         void OnCpuPower(int mode);
454         bool get_wave_shaper(void);
455         bool get_direct_load_mzt(void);
456         virtual bool GetPowerState(void);
457         void set_logger(CSP_Logger *logger) { csp_logger = logger; }
458         // Basic slots
459 public slots:
460         void delete_emu_thread(void);
461         void doChangeMessage_EmuThread(QString str);
462         void do_emu_update_config(void);
463         virtual void delete_joy_thread(void);
464         virtual void do_set_window_title(QString s);
465         virtual void redraw_status_bar(void);
466         virtual void redraw_leds(void);
467         void do_recv_data_led(quint32 d);
468
469         void do_update_volume(int level);
470         void set_screen_aspect(int num);
471         void set_screen_size(int w, int h);
472         void OnReset(void);
473         void OnSpecialReset(void);
474         virtual void do_set_mouse_enable(bool flag);
475         virtual void do_toggle_mouse(void);
476         void do_set_sound_device(int);
477         void do_emu_update_volume_balance(int num, int level);
478         void do_emu_update_volume_level(int num, int level);
479         void rise_log_viewer(void);
480         
481         void rise_volume_dialog(void);
482
483         void rise_joystick_dialog(void);
484
485         void rise_keyboard_dialog(void);
486         virtual void rise_movie_dialog(void);
487         void do_stop_saving_movie(void);
488         void do_start_saving_movie(void);
489         void do_set_state_saving_movie(bool state);
490         void OnLoadState(void);
491         void OnSaveState(void);
492
493         
494         virtual void OnOpenDebugger(int n);
495         virtual void OnCloseDebugger(void);
496         
497         void set_screen_rotate(bool);
498         void set_crt_filter(bool);
499         void set_gl_crt_filter(bool);
500         void set_cpu_power(int pw) {
501                 OnCpuPower(pw);
502         }
503         virtual void on_actionExit_triggered();
504
505         void OnStartAutoKey(void);
506         void OnStopAutoKey(void);
507         
508         void do_change_osd_fd(int drv, QString tmpstr);
509
510         void eject_cart(int);
511         void set_recent_cart(int, int);
512
513         int set_recent_cdrom(int drv, int num);
514         void do_eject_cdrom(int drv);
515         void do_open_cdrom(int drv, QString path);
516         void do_change_osd_cdrom(QString tmpstr);
517
518         int set_recent_laserdisc(int drv, int num); 
519         void do_eject_laserdisc(int drv); 
520         void do_open_laserdisc(int drv, QString path);
521         void do_change_osd_laserdisc(QString tmpstr);
522
523         void CreateBinaryMenu(int drv, int drv_base);
524         void CreateBinaryPulldownMenu(int drv);
525         void ConfigBinaryMenuSub(int drv);
526         int set_recent_binary_load(int drv, int num);
527         int set_recent_binary_save(int drv, int num);
528         void _open_binary_load(int drive, const QString fname);
529         void _open_binary_save(int drive, const QString fname);
530
531         void open_quick_disk_dialog(int drv);
532         int set_recent_quick_disk(int drive, int num); 
533         int write_protect_Qd(int drv, bool flag);
534         void _open_quick_disk(int drv, const QString fname);
535         void eject_Qd(int drv);
536
537         void do_change_osd_qd(int drv, QString tmpstr);
538
539         virtual void _open_disk(int drv, const QString fname);
540         void _open_cart(int drv, const QString fname);
541         void eject_cmt(void);
542         void do_change_boot_mode(int mode);
543         void do_change_cpu_type(int mode);
544         void do_write_protect_cmt(int drv, bool flag);
545         int  set_recent_cmt(int drv, int num);
546         void set_wave_shaper(bool f);
547         void set_direct_load_from_mzt(bool f);
548         void do_open_write_cmt(QString);
549         void do_open_read_cmt(int dummy, QString path);
550         void do_change_osd_cmt(QString tmpstr);
551
552         void do_push_play_tape(void);
553         void do_push_stop_tape(void);
554         void do_display_tape_play(bool flag);
555         void do_push_fast_forward_tape(void);
556         void do_push_rewind_tape(void);
557         void do_push_apss_forward_tape(void);
558         void do_push_apss_rewind_tape(void);
559         void set_cmt_sound(bool);
560
561         int write_protect_fd(int drv, bool flag);
562         void eject_fd(int drv);
563         virtual void do_update_recent_disk(int);
564         virtual int set_d88_slot(int drive, int num);
565         virtual int set_recent_disk(int, int);
566
567         // Bubble Casette
568         int write_protect_bubble(int drv, bool flag);
569
570         virtual int set_b77_slot(int drive, int num);
571         virtual void do_update_recent_bubble(int drv);
572         virtual int set_recent_bubble(int drv, int num);
573         void do_change_osd_bubble(int drv, QString tmpstr);
574
575         virtual void _open_bubble(int drv, const QString fname);
576         virtual void eject_bubble(int drv);
577
578         void start_record_sound(bool rec);
579         void set_freq(int);
580         void set_latency(int);
581         void set_sound_device(int);
582         void do_set_sound_strict_rendering(bool f);
583         
584         void set_monitor_type(int);
585         void message_status_bar(QString);
586         void resize_statusbar(int w, int h);
587         virtual void do_release_emu_resources(void);
588         virtual void set_window_title();
589         void set_device_type(int);
590         void set_drive_type(int);
591         void set_scan_line(bool);
592         void set_gl_scan_line_vert(bool);
593         void set_gl_scan_line_horiz(bool);
594         void set_printer_device(int);
595         void do_show_about(void);
596         void do_browse_document(QString);
597         void set_dipsw(int num, bool flag);
598         bool get_dipsw(int num);
599
600         void do_set_sound_files_fdd(bool f);
601         void do_set_sound_files_relay(bool f);
602         void do_set_sound_files_buttons(bool f);
603         void do_set_conslog(bool);
604         void do_set_syslog(bool);
605         void do_update_device_node_name(int id, const _TCHAR *name);    
606         void do_set_dev_log_to_console(int id, bool f);
607         void do_set_dev_log_to_syslog(int id, bool f);
608         void do_set_roma_kana(bool f);
609         void do_set_render_mode_std(void);
610         void do_set_render_mode_tv(void);
611         void do_select_render_platform(int num);
612         
613 signals:
614         int message_changed(QString);
615         int quit_emu_thread();
616         int call_joy_thread(EMU *);
617         int quit_joy_thread();
618         int quit_draw_thread();
619         int sig_quit_movie_thread();
620         int sig_stop_saving_movie(void);
621         int sig_start_saving_movie(void);
622         int on_boot_mode(int);
623         int on_cpu_type(int);
624         int on_cpu_power(int);
625         int on_open_debugger(int);
626         int on_insert_fd(int);
627         int on_eject_fd(int);
628         int do_open_disk(int, QString);
629         int do_recent_cmt(bool);
630         int closed(void);
631         int sig_quit_all(void);
632         int sig_vm_reset(void);
633         int sig_vm_specialreset(void);
634         int sig_vm_loadstate(void);
635         int sig_vm_savestate(void);
636         int sig_check_grab_mouse(bool);
637         int sig_resize_uibar(int, int);
638         int sig_resize_screen(int, int);
639         int sig_update_screen(void);
640         int sig_emu_update_config(void);
641         int sig_emu_start_rec_sound(void);
642         int sig_emu_stop_rec_sound(void);
643         int sig_emu_set_display_size(int, int, int, int);
644         int sig_emu_update_volume_level(int, int);
645         int sig_emu_update_volume_balance(int, int);
646         
647         int sig_write_protect_disk(int drv, bool flag);
648         int sig_open_disk(int, QString, int);
649         int sig_close_disk(int);
650         int sig_play_tape(QString name);
651         int sig_rec_tape(QString name);
652         int sig_close_tape(void);
653         int sig_cmt_push_play(void);
654         int sig_cmt_push_stop(void);
655         int sig_cmt_push_fast_forward(void);
656         int sig_cmt_push_fast_rewind(void);
657         int sig_cmt_push_apss_forward(void);
658         int sig_cmt_push_apss_rewind(void);
659         int sig_write_protect_quickdisk(int drv, bool flag);
660         int sig_close_quickdisk(int drv);
661         int sig_open_quickdisk(int drv, QString path);
662         int sig_close_cart(int drv);
663         int sig_open_cart(int drv, QString path);
664         int sig_open_cdrom(QString path);
665         int sig_close_cdrom(void);
666         int sig_close_laserdisc(void);
667         int sig_open_laserdisc(QString path);
668         int sig_load_binary(int drv, QString path);
669         int sig_save_binary(int drv, QString path);
670         int sig_write_protect_bubble(int, bool);
671         int sig_open_bubble(int, QString , int);
672         int sig_close_bubble(int);
673         int sig_led_update(QRectF);
674         int sig_start_auto_key(QString);
675         int sig_stop_auto_key(void);
676    
677         int quit_debugger_thread(void);
678         int sig_quit_widgets(void);
679 };
680 QT_END_NAMESPACE
681
682 #endif