// ****************************************************************************************** // Edit whenever element is selected in the controllers tree view // ****************************************************************************************** void ROSControllersWidget::editSelected() { QTreeWidgetItem* item = controllers_tree_->currentItem(); QTreeWidgetItem* controller_item; // Check that something was actually selected if (item == nullptr) return; adding_new_controller_ = false; // Get the user custom properties of the currently selected row int type = item->data(0, Qt::UserRole).value<int>(); if (type == 2) { // The controller this joint belong to controller_item = item->parent()->parent(); current_edit_controller_ = controller_item->text(0).toUtf8().constData(); moveit_setup_assistant::ROSControlConfig* this_controller = config_data_->findROSControllerByName(current_edit_controller_); // Load the data loadJointsScreen(this_controller); // Switch to screen changeScreen(1); // 1 is index of joints } else if (type == 1) { controller_item = item->parent(); current_edit_controller_ = controller_item->text(0).toUtf8().constData(); moveit_setup_assistant::ROSControlConfig* this_controller = config_data_->findROSControllerByName(current_edit_controller_); // Load the data loadJointsScreen(this_controller); // Switch to screen changeScreen(1); // 1 is index of joints } else if (type == 0) { // Load the data current_edit_controller_ = item->text(0).toUtf8().constData(); moveit_setup_assistant::ROSControlConfig* this_controller = config_data_->findROSControllerByName(current_edit_controller_); loadControllerScreen(this_controller); // Switch to screen changeScreen(2); // 1 is index of controller edit } else { QMessageBox::critical(this, "Error Loading", "An internal error has occured while loading."); } }
void MainWindow::previousScreen() { if (currentScreen == "title") { qApp->quit(); } //HOME BRANCH else if (currentScreen == "homeElectricity") { changeScreen("title", homeElectricity, screenTitle); prev->setText(tr("Quit")); } else if (currentScreen == "homeHeat") { changeScreen("homeElectricity", homeHeat, homeElectricity); } else if (currentScreen == "homeHabitat") { changeScreen("homeHeat", homeHabitat, homeHeat); } else if (currentScreen == "homePV") { changeScreen("homeHabitat", homePV, homeHabitat); } else if (currentScreen == "final" && screenTitle->home) { if (homeHabitat->einFamHaus && homeHabitat->eigentuemer) changeScreen("homePV", finalScreen, homePV); else changeScreen("homeHabitat", finalScreen, homeHabitat); next->setText(tr("Next >")); } //INDUSTRY BRANCH else if (currentScreen == "industryElectricity") { changeScreen("title", industryElectricity, screenTitle); prev->setText(tr("Quit")); } else if (currentScreen == "industryHeat") { changeScreen("industryElectricity", industryHeat, industryElectricity); } else if (currentScreen == "industrySteam") { changeScreen("industryHeat", industrySteam, industryHeat); } else if (currentScreen == "final" && screenTitle->industry) { changeScreen("industrySteam", finalScreen, industrySteam); next->setText(tr("Next >")); } }
// ****************************************************************************************** // Create a new controller // ****************************************************************************************** void ROSControllersWidget::addController() { // New Controller adding_new_controller_ = true; // Load the data loadControllerScreen(nullptr); // NULL indicates this is a new controller, not an existing one changeScreen(2); // 1 is index of controller edit }
// ****************************************************************************************** // Edit a controller // ****************************************************************************************** void ROSControllersWidget::editController() { QTreeWidgetItem* item = controllers_tree_->currentItem(); // Check that something was actually selected if (item == nullptr) return; adding_new_controller_ = false; loadControllerScreen(config_data_->findROSControllerByName(current_edit_controller_)); // Switch to screen changeScreen(2); // 1 is index of controller edit }
// ****************************************************************************************** // Call when a new controller is created and ready to progress to next screen // ****************************************************************************************** void ROSControllersWidget::saveControllerScreenGroups() { // Save the controller if (!saveControllerScreen()) return; // Find the controller we are editing based on the controller name string moveit_setup_assistant::ROSControlConfig* editing_controller = config_data_->findROSControllerByName(current_edit_controller_); loadGroupsScreen(editing_controller); // Switch to screen changeScreen(3); // 3 is index of groups }
void MainWindow::nextScreen() { // HOME BRANCH if (currentScreen == "title" && screenTitle->home) { changeScreen("homeElectricity", screenTitle, homeElectricity); prev->setText(tr("< Previous")); } else if (currentScreen == "homeElectricity") { changeScreen("homeHeat", homeElectricity, homeHeat); } else if (currentScreen == "homeHeat") { changeScreen("homeHabitat", homeHeat, homeHabitat); } else if (currentScreen == "homeHabitat") { if (homeHabitat->einFamHaus && homeHabitat->eigentuemer) changeScreen("homePV", homeHabitat, homePV); else if ((homeHabitat->mehrFamHaus || homeHabitat->einFamHaus || homeHabitat->wohnung) && (homeHabitat->eigentuemer || homeHabitat->miete) ) { changeScreen("final", homeHabitat, finalScreen); next->setText(tr("Send data")); } } else if (currentScreen == "homePV") { changeScreen("final", homePV, finalScreen); next->setText(tr("Send data")); } //INDUSTRY BRANCH else if (currentScreen == "title" && screenTitle->industry) { changeScreen("industryElectricity", screenTitle, industryElectricity); prev->setText(tr("< Previous")); } else if (currentScreen == "industryElectricity") { changeScreen("industryHeat", industryElectricity, industryHeat); } else if (currentScreen == "industryHeat") { changeScreen("industrySteam", industryHeat, industrySteam); } else if (currentScreen == "industrySteam") { changeScreen("final", industrySteam, finalScreen); next->setText(tr("Send data")); } //FINAL SCREEN else if (currentScreen == "final") { if (!dataSent) { createDataString(); finalScreen->sendData(); next->setText(tr("Quit")); dataSent = true; } else qApp->quit(); } }
void nightMode(uint8_t on){ if(initNightMode(on)){ changeScreen(screenNumber); } }