SETTINGS
| 314 | //******************** SETTINGS **************************** |
| 315 | //********************************************************** |
| 316 | void CustomPointDock::load() { |
| 317 | if (!m_point) |
| 318 | return; |
| 319 | |
| 320 | // Geometry |
| 321 | // widgets for positioning using absolute plot distances |
| 322 | ui.cbPositionX->setCurrentIndex((int)m_point->position().horizontalPosition); |
| 323 | positionXChanged(ui.cbPositionX->currentIndex()); |
| 324 | ui.sbPositionX->setValue(Worksheet::convertFromSceneUnits(roundSceneValue(m_point->position().point.x(), m_units), m_worksheetUnit)); |
| 325 | ui.cbPositionY->setCurrentIndex((int)m_point->position().verticalPosition); |
| 326 | positionYChanged(ui.cbPositionY->currentIndex()); |
| 327 | ui.sbPositionY->setValue(Worksheet::convertFromSceneUnits(roundSceneValue(m_point->position().point.y(), m_units), m_worksheetUnit)); |
| 328 | |
| 329 | // widgets for positioning using logical plot coordinates |
| 330 | bool allowLogicalCoordinates = (m_point->plot() != nullptr); |
| 331 | ui.lBindLogicalPos->setVisible(allowLogicalCoordinates); |
| 332 | ui.chbBindLogicalPos->setVisible(allowLogicalCoordinates); |
| 333 | |
| 334 | if (allowLogicalCoordinates) { |
| 335 | const auto* plot = static_cast<const CartesianPlot*>(m_point->plot()); |
| 336 | |
| 337 | // x |
| 338 | bool numeric = (plot->xRangeFormatDefault() == RangeT::Format::Numeric); |
| 339 | ui.lPositionXLogical->setVisible(numeric); |
| 340 | ui.sbPositionXLogical->setVisible(numeric); |
| 341 | ui.lPositionXLogicalDateTime->setVisible(!numeric); |
| 342 | ui.dtePositionXLogical->setVisible(!numeric); |
| 343 | if (numeric) |
| 344 | ui.sbPositionXLogical->setValue(m_point->positionLogical().x()); |
| 345 | else { |
| 346 | ui.dtePositionXLogical->setDisplayFormat(plot->rangeDateTimeFormat(Dimension::X)); |
| 347 | ui.dtePositionXLogical->setMSecsSinceEpochUTC(m_point->positionLogical().x()); |
| 348 | } |
| 349 | |
| 350 | // y |
| 351 | numeric = (plot->yRangeFormatDefault() == RangeT::Format::Numeric); |
| 352 | ui.lPositionYLogical->setVisible(numeric); |
| 353 | ui.sbPositionYLogical->setVisible(numeric); |
| 354 | ui.lPositionYLogicalDateTime->setVisible(!numeric); |
| 355 | ui.dtePositionYLogical->setVisible(!numeric); |
| 356 | if (numeric) |
| 357 | ui.sbPositionYLogical->setValue(m_point->positionLogical().y()); |
| 358 | else { |
| 359 | ui.dtePositionYLogical->setDisplayFormat(plot->rangeDateTimeFormat(Dimension::Y)); |
| 360 | ui.dtePositionYLogical->setMSecsSinceEpochUTC(m_point->positionLogical().y()); |
| 361 | } |
| 362 | |
| 363 | bindingChanged(m_point->coordinateBindingEnabled()); |
| 364 | } else { |
| 365 | ui.lPositionXLogical->hide(); |
| 366 | ui.sbPositionXLogical->hide(); |
| 367 | ui.lPositionYLogical->hide(); |
| 368 | ui.sbPositionYLogical->hide(); |
| 369 | ui.lPositionXLogicalDateTime->hide(); |
| 370 | ui.dtePositionXLogical->hide(); |
| 371 | ui.lPositionYLogicalDateTime->hide(); |
| 372 | ui.dtePositionYLogical->hide(); |
| 373 | } |
no test coverage detected