#include "mainwindow.h" #include "ui_mainwindow.h" #include #include #include #include "abstractoveninterface.h" #include "manualcookwindow.h" #include "ovencontroller.h" #include "configwindow.h" #include "functiontestwindow.h" #include "autocookselectionwindow.h" #include "washwindow.h" #include "engineermenuwindow.h" #include "programmingwindow.h" #include "primewindow.h" MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow) { ui->setupUi(this); setFocus(); } MainWindow::~MainWindow() { delete ui; } static QPushButton *pushedChild = NULL; void MainWindow::keyPressEvent(QKeyEvent *event) { switch (event->key()) { case 0x01000030: // Turn left focusPreviousChild(); break; case 0x01000031: // Push if (focusWidget() != this) pushedChild = static_cast(focusWidget()); break; case 0x01000032: // Turn right focusNextChild(); break; } } void MainWindow::keyReleaseEvent(QKeyEvent *event) { switch (event->key()) { case 0x01000030: // Turn left focusPreviousChild(); break; case 0x01000031: // Push if (focusWidget() == pushedChild) pushedChild->click(); setFocus(); pushedChild = NULL; break; case 0x01000032: // Turn right focusNextChild(); break; } } void MainWindow::showManualCookWindow(Define::Mode mode) { ManualCookWindow *w = new ManualCookWindow(this, mode); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); } void MainWindow::showAutoCookSelectionWindow(Define::CookType type) { AutoCookSelectionWindow *w = new AutoCookSelectionWindow(this, type); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); } void MainWindow::on_steamButton_clicked() { showManualCookWindow(Define::SteamMode); } void MainWindow::on_combiButton_clicked() { showManualCookWindow(Define::CombiMode); } void MainWindow::on_dryheatButton_clicked() { showManualCookWindow(Define::DryMode); } void MainWindow::on_poultryButton_clicked() { showAutoCookSelectionWindow(Define::Poultry); } void MainWindow::on_meatButton_clicked() { showAutoCookSelectionWindow(Define::Meat); } void MainWindow::on_fishButton_clicked() { showAutoCookSelectionWindow(Define::Fish); } void MainWindow::on_dessertButton_clicked() { showAutoCookSelectionWindow(Define::Desert); } void MainWindow::on_grainButton_clicked() { showAutoCookSelectionWindow(Define::Vegetable); } void MainWindow::on_breadButton_clicked() { showAutoCookSelectionWindow(Define::Bread); } void MainWindow::on_etcButton_clicked() { showAutoCookSelectionWindow(Define::Etc); } void MainWindow::on_primeButton_clicked() { PrimeWindow *w = new PrimeWindow(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); } void MainWindow::on_washButton_clicked() { WashWindow *w = new WashWindow(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); } void MainWindow::on_configButton_clicked() { ConfigWindow *w = new ConfigWindow(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); // EngineerMenuWindow *w = new EngineerMenuWindow(this); // w->setWindowModality(Qt::WindowModal); // w->showFullScreen(); // w->raise(); } void MainWindow::on_helpButton_clicked() { } void MainWindow::on_programmingButton_clicked() { ProgrammingWindow *w = new ProgrammingWindow(this); w->setWindowModality(Qt::WindowModal); w->showFullScreen(); w->raise(); }