Ejemplo n.º 1
0
std::vector<Robot*> TeamSelector::getSelectedRobots() const
{
  Team* selectedTeam = getSelectedTeam();
  if(selectedTeam)
    return selectedTeam->getSelectedPlayers();
  else
  {
    Session::getInstance().log(CRITICAL, "TeamSelector: No team selected.");
    return std::vector<Robot*>();
  }
}
Ejemplo n.º 2
0
void TeamTableView::onTeamDoubleClicked(const QModelIndex& index)
{
  unique_ptr<Team> selectedTeam = getSelectedTeam();
  if (selectedTeam == nullptr) return;

  QString oldName = selectedTeam->getName();

  bool isOk = false;
  while (!isOk)
  {
    QString newName = QInputDialog::getText(this, tr("Rename team"), tr("Enter new team name:"),
      QLineEdit::Normal, oldName, &isOk);

    if (!isOk)
    {
      return;  // the user hit cancel
    }

    if (newName.isEmpty())
    {
      QMessageBox::critical(this, tr("Rename team"), tr("The new name may not be empty!"));
      isOk = false;
      continue;
    }

    if (oldName == newName)
    {
      return;
    }

    // okay, we have a valid name. try to rename the team
    newName = newName.trimmed();
    TeamMngr tm{db};
    ERR e = tm.renameTeam(*selectedTeam, newName);

    if (e == INVALID_NAME)
    {
      QMessageBox::critical(this, tr("Rename team"), tr("The name you entered is invalid (e.g., too long)"));
      isOk = false;
      continue;
    }

    if (e == NAME_EXISTS)
    {
      QMessageBox::critical(this, tr("Rename team"), tr("A team of this name already exists"));
      isOk = false;
      continue;
    }
  }
}
Ejemplo n.º 3
0
void TeamSelector::selectPlayer()
{
  QObject* s = sender();
  if(!s)
    return;
  int number = -1;
  for(size_t i = 0; i < selectActions.size(); ++i)
    if(selectActions[i] == s)
      number = i;
  if(number >= 0)
  {
    Team* t = getSelectedTeam();
    t->setSelectPlayer(number, !t->isPlayerSelected(number));
    teamViews[t->number]->update(number);
  }
}