| 145 | } |
| 146 | |
| 147 | void DatapickerPoint::initErrorBar(DatapickerCurve::Errors errors) { |
| 148 | if (m_errorBarItemList.isEmpty() && errors.x == DatapickerCurve::ErrorType::NoError && errors.y == DatapickerCurve::ErrorType::NoError) |
| 149 | return; // no need to update |
| 150 | m_errorBarItemList.clear(); |
| 151 | if (errors.x != DatapickerCurve::ErrorType::NoError) { |
| 152 | auto* plusDeltaXItem = new ErrorBarItem(this, ErrorBarItem::ErrorBarType::PlusDeltaX); |
| 153 | plusDeltaXItem->setPosition(plusDeltaXPos()); |
| 154 | connect(this, &DatapickerPoint::plusDeltaXPosChanged, plusDeltaXItem, &ErrorBarItem::setPosition); |
| 155 | |
| 156 | auto* minusDeltaXItem = new ErrorBarItem(this, ErrorBarItem::ErrorBarType::MinusDeltaX); |
| 157 | minusDeltaXItem->setPosition(minusDeltaXPos()); |
| 158 | connect(this, &DatapickerPoint::minusDeltaXPosChanged, minusDeltaXItem, &ErrorBarItem::setPosition); |
| 159 | |
| 160 | m_errorBarItemList << plusDeltaXItem << minusDeltaXItem; |
| 161 | } |
| 162 | |
| 163 | if (errors.y != DatapickerCurve::ErrorType::NoError) { |
| 164 | auto* plusDeltaYItem = new ErrorBarItem(this, ErrorBarItem::ErrorBarType::PlusDeltaY); |
| 165 | plusDeltaYItem->setPosition(plusDeltaYPos()); |
| 166 | connect(this, &DatapickerPoint::plusDeltaYPosChanged, plusDeltaYItem, &ErrorBarItem::setPosition); |
| 167 | |
| 168 | auto* minusDeltaYItem = new ErrorBarItem(this, ErrorBarItem::ErrorBarType::MinusDeltaY); |
| 169 | minusDeltaYItem->setPosition(minusDeltaYPos()); |
| 170 | connect(this, &DatapickerPoint::minusDeltaYPosChanged, minusDeltaYItem, &ErrorBarItem::setPosition); |
| 171 | |
| 172 | m_errorBarItemList << plusDeltaYItem << minusDeltaYItem; |
| 173 | } |
| 174 | |
| 175 | retransform(); |
| 176 | } |
| 177 | |
| 178 | /*! |
| 179 | Returns an icon to be used in the project explorer. |
no test coverage detected