OSDN Git Service

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