VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
simpleMenu.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
11 #include <vrvCoreQt/DtMenuItem.h>
12 #include <vrvCoreQt/DtMenu.h>
13 #include <QtWidgets/QMenu>
14 #include <QtWidgets/QAction>
15 #include <QtCore/QObject>
16 #include <QtWidgets/QMessageBox>
17 
18 namespace makVrf
19 {
23  typedef void (DtSimpleMenuItemAction) (makVrv::DtDe& de, void* usr);
24 
32  {
33  public:
34  DtSimpleMenu(makVrv::DtDe& de, std::string menuId, std::string menuText)
35  : makVrv::DtMenu(de, menuId)
36  , myMenuText(menuText)
37  { }
38 
39  virtual ~DtSimpleMenu() { }
40 
42  virtual std::string menuText() { return myMenuText; }
43  QMenu* createMenu(makVrv::DtDe& de, QWidget* parent)
44  {
45  return new QMenu(QObject::tr(myMenuText.c_str()), parent);
46  }
47 
48  protected:
49  std::string myMenuText;
50  };
51 
59  {
60  public:
61  DtSimpleMenuItem(makVrv::DtDe& de, std::string menuItemId, std::string menuItemText)
62  : makVrv::DtMenuItem(menuItemId)
63  , myDe(de)
64  , myMenuItemText(menuItemText)
65  , myActionFunction(0)
66  , myUser(0)
67  { }
68 
69  virtual ~DtSimpleMenuItem()
70  {
71  myActionFunction = 0;
72  myUser = 0;
73  }
74 
76  virtual std::string menuItemText() { return myMenuItemText; }
77 
78  virtual QAction* createAction(makVrv::DtDe&, QWidget* parent)
79  {
80  return new QAction(QObject::tr(myMenuItemText.c_str()), parent);
81  }
82 
89  virtual void setAction(DtSimpleMenuItemAction* actionFunction, void* usr)
90  {
91  myActionFunction = actionFunction;
92  myUser = usr;
93  }
94 
95  protected:
97  void on_triggered()
98  {
99  if (myActionFunction) myActionFunction(myDe, myUser);
100  }
101 
103  void* myUser;
104  std::string myMenuItemText;
106  };
107 
108 }
Builder for menu items.
Definition: DtMenuItem.h:23
void * myUser
Definition: simpleMenu.h:103
DtSimpleMenuItem(makVrv::DtDe &de, std::string menuItemId, std::string menuItemText)
Definition: simpleMenu.h:61
virtual ~DtSimpleMenuItem()
Definition: simpleMenu.h:69
std::string myMenuText
Definition: simpleMenu.h:49
QMenu * createMenu(makVrv::DtDe &de, QWidget *parent)
Build a menu.
Definition: simpleMenu.h:43
/briefClass used by DtConfigurableMenu when asked to create simple menu items as in the function DtCo...
Definition: simpleMenu.h:58
DtSimpleMenuItemAction * myActionFunction
Definition: simpleMenu.h:102
DtSimpleMenu(makVrv::DtDe &de, std::string menuId, std::string menuText)
Definition: simpleMenu.h:34
virtual ~DtSimpleMenu()
Definition: simpleMenu.h:39
virtual void setAction(DtSimpleMenuItemAction *actionFunction, void *usr)
Sets a function that gets called when this menu item is chosen. This function is stored and associate...
Definition: simpleMenu.h:89
virtual std::string menuText()
Gets the display text of the menu, not the menuId.
Definition: simpleMenu.h:42
virtual std::string menuItemText()
gets the display text of the menu item, not the menuId
Definition: simpleMenu.h:76
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
void on_triggered()
Invoke the menu action.
Definition: simpleMenu.h:97
void( DtSimpleMenuItemAction)(makVrv::DtDe &de, void *usr)
Function that can be called by a DtSimpleMenuItem. Gives the de and a pointer to the object that was ...
Definition: simpleMenu.h:23
Class used by DtConfigurableMenu when asked to create simple menus as in the function DtConfigurableM...
Definition: simpleMenu.h:31
The abstract base menu class.
Definition: DtMenu.h:23
std::string myMenuItemText
Definition: simpleMenu.h:104
The DtDe is the core component of any VR-Vantage application. It owns a DtRenderer, DtDeCommunicator, as well as a DtDisplay and other things.
Definition: DtDe.h:72
makVrv::DtDe & myDe
Definition: simpleMenu.h:105
virtual QAction * createAction(makVrv::DtDe &, QWidget *parent)
Build a menu item (via an action).
Definition: simpleMenu.h:78

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)