The DtSetSpeedAndHeadingDialog is a Qt Widget-derived object that defines a dialog box. This dialog box allows the user to enter in the heading and speed of the selected objects.
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLayout>
#include <QtGui/QValidator>
#include <matrix/vlMath.h>
#include <matrix/topoCoord.h>
#include "../addSetSim/setSpeedAndHeading.h"
#include <boost/bind.hpp>
using namespace makVrf;
namespace vrfAddSetExample
{
DtSetSpeedAndHeadingDialog::DtSetSpeedAndHeadingDialog(
makVrv::DtDe& de, QWidget* parent,
const Qt::WindowFlags& flags)
{
setWindowTitle(tr("Speed And Heading"));
}
DtSetSpeedAndHeadingDialog::~DtSetSpeedAndHeadingDialog()
{
}
{
myCanvas = new QWidget(this);
myContentLayout = new QGridLayout(myCanvas);
setSpeed(0.);
myContentLayout->addWidget(myOrderedSpeed->myLabel, 0, 0);
myContentLayout->addWidget(myOrderedSpeed->myValue, 0, 1);
setHeading(0.);
myContentLayout->addWidget(myHeading->myLabel, 1, 0);
myContentLayout->addWidget(myHeading->myValue, 1, 1);
return myCanvas;
}
void DtSetSpeedAndHeadingDialog::setHeading(double d)
{
myHeading->setHeading(d);
}
double DtSetSpeedAndHeadingDialog::heading() const
{
return myHeading->heading();
}
void DtSetSpeedAndHeadingDialog::setSpeed(double d)
{
myOrderedSpeed->setRate(d);
}
double DtSetSpeedAndHeadingDialog::speed() const
{
return myOrderedSpeed->rate();
}
{
}
{
return (DtSetSpeedAndHeadingRequest().type() == t);
}
{
DtSetSpeedAndHeadingRequest set;
set.init();
set.setHeading(heading());
set.setSpeed(speed());
sendSetRequest(set);
close();
}
{
DtBaseTaskSetDialogInterface::setupGui(data);
if (data.size() == 1)
{
if (state)
{
DtGeodeticCoord geodetic;
DtCoordTransform geocToTopo;
DtGeocToTopoTransform(geodetic.lat(), geodetic.lon(), &geocToTopo);
DtTaitBryan topoEuler;
setHeading(topoEuler.psi());
}
}
}
{
{
{
DtSetSpeedAndHeadingRequest* col =
dynamic_cast<DtSetSpeedAndHeadingRequest*
>(setStmt->
setDataRequest());
if (col)
{
setHeading(col->heading());
setSpeed(col->speed());
}
}
}
}
}