MCPcopy Create free account
hub / github.com/BehaviorTree/Groot / loadSavedStateFromJson

Method loadSavedStateFromJson

bt_editor/mainwindow.cpp:677–721  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

675}
676
677void MainWindow::loadSavedStateFromJson(SavedState saved_state)
678{
679 // TODO crash if the name of the container (tab) changed
680 for (auto& it: _tab_info)
681 {
682 it.second->clearScene();
683 it.second->deleteLater();
684 }
685 _tab_info.clear();
686 ui->tabWidget->clear();
687
688 _main_tree = saved_state.main_tree;
689
690 for(const auto& it: saved_state.json_states)
691 {
692 QString tab_name = it.first;
693 _tab_info.insert( {tab_name, createTab(tab_name)} );
694 }
695 for(const auto& it: saved_state.json_states)
696 {
697 QString name = it.first;
698 auto container = getTabByName(name);
699 container->loadFromJson( it.second );
700 container->view()->setTransform( saved_state.view_transform );
701 container->view()->setSceneRect( saved_state.view_area );
702 }
703
704 for (int i=0; i< ui->tabWidget->count(); i++)
705 {
706 if( ui->tabWidget->tabText( i ) == saved_state.current_tab_name)
707 {
708 ui->tabWidget->setCurrentIndex(i);
709 ui->tabWidget->widget(i)->setFocus();
710 }
711 if( ui->tabWidget->tabText(i) == _main_tree)
712 {
713 onTabSetMainTree(i);
714 }
715 }
716 if( ui->tabWidget->count() == 1 )
717 {
718 onTabSetMainTree(0);
719 }
720 onSceneChanged();
721}
722
723void MainWindow::onConnectionUpdate(bool connected)
724{

Callers

nothing calls this directly

Calls 4

clearSceneMethod · 0.80
loadFromJsonMethod · 0.80
viewMethod · 0.80
clearMethod · 0.45

Tested by

no test coverage detected