VR-Forces 4.6.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
Set Encumerance Dialog

The DtSetEncumbranceDialog is a Qt Widget-derived object that defines a dialog box. This dialog box allows the user to enter in the additional cargo weight for the aircraft.


Header file:

/*******************************************************************************
** Copyright (c) 2016 VT MAK, Inc.
** All rights reserved.
*******************************************************************************/
//\file DtSetEncumbranceDialog.h
//\brief Contains DtSetEncumbranceDialog class.
#pragma once
class QGridLayout;
namespace makVrf
{
class DtSimpleDoubleVariableWidget;
}
namespace vrfAddSetEncumbranceExample
{
class DtSetEncumbranceDialog : public makVrf::DtBaseTaskSetDialogInterface
{
public:
//CTOR
DtSetEncumbranceDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
//DTOR
//\brief Returns value in kilograms
virtual double encumbrance() const;
//\brief Expects value in kilograms
virtual void setEncumbrance(double);
protected:
virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
virtual void sendRequest();
protected:
virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data);
protected:
virtual void setupStatement(const DtSimStatement*);
public:
QWidget* myCanvas;
QGridLayout* myContentLayout;
};
class DtSetEncumbranceDialogCreator : public makVrf::DtVrfSetDialogCreator
{
public:
//Creates a TaskSetDialogInterface; called by DtVrfTaskSetDialogManager when set item is selected by user
};
}

Implementation:

/*******************************************************************************
** Copyright (c) 2016 VT MAK, Inc.
** All rights reserved.
*******************************************************************************/
//\file DtSetEncumbranceDialog.cxx
//\brief Contains DtSetEncumbranceDialog set
#include <QtWidgets/QLineEdit>
#include <QtWidgets/QLabel>
#include <QtWidgets/QLayout>
#include <QtGui/QValidator>
#include <QtCore/QString>
#include <QCoreApplication>
#include <vrvCore/DtDe.h>
#include <matrix/vlMath.h>
#include <matrix/topoCoord.h>
//VR-Forces includes
#include "../addSetEncumbranceSim/setEncumbranceRequest.h"
#include <boost/bind.hpp>
using namespace makVrf;
namespace vrfAddSetEncumbranceExample
{
DtSetEncumbranceDialog::DtSetEncumbranceDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags)
: DtBaseTaskSetDialogInterface(de, parent, flags)
{
setWindowTitle(tr("Encumbrance"));
}
DtSetEncumbranceDialog::~DtSetEncumbranceDialog()
{
}
QWidget* DtSetEncumbranceDialog::contents(const std::vector<makVrv::DtSimEntry*>& data)
{
myCanvas = new QWidget(this);
myContentLayout = new QGridLayout(myCanvas);
myEncumbrance = dynamic_cast<DtSimpleDoubleVariableWidget*>
(DtVrfTaskSetVariableWidgetManager::instance(myDe).create(DtScriptedTaskDoubleVariable, myCanvas));
setEncumbrance(0.);
myEncumbrance->setLabel(makVrv::DtUnicode::tr("Additional mass (kg):").translate<QString, QCoreApplication>());
myContentLayout->addWidget(myEncumbrance->myLabel, 0, 0);
myContentLayout->addWidget(myEncumbrance->myValue, 0, 1);
return myCanvas;
}
void DtSetEncumbranceDialog::setEncumbrance(double d)
{
QString sDouble;
sDouble.setNum(d);
myEncumbrance->myValue->setText(sDouble);
}
double DtSetEncumbranceDialog::encumbrance() const
{
return myEncumbrance->myValue->text().toDouble();
}
{
return new DtSetEncumbranceDialog(de, parent, theTaskSetCreationFlags);
}
{
return (DtSetEncumbranceRequest().type() == t);
}
{
DtSetEncumbranceRequest set;
set.init();
set.setEncumbrance(encumbrance());
sendSetRequest(set);
close();
}
void DtSetEncumbranceDialog::setupGui(const std::vector<makVrv::DtSimEntry*>& data)
{
DtBaseTaskSetDialogInterface::setupGui(data);
}
{
if (stmt->type() == DtSetDataStatementType)
{
const DtSetDataRequestStmt* setStmt = dynamic_cast<const DtSetDataRequestStmt*>(stmt);
if (setStmt && setStmt->setDataRequest())
{
DtSetEncumbranceRequest* col = dynamic_cast<DtSetEncumbranceRequest*>(setStmt->setDataRequest());
if (col)
{
setEncumbrance(col->encumbrance());
}
}
}
}
}

Document ID: Generated on Wed Jul 25 16:57:45 EDT 2018 from SVN revision 190790
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)