VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfEntityMenu.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2014 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
19 
20 #include <vrvCoreQt/DtMenuItem.h>
21 #endif
22 #include <boost/signals2.hpp>
23 
24 class QEvent;
25 
26 namespace makVrf
27 {
28  class DtVrfBackendState;
29  class DtVrfEntityMenu;
30 
32  {
33  public:
36 
39 
40  virtual void on_triggered();
41 
42  protected:
44  };
45 
47  {
48  public:
51 
54 
55  virtual void on_triggered();
56 
57  protected:
59  };
60 
62  {
63  public:
66 
69 
70  virtual void on_triggered();
71 
72  protected:
74  };
75 
77  {
78  public:
81 
84 
85  virtual void on_triggered();
86 
87  protected:
89  };
90 
92  {
93  Q_OBJECT
94 
95  public:
97  {
98  NoOtherOptions = 0,
99  AllObjectsAreVrfSimulated = 0x00000001,
100  AllEditable = 0x00000002,
101  InSameSession = 0x00000004,
102  AllDeletable = 0x00000008
103  };
104 
105  DtVrfEntityAction(const std::string&, makVrv::DtDe&);
106  virtual ~DtVrfEntityAction();
107 
108  virtual QAction* registerEntityAction(QAction*);
109  virtual void validate(QAction*) = 0;
110 
112  virtual bool selectionMatchesTypes(const makVrv::DtSelectionManager::IdSet&,
113  const std::vector<makVrv::DtElementEntry::ObjectType>&, MatchFlags flags = AllObjectsAreVrfSimulated) const;
114 
116  virtual bool needsToBeJoinedToSession() const;
117 
118  virtual bool joinedToSession() const;
119  bool validateAlways() const { return myValidateAlways; };
120 
121  protected:
122  virtual void executeEntityAction(const makVrv::DtSelectionManager::IdSet&,
123  const boost::function<void (const DtUUID&, DtSimulationAddress addr)>& function,
124  DtSimulationAddress addr = DtSimSendToAll, bool clearAndRequestNewTasks = false);
125 
126  virtual void executeAggregateAction(const makVrv::DtSelectionManager::IdSet&, bool ignoreSubordinates,
127  const boost::function<void (const DtUUID&, DtSimulationAddress addr)>& function,
128  DtSimulationAddress addr = DtSimSendToAll, bool clearAndRequestNewTasks = false);
129 
130  virtual void slot_onValidate(QAction*);
131  virtual void slot_backendUpdated(const DtVrfBackendState&, int, QAction*);
132 
133  virtual void on_aboutToShow();
134 
135  boost::signals2::signal<void ()> signal_validateMenuItem;
136 
137  protected slots:
138  virtual void onActionDestroyed();
139 
140  protected:
143  };
144 
146  {
147  Q_OBJECT
148 
149  public:
151  DtVrfEntityMenu(const QString& title, QWidget* parent, makVrv::DtDe&);
152 
154  virtual ~DtVrfEntityMenu();
155 
156  protected:
157  virtual bool eventFilter(QObject *, QEvent *);
158  virtual void actionAdded(QEvent*);
159  virtual bool shouldAddAsPartOfMenu(const QList<QAction*>& acts, QAction* toMatch) const;
160 
161  virtual void validateMenuItems(int terrainPatchOffset);
162 
163  protected:
164  std::vector<std::pair<DtVrfEntityAction*, QAction*> > myEntityActions;
165  };
166 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
Definition: vrfBackendState.h:69
Builder for menu items.
Definition: DtMenuItem.h:26
#define DT_DLL_VRFGUICOREQT
Definition: vrfGuiCoreQt.h:26
Definition: vrfEntityMenu.h:91
std::vector< std::pair< DtVrfEntityAction *, QAction * > > myEntityActions
Definition: vrfEntityMenu.h:164
boost::signals2::signal< void()> signal_validateMenuItem
Definition: vrfEntityMenu.h:135
Declaration of the Aggregate Menu Items classes.
makVrv::DtDe & myDe
Definition: vrfEntityMenu.h:141
Definition: vrfEntityMenu.h:31
A menu item to collapse all hierarchy up to the top level parent.
Definition: DtAggregateMenuItems.h:103
Definition: vrfEntityMenu.h:145
MatchFlags
Definition: vrfEntityMenu.h:96
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfEntityMenu.h:88
A menu that validates itself on selection.
Definition: selectionEnabledMenu.h:55
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
bool myValidateAlways
Definition: vrfEntityMenu.h:142
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfEntityMenu.h:73
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfEntityMenu.h:43
Definition: vrfEntityMenu.h:46
A menu item to expand the currently selected aggregate all the way down to leaf nodes.
Definition: DtAggregateMenuItems.h:48
Base class to provide boost signal/slot management.
makVrv::DtSignalConnectionManager myConnectionManager
Definition: vrfEntityMenu.h:58
A menu item to collapse the selected aggregate to its immediate superior.
Definition: DtAggregateMenuItems.h:76
Definition: translator.h:58
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
Definition: vrfEntityMenu.h:61
A menu item to expand the currently selected aggregate to display immediate subordinates.
Definition: DtAggregateMenuItems.h:20
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
Definition: vrfEntityMenu.h:76
bool validateAlways() const
Definition: vrfEntityMenu.h:119

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)