VR-Forces 4.0.4 Class Documentation

exampleMenu.h

/******************************************************************************
** Copyright (c) 2012 MAK Technologies, Inc.
** All rights reserved.
******************************************************************************/
/******************************************************************************
** $RCSfile: exampleMenu.h,v $ $Revision: 1.2 $ $State: Exp $
******************************************************************************/

//\file exampleMenu.h
//\brief Contains declarations example menu and menu item classes

#pragma once

#include <vrvCoreQt/DtMenu.h>
#include <vrvCoreQt/DtMenuItem.h>

//New main menu. This menu will be used to hold the Remote Control Console menu item
class DtCallbackMenu : public makVrv::DtMenu
{
public:
   DtCallbackMenu(makVrv::DtDe& de);
   virtual ~DtCallbackMenu();

   //Must implement in order to create Qt menu
   QMenu* createMenu( makVrv::DtDe& de, QWidget* parent );
};

//This menu item will use the DtExampleEventSignaler to signal the network thread to
//send out a pdu or interaction, depending on protocol.
class DtCallbackMenuItem : public makVrv::DtMenuItem
{
public:
   DtCallbackMenuItem(makVrv::DtDe& de);

   virtual ~DtCallbackMenuItem();

   //Build a menu item (via an action).
   virtual QAction* createAction(makVrv::DtDe&, QWidget* parent);

protected:
   //Called when the menu item is selected by the user
   void on_triggered();

protected:
   makVrv::DtDe& myDe;
};

exampleMenu.cxx

/*******************************************************************************
** Copyright (c) 2012 MAK Technologies, Inc.
** All rights reserved.
*******************************************************************************/

//\file exampleMenu.cxx
//\brief Defines example menu and menu item to be used in the networkCallbackManager
//example

#include "exampleMenu.h"
#include "DtExampleEventSignaler.h"

#include <vrvCore/DtSharedSettingsManager.h>

#include <QtGui/QMenu>
#include <QtGui/QAction>

using namespace makVrv;

//New main menu. This menu will be used to hold the Remote Control Console menu item
DtCallbackMenu::DtCallbackMenu(DtDe& de)
: DtMenu(de, "DtCallbackMenu")
{
}

DtCallbackMenu::~DtCallbackMenu()
{
}

QMenu* DtCallbackMenu::createMenu( DtDe& de, QWidget* parent )
{
   QMenu* menu = new QMenu(QObject::tr("Network Callback"), parent);

   return menu;
}

//This menu item will use the DtExampleEventSignaler to signal the network thread to
//send out a pdu or interaction, depending on protocol.
DtCallbackMenuItem::DtCallbackMenuItem(DtDe& de)
: DtMenuItem("DtCallbackMenuItem")
, myDe(de)
{
}

DtCallbackMenuItem::~DtCallbackMenuItem()
{
}

//Build a menu item (via an action).
QAction* DtCallbackMenuItem::createAction(DtDe&, QWidget* parent)
{
   return new QAction(tr("Send Network Message"), parent);
}

void DtCallbackMenuItem::on_triggered()
{
   DtExampleEventSignaler::instance(DtSharedSettingsManager::instance(myDe)).signal_sendPdu();
}

Document ID: Generated on Fri Jun 29 16:33:32 EDT 2012 from SVN revision 116588
Copyright © 2005-2012 VT MÄK Inc. All Rights Reserved (www.mak.com)