![]() |
VR-Forces 4.0.4 Class Documentation
|
/****************************************************************************** ** 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(); }