/** * Class constructor. */ LearningWidget::LearningWidget(MainWindow* parent) : QWidget(parent), ui(new Ui::LearningWidget), model(NULL), mainWin(parent) { //autogenerated stuff ui->setupUi(this); //creates and adds newt param widget to layout npw = new NetParamWidget(this); ui->splitterH->addWidget(npw); //connects signals and slots connect(ui->closeButton, SIGNAL(pressed()), this, SLOT(closeBtnPressed())); connect(ui->startBtn, SIGNAL(pressed()), this, SLOT(startLearning())); connect(ui->stopBtn, SIGNAL(pressed()), this, SLOT(stopLearning())); connect(ui->datasetBox, SIGNAL(activated(QString)), this, SLOT(datasetSelected(QString))); connect(ui->networkBox, SIGNAL(activated(QString)), this, SLOT(networkSelected(QString))); connect(ui->lrnCoefBox, SIGNAL(valueChanged(double)), this, SLOT(lrnCoefChanged(double))); connect(ui->maxErrBox, SIGNAL(valueChanged(double)), this, SLOT(maxErrChanged(double))); connect(ui->maxIterBox, SIGNAL(valueChanged(int)), this, SLOT(maxIterChanged(int))); connect(ui->maxTimeBox, SIGNAL(valueChanged(int)), this, SLOT(maxTimeChanged(int))); connect(ui->resetButton, SIGNAL(pressed()), this, SLOT(resetLearning())); connect(ui->graphBtn, SIGNAL(pressed()), this, SLOT(graphBtnPressed())); connect(ui->tableBtn, SIGNAL(pressed()), this, SLOT(tableBtnPressed())); ui->graphBtn->setChecked(true); ui->graphStack->setCurrentIndex(0); }
void DlgPrefController::showLearningWizard() { // If the user has checked the "Enabled" checkbox but they haven't hit OK to // apply it yet, prompt them to apply the settings before we open the // learning dialog. If we don't apply the settings first and open the // device, the dialog won't react to controller messages. if (m_ui.chkEnabledDevice->isChecked() && !m_pController->isOpen()) { QMessageBox::StandardButton result = QMessageBox::question( this, tr("Apply device settings?"), tr("Your settings must be applied before starting the learning wizard.\n" "Apply settings and continue?"), QMessageBox::Ok | QMessageBox::Cancel, // Buttons to be displayed QMessageBox::Ok); // Default button // Stop if the user has not pressed the Ok button, // which could be the Cancel or the Close Button. if (result != QMessageBox::Ok) { return; } } slotApply(); // After this point we consider the mapping wizard as dirtying the preset. slotDirty(); // Note that DlgControllerLearning is set to delete itself on close using // the Qt::WA_DeleteOnClose attribute (so this "new" doesn't leak memory) m_pDlgControllerLearning = new DlgControllerLearning(this, m_pController); m_pDlgControllerLearning->show(); ControllerLearningEventFilter* pControllerLearning = m_pControllerManager->getControllerLearningEventFilter(); pControllerLearning->startListening(); connect(pControllerLearning, SIGNAL(controlClicked(ControlObject*)), m_pDlgControllerLearning, SLOT(controlClicked(ControlObject*))); connect(m_pDlgControllerLearning, SIGNAL(listenForClicks()), pControllerLearning, SLOT(startListening())); connect(m_pDlgControllerLearning, SIGNAL(stopListeningForClicks()), pControllerLearning, SLOT(stopListening())); connect(m_pDlgControllerLearning, SIGNAL(stopLearning()), this, SLOT(show())); connect(m_pDlgControllerLearning, SIGNAL(inputMappingsLearned(MidiInputMappings)), this, SLOT(midiInputMappingsLearned(MidiInputMappings))); emit(mappingStarted()); connect(m_pDlgControllerLearning, SIGNAL(stopLearning()), this, SIGNAL(mappingEnded())); }