Changeset View
Changeset View
Standalone View
Standalone View
src/kdefrontend/dockwidgets/XYDifferentiationCurveDock.cpp
Show First 20 Lines • Show All 130 Lines • ▼ Show 20 Line(s) | 129 | } else { | |||
---|---|---|---|---|---|
131 | uiGeneralTab.leName->setEnabled(false); | 131 | uiGeneralTab.leName->setEnabled(false); | ||
132 | uiGeneralTab.lComment->setEnabled(false); | 132 | uiGeneralTab.lComment->setEnabled(false); | ||
133 | uiGeneralTab.leComment->setEnabled(false); | 133 | uiGeneralTab.leComment->setEnabled(false); | ||
134 | 134 | | |||
135 | uiGeneralTab.leName->setText(QString()); | 135 | uiGeneralTab.leName->setText(QString()); | ||
136 | uiGeneralTab.leComment->setText(QString()); | 136 | uiGeneralTab.leComment->setText(QString()); | ||
137 | } | 137 | } | ||
138 | 138 | | |||
139 | auto* analysisCurve = dynamic_cast<XYAnalysisCurve*>(m_curve); | ||||
140 | checkColumnAvailability(cbXDataColumn, analysisCurve->xDataColumn(), analysisCurve->xDataColumnPath()); | ||||
141 | checkColumnAvailability(cbYDataColumn, analysisCurve->yDataColumn(), analysisCurve->yDataColumnPath()); | ||||
142 | | ||||
139 | //show the properties of the first curve | 143 | //show the properties of the first curve | ||
140 | m_differentiationCurve = dynamic_cast<XYDifferentiationCurve*>(m_curve); | 144 | m_differentiationCurve = dynamic_cast<XYDifferentiationCurve*>(m_curve); | ||
141 | 145 | | |||
142 | uiGeneralTab.cbDataSourceType->setCurrentIndex(m_differentiationCurve->dataSourceType()); | 146 | uiGeneralTab.cbDataSourceType->setCurrentIndex(m_differentiationCurve->dataSourceType()); | ||
143 | this->dataSourceTypeChanged(uiGeneralTab.cbDataSourceType->currentIndex()); | 147 | this->dataSourceTypeChanged(uiGeneralTab.cbDataSourceType->currentIndex()); | ||
144 | XYCurveDock::setModelIndexFromAspect(cbDataSourceCurve, m_differentiationCurve->dataSourceCurve()); | 148 | XYCurveDock::setModelIndexFromAspect(cbDataSourceCurve, m_differentiationCurve->dataSourceCurve()); | ||
145 | XYCurveDock::setModelIndexFromAspect(cbXDataColumn, m_differentiationCurve->xDataColumn()); | 149 | XYCurveDock::setModelIndexFromAspect(cbXDataColumn, m_differentiationCurve->xDataColumn()); | ||
146 | XYCurveDock::setModelIndexFromAspect(cbYDataColumn, m_differentiationCurve->yDataColumn()); | 150 | XYCurveDock::setModelIndexFromAspect(cbYDataColumn, m_differentiationCurve->yDataColumn()); | ||
▲ Show 20 Lines • Show All 119 Lines • ▼ Show 20 Line(s) | 263 | void XYDifferentiationCurveDock::xDataColumnChanged(const QModelIndex& index) { | |||
266 | // disable deriv orders and accuracies that need more data points | 270 | // disable deriv orders and accuracies that need more data points | ||
267 | this->updateSettings(column); | 271 | this->updateSettings(column); | ||
268 | 272 | | |||
269 | if (m_initializing) | 273 | if (m_initializing) | ||
270 | return; | 274 | return; | ||
271 | 275 | | |||
272 | for (auto* curve : m_curvesList) | 276 | for (auto* curve : m_curvesList) | ||
273 | dynamic_cast<XYDifferentiationCurve*>(curve)->setXDataColumn(column); | 277 | dynamic_cast<XYDifferentiationCurve*>(curve)->setXDataColumn(column); | ||
278 | | ||||
279 | cbXDataColumn->useCurrentIndexText(true); | ||||
280 | cbXDataColumn->setInvalid(false); | ||||
274 | } | 281 | } | ||
275 | 282 | | |||
276 | void XYDifferentiationCurveDock::yDataColumnChanged(const QModelIndex& index) { | 283 | void XYDifferentiationCurveDock::yDataColumnChanged(const QModelIndex& index) { | ||
277 | if (m_initializing) | 284 | if (m_initializing) | ||
278 | return; | 285 | return; | ||
279 | 286 | | |||
280 | auto* aspect = static_cast<AbstractAspect*>(index.internalPointer()); | 287 | auto* aspect = static_cast<AbstractAspect*>(index.internalPointer()); | ||
281 | auto* column = dynamic_cast<AbstractColumn*>(aspect); | 288 | auto* column = dynamic_cast<AbstractColumn*>(aspect); | ||
282 | 289 | | |||
283 | for (auto* curve : m_curvesList) | 290 | for (auto* curve : m_curvesList) | ||
284 | dynamic_cast<XYDifferentiationCurve*>(curve)->setYDataColumn(column); | 291 | dynamic_cast<XYDifferentiationCurve*>(curve)->setYDataColumn(column); | ||
292 | | ||||
293 | cbYDataColumn->useCurrentIndexText(true); | ||||
294 | cbYDataColumn->setInvalid(false); | ||||
285 | } | 295 | } | ||
286 | 296 | | |||
287 | /*! | 297 | /*! | ||
288 | * disable deriv orders and accuracies that need more data points | 298 | * disable deriv orders and accuracies that need more data points | ||
289 | */ | 299 | */ | ||
290 | void XYDifferentiationCurveDock::updateSettings(const AbstractColumn* column) { | 300 | void XYDifferentiationCurveDock::updateSettings(const AbstractColumn* column) { | ||
291 | if (!column) | 301 | if (!column) | ||
292 | return; | 302 | return; | ||
▲ Show 20 Lines • Show All 181 Lines • ▼ Show 20 Line(s) | 483 | if (m_initializing) | |||
474 | return; | 484 | return; | ||
475 | 485 | | |||
476 | //no differentiation possible without the x- and y-data | 486 | //no differentiation possible without the x- and y-data | ||
477 | bool hasSourceData = false; | 487 | bool hasSourceData = false; | ||
478 | if (m_differentiationCurve->dataSourceType() == XYAnalysisCurve::DataSourceSpreadsheet) { | 488 | if (m_differentiationCurve->dataSourceType() == XYAnalysisCurve::DataSourceSpreadsheet) { | ||
479 | AbstractAspect* aspectX = static_cast<AbstractAspect*>(cbXDataColumn->currentModelIndex().internalPointer()); | 489 | AbstractAspect* aspectX = static_cast<AbstractAspect*>(cbXDataColumn->currentModelIndex().internalPointer()); | ||
480 | AbstractAspect* aspectY = static_cast<AbstractAspect*>(cbYDataColumn->currentModelIndex().internalPointer()); | 490 | AbstractAspect* aspectY = static_cast<AbstractAspect*>(cbYDataColumn->currentModelIndex().internalPointer()); | ||
481 | hasSourceData = (aspectX != nullptr && aspectY != nullptr); | 491 | hasSourceData = (aspectX != nullptr && aspectY != nullptr); | ||
492 | if (aspectX) { | ||||
493 | cbXDataColumn->useCurrentIndexText(true); | ||||
494 | cbXDataColumn->setInvalid(false); | ||||
495 | } | ||||
496 | if (aspectY) { | ||||
497 | cbYDataColumn->useCurrentIndexText(true); | ||||
498 | cbYDataColumn->setInvalid(false); | ||||
499 | } | ||||
482 | } else { | 500 | } else { | ||
483 | hasSourceData = (m_differentiationCurve->dataSourceCurve() != nullptr); | 501 | hasSourceData = (m_differentiationCurve->dataSourceCurve() != nullptr); | ||
484 | } | 502 | } | ||
485 | 503 | | |||
486 | uiGeneralTab.pbRecalculate->setEnabled(hasSourceData); | 504 | uiGeneralTab.pbRecalculate->setEnabled(hasSourceData); | ||
487 | } | 505 | } | ||
488 | 506 | | |||
489 | /*! | 507 | /*! | ||
▲ Show 20 Lines • Show All 84 Lines • Show Last 20 Lines |