VR-Forces 4.3.1 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Simulation Command Widget

The DtSimulationCommandMessageDialog allows the user to enter in a message to be printed on the back-end console.

It will use the DtSimulationCommandMessageLogic to package the command to send to the back-end


Header file:

/******************************************************************************
** Copyright (c) 2009 MAK Technologies, Inc.
** All rights reserved.
******************************************************************************/
/******************************************************************************
** $RCSfile: DtSimulationCommandMessage.h,v $ $Revision: 1.4 $ $State: Exp $
******************************************************************************/
//\file DtSimulationCommandMessage.h
//\brief Contains DtSimulationCommandMessage class.
#pragma once
class QVBoxLayout;
class QLabel;
class QLineEdit;
namespace vrfAddSimCommandExample
{
class DtSimulationCommandMessageMenuItem : public makVrf::DtVrfSimulationCommand
{
public:
//CTOR
//DTOR
//Build a menu item (via an action).
};
class DtMySimCommandObjectWrapper : public makVrf::DtSimCommandObjectWrapper
{
public:
virtual void setObjectName(const DtString&);
virtual DtString objectName() const;
};
class DtSimulationCommandMessageDialog : public makVrf::DtSimulationCommandDialogInterface
{
public:
//CTOR
DtSimulationCommandMessageDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
//DTOR
public:
virtual void setMessageText(const QString&);
virtual QString messageText() const;
protected:
virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
virtual void sendRequest();
virtual void setupStatement(const DtSimStatement* stmt);
public:
QHBoxLayout* myCanvasLayout;
};
class DtSimulationCommandMessageCreator : public makVrf::DtVrfSimulationCommandDialogCreator
{
public:
virtual bool supportsType(makVrv::DtDe&, const DtSimCommandMessageType&, const DtSimStatement*) const;
virtual std::string objectNameFromStatement(makVrv::DtDe&, const DtSimCommand*) const;
};
}

Implementation:

/******************************************************************************
** Copyright (c) 2013 MAK Technologies, Inc.
** All rights reserved.
******************************************************************************/
//\file DtSimulationCommandMessage.h
//\brief Contains DtSimulationCommandMessage class.
#include "../addSimCommandSim/mySimCommand.h"
#include <QtGui/QLayout>
#include <QtGui/QLabel>
#include <QtGui/QLineEdit>
#include <QtGui/QAction>
using namespace makVrf;
namespace vrfAddSimCommandExample
{
DtSimulationCommandMessageMenuItem::DtSimulationCommandMessageMenuItem(makVrv::DtDe& de)
: DtVrfSimulationCommand("DtSimulationCommandMessageMenuItem", de)
{
DtVrfSimulationCommandDialogManager::instance(de).addDialogCreator("DtSimulationCommandMessageMenuItem",
new DtSimulationCommandMessageCreator);
}
DtSimulationCommandMessageMenuItem::~DtSimulationCommandMessageMenuItem()
{
}
{
action->setText(makVrv::DtMenuItem::tr("&My Sim Command Message..."));
return registerMenuItem(action, "DtSimulationCommandMessageMenuItem");
}
DtSimulationCommandMessageDialog::DtSimulationCommandMessageDialog(makVrv::DtDe& de,
QWidget* parent, const Qt::WindowFlags& flags)
{
setWindowTitle(tr(" Simulation Command Message Example"));
}
DtSimulationCommandMessageDialog::~DtSimulationCommandMessageDialog()
{
}
QWidget* DtSimulationCommandMessageDialog::contents(const std::vector<makVrv::DtSimEntry*>& data)
{
myCanvas = new QWidget(this);
myCanvasLayout = new QHBoxLayout(myCanvas);
myMessageLabel = new QLabel(tr("Message:"), myCanvas);
myMessageLabel->setWordWrap(false);
myCanvasLayout->addWidget(myMessageLabel);
myMessage = new QLineEdit(myCanvas);
myCanvasLayout->addWidget(myMessage);
setOKEnabled(true);
return myCanvas;
}
void DtSimulationCommandMessageDialog::setMessageText(const QString& s)
{
myMessage->setText(s);
}
QString DtSimulationCommandMessageDialog::messageText() const
{
return myMessage->text();
}
{
return new DtSimulationCommandMessageDialog(de, parent);
}
{
return (type == MySimCommand().type());
}
{
return "";
}
{
const DtSimCommandStmt* command = dynamic_cast<const DtSimCommandStmt*>(stmt);
if (command && command->simCommand())
{
MySimCommand* message = dynamic_cast<MySimCommand*>(command->simCommand());
if (message)
{
setMessageText(QString::fromLocal8Bit(message->messageText().c_str()));
}
}
}
{
msg.init();
msg.setMessageText(messageText().toLocal8Bit().constData());
DtMySimCommandObjectWrapper wrapper(myDe, msg);
sendCommandRequest(wrapper);
close();
}
{
return false;
}
DtMySimCommandObjectWrapper::DtMySimCommandObjectWrapper(makVrv::DtDe& de, const MySimCommand& p)
{
}
DtMySimCommandObjectWrapper::DtMySimCommandObjectWrapper(const DtMySimCommandObjectWrapper& p)
{
}
{
return new DtMySimCommandObjectWrapper(*this);
}
{
}
{
return "";
}
}

Document ID: Generated on Wed Jul 29 00:55:00 EDT 2015 from SVN revision 155257
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)