ProcessHandler::ProcessHandler(QList<int> vehicles, QList<QGeoCoordinate> waypoints, QGeoCoordinate depot, QObject *parent) : QObject(parent) { myProcess = new QProcess(this); QString program = "python"; QStringList arguments; QString appPath = QCoreApplication::applicationDirPath() + "/somav_cvrptw.py"; arguments << appPath; QString vehiclesList = buildVehiclesList(vehicles); QString waypointsList = buildWaypointsList(waypoints); qDebug() << waypointsList; QString depotStr = "Depot:" + QString::number(depot.latitude()) + "+" + QString::number(depot.longitude()); arguments << vehiclesList << waypointsList << depotStr; myProcess->start(program, arguments); connect(myProcess, SIGNAL(stateChanged(QProcess::ProcessState)), this, SLOT(printProcessStatus())); connect(myProcess, SIGNAL(error(QProcess::ProcessError)), this, SLOT(printProcessError())); connect(myProcess, SIGNAL(readyRead()), this, SLOT(printProcessOutput())); }
/** * @brief connect all buttons of the ui * @return * void */ void DLDConfigureOB::connectSignals () { // connect menu actions connect(mainWindow.actionQuit, SIGNAL(triggered ()), this, SLOT(close ())); connect(mainWindow.actionRefresh, SIGNAL(triggered ()), this, SLOT(refreshDevices ())); connect(mainWindow.actionPreferences, SIGNAL(triggered ()), this, SLOT(showPreferences ())); connect(mainWindow.actionOpenBeaconConfiguratorHelp, SIGNAL(triggered ()), this, SLOT(showHelp())); connect(mainWindow.actionAboutQt, SIGNAL(triggered ()), qApp, SLOT(aboutQt ())); connect(mainWindow.actionAboutOpenBeacon,SIGNAL(triggered ()), this, SLOT(aboutOpenBeacon ())); // connect main Window buttons with methods connect(mainWindow.selectFileButton, SIGNAL(clicked ()), this, SLOT(selectFlashImage ())); connect(mainWindow.flashButton, SIGNAL(clicked ()), this, SLOT(flashDevice ())); connect(mainWindow.refreshButton, SIGNAL(clicked ()), this, SLOT(refreshDevices ())); connect(mainWindow.executeButton, SIGNAL(clicked ()), this, SLOT(executeCommand ())); connect(mainWindow.clearButton, SIGNAL(clicked ()), this, SLOT(clearConsole ())); // connect box signals connect(mainWindow.commandCombo, SIGNAL(highlighted (int)), this, SLOT(commandHighlighted (int))); connect(mainWindow.commandCombo, SIGNAL(currentIndexChanged (int)), this, SLOT(updateCommandBoxStatusTip (int))); connect(mainWindow.deviceCombo, SIGNAL(currentIndexChanged (int)), this, SLOT(updateGroupBoxVisibility (int))); connect(mainWindow.deviceCombo, SIGNAL(activated (int)), this, SLOT(openNewDevice (int))); // connect device connect(device, SIGNAL(newData (QString)), this, SLOT(receivedNewData (QString))); connect(device, SIGNAL(writeFailed ()), this, SLOT(writeFailed ())); // connect internal signals connect(this, SIGNAL(deviceSelected (bool, bool)), this, SLOT(endisableGroupBox (bool, bool))); connect(this, SIGNAL(commandListChanged ()), this, SLOT(refillCommandList ())); connect(this, SIGNAL(devicepathsChanged ()), this, SLOT(refreshDevices ())); connect(refreshTimer, SIGNAL(timeout()), this, SLOT(refreshDevices ())); connect(this, SIGNAL(logFileChanged (QString)), this, SLOT(changeLogFile (QString))); connect(batchProcess, SIGNAL(readyReadStandardOutput ()), this, SLOT(addCharToConsole ())); connect(batchProcess, SIGNAL(error (QProcess::ProcessError)), this, SLOT(printProcessError (QProcess::ProcessError))); connect(batchProcess, SIGNAL(finished (int, QProcess::ExitStatus)),this, SLOT(processFinished (int, QProcess::ExitStatus))); }