| 864 | } |
| 865 | |
| 866 | void GenomeEditorWindow::onAddNode() |
| 867 | { |
| 868 | auto& tabData = _tabDatas.at(_selectedTabIndex); |
| 869 | auto& cells = tabData.genome.cells; |
| 870 | |
| 871 | CellGenomeDescription newNode; |
| 872 | if (tabData.selectedNode) { |
| 873 | newNode.color = cells.at(*tabData.selectedNode).color; |
| 874 | cells.insert(cells.begin() + *tabData.selectedNode + 1, newNode); |
| 875 | ++(*tabData.selectedNode); |
| 876 | } else { |
| 877 | if (!cells.empty()) { |
| 878 | newNode.color = cells.back().color; |
| 879 | } |
| 880 | cells.emplace_back(newNode); |
| 881 | tabData.selectedNode = toInt(cells.size() - 1); |
| 882 | } |
| 883 | } |
| 884 | |
| 885 | void GenomeEditorWindow::onDeleteNode() |
| 886 | { |