[Kst] branches/work/kst/portto4/kst/src
Mike Fenton
mike at staikos.net
Fri Nov 14 21:08:08 CET 2008
SVN commit 884387 by fenton:
Add Default value support for Scalars.
M +2 -2 libkstapp/filterfitdialog.cpp
M +2 -1 plugins/dataobject/bin/bin.cpp
M +6 -4 plugins/dataobject/crossspectrum/crossspectrum.cpp
M +2 -1 plugins/dataobject/cumulativesum/cumulativesum.cpp
M +2 -1 plugins/dataobject/differentiation/differentiation.cpp
M +6 -3 plugins/dataobject/effectivebandwidth/effectivebandwidth.cpp
M +4 -3 plugins/dataobject/genericfilter/genericfilter.cpp
M +3 -2 plugins/dataobject/noiseaddition/noiseaddition.cpp
M +4 -2 plugins/dataobject/periodogram/periodogram.cpp
M +4 -2 plugins/dataobject/phase/phase.cpp
M +2 -1 plugins/dataobject/shift/shift.cpp
M +6 -3 plugins/dataobject/syncbin/syncbin.cpp
M +3 -0 plugins/filters/butterworth_bandpass/butterworth_bandpass.cpp
M +3 -0 plugins/filters/butterworth_bandstop/butterworth_bandstop.cpp
M +2 -0 plugins/filters/butterworth_highpass/butterworth_highpass.cpp
M +2 -0 plugins/filters/butterworth_lowpass/butterworth_lowpass.cpp
M +2 -0 plugins/filters/despike/filterdespike.cpp
M +1 -0 plugins/fits/polynomial_unweighted/fitpolynomial_unweighted.cpp
M +1 -0 plugins/fits/polynomial_weighted/fitpolynomial_weighted.cpp
M +2 -0 plugins/fits/sinusoid_unweighted/fitsinusoid_unweighted.cpp
M +2 -0 plugins/fits/sinusoid_weighted/fitsinusoid_weighted.cpp
M +47 -11 widgets/scalarselector.cpp
M +5 -0 widgets/scalarselector.h
--- branches/work/kst/portto4/kst/src/libkstapp/filterfitdialog.cpp #884386:884387
@@ -173,8 +173,6 @@
ObjectPtr FilterFitDialog::createNewDataObject() {
- _filterFitTab->configWidget()->save();
-
BasicPluginPtr dataObject = kst_cast<BasicPlugin>(DataObject::createPlugin(_filterFitTab->pluginName(), _document->objectStore(), _filterFitTab->configWidget()));
Q_ASSERT(dataObject);
@@ -219,6 +217,8 @@
_plotItem->update();
}
+ _filterFitTab->configWidget()->save();
+
return dataObject;
}
--- branches/work/kst/portto4/kst/src/plugins/dataobject/bin/bin.cpp #884386:884387
@@ -29,7 +29,8 @@
void setObjectStore(Kst::ObjectStore* store) {
_store = store;
_vector->setObjectStore(store);
- _scalarBin->setObjectStore(store);
+ _scalarBin->setObjectStore(store);
+ _scalarBin->setDefaultValue(10);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/crossspectrum/crossspectrum.cpp #884386:884387
@@ -32,10 +32,12 @@
void setObjectStore(Kst::ObjectStore* store) {
_store = store;
- _vectorOne->setObjectStore(store);
- _vectorTwo->setObjectStore(store);
- _scalarFFT->setObjectStore(store);
- _scalarRate->setObjectStore(store);
+ _vectorOne->setObjectStore(store);
+ _vectorTwo->setObjectStore(store);
+ _scalarFFT->setObjectStore(store);
+ _scalarRate->setObjectStore(store);
+ _scalarFFT->setDefaultValue(10);
+ _scalarRate->setDefaultValue(100);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/cumulativesum/cumulativesum.cpp #884386:884387
@@ -29,7 +29,8 @@
void setObjectStore(Kst::ObjectStore* store) {
_store = store;
_vector->setObjectStore(store);
- _scalarStep->setObjectStore(store);
+ _scalarStep->setObjectStore(store);
+ _scalarStep->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/differentiation/differentiation.cpp #884386:884387
@@ -29,7 +29,8 @@
void setObjectStore(Kst::ObjectStore* store) {
_store = store;
_vector->setObjectStore(store);
- _scalarStep->setObjectStore(store);
+ _scalarStep->setObjectStore(store);
+ _scalarStep->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/effectivebandwidth/effectivebandwidth.cpp #884386:884387
@@ -36,9 +36,12 @@
_store = store;
_vectorX->setObjectStore(store);
_vectorY->setObjectStore(store);
- _scalarMin->setObjectStore(store);
- _scalarFreq->setObjectStore(store);
- _scalarK->setObjectStore(store);
+ _scalarMin->setObjectStore(store);
+ _scalarFreq->setObjectStore(store);
+ _scalarK->setObjectStore(store);
+ _scalarMin->setDefaultValue(0);
+ _scalarFreq->setDefaultValue(0);
+ _scalarK->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/genericfilter/genericfilter.cpp #884386:884387
@@ -35,9 +35,10 @@
void setObjectStore(Kst::ObjectStore* store) {
_store = store;
_vector->setObjectStore(store);
- _scalarInterval->setObjectStore(store);
- _stringNumerator->setObjectStore(store);
- _stringDenominator->setObjectStore(store);
+ _scalarInterval->setObjectStore(store);
+ _stringNumerator->setObjectStore(store);
+ _stringDenominator->setObjectStore(store);
+ _scalarInterval->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/noiseaddition/noiseaddition.cpp #884386:884387
@@ -31,8 +31,9 @@
void setObjectStore(Kst::ObjectStore* store) {
_store = store;
- _vector->setObjectStore(store);
- _scalarSigma->setObjectStore(store);
+ _vector->setObjectStore(store);
+ _scalarSigma->setObjectStore(store);
+ _scalarSigma->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/periodogram/periodogram.cpp #884386:884387
@@ -38,8 +38,10 @@
_store = store;
_vectorTime->setObjectStore(store);
_vectorData->setObjectStore(store);
- _scalarOversampling->setObjectStore(store);
- _scalarANFF->setObjectStore(store);
+ _scalarOversampling->setObjectStore(store);
+ _scalarANFF->setObjectStore(store);
+ _scalarOversampling->setDefaultValue(0);
+ _scalarANFF->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/phase/phase.cpp #884386:884387
@@ -34,8 +34,10 @@
_store = store;
_vectorTime->setObjectStore(store);
_vectorData->setObjectStore(store);
- _scalarPeriod->setObjectStore(store);
- _scalarZeroPhase->setObjectStore(store);
+ _scalarPeriod->setObjectStore(store);
+ _scalarZeroPhase->setObjectStore(store);
+ _scalarPeriod->setDefaultValue(0);
+ _scalarZeroPhase->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/shift/shift.cpp #884386:884387
@@ -29,7 +29,8 @@
void setObjectStore(Kst::ObjectStore* store) {
_store = store;
_vector->setObjectStore(store);
- _scalarShift->setObjectStore(store);
+ _scalarShift->setObjectStore(store);
+ _scalarShift->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/dataobject/syncbin/syncbin.cpp #884386:884387
@@ -42,9 +42,12 @@
_store = store;
_vectorX->setObjectStore(store);
_vectorY->setObjectStore(store);
- _scalarBins->setObjectStore(store);
- _scalarXMin->setObjectStore(store);
- _scalarXMax->setObjectStore(store);
+ _scalarBins->setObjectStore(store);
+ _scalarXMin->setObjectStore(store);
+ _scalarXMax->setObjectStore(store);
+ _scalarBins->setDefaultValue(0);
+ _scalarXMin->setDefaultValue(0);
+ _scalarXMax->setDefaultValue(0);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/filters/butterworth_bandpass/butterworth_bandpass.cpp #884386:884387
@@ -36,6 +36,9 @@
_scalarOrder->setObjectStore(store);
_scalarRate->setObjectStore(store);
_scalarBandwidth->setObjectStore(store);
+ _scalarOrder->setDefaultValue(4);
+ _scalarRate->setDefaultValue(0.052);
+ _scalarBandwidth->setDefaultValue(0.096);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/filters/butterworth_bandstop/butterworth_bandstop.cpp #884386:884387
@@ -36,6 +36,9 @@
_scalarOrder->setObjectStore(store);
_scalarRate->setObjectStore(store);
_scalarBandwidth->setObjectStore(store);
+ _scalarOrder->setDefaultValue(0);
+ _scalarRate->setDefaultValue(1);
+ _scalarBandwidth->setDefaultValue(1);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/filters/butterworth_highpass/butterworth_highpass.cpp #884386:884387
@@ -34,6 +34,8 @@
_vector->setObjectStore(store);
_scalarOrder->setObjectStore(store);
_scalarCutoff->setObjectStore(store);
+ _scalarOrder->setDefaultValue(4);
+ _scalarCutoff->setDefaultValue(0.02);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/filters/butterworth_lowpass/butterworth_lowpass.cpp #884386:884387
@@ -35,6 +35,8 @@
_vector->setObjectStore(store);
_scalarOrder->setObjectStore(store);
_scalarCutoff->setObjectStore(store);
+ _scalarOrder->setDefaultValue(4);
+ _scalarCutoff->setDefaultValue(0.1);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/filters/despike/filterdespike.cpp #884386:884387
@@ -32,6 +32,8 @@
_vector->setObjectStore(store);
_scalarNSigma->setObjectStore(store);
_scalarSpacing->setObjectStore(store);
+ _scalarNSigma->setDefaultValue(5.0);
+ _scalarSpacing->setDefaultValue(1);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/fits/polynomial_unweighted/fitpolynomial_unweighted.cpp #884386:884387
@@ -40,6 +40,7 @@
_vectorX->setObjectStore(store);
_vectorY->setObjectStore(store);
_scalarOrder->setObjectStore(store);
+ _scalarOrder->setDefaultValue(2);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/fits/polynomial_weighted/fitpolynomial_weighted.cpp #884386:884387
@@ -42,6 +42,7 @@
_vectorY->setObjectStore(store);
_vectorWeights->setObjectStore(store);
_scalarOrder->setObjectStore(store);
+ _scalarOrder->setDefaultValue(2);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/fits/sinusoid_unweighted/fitsinusoid_unweighted.cpp #884386:884387
@@ -42,6 +42,8 @@
_vectorY->setObjectStore(store);
_scalarHarmonics->setObjectStore(store);
_scalarPeriod->setObjectStore(store);
+ _scalarHarmonics->setDefaultValue(0);
+ _scalarPeriod->setDefaultValue(1);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/plugins/fits/sinusoid_weighted/fitsinusoid_weighted.cpp #884386:884387
@@ -44,6 +44,8 @@
_vectorWeights->setObjectStore(store);
_scalarHarmonics->setObjectStore(store);
_scalarPeriod->setObjectStore(store);
+ _scalarHarmonics->setDefaultValue(0);
+ _scalarPeriod->setDefaultValue(1);
}
void setupSlots(QWidget* dialog) {
--- branches/work/kst/portto4/kst/src/widgets/scalarselector.cpp #884386:884387
@@ -35,8 +35,6 @@
_scalarListSelector = new ScalarListSelector(this);
- fillScalars();
-
connect(_newScalar, SIGNAL(pressed()), this, SLOT(newScalar()));
connect(_editScalar, SIGNAL(pressed()), this, SLOT(editScalar()));
connect(_selectScalar, SIGNAL(pressed()), this, SLOT(selectScalar()));
@@ -55,11 +53,7 @@
}
void ScalarSelector::updateDescriptionTip() {
- if (selectedScalar()) {
- setToolTip(selectedScalar()->descriptionTip());
- } else {
- setToolTip(QString());
- }
+ setToolTip(selectedScalarString());
}
@@ -68,9 +62,29 @@
}
+void ScalarSelector::setDefaultValue(double value) {
+ QString string = QString::number(value);
+ _scalar->addItem(string, qVariantFromValue(NULL));
+ _scalar->setCurrentIndex(_scalar->findText(string));
+}
+
+
ScalarPtr ScalarSelector::selectedScalar() {
// qDebug() << "xxx text: " << _scalar->currentText();
- if (_scalar->findText(_scalar->currentText(),Qt::MatchExactly) == -1) {
+ bool existingScalar;
+ if (_scalar->findText(_scalar->currentText(), Qt::MatchExactly) == -1) {
+ // Value typed in.
+ existingScalar = false;
+ } else {
+ if (Scalar* scalar = qVariantValue<Scalar*>(_scalar->itemData(_scalar->findText(_scalar->currentText())))) {
+ existingScalar = true;
+ } else {
+ // Default Value. Doesn't exist as scalar yet.
+ existingScalar = false;
+ }
+ }
+
+ if (!existingScalar) {
// Create the Scalar.
bool ok = false;
double value = _scalar->currentText().toDouble(&ok);
@@ -79,9 +93,18 @@
}
if (!ok) {
- return 0; //invalid
+ return 0;
}
+ // Check if a scalar with this value exist & is orphan.
+ foreach(Scalar* scalar, _store->getObjects<Scalar>()) {
+ if (scalar->orphan()) {
+ if (scalar->value() == value) {
+ return scalar;
+ }
+ }
+ }
+
ScalarPtr scalar = _store->createObject<Scalar>();
scalar->setValue(value);
scalar->setOrphan(true);
@@ -97,11 +120,24 @@
return scalar;
}
-
return qVariantValue<Scalar*>(_scalar->itemData(_scalar->currentIndex()));
}
+QString ScalarSelector::selectedScalarString() {
+ if (_scalar->findText(_scalar->currentText(),Qt::MatchExactly) == -1) {
+ return _scalar->currentText();
+ }
+
+ Scalar* scalar = qVariantValue<Scalar*>(_scalar->itemData(_scalar->currentIndex()));
+ if (scalar) {
+ return scalar->descriptionTip();
+ } else {
+ return QString();
+ }
+}
+
+
void ScalarSelector::setSelectedScalar(ScalarPtr selectedScalar) {
int i=-1,j;
for (j=0; j<_scalar->count() ; j++) {
@@ -170,7 +206,7 @@
qSort(list);
- ScalarPtr current = selectedScalar();
+ ScalarPtr current = qVariantValue<Scalar*>(_scalar->itemData(_scalar->currentIndex()));;
_scalar->clear();
foreach (QString string, list) {
--- branches/work/kst/portto4/kst/src/widgets/scalarselector.h #884386:884387
@@ -35,8 +35,13 @@
ScalarPtr selectedScalar();
void setSelectedScalar(ScalarPtr selectedScalar);
+
void fillScalars();
+ QString selectedScalarString();
+
+ void setDefaultValue(double value);
+
Q_SIGNALS:
void selectionChanged(const QString&);
More information about the Kst
mailing list