VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTaskSetToolbarItem.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2012 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <vrvCoreQt/DtMenuItem.h>
16 #include <set>
17 
18 class QAction;
19 
20 namespace makVrf
21 {
22  class DtVrfTaskSetAction;
23 
28  {
29  Q_OBJECT
30 
31  public:
32  //CTOR
33  DtVrfTaskSetToolbarItem(const std::string& toolbarId, const std::string& taskSetItemId, makVrv::DtDe& de);
35 
36  //DTOR`
37  virtual ~DtVrfTaskSetToolbarItem();
38 
40  virtual QAction* createAction(makVrv::DtDe&, QWidget* parent);
41  virtual QAction* createAction(makVrv::DtDe&, DtVrfTaskSetAction* toolbarAction, QWidget* parent);
42 
43  QAction* action() const
44  {
45  return myAction;
46  }
47 
48  virtual QAction* toolbarAction() const;
49 
50  virtual std::set<QAction*> activatedActions() const;
51 
53  virtual void on_triggered();
54 
55  virtual int actionType() const;
56 
57  virtual void clearAssociatedActions();
58 
59  protected:
61  virtual void setupToolbarItem(DtVrfTaskSetAction*);
62 
63  virtual void actionChanged(DtVrfTaskSetAction*);
64 
65  virtual std::set<std::string> findEquivalences(const std::string& vrfTaskSetId, std::set<std::string>& reverseEquivalence) const;
66  virtual void initializeAction(const std::string& vrfTaskSetId, bool equivalentOnly = false);
67 
68  protected slots:
70  virtual void actionChanged();
71 
73  virtual void toolbarActionDestroyed();
74 
76  virtual void actionDestroyed();
77 
78  protected:
79  std::string myTaskSetItemId;
81  std::set<QAction*> myToolbarActions;
82  std::set<QAction*> myIconActions;
84  };
85 
86  typedef DtVrfTaskSetToolbarItem* (*DtVrfTaskSetToolbarItemCreatorFcn)(
87  const std::string& toolbarId, const std::string& taskSetItemId, makVrv::DtDe& de);
88 
91  {
92  public:
95 
97  static DtVrfTaskSetToolbarItemFactory& instance(makVrv::DtDe& de);
98 
100  static void registerInstance(makVrv::DtDe&, DtVrfTaskSetToolbarItemFactory*);
101 
102  virtual void addCreator(int taskSetId, DtVrfTaskSetToolbarItemCreatorFcn f);
103 
104  virtual DtVrfTaskSetToolbarItem* create(int taskSetId,
105  const std::string& toolbarId, const std::string& taskSetItemId, makVrv::DtDe& de);
106 
107  protected:
108 
109  std::map<int, DtVrfTaskSetToolbarItemCreatorFcn> myCreators;
110  };
111 }
Builder for menu items.
Definition: DtMenuItem.h:23
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
This class will encapsulate a toolbar item for a task/set menu item. Since those menu items now hide ...
Definition: vrfTaskSetToolbarItem.h:27
std::map< int, DtVrfTaskSetToolbarItemCreatorFcn > myCreators
Definition: vrfTaskSetToolbarItem.h:109
Contains makVrv::DtVirtualBaseClass class.
DtVrfTaskSetToolbarItem *(* DtVrfTaskSetToolbarItemCreatorFcn)(const std::string &toolbarId, const std::string &taskSetItemId, makVrv::DtDe &de)
Definition: vrfTaskSetToolbarItem.h:86
QAction * action() const
Definition: vrfTaskSetToolbarItem.h:43
std::set< QAction * > myToolbarActions
Definition: vrfTaskSetToolbarItem.h:81
std::string myTaskSetItemId
Definition: vrfTaskSetToolbarItem.h:79
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
Contains makVrf::DtTaskSetMenu, makVrf::DtVrfTaskSetAction, and makVrf::DtTaskSetMenuItem class...
Definition: vrfTaskSetAction.h:106
std::set< QAction * > myIconActions
Definition: vrfTaskSetToolbarItem.h:82
Factory class for DtVrfTaskSetToolbarItem.
Definition: vrfTaskSetToolbarItem.h:90
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
QAction * myAction
Definition: vrfTaskSetToolbarItem.h:83
makVrv::DtDe & myDe
Definition: vrfTaskSetToolbarItem.h:80

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)