RobotWidget::RobotWidget(QString id, ros::NodeHandle& node_handle, QWidget* parent/*,boost::asio::io_service& io*/) : QWidget(parent) // , timer_(io, boost::posix_time::milliseconds(700)) , node_handle_(node_handle) , current_mode_(0) , selected_(false) { setupUi(this); idLabel->setText(id); connect(this, SIGNAL(cameraImageChangedSignal(QImage)), this, SLOT(cameraImageChanged(QImage))); connect(this, SIGNAL(batteryValueChangedSignal(double)), this, SLOT(batteryValueChanged(double))); connect(this, SIGNAL(wifiSignalValueChangedSignal(double)), this, SLOT(wifiSignalValueChanged(double))); connect(this, SIGNAL(selectedRobotChangedSignal(std_msgs::StringConstPtr)), this, SLOT(selectedRobotChanged(std_msgs::StringConstPtr))); connect(operationModeButton, SIGNAL(clicked()), this, SLOT(modeButtonClicked())); connect(this, SIGNAL(updateOperationIconSignal(int)), this, SLOT(updateOperationIcon(int))); operation_publisher_ = node_handle_.advertise<std_msgs::String>("/decision_making/" + id.toStdString() + "/events", 10, true); updateFrameStyle(); qRegisterMetaType<std_msgs::StringConstPtr>("std_msgs::StringConstPtr"); }
MainWidget::MainWidget(UiController * controller, QWidget *parent) : QWidget(parent), wsp(nullptr), controller(controller) { QLOG_TRACE() << "MainWidget::MainWidget()"; playMode = true; // debug layout // QPalette p(palette()); // p.setColor(QPalette::Background, Qt::red); // setPalette(p); // setAutoFillBackground(true); // initialise mode label and button modeLabel = new QLabel(tr("Play Mode")); modeButton = new QPushButton(tr("Switch")); connect(modeButton, SIGNAL(clicked()), this, SLOT(modeButtonClicked())); stopAllButton = new QPushButton(tr("Stop All")); connect(stopAllButton, SIGNAL(clicked()), controller, SLOT(stopAllButtonClicked())); stopAllShortcut = new QShortcut(QKeySequence("Ctrl+s"), this); connect(stopAllShortcut,SIGNAL(activated()),controller,SLOT(stopAllButtonClicked())); // initialise play and edit widgets playWidget = new PlayWidget(controller,3); editWidget = new EditWidget; stackedWidget = new QStackedWidget; stackedWidget->addWidget(playWidget); stackedWidget->addWidget(editWidget); // set up the layout layout = new QVBoxLayout; modeButtonLayout = new QHBoxLayout; modeButtonLayout->addStretch(); modeButtonLayout->addWidget(stopAllButton, 0, Qt::AlignRight); modeButtonLayout->addWidget(modeLabel, 0, Qt::AlignRight); modeButtonLayout->addWidget(modeButton, 0, Qt::AlignRight); layout->addLayout(modeButtonLayout); layout->addWidget(stackedWidget); // layout->addStretch(); setLayout(layout); // QTimer::singleShot(3000, this, SLOT(doSth())); }