GCC Code Coverage Report
Directory: ./ Exec Total Coverage
File: src/gui/dialog/dialogloadenvironment.cc Lines: 0 27 0.0 %
Date: 2024-04-14 11:13:22 Branches: 0 58 0.0 %

Line Branch Exec Source
1
// Copyright (c) 2015-2018, LAAS-CNRS
2
// Authors: Joseph Mirabel (joseph.mirabel@laas.fr)
3
//
4
// This file is part of gepetto-viewer.
5
// gepetto-viewer is free software: you can redistribute it
6
// and/or modify it under the terms of the GNU Lesser General Public
7
// License as published by the Free Software Foundation, either version
8
// 3 of the License, or (at your option) any later version.
9
//
10
// gepetto-viewer is distributed in the hope that it will be
11
// useful, but WITHOUT ANY WARRANTY; without even the implied warranty
12
// of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13
// General Lesser Public License for more details. You should have
14
// received a copy of the GNU Lesser General Public License along with
15
// gepetto-viewer. If not, see <http://www.gnu.org/licenses/>.
16
17
#include "gepetto/gui/dialog/dialogloadenvironment.hh"
18
19
#include <QDir>
20
#include <QFileDialog>
21
#include <QMessageBox>
22
23
#include "ui_dialogloadenvironment.h"
24
25
namespace gepetto {
26
namespace gui {
27
QList<DialogLoadEnvironment::EnvironmentDefinition>
28
    DialogLoadEnvironment::definitions =
29
        QList<DialogLoadEnvironment::EnvironmentDefinition>()
30
        << DialogLoadEnvironment::EnvironmentDefinition();
31
32
DialogLoadEnvironment::DialogLoadEnvironment(QWidget *parent)
33
    : QDialog(parent), ui_(new ::Ui::DialogLoadEnvironment) {
34
  ui_->setupUi(this);
35
  ui_->groupBox_details->setVisible(false);
36
  defs_ = ui_->comboBox_defs;
37
  defs_->setFocus();
38
39
  foreach (EnvironmentDefinition r, definitions) {
40
    defs_->addItem(r.name_, QVariant::fromValue(r));
41
  }
42
}
43
44
DialogLoadEnvironment::~DialogLoadEnvironment() { delete ui_; }
45
46
void DialogLoadEnvironment::addEnvironmentDefinition(
47
    QString name, QString envName, QString package, QString urdfFilename,
48
    QString urdfSuffix, QString srdfSuffix) {
49
  definitions.append(EnvironmentDefinition(name, envName, package, urdfFilename,
50
                                           urdfSuffix, srdfSuffix));
51
}
52
53
QList<DialogLoadEnvironment::EnvironmentDefinition>
54
DialogLoadEnvironment::getEnvironmentDefinitions() {
55
  return definitions;
56
}
57
58
void DialogLoadEnvironment::accept() {
59
  /* TODO use the urdfParser::getFilename to check if the package exists
60
  QDir d (ui_->packagePath->text ());
61
  if (!d.cd("urdf")) {
62
    QMessageBox (QMessageBox::Warning, "Directory not found", d.absolutePath(),
63
  QMessageBox::Ok, this).exec(); return;
64
  }
65
  if (!d.exists(ui_->urdfFilename->text () + ".urdf")) {
66
    QMessageBox (QMessageBox::Warning, "File not found",
67
  d.absoluteFilePath(ui_->urdfFilename->text() + ".urdf"), QMessageBox::Ok,
68
  this).exec(); return;
69
  }
70
  if (!QDir (ui_->meshDirectory->text ()).exists()) {
71
    QMessageBox (QMessageBox::Warning, "File not found",
72
  ui_->meshDirectory->text (), QMessageBox::Ok, this).exec(); return;
73
  }*/
74
  selected_ =
75
      EnvironmentDefinition(defs_->currentText(), ui_->envName->text(),
76
                            ui_->packageName->text(), ui_->urdfFilename->text(),
77
                            ui_->urdfSuffix->text(), ui_->srdfSuffix->text());
78
  done(QDialog::Accepted);
79
}
80
81
void DialogLoadEnvironment::envSelect(int index) {
82
  QVariant v = defs_->itemData(index);
83
  if (v.canConvert<EnvironmentDefinition>()) {
84
    EnvironmentDefinition rd = v.value<EnvironmentDefinition>();
85
    ui_->envName->setText(rd.envName_);
86
    ui_->packageName->setText(rd.package_);
87
    ui_->urdfFilename->setText(rd.urdfFilename_);
88
    ui_->urdfSuffix->setText(rd.urdfSuf_);
89
    ui_->srdfSuffix->setText(rd.srdfSuf_);
90
  }
91
}
92
}  // namespace gui
93
}  // namespace gepetto