1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- #include "mainwindow.h"
- #include "ui_mainwindow.h"
- #include <QTimer>
- #include "google/protobuf/io/zero_copy_stream_impl.h"
- #include "google/protobuf/text_format.h"
- MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent)
- , ui(new Ui::MainWindow)
- {
- ui->setupUi(this);
- mpquery = new groupqueryclient();
- mpquery->start();
- QTimer * timer = new QTimer(this);
- connect(timer,SIGNAL(timeout()),this,SLOT(onTimer()));
- timer->start(100);
- setWindowTitle("View Group Message");
- }
- MainWindow::~MainWindow()
- {
- delete ui;
- }
- void MainWindow::onTimer()
- {
- minfo = mpquery->GetVehinfo();
- int noldindex = ui->comboBox->currentIndex();
- if(mvectoritem.size() != minfo.size())
- {
- ui->comboBox->clear();
- unsigned int i;
- for(i=0;i<minfo.size();i++)
- {
- mvectoritem.push_back(minfo[i].strvehid);
- ui->comboBox->addItem(minfo[i].strvehid.data());
- }
- }
- if(noldindex>=0)ui->comboBox->setCurrentIndex(noldindex);
- if(mvectoritem.size() == 0)return;
- using google::protobuf::TextFormat;
- using google::protobuf::io::FileOutputStream;
- using google::protobuf::io::ZeroCopyOutputStream;
- std::string strout;
- ZeroCopyOutputStream *output = new google::protobuf::io::StringOutputStream(&strout);//new FileOutputStream(file_descriptor);
- int index = ui->comboBox->currentIndex();
- if(minfo[index].mvehinfo.has_mgpsimu())
- {
- bool success = TextFormat::Print(*(minfo[index].mvehinfo.mutable_mgpsimu()), output);
- if(success)
- {
- ui->plainTextEdit->setPlainText(strout.data());
- }
- }
- delete output;
- strout.clear();
- output = new google::protobuf::io::StringOutputStream(&strout);
- if(minfo[index].mvehinfo.has_mbrainstate())
- {
- bool success = TextFormat::Print(*(minfo[index].mvehinfo.mutable_mbrainstate()), output);
- if(success)
- {
- ui->plainTextEdit_brainstate->setPlainText(strout.data());
- }
- }
- delete output;
- strout.clear();
- output = new google::protobuf::io::StringOutputStream(&strout);
- if(minfo[index].mvehinfo.has_mdecition())
- {
- bool success = TextFormat::Print(*(minfo[index].mvehinfo.mutable_mdecition()), output);
- if(success)
- {
- ui->plainTextEdit_decision->setPlainText(strout.data());
- }
- }
- }
|