4 * Copyright 2006 Develer S.r.l. (http://www.develer.com/)
5 * Copyright 2000, 2001 Bernardo Innocenti <bernie@codewiz.org>
6 * This file is part of DevLib - See README.devlib for information.
11 * \author Bernardo Innocenti <bernie@develer.com>
13 * \brief Main Qt window for embedded applications emulator (implementation)
18 *#* Revision 1.3 2006/02/15 09:11:17 bernie
19 *#* Add keyboard emulator.
21 *#* Revision 1.2 2006/01/16 03:51:51 bernie
24 *#* Revision 1.1 2006/01/16 03:37:12 bernie
25 *#* Add emulator skeleton.
31 #include <drv/lcd_gfx_qt.h>
32 #include <emul/emul.h>
33 #include <emul/emulkbd.h>
39 #include <qcheckbox.h>
40 #include <qpopupmenu.h>
42 #include <qmessagebox.h>
43 #include <qdatetime.h>
45 #include <qapplication.h>
47 EmulWin::EmulWin(Emulator *e) : QMainWindow(0, "DevLibEmul", WDestructiveClose)
50 QPopupMenu * file = new QPopupMenu(this);
51 file->insertItem("&Quit", static_cast<QObject *>(e->emulApp), SLOT(closeAllWindows()), CTRL+Key_Q);
54 QPopupMenu * help = new QPopupMenu(this);
55 help->insertItem("&About", this, SLOT(about()), Key_F1);
58 QMenuBar * menu = new QMenuBar(this);
59 menu->insertItem("&File", file);
60 menu->insertSeparator();
61 menu->insertItem("&Help", help);
63 // Make a central widget to contain the other widgets
64 QWidget *central = new QWidget(this);
65 setCentralWidget(central);
67 // Create a layout to position the widgets
68 QHBoxLayout *box_main = new QHBoxLayout(central, 4);
71 QVBoxLayout *box_right = new QVBoxLayout(box_main, 4);
74 QHBoxLayout *lay_lcd = new QHBoxLayout(box_right, 4);
75 lay_lcd->addWidget(e->emulLCD = new EmulLCD(central));
78 QHBoxLayout *lay_kbd = new QHBoxLayout(box_right, 4);
79 lay_kbd->addWidget(e->emulKbd = new EmulKbd(central));
81 // Setup keyboard: Label Keycode Row Col MRow MCol
82 e->emulKbd->addKey("^", Key_Up, 0, 0, 0, 0);
83 e->emulKbd->addKey("v", Key_Down, 1, 0, 0, 1);
84 e->emulKbd->addKey("OK", Key_Return, 0, 1, 0, 2);
85 e->emulKbd->addKey("ESC", Key_Escape, 1, 1, 0, 3);
95 void EmulWin::closeEvent(QCloseEvent *ce)
101 void EmulWin::about()
103 QMessageBox::about(this,
104 "Embedded Application Emulator",
106 "Copyright 2006 Develer S.r.l. (http://www.develer.com/)\n"
107 "Copyright 2001, 2002, 2003, 2005 Bernardo Innocenti <bernie@codewiz.org>\n"
108 "All rights reserved."
112 #include "emulwin_moc.cpp"