void TrikKitInterpreterPluginBase::init(const kitBase::KitPluginConfigurator &configurer) { connect(&configurer.eventsForKitPlugin() , &kitBase::EventsForKitPluginInterface::robotModelChanged , [this](const QString &modelName) { mCurrentlySelectedModelName = modelName; }); qReal::gui::MainWindowInterpretersInterface &interpretersInterface = configurer.qRealConfigurator().mainWindowInterpretersInterface(); mTwoDModel->init(configurer.eventsForKitPlugin() , configurer.qRealConfigurator().systemEvents() , configurer.qRealConfigurator().logicalModelApi() , interpretersInterface , configurer.qRealConfigurator().projectManager() , configurer.interpreterControl()); mRealRobotModel->setErrorReporter(*interpretersInterface.errorReporter()); mTwoDRobotModel->setErrorReporter(*interpretersInterface.errorReporter()); connect(mAdditionalPreferences, &TrikAdditionalPreferences::settingsChanged , mRealRobotModel.data(), &robotModel::TrikRobotModelBase::rereadSettings); connect(mAdditionalPreferences, &TrikAdditionalPreferences::settingsChanged , mTwoDRobotModel.data(), &robotModel::twoD::TrikTwoDRobotModel::rereadSettings); }
void TrikFSharpGeneratorPluginBase::init(const kitBase::KitPluginConfigurator &configurer) { const auto errorReporter = configurer.qRealConfigurator().mainWindowInterpretersInterface().errorReporter(); RobotsGeneratorPluginBase::init(configurer); mCommunicator.reset(new TcpRobotCommunicator("TrikTcpServer")); NetworkCommunicationErrorReporter::connectErrorReporter(*mCommunicator, *errorReporter); mStopRobotProtocol.reset(new StopRobotProtocol(*mCommunicator)); connect(mStopRobotProtocol.data(), &StopRobotProtocol::timeout, [this, errorReporter]() { errorReporter->addError(tr("Stop robot operation timed out")); }); }
void NxtKitInterpreterPlugin::init(const kitBase::KitPluginConfigurator &configurator) { connect(&configurator.eventsForKitPlugin(), &kitBase::EventsForKitPluginInterface::robotModelChanged , [this](const QString &modelName) { mCurrentlySelectedModelName = modelName; }); qReal::gui::MainWindowInterpretersInterface &interpretersInterface = configurator.qRealConfigurator().mainWindowInterpretersInterface(); connect(&mUsbRealRobotModel, &robotModel::real::RealRobotModel::errorOccured , [&interpretersInterface](const QString &message) { interpretersInterface.errorReporter()->addError(message); }); connect(&mBluetoothRealRobotModel, &robotModel::real::RealRobotModel::errorOccured , [&interpretersInterface](const QString &message) { interpretersInterface.errorReporter()->addError(message); }); mUsbRealRobotModel.checkConnection(); mBluetoothRealRobotModel.checkConnection(); mTwoDModel->init(configurator.eventsForKitPlugin() , configurator.qRealConfigurator().systemEvents() , configurator.qRealConfigurator().logicalModelApi() , interpretersInterface , configurator.interpreterControl()); }
void TrikQtsGeneratorPluginBase::init(const kitBase::KitPluginConfigurator &configurer) { const auto errorReporter = configurer.qRealConfigurator().mainWindowInterpretersInterface().errorReporter(); RobotsGeneratorPluginBase::init(configurer); mCommunicator.reset(new TcpRobotCommunicator("TrikTcpServer")); NetworkCommunicationErrorReporter::connectErrorReporter(*mCommunicator, *errorReporter); mUploadProgramProtocol.reset(new UploadProgramProtocol(*mCommunicator)); mRunProgramProtocol.reset(new RunProgramProtocol(*mCommunicator, mRobotModel.robotConfigFileVersion())); mStopRobotProtocol.reset(new StopRobotProtocol(*mCommunicator)); const auto timeout = [this, errorReporter]() { errorReporter->addError(tr("Network operation timed out")); onProtocolFinished(); }; connect(mUploadProgramProtocol.data(), &UploadProgramProtocol::timeout, timeout); connect(mRunProgramProtocol.data(), &RunProgramProtocol::timeout, timeout); connect(mStopRobotProtocol.data(), &StopRobotProtocol::timeout, timeout); connect(mUploadProgramProtocol.data(), &UploadProgramProtocol::error , this, &TrikQtsGeneratorPluginBase::onProtocolFinished); connect(mRunProgramProtocol.data(), &RunProgramProtocol::error , this, &TrikQtsGeneratorPluginBase::onProtocolFinished); connect(mStopRobotProtocol.data(), &StopRobotProtocol::error , this, &TrikQtsGeneratorPluginBase::onProtocolFinished); connect(mUploadProgramProtocol.data(), &UploadProgramProtocol::success , this, &TrikQtsGeneratorPluginBase::onProtocolFinished); connect(mRunProgramProtocol.data(), &RunProgramProtocol::success , this, &TrikQtsGeneratorPluginBase::onProtocolFinished); connect(mStopRobotProtocol.data(), &StopRobotProtocol::success , this, &TrikQtsGeneratorPluginBase::onProtocolFinished); connect(mRunProgramProtocol.data(), &RunProgramProtocol::configVersionMismatch , [this, errorReporter](const QString &expected, const QString &actual) { Q_UNUSED(expected) Q_UNUSED(actual) errorReporter->addError( QString(tr("Casing model mismatch, check TRIK Studio settings, \"Robots\" page. It seems that " "TRIK casing version selected in TRIK Studio differs from version on robot."))); } ); }