KJS::Value KstBindPowerSpectrum::length(KJS::ExecState *exec) const { Q_UNUSED(exec) KstPSDPtr d = makePSD(_d); if (d) { KstReadLocker rl(d); return KJS::Number(d->len()); } return KJS::Number(0); }
void KstPsdDialog::fillFieldsForEdit() { KstPSDPtr pp; pp = kst_cast<KstPSD>(_dp); if (pp) { pp->readLock(); _tagName->setText(pp->tagName()); _w->_vector->setSelection(pp->vTag()); // set sample rate, Units, FFT len, and vector units _w->_kstFFTOptions->FFTLen->setValue(pp->len()); _w->_kstFFTOptions->SampRate->setText(QString::number(pp->freq())); _w->_kstFFTOptions->VectorUnits->setText(pp->vUnits()); _w->_kstFFTOptions->RateUnits->setText(pp->rUnits()); _w->_kstFFTOptions->Apodize->setChecked(pp->apodize()); _w->_kstFFTOptions->ApodizeFxn->setCurrentIndex(pp->apodizeFxn()); _w->_kstFFTOptions->Sigma->setValue(pp->gaussianSigma()); _w->_kstFFTOptions->RemoveMean->setChecked(pp->removeMean()); _w->_kstFFTOptions->Interleaved->setChecked(pp->average()); _w->_kstFFTOptions->Output->setCurrentIndex(pp->output()); _w->_kstFFTOptions->InterpolateHoles->setChecked(pp->interpolateHoles()); _w->_kstFFTOptions->synch(); pp->unlock(); _w->_curveAppearance->hide(); _w->_curvePlacement->hide(); _legendText->hide(); _legendLabel->hide(); adjustSize(); resize(minimumSizeHint()); setFixedHeight(height()); } }
bool KstPsdDialog::editSingleObject(KstPSDPtr psPtr) { psPtr->writeLock(); KST::vectorList.lock().readLock(); KstVectorPtr v = *KST::vectorList.findTag(_w->_vector->selectedVector()); KST::vectorList.lock().unlock(); if (v) { // Can be null if edit multiple and it wasn't changed psPtr->setVector(v); } // get the values that need to be checked for consistency double pSampRate; int pFFTLen; if (_sampRateDirty) { pSampRate = _w->_kstFFTOptions->SampRate->text().toDouble(); } else { pSampRate = psPtr->freq(); } if (_fFTLenDirty) { pFFTLen = _w->_kstFFTOptions->FFTLen->text().toInt(); } else { pFFTLen = psPtr->len(); } if (!_w->_kstFFTOptions->checkGivenValues(pSampRate, pFFTLen)) { psPtr->unlock(); return false; } if (_sampRateDirty) { psPtr->setFreq(_w->_kstFFTOptions->SampRate->text().toDouble()); } if (_fFTLenDirty) { psPtr->setLen(_w->_kstFFTOptions->FFTLen->text().toInt()); } if (_vectorUnitsDirty) { psPtr->setVUnits(_w->_kstFFTOptions->VectorUnits->text()); } if (_rateUnitsDirty) { psPtr->setRUnits(_w->_kstFFTOptions->RateUnits->text()); } if (_apodizeDirty) { psPtr->setApodize(_w->_kstFFTOptions->Apodize->isChecked()); } if (_apodizeFxnDirty) { if (_editMultipleMode) { psPtr->setApodizeFxn(ApodizeFunction(_w->_kstFFTOptions->ApodizeFxn->currentIndex()-1)); } else { psPtr->setApodizeFxn(ApodizeFunction(_w->_kstFFTOptions->ApodizeFxn->currentIndex())); } } if (_gaussianSigmaDirty) { psPtr->setGaussianSigma(_editMultipleMode ? _w->_kstFFTOptions->Sigma->value() - 1 : _w->_kstFFTOptions->Sigma->value()); } if (_removeMeanDirty) { psPtr->setRemoveMean(_w->_kstFFTOptions->RemoveMean->isChecked()); } if (_interleavedDirty) { psPtr->setAverage(_w->_kstFFTOptions->Interleaved->isChecked()); } if (_outputDirty) { if (_editMultipleMode) { psPtr->setOutput(PSDType(_w->_kstFFTOptions->Output->currentIndex()-1)); } else { psPtr->setOutput(PSDType(_w->_kstFFTOptions->Output->currentIndex())); } } if (_interpolateHolesDirty) { psPtr->setInterpolateHoles(_w->_kstFFTOptions->InterpolateHoles->isChecked()); } psPtr->setRecursed(false); if (psPtr->recursion()) { psPtr->setRecursed(true); psPtr->unlock(); QMessageBox::critical(this, QObject::tr("Kst"), QObject::tr("There is a recursion resulting from the spectrum you entered.")); return false; } psPtr->unlock(); return true; }