VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfContextMenuManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2013 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #include <vrvUtil/signalslib.h>
14 
16 
19 #include <vrvCore/DtMenuPath.h>
20 #include <vrvCoreQt/DtMenu.h>
22 #include <vrvCore/DtMenuPath.h>
25 
26 #include <QtCore/QObject>
27 
28 namespace makVrv
29 {
30  class DtDe;
31  class DtMenuConfiguration;
32  class DtQtMenuAssembler;
33 }
34 
35 namespace makVrf
36 {
38  {
39  public:
41  virtual ~DtVrfContextMenuMenuManager();
42  virtual void clear();
43  };
44 
46  {
47  public:
50 
52 
53  virtual void convertMainMenusToItems();
54  virtual bool hasItems() const;
55  };
56 
58  {
59  public:
61  virtual ~DtVrfContextMenuAssembler();
62 
63  virtual void assembleMenuPath( const makVrv::DtMenuPath& menuPath, const makVrv::DtMenuConfiguration& configuration );
64 
65  virtual void registerMenu( makVrv::DtMenu* menuBuilder );
66 
67  virtual void registerMenu( makVrv::DtMenuItem* builder);
68 
69  virtual void assembleMenu( const makVrv::DtMenuPath& menuPath );
70 
71  virtual QMenuBar* menuBar();
72 
74  virtual makVrv::DtMenuManager& menuManager();
75 
76  protected:
80  };
81 
85  {
86  public:
87 
89 
90  virtual ~DtVrfRightClickContextMenu();
91 
93  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
94 
95  };
96 
102  {
103  Q_OBJECT
104 
105  public:
108 
110  virtual ~DtVrfContextMenuManager();
111 
113  virtual void setEnabled(bool);
114  bool enabled() const;
115 
116  static DtVrfContextMenuManager& instance(makVrv::DtDe&);
117 
121  virtual QMenu* rightClickContextMenuFor(makVrv::DtSelectionManager::IdSet idSet, makVrv::DtSelectionManager::SelectionType, std::string& context,
122  bool signalMenuCreation = true);
123 
124  protected:
125  virtual void requestSelectionContextMenu(const QPoint& p);
126  virtual void requestTerrainContextMenu(const QPoint& p);
127 
131  virtual void requestObserverViewsContextMenu(const QPoint& p);
132  virtual void createGeneralContextMenu(const std::string& context, const QPoint& p);
133 
134  virtual std::string createGeneralContextMenu(const std::string& context, DtVrfContextMenuAssembler& menuAssembler,
136 
137  protected slots:
138  virtual void menuDestroyed();
139 
140  protected:
142  virtual std::string createLocalContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
144 
145  protected:
146  virtual std::string createEntityContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
148  virtual std::string createSpotReportContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
150  virtual std::string createTDLMessageContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
152  virtual std::string createLaserDesignatorContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
154  virtual std::string createPropContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
156  virtual std::string createSingleEntityContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
158  virtual std::string createMultipleEntityContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
160 
161  protected:
162  virtual std::string createAggregateContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
164  virtual std::string createSingleAggregateContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
166  virtual std::string createMultipleAggregateContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
168 
169  protected:
170  virtual std::string createEnvironmentalContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
172  virtual std::string createIntervisibilityContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
174  virtual std::string createSingleEnvironmentalContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
176  virtual std::string createMultipleEnvironmentalContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
178 
179  virtual std::string environmentalRightClickKeyword(makVrv::DtUniqueID id) const;
180 
181  protected:
182  virtual std::string createMixedContextMenu(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
184 
185  protected:
186  virtual void addObjectSettingsActions(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
189 
190  virtual void addTopLevelRightClickScriptedTasksSets(DtVrfContextMenuAssembler&, makVrv::DtMenuConfiguration& menus,
192 
193  protected:
194  bool myEnabled;
196  };
197 
200  {
201  public:
204 
206  virtual makVrv::DtContextMenuManager* create( makVrv::DtDe& de );
207  };
208 }
Builder for menu items.
Definition: DtMenuItem.h:26
boost::unordered_map< std::string, DtMenuItem * > MenuItemBuilderMap
Definition: DtQtMenuAssembler.h:34
Contains the DtContextMenuManager class declaration.
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Contains makVrv:DtSelectionManager class.
Definition: vrfContextMenuManager.h:37
A Qt implementation of a DtMenuAssembler.
Definition: DtQtMenuAssembler.h:29
Contains makVrv::DtMenuManager class.
Definition: vrfContextMenuManager.h:45
Contains makVrv::DtQtMenuAssembler class.
Contains makVrv::DtMenuPath class.
makVrv::DtQtMenuAssembler::MenuBuilderMap myLocalMenuBuilders
Definition: vrfContextMenuManager.h:78
boost::unordered_map< std::string, DtMenu * > MenuBuilderMap
Definition: DtQtMenuAssembler.h:33
A Menu manager which is how to lookup and find menu/menu items using menu paths.
Definition: DtMenuManager.h:34
Definition: DtElementEntry.h:28
Definition: vrfContextMenuManager.h:57
ElementType
Definition: DtElementEntry.h:26
a Class which represents a menu path.
Definition: DtMenuPath.h:30
unsigned long long DtUniqueID
Definition: DtUniqueID.h:22
A global signaler object for the DtContextMenuManager class.
Definition: DtContextMenuManager.h:27
QMenu * myDeferredDeleteMenu
Definition: vrfContextMenuManager.h:195
Contains makVrv::DtMenuConfiguration class.
The menu string is &quot;DtVrfRightClickContextMenu&quot;.
Definition: vrfContextMenuManager.h:84
This class is responsible for creating the right click context menu based on the current selection...
Definition: vrfContextMenuManager.h:101
The abstract base menu class.
Definition: DtMenu.h:26
static DtMenuPath empty()
SelectionType
The nature of the current selection.
Definition: DtSelectionManager.h:42
A configuration of the menu layout.
Definition: DtMenuConfiguration.h:27
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
makVrv::DtQtMenuAssembler::MenuItemBuilderMap myLocalMenuItemBuilders
Definition: vrfContextMenuManager.h:79
DtVrfContextMenuMenuManager myMenuManager
Definition: vrfContextMenuManager.h:77
Creator class for the DtInputDriver.
Definition: vrfContextMenuManager.h:199
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Creator class for the DtInputDriver.
Definition: DtContextMenuManager.h:77
bool myEnabled
Definition: vrfContextMenuManager.h:194

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)