ExportDialogController.cpp
Go to the documentation of this file.
2 
3 #include <QMessageBox>
4 
5 namespace armarx
6 {
7  void
9  {
10  exportDialog = new QDialog;
11  ui.setupUi(exportDialog);
12  fps = ui.selcetFPS->value();
13  ARMARX_INFO << "RobotTrajectoryDesigner: ExportDialogController on init";
14  }
15 
16  void
18  {
19  QObject::connect(ui.cancel, SIGNAL(clicked()), exportDialog, SLOT(reject()));
20  QObject::connect(ui.exportMMM, SIGNAL(clicked()), exportDialog, SLOT(accept()));
21 
22  QObject::connect(ui.selcetFPS, SIGNAL(valueChanged(int)), this, SLOT(setFPS(int)));
23  }
24 
25  void
27  {
28  ARMARX_INFO << "RobotTrajectoryDesigner: ExportDialogController on disconnect";
29  }
30 
31  void
33  {
34  ARMARX_INFO << "RobotTrajectoryDesigner: ExportDialogController on exit";
35  }
36 
38  {
41  }
42 
43  void
45  {
46  //fps = ui.selcetFPS->value();
47  exportDialog->setModal(true);
48  exportDialog->exec();
49  }
50 
51  void
53  {
54  this->fps = fps;
55  }
56 
57  void
59  std::vector<armarx::DesignerTrajectoryPtr> trajectories)
60  {
61  this->trajectories = trajectories;
62  }
63 
64  void
66  {
67  if (environment == NULL)
68  {
69  return;
70  }
71  //fps = ui.selcetFPS->value();
72  //exportDialog->setModal(true);
73  //exportDialog->exec();
74  emit exportDesignerTrajectory(fps);
75  if (trajectories.empty())
76  {
77  QMessageBox* exportMMMfailed = new QMessageBox();
78  exportMMMfailed->setWindowTitle(QString::fromStdString("Error Message"));
79  exportMMMfailed->setText(
80  QString::fromStdString("Export failed.\nNo trajectory is implemented."));
81  exportMMMfailed->exec();
82  return;
83  }
84  QString file = saveToFile();
85  //try
86  //{
87  MMMExporterPtr exporter = std::make_shared<MMMExporter>(MMMExporter(environment));
88  //exporter->exportTrajectory(trajectories, file.toStdString());
89  if (!file.isEmpty())
90  {
91  exporter->exportTrajectory(trajectories, file.toStdString());
92  }
93  else
94  {
95  ARMARX_INFO << "Export to MMM failed (file.isEmpty)";
96  }
97  }
98 
99  void
101  {
102  /*if (environment == NULL)
103  {
104  return;
105  }
106  emit exportDesignerTrajectory();
107  if (trajectories.empty())
108  {
109  QMessageBox* exportTrajectoryfailed = new QMessageBox();
110  exportTrajectoryfailed->setWindowTitle(QString::fromStdString("Error Message"));
111  exportTrajectoryfailed->setText(QString::fromStdString("Export failed.\nNo trajectory is implemented."));
112  exportTrajectoryfailed->exec();
113  return;
114  }
115  QString file = saveToFile();
116  try
117  {
118  TrajectoryExporterPtr exporter = std::make_shared<TrajectoryExporter>();
119  if (!file.isEmpty())
120  {
121  exporter->exportTrajectory(trajectories, file.toStdString());
122  }
123  else
124  {
125  ARMARX_INFO << "Export to Trajectory failed (file.isEmpty)";
126  }
127  }
128  catch (...)
129  {
130  ARMARX_INFO << "Export to Trajectory failed (Exception)";
131  }*/
132  throw armarx::NotImplementedYetException();
133  }
134 
135  void
137  {
138  this->environment = environment;
139  }
140 
141  QString
142  ExportDialogController::saveToFile()
143  {
144  QFileDialog dialog(0);
145  dialog.setFileMode(QFileDialog::AnyFile);
146  dialog.setAcceptMode(QFileDialog::AcceptSave);
147  dialog.setDefaultSuffix(QString::fromStdString("xml"));
148  dialog.setNameFilter(tr("XML (*.xml)"));
149  QString filepath;
150 
151  if (dialog.exec())
152  {
153  if (dialog.selectedFiles().size() != 0)
154  {
155  filepath = dialog.selectedFiles()[0];
156  ARMARX_INFO << filepath.toStdString();
157  return filepath;
158  }
159  }
160  return "";
161  }
162 
163 
164 } // namespace armarx
armarx::ExportDialogController::environmentChanged
void environmentChanged(EnvironmentPtr environment)
Set the enviroment.
Definition: ExportDialogController.cpp:136
armarx::ExportDialogController::onConnectComponent
void onConnectComponent() override
Definition: ExportDialogController.cpp:17
armarx::MMMExporter
Exports instances of the DesignerTrajectory class to .xml-files in MMM format.
Definition: MMMExporter.h:35
armarx::ExportDialogController::exportMMM
void exportMMM()
Start export to MMM.
Definition: ExportDialogController.cpp:65
armarx::ExportDialogController::setFPS
void setFPS(int fps)
Sets the timed distribution of automatically generated waypoints by assigning how many waypoints ther...
Definition: ExportDialogController.cpp:52
armarx::ExportDialogController::ExportDialogController
ExportDialogController()
Creates a new ExportDialogController and assigns a designer exporter to handle.
Definition: ExportDialogController.cpp:37
armarx::ExportDialogController::open
void open()
Opens an export dialog.
Definition: ExportDialogController.cpp:44
ExportDialogController.h
armarx::ExportDialogController::exportDesignerTrajectory
void exportDesignerTrajectory()
Requests a designer trajectory to a given index to export.
armarx::ExportDialogController::onDisconnectComponent
void onDisconnectComponent() override
Definition: ExportDialogController.cpp:26
armarx::EnvironmentPtr
std::shared_ptr< Environment > EnvironmentPtr
Definition: Environment.h:29
armarx::MMMExporterPtr
std::shared_ptr< MMMExporter > MMMExporterPtr
Definition: MMMExporter.h:51
armarx::ExportDialogController::onInitComponent
void onInitComponent() override
Definition: ExportDialogController.cpp:8
armarx::ExportDialogController::onExitComponent
void onExitComponent() override
Definition: ExportDialogController.cpp:32
armarx::ExportDialogController::exportTrajectory
void exportTrajectory()
Start export to trajectory.
Definition: ExportDialogController.cpp:100
ARMARX_INFO
#define ARMARX_INFO
Definition: Logging.h:181
armarx
This file offers overloads of toIce() and fromIce() functions for STL container types.
Definition: ArmarXTimeserver.cpp:27