|
@@ -15,6 +15,8 @@ MainWindow::MainWindow(QWidget *parent)
|
|
|
mpquery = new groupqueryclient();
|
|
|
mpquery->start();
|
|
|
|
|
|
+ connect(mpquery,SIGNAL(updatestate(int)),this,SLOT(connectstateupdate(int)));
|
|
|
+
|
|
|
QTimer * timer = new QTimer(this);
|
|
|
connect(timer,SIGNAL(timeout()),this,SLOT(onTimer()));
|
|
|
timer->start(100);
|
|
@@ -27,24 +29,49 @@ MainWindow::~MainWindow()
|
|
|
delete ui;
|
|
|
}
|
|
|
|
|
|
+bool MainWindow::CheckNeedUpdateCommbo()
|
|
|
+{
|
|
|
+ if(mvectoritem.size() != minfo.size())
|
|
|
+ {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ bool bCheck = false;
|
|
|
+ unsigned int i;
|
|
|
+ for(i=0;i<minfo.size();i++)
|
|
|
+ {
|
|
|
+ if(mvectoritem[i] != minfo[i].strvehid)
|
|
|
+ {
|
|
|
+ bCheck = true;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return bCheck;
|
|
|
+}
|
|
|
+
|
|
|
void MainWindow::onTimer()
|
|
|
{
|
|
|
minfo = mpquery->GetVehinfo();
|
|
|
|
|
|
int noldindex = ui->comboBox->currentIndex();
|
|
|
|
|
|
- if(mvectoritem.size() != minfo.size())
|
|
|
+
|
|
|
+ if(CheckNeedUpdateCommbo())
|
|
|
{
|
|
|
+ qDebug("need update combo");
|
|
|
ui->comboBox->clear();
|
|
|
unsigned int i;
|
|
|
+ mvectoritem.clear();
|
|
|
for(i=0;i<minfo.size();i++)
|
|
|
{
|
|
|
mvectoritem.push_back(minfo[i].strvehid);
|
|
|
ui->comboBox->addItem(minfo[i].strvehid.data());
|
|
|
}
|
|
|
+ if((noldindex>=0) &&(noldindex < minfo.size()))ui->comboBox->setCurrentIndex(noldindex);
|
|
|
+// else ui->comboBox->setCurrentIndex(0);
|
|
|
}
|
|
|
|
|
|
- if(noldindex>=0)ui->comboBox->setCurrentIndex(noldindex);
|
|
|
+
|
|
|
|
|
|
if(mvectoritem.size() == 0)return;
|
|
|
|
|
@@ -64,11 +91,19 @@ void MainWindow::onTimer()
|
|
|
ui->plainTextEdit->setPlainText(strout.data());
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ui->plainTextEdit->setPlainText("");
|
|
|
+ }
|
|
|
|
|
|
delete output;
|
|
|
strout.clear();
|
|
|
output = new google::protobuf::io::StringOutputStream(&strout);
|
|
|
|
|
|
+ ui->lineEdit_latency->setText(QString::number(minfo[index].mvehinfo.latency()));
|
|
|
+ ui->lineEdit_groupid->setText(QString::number(minfo[index].mvehinfo.groupid()));
|
|
|
+ ui->lineEdit_intragroupid->setText(QString::number(minfo[index].mvehinfo.intragroupid()));
|
|
|
+
|
|
|
if(minfo[index].mvehinfo.has_mbrainstate())
|
|
|
{
|
|
|
bool success = TextFormat::Print(*(minfo[index].mvehinfo.mutable_mbrainstate()), output);
|
|
@@ -77,6 +112,10 @@ void MainWindow::onTimer()
|
|
|
ui->plainTextEdit_brainstate->setPlainText(strout.data());
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ui->plainTextEdit_brainstate->setPlainText("");
|
|
|
+ }
|
|
|
|
|
|
delete output;
|
|
|
strout.clear();
|
|
@@ -90,6 +129,35 @@ void MainWindow::onTimer()
|
|
|
ui->plainTextEdit_decision->setPlainText(strout.data());
|
|
|
}
|
|
|
}
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ui->plainTextEdit_decision->setPlainText("");
|
|
|
+ }
|
|
|
+
|
|
|
+ delete output;
|
|
|
+ strout.clear();
|
|
|
+ output = new google::protobuf::io::StringOutputStream(&strout);
|
|
|
+
|
|
|
|
|
|
+ if(minfo[index].mvehinfo.has_mcarstate())
|
|
|
+ {
|
|
|
+ bool success = TextFormat::Print(*(minfo[index].mvehinfo.mutable_mcarstate()), output);
|
|
|
+ if(success)
|
|
|
+ {
|
|
|
+ ui->plainTextEdit_carstate->setPlainText(strout.data());
|
|
|
+ }
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ ui->plainTextEdit_carstate->setPlainText("");
|
|
|
+ }
|
|
|
+ delete output;
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+void MainWindow::connectstateupdate(int nstate)
|
|
|
+{
|
|
|
+ if(nstate == 0)setWindowTitle("View Group Message | Connecting to Server");
|
|
|
+ else setWindowTitle("View Group Message");
|
|
|
}
|
|
|
|