Example #1
0
void Modele::nouvelleCarte()
{
    current_map = "";
    delete carte;
    carte =  bib::XMLEngine::load<cce::Carte>("CARTE","data/map/empty.map");
    reloadGUI();
}
Example #2
0
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();
        }
    }
}
Example #3
0
//herite de edt::openCarte
string Modele::openCarte(const string& chemin) {
    current_map = chemin;
    string retour = cce::Modele::openCarte(chemin);
    reloadGUI();
    return retour;
}