| 520 | } |
| 521 | |
| 522 | void ElaWindow::backtrackNavigationNode(const QString& nodeKey) |
| 523 | { |
| 524 | Q_D(ElaWindow); |
| 525 | const QMetaObject* meta = d->_pageMetaMap.value(nodeKey); |
| 526 | if (!meta) |
| 527 | { |
| 528 | return; |
| 529 | } |
| 530 | QWidget* widget = dynamic_cast<QWidget*>(meta->newInstance()); |
| 531 | if (widget) |
| 532 | { |
| 533 | auto originWidget = d->_routeMap[nodeKey]; |
| 534 | int currentIndex = d->_navigationCenterStackedWidget->getContainerStackedWidget()->currentIndex(); |
| 535 | int originIndex = d->_navigationCenterStackedWidget->getContainerStackedWidget()->indexOf(originWidget); |
| 536 | widget->setProperty("ElaPageKey", nodeKey); |
| 537 | d->_routeMap[nodeKey] = widget; |
| 538 | d->_navigationCenterStackedWidget->getContainerStackedWidget()->insertWidget(originIndex, widget); |
| 539 | d->_navigationCenterStackedWidget->getContainerStackedWidget()->setCurrentIndex(currentIndex); |
| 540 | d->_navigationCenterStackedWidget->getContainerStackedWidget()->removeWidget(originWidget); |
| 541 | originWidget->deleteLater(); |
| 542 | } |
| 543 | } |
| 544 | |
| 545 | void ElaWindow::setNodeKeyPoints(const QString& nodeKey, int keyPoints) |
| 546 | { |
no test coverage detected