34 #include <QMouseEvent> 
   35 #include <QTextStream> 
   37 #if QT_VERSION >= 0x050000 
   38 #include <QGuiApplication> 
   40 #include <QApplication> 
   61   : config_widget_(new QWidget()),
 
   67   QObject::connect(
ui_.selectframe, SIGNAL(clicked()),
 
   69   QObject::connect(
ui_.frame, SIGNAL(editingFinished()),
 
   71   QObject::connect(
ui_.copyCheckBox, SIGNAL(stateChanged(
int)),
 
   73   QObject::connect(
ui_.clearListButton, SIGNAL(clicked()),
 
   76 #if QT_VERSION >= 0x050000 
   77   ui_.coordTextEdit->setPlaceholderText(tr(
"Click on the map; coordinates appear here"));
 
  111     ROS_DEBUG(
"Ignoring mouse event, since coordinate picker plugin is hidden");
 
  115   switch (event->type())
 
  117     case QEvent::MouseButtonPress:
 
  119     case QEvent::MouseButtonRelease:
 
  121     case QEvent::MouseMove:
 
  130 #if QT_VERSION >= 0x050000 
  131   QPointF point = 
event->localPos();
 
  133   QPointF point = 
event->posF();
 
  135   ROS_DEBUG(
"Map point: %f %f", point.x(), point.y());
 
  138   std::string frame = 
ui_.frame->text().toStdString();
 
  151     ROS_DEBUG(
"Transforming from fixed frame '%s' to (plugin) target frame '%s'",
 
  155     ROS_DEBUG(
"Point in fixed frame: %f %f", transformed.x(), transformed.y());
 
  156     tf::Vector3 position(transformed.x(), transformed.y(), 0.0);
 
  158     point.setX(position.x());
 
  159     point.setY(position.y());
 
  166     QTextStream(&warning) << 
"No available transform from '" << QString::fromStdString(
target_frame_) << 
"' to '" << QString::fromStdString(frame) << 
"'";
 
  172   ROS_DEBUG(
"Transformed point in frame '%s': %f %f", frame.c_str(), point.x(), point.y());
 
  174   QTextStream stream(&new_point);
 
  177     stream.setRealNumberPrecision(9);
 
  181     stream.setRealNumberPrecision(4);
 
  183   stream << point.x() << 
", " << point.y();
 
  187 #if QT_VERSION >= 0x050000 
  188     QClipboard* clipboard = QGuiApplication::clipboard();
 
  190     QClipboard* clipboard = QApplication::clipboard();
 
  192     clipboard->setText(new_point);
 
  195   stream << 
" (" << QString::fromStdString(frame) << 
")\n";
 
  197   ui_.coordTextEdit->setPlainText(
ui_.coordTextEdit->toPlainText().prepend(new_point));
 
  220     ui_.frame->setText(QString::fromStdString(frame));
 
  227   ROS_INFO(
"Setting target frame to %s", 
ui_.frame->text().toStdString().c_str());
 
  237     case Qt::PartiallyChecked:
 
  247   ui_.coordTextEdit->setPlainText(QString());
 
  259     node[
"frame"] >> frame;
 
  260     ui_.frame->setText(QString::fromStdString(frame));
 
  266     node[
"copy"] >> copy;
 
  269       ui_.copyCheckBox->setCheckState(Qt::Checked);
 
  273       ui_.copyCheckBox->setCheckState(Qt::Unchecked);
 
  280   std::string frame = 
ui_.frame->text().toStdString();
 
  281   emitter << YAML::Key << 
"frame" << YAML::Value << frame;
 
  283   bool copy_on_click = 
ui_.copyCheckBox->isChecked();
 
  284   emitter << YAML::Key << 
"copy" << YAML::Value << copy_on_click;