labeled_status_widget.cpp
Go to the documentation of this file.
00001 #include "mrta/robot.h"
00002 #include "mrta/task.h"
00003 #include "rqt_mrta/labeled_status_widget.h"
00004 #include "rqt_mrta/ui_labeled_status_widget.h"
00005 
00006 namespace rqt_mrta
00007 {
00008 LabeledStatusWidget::LabeledStatusWidget(QWidget* parent, mrta::Robot* robot)
00009     : QWidget(parent), ui_(new Ui::LabeledStatusWidget())
00010 {
00011   ui_->setupUi(this);
00012   connect(robot, SIGNAL(idle()), this, SLOT(setGreen()));
00013   connect(robot, SIGNAL(busy()), this, SLOT(setYellow()));
00014   connect(robot, SIGNAL(offline()), this, SLOT(setGray()));
00015   connect(robot, SIGNAL(idChanged(const QString&)), this,
00016           SLOT(setLabel(const QString&)));
00017   switch (robot->getState())
00018   {
00019   case mrta::Robot::Idle:
00020     setGreen();
00021     break;
00022   case mrta::Robot::Busy:
00023     setYellow();
00024     break;
00025   case mrta::Robot::Offline:
00026     setGray();
00027     break;
00028   }
00029   setLabel(robot->getId());
00030 }
00031 
00032 LabeledStatusWidget::LabeledStatusWidget(QWidget* parent, mrta::Task* task) {}
00033 
00034 LabeledStatusWidget::~LabeledStatusWidget()
00035 {
00036   ROS_INFO_STREAM("[~LabeledStatusWidget] before ...");
00037   if (ui_)
00038   {
00039     delete ui_;
00040     ui_ = NULL;
00041   }
00042   ROS_INFO_STREAM("[~LabeledStatusWidget] after ...");
00043 }
00044 
00045 void LabeledStatusWidget::setGreen()
00046 {
00047   ui_->status_widget->setCurrentRole(StatusWidget::Green, "");
00048 }
00049 
00050 void LabeledStatusWidget::setYellow()
00051 {
00052   ui_->status_widget->setCurrentRole(StatusWidget::Yellow, "");
00053 }
00054 
00055 void LabeledStatusWidget::setRed()
00056 {
00057   ui_->status_widget->setCurrentRole(StatusWidget::Red, "");
00058 }
00059 
00060 void LabeledStatusWidget::setBlue()
00061 {
00062   ui_->status_widget->setCurrentRole(StatusWidget::Blue, "");
00063 }
00064 
00065 void LabeledStatusWidget::setGray()
00066 {
00067   ui_->status_widget->setCurrentRole(StatusWidget::Gray, "");
00068 }
00069 
00070 void LabeledStatusWidget::setLabel(const QString& label)
00071 {
00072   ui_->label->setText(label);
00073 }
00074 
00075 void LabeledStatusWidget::objectDestroyed()
00076 {
00077   ui_->label->setText("");
00078   ui_->status_widget->setCurrentRole(StatusWidget::None, "");
00079 }
00080 }


rqt_mrta
Author(s): Adriano Henrique Rossette Leite
autogenerated on Thu Jun 6 2019 18:50:52