ExportDialogController.cpp
Go to the documentation of this file.
2
3#include <QMessageBox>
4
5namespace 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
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();
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
void environmentChanged(EnvironmentPtr environment)
Set the enviroment.
void exportDesignerTrajectory()
Requests a designer trajectory to a given index to export.
void setFPS(int fps)
Sets the timed distribution of automatically generated waypoints by assigning how many waypoints ther...
void exportTrajectory()
Start export to trajectory.
void open()
Opens an export dialog.
void exportMMM()
Start export to MMM.
ExportDialogController()
Creates a new ExportDialogController and assigns a designer exporter to handle.
Exports instances of the DesignerTrajectory class to .xml-files in MMM format.
Definition MMMExporter.h:36
#define ARMARX_INFO
The normal logging level.
Definition Logging.h:181
This file offers overloads of toIce() and fromIce() functions for STL container types.
std::shared_ptr< Environment > EnvironmentPtr
Definition Environment.h:29
std::shared_ptr< MMMExporter > MMMExporterPtr
Definition MMMExporter.h:51