| 87 | } |
| 88 | |
| 89 | void XYIntegrationCurveDock::initGeneralTab() { |
| 90 | // show the properties of the first curve |
| 91 | // data source |
| 92 | uiGeneralTab.cbDataSourceType->setCurrentIndex(static_cast<int>(m_integrationCurve->dataSourceType())); |
| 93 | this->dataSourceTypeChanged(uiGeneralTab.cbDataSourceType->currentIndex()); |
| 94 | cbDataSourceCurve->setAspect(m_integrationCurve->dataSourceCurve()); |
| 95 | cbXDataColumn->setAspect(m_integrationCurve->xDataColumn(), m_integrationCurve->xDataColumnPath()); |
| 96 | cbYDataColumn->setAspect(m_integrationCurve->yDataColumn(), m_integrationCurve->yDataColumnPath()); |
| 97 | |
| 98 | // range widgets |
| 99 | const auto* plot = static_cast<const CartesianPlot*>(m_integrationCurve->parentAspect()); |
| 100 | const int xIndex = plot->coordinateSystem(m_curve->coordinateSystemIndex())->index(CartesianCoordinateSystem::Dimension::X); |
| 101 | m_dateTimeRange = (plot->xRangeFormat(xIndex) != RangeT::Format::Numeric); |
| 102 | if (!m_dateTimeRange) { |
| 103 | const auto numberLocale = QLocale(); |
| 104 | uiGeneralTab.leMin->setText(numberLocale.toString(m_integrationData.xRange.first())); |
| 105 | uiGeneralTab.leMax->setText(numberLocale.toString(m_integrationData.xRange.last())); |
| 106 | } else { |
| 107 | uiGeneralTab.dateTimeEditMin->setMSecsSinceEpochUTC(m_integrationData.xRange.first()); |
| 108 | uiGeneralTab.dateTimeEditMax->setMSecsSinceEpochUTC(m_integrationData.xRange.last()); |
| 109 | } |
| 110 | |
| 111 | uiGeneralTab.lMin->setVisible(!m_dateTimeRange); |
| 112 | uiGeneralTab.leMin->setVisible(!m_dateTimeRange); |
| 113 | uiGeneralTab.lMax->setVisible(!m_dateTimeRange); |
| 114 | uiGeneralTab.leMax->setVisible(!m_dateTimeRange); |
| 115 | uiGeneralTab.lMinDateTime->setVisible(m_dateTimeRange); |
| 116 | uiGeneralTab.dateTimeEditMin->setVisible(m_dateTimeRange); |
| 117 | uiGeneralTab.lMaxDateTime->setVisible(m_dateTimeRange); |
| 118 | uiGeneralTab.dateTimeEditMax->setVisible(m_dateTimeRange); |
| 119 | |
| 120 | // auto range |
| 121 | uiGeneralTab.cbAutoRange->setChecked(m_integrationData.autoRange); |
| 122 | this->autoRangeChanged(); |
| 123 | |
| 124 | // update list of selectable types |
| 125 | xDataColumnChanged(cbXDataColumn->currentModelIndex()); |
| 126 | |
| 127 | uiGeneralTab.cbMethod->setCurrentIndex(m_integrationData.method); |
| 128 | this->methodChanged(m_integrationData.method); |
| 129 | uiGeneralTab.cbAbsolute->setChecked(m_integrationData.absolute); |
| 130 | this->absoluteChanged(); |
| 131 | |
| 132 | this->showIntegrationResult(); |
| 133 | |
| 134 | uiGeneralTab.chkLegendVisible->setChecked(m_curve->legendVisible()); |
| 135 | uiGeneralTab.chkVisible->setChecked(m_curve->isVisible()); |
| 136 | |
| 137 | // Slots |
| 138 | connect(m_integrationCurve, &XYIntegrationCurve::dataSourceTypeChanged, this, &XYIntegrationCurveDock::curveDataSourceTypeChanged); |
| 139 | connect(m_integrationCurve, &XYIntegrationCurve::dataSourceCurveChanged, this, &XYIntegrationCurveDock::curveDataSourceCurveChanged); |
| 140 | connect(m_integrationCurve, &XYIntegrationCurve::xDataColumnChanged, this, &XYIntegrationCurveDock::curveXDataColumnChanged); |
| 141 | connect(m_integrationCurve, &XYIntegrationCurve::yDataColumnChanged, this, &XYIntegrationCurveDock::curveYDataColumnChanged); |
| 142 | connect(m_integrationCurve, &XYIntegrationCurve::integrationDataChanged, this, &XYIntegrationCurveDock::curveIntegrationDataChanged); |
| 143 | connect(m_integrationCurve, &XYIntegrationCurve::sourceDataChanged, this, &XYIntegrationCurveDock::enableRecalculate); |
| 144 | } |
| 145 | |
| 146 | /*! |
nothing calls this directly
no test coverage detected