OSDN Git Service

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