26 #include "../Interpolation/InterpolationType.h"
34 ARMARX_INFO <<
"RobotTrajectoryDesigner: TransitionController on init";
37 initInterpolationComboBox();
40 this->guiTransitionTab->getTransitionTab()->transitionList->setSelectionMode(
41 QAbstractItemView::SingleSelection);
42 this->guiTransitionTab->getTransitionTab()->transitionList->clear();
45 QDoubleValidator* validator =
46 new QDoubleValidator(-1000.000, 1000.000, 3, guiTransitionTab.get());
47 validator->setNotation(QDoubleValidator::StandardNotation);
48 this->guiTransitionTab->getTransitionTab()->durationLineEdit->setValidator(validator);
54 ARMARX_INFO <<
"RobotTrajectoryDesigner: TransitionController on connect";
57 QObject::connect(guiTransitionTab->getTransitionTab()->transitionList,
58 SIGNAL(itemClicked(QListWidgetItem*)),
63 QObject::connect(guiTransitionTab->getTransitionTab()->durationLineEdit,
64 SIGNAL(editingFinished()),
66 SLOT(setDurationValue()));
69 QObject::connect(guiTransitionTab->getTransitionTab()->interpolationComboBox,
70 SIGNAL(activated(
int)),
72 SLOT(setInterpolation(
int)));
78 ARMARX_INFO <<
"RobotTrajectoryDesigner: TransitionController on disconnect";
84 ARMARX_INFO <<
"RobotTrajectoryDesigner: TransitionController on exit";
88 guiTransitionTab(guiTransitionTab)
97 return this->guiTransitionTab;
103 if (guiTransitionTab != NULL)
105 this->guiTransitionTab = guiTransitionTab;
115 transition.
start = start;
116 transition.
it = interpolation;
122 data.setValue(transition);
125 QListWidgetItem* item =
127 item->setData(Qt::UserRole,
data);
128 QListWidget* transitions = guiTransitionTab->getTransitionTab()->transitionList;
130 transitions->insertItem(
index, item);
133 changeTextListWidgetItems();
139 QListWidget* transitions = guiTransitionTab->getTransitionTab()->transitionList;
142 if (transitions->count() >
index)
144 delete transitions->takeItem(
index);
146 changeTextListWidgetItems();
155 guiTransitionTab->getTransitionTab()->durationLineEdit->setText(
156 QString::number(transition.
duration));
158 guiTransitionTab->getTransitionTab()->startValueLabel->setText(
159 QString::number(transition.
start));
161 guiTransitionTab->getTransitionTab()->EndValueLabel->setText(
164 guiTransitionTab->getTransitionTab()->interpolationComboBox->setCurrentIndex(transition.
it);
167 QListWidget* transitions = guiTransitionTab->getTransitionTab()->transitionList;
174 GuiTransition transition = guiTransitionTab->getTransitionTab()
175 ->transitionList->item(
index)
180 guiTransitionTab->getTransitionTab()->durationLineEdit->setText(
181 QString::number(transition.
duration));
183 guiTransitionTab->getTransitionTab()->startValueLabel->setText(
184 QString::number(transition.
start));
186 guiTransitionTab->getTransitionTab()->EndValueLabel->setText(
189 guiTransitionTab->getTransitionTab()->interpolationComboBox->setCurrentIndex(transition.
it);
193 TransitionController::setDurationValue()
195 if (this->guiTransitionTab->getTransitionTab()->durationLineEdit->hasAcceptableInput())
197 QListWidget* transitions = guiTransitionTab->getTransitionTab()->transitionList;
198 QListWidgetItem* item = transitions->currentItem();
205 this->guiTransitionTab->getTransitionTab()->durationLineEdit->text().toDouble();
208 if ((dur >= 0) && (dur != transition.
duration))
217 TransitionController::setInterpolation(
int index)
219 QListWidget* transitions = guiTransitionTab->getTransitionTab()->transitionList;
220 QListWidgetItem* item = transitions->currentItem();
235 TransitionController::enableAll(
bool enable)
237 this->guiTransitionTab->getTransitionTab()->durationLineEdit->setEnabled(enable);
238 this->guiTransitionTab->getTransitionTab()->interpolationComboBox->setEnabled(enable);
239 this->guiTransitionTab->getTransitionTab()->transitionList->setEnabled(enable);
248 transition.
start = start;
255 data.setValue(transition);
257 QListWidget* transitions = guiTransitionTab->getTransitionTab()->transitionList;
258 QListWidgetItem* item = transitions->item(
index);
261 item->setData(Qt::UserRole,
data);
263 if (transitions->currentRow() ==
index)
273 throw(
"not yet implemented");
280 this->guiTransitionTab->getTransitionTab()->transitionList->clear();
282 this->guiTransitionTab->getTransitionTab()->durationLineEdit->clear();
284 this->guiTransitionTab->getTransitionTab()->startValueLabel->clear();
285 this->guiTransitionTab->getTransitionTab()->EndValueLabel->clear();
287 this->guiTransitionTab->getTransitionTab()->interpolationComboBox->setCurrentIndex(0);
293 for (
int i = 0; i <
list->count(); i++)
304 TransitionController::initInterpolationComboBox()
306 QComboBox* interpolation = guiTransitionTab->getTransitionTab()->interpolationComboBox;
309 interpolation->setFocusPolicy(Qt::StrongFocus);
310 interpolation->installEventFilter(
new WheelEventFilter(
this));
313 interpolation->clear();
314 interpolation->addItem(QString::fromStdString(
"Linear Interpolation"));
315 interpolation->addItem(QString::fromStdString(
"Spline interpolation"));
316 interpolation->setEnabled(
true);
317 interpolation->setCurrentIndex(0);
321 TransitionController::changeTextListWidgetItems()
323 QListWidget* transitions = this->guiTransitionTab->getTransitionTab()->transitionList;
324 for (
int i = 0; i < transitions->count(); i++)
326 transitions->item(i)->setText(