// ******************************************************************************************
// 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.");
  }
}
Esempio n. 2
0
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
}
Esempio n. 6
0
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();
    }
}
Esempio n. 7
0
void nightMode(uint8_t on){
  if(initNightMode(on)){
    changeScreen(screenNumber);
  }
}