VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Facing North Widget

The FacingNorthWidget allows the user to select an entity that will be used to test this conditional It will then emit a signal that contains the MyConditionalExpression that is to be sent to the back-end


Header file:

/******************************************************************************
** Copyright (c) 2015 MAK Technologies, Inc.
** All rights reserved.
******************************************************************************/
//\file DtBaseEntityConditionalExpressionDialog.h
//\brief Contains DtBaseEntityConditionalExpressionDialog class.
#pragma once
namespace vrfAddConditionalExample
{
//\brief Class that is used as a template for task/set dialogs
class DtNorthConditionalCreator : public makVrf::DtVrfConditionalExpressionCreator
{
public:
virtual QString title() const ;
virtual bool canEditType(int) const;
};
class DtNorthConditionalLogic : public makVrf::DtBaseEntityConditionalExpressionLogic
{
public:
public:
const std::vector<makVrv::DtSimEntry*>& data);
virtual void setupConditional(const DtSimCondExpr*, const std::vector<makVrv::DtSimEntry*>& data);
};
class DtNorthConditional : public makVrf::DtBaseEntityConditionalExpressionDialog
{
public:
//CTOR
DtNorthConditional(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
//DTOR
protected:
virtual QString value() const;
virtual void setValue(const QString&);
virtual void setupConditional(const DtSimCondExpr* expr, const std::vector<makVrv::DtSimEntry*>& data);
};
}

Implementation:

/******************************************************************************
** Copyright (c) 2016 MAK Technologies, Inc.
** All rights reserved.
******************************************************************************/
#include "../addConditionalSim/conditionalExpression.h"
using namespace makVrf;
namespace vrfAddConditionalExample
{
//\brief Class that is used as a template for task/set dialogs
DtConditionalExpressionInterface* DtNorthConditionalCreator::create(makVrv::DtDe& de, QWidget* parent)
{
return new DtNorthConditional(de, parent, theConditionalCreationFlags);
}
QString DtNorthConditionalCreator::title() const
{
return QObject::tr("Facing North");
}
bool DtNorthConditionalCreator::canEditType(int t) const
{
return (MyConditionalExpression().type() == t);
}
DtNorthConditionalLogic::DtNorthConditionalLogic(makVrv::DtDe& de, DtConditionalExpressionInterface* iFace)
{
}
DtNorthConditionalLogic::~DtNorthConditionalLogic()
{
}
const std::vector<makVrv::DtSimEntry*>& data)
{
myInterface->signal_conditionComplete();
}
{
MyConditionalExpression* expr = new MyConditionalExpression;
if (useNameSelected() && !useSelf())
{
if (!selectedName().isValid())
{
delete expr;
return 0;
}
expr->setEntity(selectedName());
}
expr->setModifier(createModifier().toLatin1().constData());
return expr;
}
const std::vector<makVrv::DtSimEntry*>& data)
{
const MyConditionalExpression* ce = dynamic_cast<const MyConditionalExpression*>(cond);
if (ce)
{
if (!setupFromModifier(ce->modifier().c_str()))
{
setSelectedName(ce->entity());
}
}
}
DtNorthConditional::DtNorthConditional(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags)
{
setWindowTitle(tr("Facing North"));
myLogic = new DtNorthConditionalLogic(de, this);
}
DtNorthConditional::~DtNorthConditional()
{
}
QString DtNorthConditional::value() const
{
return "";
}
void DtNorthConditional::setValue(const QString& s)
{
}
{
return NULL;
}
void DtNorthConditional::setupConditional(const DtSimCondExpr* expr, const std::vector<makVrv::DtSimEntry*>& data)
{
myLogic->setupConditional(expr, data);
}
}

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)