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");
}
Esempio n. 2
0
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()));

}