void SignalSettings::updateProperties() { if (signal_) { ui->nameBox->setText(signal_->getName()); ui->idLabel->setText(signal_->getId()); ui->sSpinBox->setValue(signal_->getSStart()); ui->tSpinBox->setValue(signal_->getT()); ui->zOffsetSpinBox->setValue(signal_->getZOffset()); ui->countryBox->setText(signal_->getCountry()); ui->typeSpinBox->setValue(signal_->getType()); ui->subclassLineEdit->setText(signal_->getTypeSubclass()); ui->subtypeSpinBox->setValue(signal_->getSubtype()); SignalContainer *signalContainer = signalManager_->getSignalContainer(signal_->getType(),signal_->getTypeSubclass(),signal_->getSubtype()); if (signalContainer) { QIcon icon = signalContainer->getSignalIcon(); ui->imageTextLabel->setPixmap(icon.pixmap(icon.availableSizes().first()).scaledToHeight(30)); } ui->valueSpinBox->setValue(signal_->getValue()); ui->hOffsetSpinBox->setValue(signal_->getHeading()); ui->pitchSpinBox->setValue(signal_->getPitch()); ui->rollSpinBox->setValue(signal_->getRoll()); ui->dynamicCheckBox->setChecked(signal_->getDynamic()); ui->orientationComboBox->setCurrentIndex(signal_->getOrientation()); ui->poleCheckBox->setChecked(signal_->getPole()); ui->sizeComboBox->setCurrentIndex(signal_->getSize() - 1); ui->fromLaneSpinBox->setValue(signal_->getValidFromLane()); ui->toLaneSpinBox->setValue(signal_->getValidToLane()); //Pedestrian Crossing has ancillary data // if ((signal_->getType() == 293) && !ui->crossingPushButton->isVisible()) { enableCrossingParams(true); } else if (ui->crossingPushButton->isVisible() && (signal_->getType() != 293)) { enableCrossingParams(false); } // User data // if (signal_->getType() == 293) { ui->crossingSpinBox->setValue(signal_->getCrossingProbability()); ui->resetTimeSpinBox->setValue(signal_->getResetTime()); } } }
SignalSettings::SignalSettings(ProjectSettings *projectSettings, SettingsElement *parentSettingsElement, Signal *signal) : SettingsElement(projectSettings, parentSettingsElement, signal) , ui(new Ui::SignalSettings) , signal_(signal) , init_(false) , valueChanged_(false) { signalManager_ = getProjectSettings()->getProjectWidget()->getMainWindow()->getSignalManager(); signalEditor_ = dynamic_cast <SignalEditor *> (getProjectSettings()->getProjectWidget()->getProjectEditor()); ui->setupUi(this); // Initial Values // // updateProperties(); connect(ui->sSpinBox, SIGNAL(editingFinished()), this, SLOT(on_sSpinBox_editingFinished())); connect(ui->sSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->nameBox, SIGNAL(editingFinished()), this, SLOT(onNameBoxEditingFinished())); connect(ui->tSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->tSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->zOffsetSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->zOffsetSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->countryBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->countryBox, SIGNAL(textChanged(const QString&)), this, SLOT(onValueChanged())); connect(ui->typeSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->typeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onValueChanged())); connect(ui->subclassLineEdit, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->subclassLineEdit, SIGNAL(textChanged(const QString&)), this, SLOT(onValueChanged())); connect(ui->subtypeSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->subtypeSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onValueChanged())); connect(ui->valueSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->valueSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->hOffsetSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->hOffsetSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->pitchSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->pitchSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->rollSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->rollSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->dynamicCheckBox, SIGNAL(stateChanged(int)), this, SLOT(onEditingFinished(int))); connect(ui->orientationComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(onEditingFinished(int))); connect(ui->poleCheckBox, SIGNAL(stateChanged(int)), this, SLOT(onEditingFinished(int))); connect(ui->sizeComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(onEditingFinished(int))); connect(ui->fromLaneSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->fromLaneSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onValueChanged())); connect(ui->toLaneSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->toLaneSpinBox, SIGNAL(valueChanged(int)), this, SLOT(onValueChanged())); //Pedestrian Crossing has ancillary data // if (signal_->getType() == 293) { enableCrossingParams(true); connect(ui->crossingSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->crossingSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); connect(ui->resetTimeSpinBox, SIGNAL(editingFinished()), this, SLOT(onEditingFinished())); connect(ui->resetTimeSpinBox, SIGNAL(valueChanged(double)), this, SLOT(onValueChanged())); }