diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp index 84c680144c2edaefd2cddb4731be94ed1b10b5da..fa70a46971a281fbccb07c19886020b4c4525f3d 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/ScenarioManagerWidgetController.cpp @@ -131,8 +131,8 @@ void ScenarioManagerWidgetController::init() QObject::connect(&scenarioListController, SIGNAL(updated()), this, SLOT(updateModels())); - QObject::connect(&scenarioListController, SIGNAL(applicationInstanceClicked(Data_Structure::ApplicationInstancePtr)), - &detailedApplicationController, SLOT(showApplicationInstance(Data_Structure::ApplicationInstancePtr))); + QObject::connect(&scenarioListController, SIGNAL(applicationInstanceClicked(Data_Structure::ApplicationInstancePtr, ScenarioItem*)), + &detailedApplicationController, SLOT(showApplicationInstance(Data_Structure::ApplicationInstancePtr, ScenarioItem*))); QObject::connect(&scenarioListController, SIGNAL(scenarioClicked(Data_Structure::ScenarioPtr)), &detailedApplicationController, SLOT(showScenario(Data_Structure::ScenarioPtr))); @@ -176,6 +176,9 @@ void ScenarioManagerWidgetController::init() QObject::connect(widget.detailedApplicationView, SIGNAL(addParameterButtonClicked()), &detailedApplicationController, SLOT(showPropertyAddView())); + QObject::connect(widget.detailedApplicationView, SIGNAL(applicationEnabledChange(bool)), + &scenarioListController, SLOT(updateModel())); + QObject::connect(widget.detailedApplicationView, SIGNAL(saveScenario(ScenarioManager::Data_Structure::ApplicationInstancePtr)), &scenarioListController, SLOT(saveScenario(ScenarioManager::Data_Structure::ApplicationInstancePtr))); diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ApplicationDatabaseController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ApplicationDatabaseController.cpp index 9061ec10913dfd5f68ca8073c87cdbadbad814a6..647bdf844085caf09f08fe0d13af4d3110446fd6 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ApplicationDatabaseController.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ApplicationDatabaseController.cpp @@ -79,7 +79,7 @@ void ApplicationDatabaseController::updatePackages() if (!application->getFound()) { - applicationItem->disable(); + applicationItem->setEnabled(false); } packageItem->appendChild(applicationItem); diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.cpp index f24cadb676bd7f9f4d8ba5119d9aa53862a26c7e..0d2835dbe344137e2d9af0079b92bf5b83d8f61b 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.cpp @@ -52,7 +52,7 @@ void DetailedApplicationController::setDetailedApplicationView(DetailedApplicati view = ptr; } -void DetailedApplicationController::showApplicationInstance(ApplicationInstancePtr application) +void DetailedApplicationController::showApplicationInstance(ApplicationInstancePtr application, ScenarioItem* item) { if (application.get() == nullptr) { @@ -65,7 +65,7 @@ void DetailedApplicationController::showApplicationInstance(ApplicationInstanceP executor->loadAndSetCachedProperties(application, Parser::IceParser::getCacheDir(), false, false); application->load(); view->setVisible(true); - view->showApplicationInstance(application); + view->showApplicationInstance(application, item); } void DetailedApplicationController::showApplication(ApplicationPtr application) @@ -135,7 +135,7 @@ void DetailedApplicationController::setProperty(std::string name, std::string va { currentApplication->addProperty(name, value); currentApplication->save(); - showApplicationInstance(currentApplication); + showApplicationInstance(currentApplication, nullptr); } else if (currentScenario.get() != nullptr) { @@ -153,54 +153,10 @@ void DetailedApplicationController::start() { if (currentApplication.get() != nullptr) { - // //check if there is an undefined req property - // armarx::PropertyDefinitionsPtr props = currentApplication->getProperties(); - // Ice::PropertyDict dict = props->getProperties()->getPropertiesForPrefix(""); - - // bool foundUnsetRequired = false; - // for(auto const &property : dict) - // { - // if(property.second == "::_NOT_SET_::" || property.second == "<set value!>") { - // foundUnsetRequired = true; - // break; - // } - // } - - // if(foundUnsetRequired) { - // QMessageBox message; - // message.setText(QString::fromStdString("There are uninitialised Required Properties in Application " + currentApplication->getName())); - // message.exec(); - // } - executor->startApplication(currentApplication); } else if (currentScenario.get() != nullptr) { - for (auto instance = currentScenario->getApplications()->begin(); instance != currentScenario->getApplications()->end(); ++instance) - { - //check if there is an undefined req property - armarx::PropertyDefinitionsPtr props = (*instance)->getProperties(); - Ice::PropertyDict dict = props->getProperties()->getPropertiesForPrefix(""); - - bool foundUnsetRequired = false; - for (auto const & property : dict) - { - if (property.second == "::_NOT_SET_::" || property.second == "<set value!>") - { - foundUnsetRequired = true; - break; - } - } - - if (foundUnsetRequired) - { - QMessageBox message; - message.setText(QString::fromStdString("There are uninitialised Required Properties in Application " + (*instance)->getName())); - message.exec(); - } - - } - executor->startScenario(currentScenario); } } diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.h b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.h index 970bfa57323bc0a7dbd0221bc8f491da160afdaf..ca848ef47654fdc0b7d63862f6b523faee9c6887 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.h +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/DetailedApplicationController.h @@ -32,6 +32,7 @@ #include <ArmarXCore/util/ScenarioManagerCommon/executor/Executor.h> #include "../gui/detailedapplicationview.h" #include "../gui/createpropertyview.h" +#include "../gui/scenarioitem.h" #include <QObject> #include <boost/shared_ptr.hpp> #include <vector> @@ -72,7 +73,7 @@ namespace ScenarioManager * Shows an ApplicationInstance in the DetailedApplicationView. * @param application ApplicationInstance to show */ - void showApplicationInstance(Data_Structure::ApplicationInstancePtr application); + void showApplicationInstance(Data_Structure::ApplicationInstancePtr application, ScenarioItem* item); /** * Shows an Application in the DetailedApplicationView. diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.cpp index 6d24e301b193df65df44e4361a603f135eb6babc..27d92a13c0e29a29a0b34170e5b3c7328dc47572 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.cpp @@ -329,7 +329,7 @@ void ScenarioListController::addApplicationsToScenario(QList<QPair<QString, Appl std::ofstream out(configPath); out.close(); - ApplicationInstancePtr appInstance(new ApplicationInstance(appName, app->getPathToExecutable(), instanceName, configPath, appPackage->getName(), scenario)); + ApplicationInstancePtr appInstance(new ApplicationInstance(appName, app->getPathToExecutable(), instanceName, configPath, appPackage->getName(), scenario, true)); std::string cacheDir = Parser::IceParser::getCacheDir(); @@ -536,7 +536,7 @@ void ScenarioListController::showApplication(const QModelIndex& index) { ApplicationInstancePtr appInstance = item->getApplicationInstance(); appInstance->updateFound(); - if (!item->isEnabled() || !appInstance->getFound()) + if (!appInstance->getFound()) { QMessageBox message; message.setText("Could not find Application " + item->data(0).toString() + " at " + QString::fromStdString(appInstance->getPathToExecutable()) + "."); @@ -549,7 +549,7 @@ void ScenarioListController::showApplication(const QModelIndex& index) return; } - emit applicationInstanceClicked(appInstance); + emit applicationInstanceClicked(appInstance, item); } else { @@ -590,7 +590,8 @@ void ScenarioListController::updateModel() //Scenarios don't have a setStatus-me for (auto it : packageSubtrees) { - scenarioItem->appendChild(new ScenarioItem(it.first, it.second)); + ScenarioItem* currentItem = new ScenarioItem(it.first, it.second); + scenarioItem->appendChild(currentItem); } treemodel.insertRow(0, scenarioItem); } @@ -627,6 +628,40 @@ void ScenarioListController::updateModel() //Scenarios don't have a setStatus-me } } } +QModelIndex ScenarioListController::findApplicationModelIndex(ScenarioManager::Data_Structure::ApplicationInstancePtr application) +{ + QModelIndex subScenarioModelIndex = findSubScenarioModelIndex(application->getScenario()->getName(), application->getPackageName()); + if (!subScenarioModelIndex.isValid()) + { + return QModelIndex(); + } + int count = 0; + QModelIndex appIndex = subScenarioModelIndex.child(0, 0); + while (true) + { + appIndex = appIndex.sibling(count, 0); + if (!appIndex.isValid()) + { + return QModelIndex(); + } + if (application->getInstanceName().empty()) + { + if (application->getName() == appIndex.data().toString().toStdString()) + { + return appIndex; + } + } + else + { + if (application->getInstanceName() + "." + application->getName() == appIndex.data().toString().toStdString()) + { + return appIndex; + } + } + + count++; + } +} QModelIndex ScenarioListController::findSubScenarioModelIndex(std::string scenarioName, std::string packageName) { @@ -638,15 +673,16 @@ QModelIndex ScenarioListController::findSubScenarioModelIndex(std::string scenar { scenarioIndex = scenarioIndex.sibling(count, 0); + if (!scenarioIndex.isValid()) + { + return QModelIndex(); + } if (scenarioName == scenarioIndex.data().toString().toStdString()) { scenarioFound = true; break; } - if (!scenarioIndex.isValid()) - { - return QModelIndex(); - } + count++; } @@ -654,14 +690,14 @@ QModelIndex ScenarioListController::findSubScenarioModelIndex(std::string scenar while (true) { QModelIndex currentSubPackageIndex = scenarioIndex.child(count, 0); - if (packageName == currentSubPackageIndex.data().toString().toStdString()) - { - return currentSubPackageIndex; - } if (!currentSubPackageIndex.isValid()) { return QModelIndex(); } + if (packageName == currentSubPackageIndex.data().toString().toStdString()) + { + return currentSubPackageIndex; + } count++; } @@ -708,7 +744,7 @@ void ScenarioListController::updateStati() IceUtil::Time start = IceUtil::Time ::now(); bool changed = false; //update all app instances and scenarios - for (ScenarioManager::Data_Structure::PackagePtr& package : *packages) + for (ScenarioManager::Data_Structure::PackagePtr & package : *packages) { ScenarioVectorPtr scenarios = package->getScenarios(); for (ScenarioPtr scenario : *scenarios) diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.h b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.h index 754137c5aae6603925f74160b1546d3929edd60b..eb68a261ddb67bcd3c77f23ab56c189f6e94ea3f 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.h +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/controller/ScenarioListController.h @@ -89,7 +89,7 @@ namespace ScenarioManager * Gets emitted after an ApplicationInstance has been clicked. * @param scenario clicked ApplicationInstance */ - void applicationInstanceClicked(Data_Structure::ApplicationInstancePtr appInstance); + void applicationInstanceClicked(Data_Structure::ApplicationInstancePtr appInstance, ScenarioItem* item); /** * Gets emitted after a Scenario has been clicked. @@ -168,6 +168,7 @@ namespace ScenarioManager private: int findScenario(ScenarioItem* rootItem, std::string name, std::string packageName); QModelIndex findSubScenarioModelIndex(std::string scenarioName, std::string packageName); + QModelIndex findApplicationModelIndex(ScenarioManager::Data_Structure::ApplicationInstancePtr application); QModelIndex findSubScenarioModelIndexByScenarioIndex(QModelIndex scenarioIndex, std::string packageName); private: diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp index b842be430b4650b76da460f01b3e355ae38d8ad6..4d1d4994c4fd8c4e42006f8c738bff83baa93e73 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.cpp @@ -41,6 +41,7 @@ DetailedApplicationView::DetailedApplicationView(QWidget* parent) : variantManager(nullptr), variantFactory(nullptr), statusUpdateRelevant(false), + lastScenarioItem(nullptr), neadsUpdate(false) { updateTimer.setSingleShot(true); @@ -91,6 +92,7 @@ void DetailedApplicationView::showApplication(ApplicationPtr application) lastAppInstance = ApplicationInstancePtr(); lastScenario = ScenarioPtr(); + lastScenarioItem = nullptr; statusUpdateRelevant = false; ui->stateLabel->setStyleSheet("QLabel { color : black; }"); @@ -128,7 +130,7 @@ void DetailedApplicationView::showApplication(ApplicationPtr application) Ice::PropertyDict dict = props->getProperties()->getPropertiesForPrefix(""); - for (auto const& property : dict) + for (auto const & property : dict) { QtVariantProperty* appPropertyItem = variantManager->addProperty(QVariant::String, QString::fromStdString(property.first)); appPropertyItem->setValue(QString::fromStdString(property.second)); @@ -145,7 +147,7 @@ void DetailedApplicationView::showApplication(ApplicationPtr application) ui->propertyBrowser->setRootIsDecorated(false); } -void DetailedApplicationView::showApplicationInstance(ApplicationInstancePtr appInstance) +void DetailedApplicationView::showApplicationInstance(ApplicationInstancePtr appInstance, ScenarioItem* item) { if (appInstance.get() == nullptr) { @@ -177,10 +179,24 @@ void DetailedApplicationView::showApplicationInstance(ApplicationInstancePtr app statusUpdateRelevant = true; lastAppInstance = appInstance; lastScenario = ScenarioPtr(nullptr); + if (item != nullptr) + { + lastScenarioItem = item; + } + + if (lastAppInstance->getEnabled()) + { + ui->startButton->setEnabled(true); + ui->stopButton->setEnabled(true); + ui->restartButton->setEnabled(true); + } + else + { + ui->startButton->setEnabled(false); + ui->stopButton->setEnabled(false); + ui->restartButton->setEnabled(false); + } - ui->startButton->setEnabled(true); - ui->stopButton->setEnabled(true); - ui->restartButton->setEnabled(true); ui->addParameterButton->setEnabled(true); ui->toolButton->setEnabled(true); //build propertybrowser items @@ -218,6 +234,10 @@ void DetailedApplicationView::showApplicationInstance(ApplicationInstancePtr app pidItem->setEnabled(false); appInstanceTopItem->addSubProperty(pidItem); + QtVariantProperty* enabledItem = variantManager->addProperty(QVariant::Bool, QString("Enabled")); + enabledItem->setValue(appInstance->getEnabled()); + appInstanceTopItem->addSubProperty(enabledItem); + QtProperty* appPropertyTopItem = variantManager->addProperty(QtVariantPropertyManager::groupTypeId(), QLatin1String("Properties")); appInstanceTopItem->addSubProperty(appPropertyTopItem); @@ -226,7 +246,7 @@ void DetailedApplicationView::showApplicationInstance(ApplicationInstancePtr app Ice::PropertyDict dict = props->getProperties()->getPropertiesForPrefix(""); - for (auto const& property : dict) + for (auto const & property : dict) { if (property.first != "Ice.Config") { @@ -279,6 +299,8 @@ void DetailedApplicationView::showScenario(ScenarioPtr scenario) statusUpdateRelevant = true; lastScenario = scenario; lastAppInstance = ApplicationInstancePtr(nullptr); + lastScenarioItem = nullptr; + if (scenario->getStatus().compare("Running") == 0) { @@ -347,7 +369,7 @@ void DetailedApplicationView::showScenario(ScenarioPtr scenario) Ice::PropertyDict dict = props->getProperties()->getPropertiesForPrefix(""); - for (auto const& property : dict) + for (auto const & property : dict) { if (property.first != "Ice.Config") { @@ -399,6 +421,8 @@ void DetailedApplicationView::showPackage(PackagePtr package) lastAppInstance = ApplicationInstancePtr(); lastScenario = ScenarioPtr(); + lastScenarioItem = nullptr; + statusUpdateRelevant = false; ui->stateLabel->setStyleSheet("QLabel { color : black; }"); @@ -538,6 +562,32 @@ void DetailedApplicationView::itemChanged(QtProperty* property, const QVariant& updateTimer.start(UPDATE_TIMER_INTERVAL); } + else if (property->propertyName().compare("Instance Name") && property->propertyName() == "Enabled") + { + if (property->valueText() == "True") + { + lastAppInstance->setEnabled(true); + ui->startButton->setEnabled(true); + ui->stopButton->setEnabled(true); + ui->restartButton->setEnabled(true); + if (lastScenarioItem != nullptr) + { + lastScenarioItem->setEnabled(true); + } + } + else + { + lastAppInstance->setEnabled(false); + ui->startButton->setEnabled(false); + ui->stopButton->setEnabled(false); + ui->restartButton->setEnabled(false); + if (lastScenarioItem != nullptr) + { + lastScenarioItem->setEnabled(false); + } + } + updateTimer.start(UPDATE_TIMER_INTERVAL); + } else if (property->propertyName().compare("Instance Name") && properties->getProperty(property->propertyName().toStdString()).compare(value.toString().toStdString())) { lastAppInstance->modifyProperty(property->propertyName().toStdString(), property->valueText().toStdString()); @@ -640,7 +690,7 @@ void DetailedApplicationView::on_reloadButton_clicked() if (lastAppInstance.get() != nullptr) { lastAppInstance->load(); - showApplicationInstance(lastAppInstance); + showApplicationInstance(lastAppInstance, nullptr); } else if (lastScenario.get() != nullptr) { diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h index 79a14fcf0e0681650d3765520ea30339276a2fd8..baa430c62a1db2a04804d5749fbe7c7694e13b18 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/detailedapplicationview.h @@ -29,6 +29,7 @@ #include <ArmarXCore/util/ScenarioManagerCommon/data_structure/Package.h> #include <ArmarXGui/libraries/qtpropertybrowser/src/qtpropertymanager.h> #include "OptionalPropertyFactory.h" +#include "scenarioitem.h" #include <boost/shared_ptr.hpp> #include <QWidget> #include <QTimer> @@ -72,7 +73,7 @@ public: * Show an ApplicationInstance. * @param appInstance ApplicationInstance to show */ - void showApplicationInstance(ScenarioManager::Data_Structure::ApplicationInstancePtr appInstance); + void showApplicationInstance(ScenarioManager::Data_Structure::ApplicationInstancePtr appInstance, ScenarioItem* item); /** * Show a Scenario. @@ -94,6 +95,7 @@ signals: void addParameterButtonClicked(); void toolButtonClicked(); void saveScenario(ScenarioManager::Data_Structure::ApplicationInstancePtr application); + void applicationEnabledChange(bool enabled); public slots: /** @@ -131,6 +133,7 @@ private: bool statusUpdateRelevant; ScenarioManager::Data_Structure::ApplicationInstancePtr lastAppInstance; ScenarioManager::Data_Structure::ScenarioPtr lastScenario; + ScenarioItem* lastScenarioItem; bool neadsUpdate; QTimer updateTimer; diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp index 778f6dc18d65ea4a983cdbf814e355efc77f692a..09921b3b7a0190976bc8ffb84e52f6aef51fe468 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenarioitem.cpp @@ -46,6 +46,7 @@ ScenarioItem::ScenarioItem(ScenarioPtr scenario) ScenarioItem::ScenarioItem(ApplicationInstancePtr application) { this->application = application; + setEnabled(application->getEnabled()); update(); } @@ -57,7 +58,10 @@ ScenarioItem::ScenarioItem(std::string name, std::vector<ApplicationInstancePtr> for (auto application : applications) { - this->appendChild(new ScenarioItem(application)); + ScenarioItem* currentItem = new ScenarioItem(application); + currentItem->setEnabled(application->getEnabled()); + + this->appendChild(currentItem); } update(); @@ -85,6 +89,10 @@ void ScenarioItem::update() for (int i = 0; i < childCount(); i++) { static_cast<ScenarioItem*>(child(i))->update(); + if (!child(i)->isEnabled()) + { + continue; + } if (status == ApplicationStatus::Unknown && child(i)->data(4).toString().toStdString() == ApplicationStatus::Running) { status = ApplicationStatus::Running; @@ -110,7 +118,8 @@ void ScenarioItem::update() { status = ApplicationStatus::Mixed; break; - } else if (child(i)->data(4).toString().toStdString() == ApplicationStatus::Waiting) + } + else if (child(i)->data(4).toString().toStdString() == ApplicationStatus::Waiting) { status = ApplicationStatus::Waiting; break; @@ -156,6 +165,8 @@ void ScenarioItem::update() { m_itemData[4] = QVariant(QString::fromStdString(ApplicationStatus::Unknown)); } + + setEnabled(application->getEnabled()); } } diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenariomodel.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenariomodel.cpp index b85e6704659f4b41d71809847ffd82bd675afb79..bb846cbfd2e4c116bacafc73df53db608ee9d8e9 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenariomodel.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/scenariomodel.cpp @@ -50,6 +50,11 @@ QVariant ScenarioModel::data(const QModelIndex& index, int role) const if (role == Qt::ForegroundRole) { + ApplicationInstancePtr instance = static_cast<ScenarioItem*>(index.internalPointer())->getApplicationInstance(); + if (instance.get() != nullptr && !instance->getEnabled()) + { + return QColor(Qt::lightGray); + } if (index.column() == 4) { if (index.data().toString().toStdString() == "Not Found") @@ -67,7 +72,8 @@ QVariant ScenarioModel::data(const QModelIndex& index, int role) const else if (index.data().toString().toStdString() == ApplicationStatus::Mixed) { return QColor(Qt::darkYellow); - } else if (index.data().toString().toStdString() == ApplicationStatus::Waiting) + } + else if (index.data().toString().toStdString() == ApplicationStatus::Waiting) { return QColor(Qt::blue); } diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.cpp index e8231bbb38e1d584b503494d5a38e085dd9aabf3..a07d56696ef6ed2858bd7d08f1f322f06f2ee70a 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.cpp @@ -81,9 +81,9 @@ int TreeItem::row() const return 0; } -void TreeItem::disable() +void TreeItem::setEnabled(bool enabled) { - enabled = false; + this->enabled = enabled; } bool TreeItem::isEnabled() diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.h b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.h index bc1a31c8be91579e2732b52d7eaa6aaae91a69b4..5104e485448fbfb0254b9001fbc0f2f3779b62e7 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.h +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/gui/treeitem.h @@ -68,7 +68,7 @@ public: int row() const; - void disable(); + void setEnabled(bool enabled); bool isEnabled(); protected: diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/test/DataStructureTest.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/test/DataStructureTest.cpp index 5dde2105e174ee4d0209285b0be283ddcf21fb0d..a887910b1867a0c3786ee3b370a3ed88f8c98e1a 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/test/DataStructureTest.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/test/DataStructureTest.cpp @@ -79,7 +79,7 @@ BOOST_AUTO_TEST_CASE(ApplicationInitialization) for (auto app : *apps) { i++; - ApplicationInstancePtr ai = ApplicationInstancePtr(new ApplicationInstance((*app), "instance" + std::to_string(i), "", s)); + ApplicationInstancePtr ai = ApplicationInstancePtr(new ApplicationInstance((*app), "instance" + std::to_string(i), "", s, false)); if (i == 1) { aip = ai; diff --git a/source/ArmarXGui/gui-plugins/ScenarioManager/test/XMLScenarioParserTest.cpp b/source/ArmarXGui/gui-plugins/ScenarioManager/test/XMLScenarioParserTest.cpp index 9ab910dee12e18ffbf2a0af6010a6110f58e0656..782daf6f256c1a328d41f1a14ebc99335848fa2d 100644 --- a/source/ArmarXGui/gui-plugins/ScenarioManager/test/XMLScenarioParserTest.cpp +++ b/source/ArmarXGui/gui-plugins/ScenarioManager/test/XMLScenarioParserTest.cpp @@ -87,7 +87,7 @@ BOOST_AUTO_TEST_CASE(IceParserLoadFromXml_DebugObserverTest) { //init app for test app1 = ApplicationPtr(new Application("DebugObserver", "not relevant", "ArmarXCore")); - api1 = ApplicationInstancePtr(new ApplicationInstance((*app1), "", "not relevant", s)); + api1 = ApplicationInstancePtr(new ApplicationInstance((*app1), "", "not relevant", s, false)); //find DebugObserver.xml file std::string relativeFilename("ArmarXGui/ScenarioManagerTestData/xmlCache/ArmarXCore.DebugObserver.xml"); @@ -122,7 +122,7 @@ BOOST_AUTO_TEST_CASE(IceParserLoadFromXml_HeadIKUnitTest) { //init app for test app1 = ApplicationPtr(new Application("HeadIKUnit", "not relevant", "RobotApi")); - api1 = ApplicationInstancePtr(new ApplicationInstance((*app1), "", "not relevant", s)); + api1 = ApplicationInstancePtr(new ApplicationInstance((*app1), "", "not relevant", s, false)); //find DebugObserver.xml file std::string relativeFilename("ArmarXGui/ScenarioManagerTestData/xmlCache/RobotAPI.HeadIKUnit.xml"); @@ -162,7 +162,7 @@ BOOST_AUTO_TEST_CASE(IceParserLoadFromXml_DepthImageProviderDynamicSimulationApp { //init app for test app1 = ApplicationPtr(new Application("DepthImageProviderDynamicSimulationApp", "not relevant", "ArmarXSimulation")); - api1 = ApplicationInstancePtr(new ApplicationInstance((*app1), "", "not relevant", s)); + api1 = ApplicationInstancePtr(new ApplicationInstance((*app1), "", "not relevant", s, false)); //find DebugObserver.xml file std::string relativeFilename("ArmarXGui/ScenarioManagerTestData/xmlCache/ArmarXSimulation.DepthImageProviderDynamicSimulationApp.xml");