VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskMenu.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)
21 #endif
22 
23 class QEvent;
25 
26 namespace makVrf
27 {
34  {
35  Q_OBJECT
36 
37  public:
39  DtTaskMenu(makVrv::DtDe&, const std::string& menuIdName = DtTaskMenuId);
40 
42  virtual ~DtTaskMenu();
43 
45  virtual QMenu* createMenu(makVrv::DtDe&, QWidget* parent);
46 
47  static DtTaskMenu& instance(makVrv::DtDe&);
48 
52  static DtTaskMenu* menuInstance(makVrv::DtDe&);
53 
54  virtual DtTaskMenu* newInstance();
55 
56  virtual int supportedScriptType(int d) const;
57  virtual const char* supportsToolbarType() const;
58 
62  virtual void giveBackTaskMenu(DtVrfTaskSetMenu*);
63  virtual DtVrfTaskSetMenu* createTaskMenu(QWidget* widgetOwner, QMenuBar* menuOwner = nullptr,
66 
67  bool hasPrecreatedMenus() const
68  {
69  return (myPrecreatedMenus.size() != 0);
70  }
71 
72  protected slots:
73  virtual void precreatedMenuDeleted();
74 
75  protected:
76  std::vector<DtVrfTaskSetMenu*> myPrecreatedMenus;
77  };
78 
81  {
82  public:
84 
85  protected:
86  virtual QMenu* createMenu( makVrv::DtDe& de, QWidget* parent );
87  };
88 
90 
93  {
94  public:
96  DtVrfTaskMenu(const std::string& className, const QString& title, QWidget* parent, makVrv::DtDe&,
98  const DtSubMenuConfiguration& configuration = DtSubMenuConfiguration());
99 
101  virtual ~DtVrfTaskMenu();
102 
103  virtual void recreateMenu();
104 
105  virtual MenuType menuType() const
106  {
107  return TaskMenu;
108  }
109 
110  protected:
111  virtual const char* supportedToolbar() const;
112  virtual const char* supportedMenu() const;
113  virtual const DtSubMenuConfiguration& defaultMenuConfiguration() const;
114  virtual const makVrv::DtQtMenuAssembler::MenuBuilderMap& defaultMenuBuilderMap() const;
115  virtual const makVrv::DtQtMenuAssembler::MenuItemBuilderMap& defaultMenuItemBuilderMap() const;
116  virtual DtScriptedTaskConfigurableMenu* mainMenuInstance();
117  };
118 }
Definition: scriptedTaskConfigurableMenu.h:49
Definition: vrfTaskSetMenu.h:51
boost::unordered_map< std::string, DtMenuItem * > MenuItemBuilderMap
Definition: DtQtMenuAssembler.h:31
const char DtTaskMenuId[]
Defined for vrfGuiCoreQt/DtTaskMenu.h.
Definition: vrfMenuIds.h:487
RecreateFlags
Definition: scriptedTaskConfigurableMenu.h:41
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
std::vector< DtVrfTaskSetMenu * > myPrecreatedMenus
Definition: taskMenu.h:76
bool hasPrecreatedMenus() const
Definition: taskMenu.h:67
virtual MenuType menuType() const
Returns the type of menu it is. This is not set but returned by the subclass. See enums above...
Definition: taskMenu.h:105
Container class that will create instances of scripted task configurable menu.
Definition: scriptedTaskConfigurableMenu.h:38
boost::unordered_map< std::string, DtMenu * > MenuBuilderMap
Definition: DtQtMenuAssembler.h:30
Container class that will create instances of the task menu which will configure itself for tasks...
Definition: taskMenu.h:33
Instance of task menu that will know how to configure itself for tasks.
Definition: taskMenu.h:92
Contains makVrv::DtToolbarConfiguration class.
MenuType
Definition: vrfTaskSetMenu.h:56
Definition: scriptedTaskConfigurableMenu.h:43
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:70
Class used in right click menu. Returns previously created instance of DtTaskMenu Menu...
Definition: taskMenu.h:80
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
class DtScriptedTaskMetaData
Definition: scriptedTaskMetaData.h:56

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)