Sensors | Qt Protobuf 6.5.0

- Qt 6.5
- Qt Protobuf
- Qt Protobuf Examples
- Sensors
- Qt 6.5.0 Reference Documentation

# Sensors

     // Copyright (C) 2023 The Qt Company Ltd.
     // SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause

     #include "emulatorconsole.h"
     #include "ui_emulatorconsole.h"

     #include <QDoubleValidator>
     #include <QIntValidator>

     #include "sensors.qpb.h"

     EmulatorConsole::EmulatorConsole(QWidget *parent) : QWidget(parent), ui(new Ui::EmulatorConsole)
     {
         ui->setupUi(this);
         auto validator = new QDoubleValidator(-90, 90, 7, ui->latitudeValue);
         validator->setLocale(QLocale::c());
         ui->latitudeValue->setValidator(validator);

         validator = new QDoubleValidator(-180, 180, 7, ui->longitudeValue);
         validator->setLocale(QLocale::c());
         ui->longitudeValue->setValidator(validator);

         validator = new QDoubleValidator(-1000, 1000, 7, ui->altitudeValue);
         validator->setLocale(QLocale::c());
         ui->altitudeValue->setValidator(validator);
         ui->temperatureValue->setValidator(new QIntValidator(-50, 50, ui->temperatureValue));
     // ![0]
         QObject::connect(ui->sendCoordinates, &QPushButton::clicked, this, [this]() {
             qt::examples::sensors::Coordinates coord;
             coord.setLatitude(ui->latitudeValue->text().toDouble());
             coord.setLongitude(ui->longitudeValue->text().toDouble());
             coord.setAltitude(ui->altitudeValue->text().toDouble());
             emit coordinatesUpdated(coord);
         });
     // ![0]

         QObject::connect(ui->sendTemperature, &QPushButton::clicked, this, [this]() {
             qt::examples::sensors::Temperature temp;
             temp.setValue(ui->temperatureValue->text().toInt());
             temp.setUnits(ui->celciusRadio->isChecked()
                                   ? qt::examples::sensors::Temperature::Celsius
                                   : qt::examples::sensors::Temperature::Farenheit);
             emit temperatureUpdated(temp);
         });

         QObject::connect(ui->sendMessage, &QPushButton::clicked, this, [this]() {
             qt::examples::sensors::WarningNotification warn;
             warn.setText(ui->warningText->toPlainText());
             emit warning(warn);
         });
     }

     EmulatorConsole::~EmulatorConsole()
     {
         delete ui;
     }

     #include "moc_emulatorconsole.cpp"