// Dashel connection was closed void DashelInterface::connectionClosed(Dashel::Stream* stream, bool abnormal) { Q_UNUSED(stream); Q_UNUSED(abnormal); emit dashelDisconnection(); this->stream = 0; }
MainWindow::MainWindow( QWidget *parent) : QWidget(parent) { ip = new QLineEdit("127.0.0.1"); port = new QLineEdit("33333"); status = new QLabel(tr("Not connected")); connectBtn = new QPushButton(tr("Connect")); msgId = new QLineEdit("0"); msgValue = new QLineEdit("0"); sendMsg = new QPushButton(tr("Send Message")); quitBtn = new QPushButton(tr("Quit")); // Connection parameters QGroupBox* grp1 = new QGroupBox(tr("Connection")); QVBoxLayout* grp1layout = new QVBoxLayout(); grp1->setLayout(grp1layout); grp1layout->addWidget(new QLabel(tr("IP"))); grp1layout->addWidget(ip); grp1layout->addWidget(new QLabel(tr("Port"))); grp1layout->addWidget(port); grp1layout->addWidget(status); grp1layout->addWidget(connectBtn); // UserMessage parameters QGroupBox* grp2 = new QGroupBox(tr("User message")); QVBoxLayout* grp2layout = new QVBoxLayout(); grp2->setLayout(grp2layout); grp2layout->addWidget(new QLabel(tr("Message ID"))); grp2layout->addWidget(msgId); grp2layout->addWidget(new QLabel(tr("Data 0"))); grp2layout->addWidget(msgValue); grp2layout->addWidget(sendMsg); // Overall layout QVBoxLayout* main_layout = new QVBoxLayout(); main_layout->addWidget(grp1); main_layout->addWidget(grp2); main_layout->addWidget(quitBtn); setLayout(main_layout); // connect widgets connect(connectBtn, SIGNAL(clicked()), this, SLOT(connectToDashel())); connect(sendMsg, SIGNAL(clicked()), this, SLOT(sendUserMessage())); connect(quitBtn, SIGNAL(clicked()), this, SLOT(close())); // connect signals from dashel connect(&dashelInterface, SIGNAL(messageAvailable(Aseba::UserMessage *)), SLOT(messageFromDashel(Aseba::UserMessage *)), Qt::QueuedConnection); connect(&dashelInterface, SIGNAL(dashelDisconnection()), SLOT(disconnectionFromDashel()), Qt::QueuedConnection); connect(&dashelInterface, SIGNAL(dashelConnection()), SLOT(connectionFromDashel()), Qt::QueuedConnection); }