void Modele::nouvelleCarte() { current_map = ""; delete carte; carte = bib::XMLEngine::load<cce::Carte>("CARTE","data/map/empty.map"); reloadGUI(); }
void MainWindow::handleSocketData() { while (m_dataSocket->hasPendingDatagrams()) { size_t packetPos = 0; m_buffer.resize(m_dataSocket->pendingDatagramSize()); m_dataSocket->readDatagram(m_buffer.data(), m_buffer.size()); std::string header; packetToVar(m_buffer, packetPos, header); if (header == "display\r\n") { /* Only allow keep-alive (resetting timer) if we have a valid * GUI; we need to connect and create the GUI before accepting * display data */ if (m_connectedBefore) { updateGuiTable(m_buffer, packetPos); NetUpdate::updateElements(); m_connectTimer->start(2000); } } else if (header == "guiCreate\r\n") { reloadGUI(m_buffer, packetPos); if (!m_connectedBefore) { m_connectedBefore = true; } m_connectTimer->start(2000); } else if (header == "autonList\r\n") { /* Unpacks the following variables: * * Autonomous Modes (contained in rest of packet): * std::string: autonomous routine name * <more autonomous routine names>... */ std::vector<std::string> autoNames; std::string autoName; while (packetPos < m_buffer.size() && packetToVar(m_buffer, packetPos, autoName)) { autoNames.emplace_back(autoName); } m_autoSelect->clear(); for (auto& str : autoNames) { m_autoSelect->addItem(str.c_str()); } } else if (header == "autonConfirmed\r\n") { /* If a new autonomous mode was selected from the robot, it * sends back this packet as confirmation */ std::string autoName = "Autonomous mode changed to\n"; std::string tempName; packetToVar(m_buffer, packetPos, tempName); autoName += tempName; int idx = m_autoSelect->findText(QString::fromStdString(tempName)); if (idx != -1) { m_autoSelect->setCurrentIndex(idx); } QMessageBox* connectDlg = new QMessageBox(this); connectDlg->setAttribute(Qt::WA_DeleteOnClose); connectDlg->setWindowTitle("Autonomous Change"); connectDlg->setText(autoName.c_str()); connectDlg->open(); } } }
//herite de edt::openCarte string Modele::openCarte(const string& chemin) { current_map = chemin; string retour = cce::Modele::openCarte(chemin); reloadGUI(); return retour; }