VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
vrfTaskSetDialogManager.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)
18 #include <vrftasks/simTask.h>
20 #include <vrfutil/rwUUID.h>
21 
23 
24 #include "vlutil/vlString.h"
26 #endif
27 #include <boost/signals2.hpp>
28 
29 #include <QtCore/QObject>
30 
31 namespace makVrv
32 {
33  class DtDe;
34  class DtSimEntry;
35 }
36 
37 class QWidget;
38 class DtSimStatement;
39 
40 namespace makVrf
41 {
42  class DtTaskSetDialogInterface;
43  class DtVrfTaskDialogCreator;
44  class DtVrfSetDialogCreator;
45  class DtVrfTaskSetDialogManager;
46  class DtVrfTaskSetAction;
47  class DtCommandAssignmentWidgetInterface;
48  class DtCommandAssignmentWidget;
49  class DtCommandDialogExtensionInterface;
50 
61  {
62  typedef std::map<int, DtVrfTaskDialogCreator*> DtVrfTaskDialogCreatorMap;
63  typedef std::map<int, DtVrfSetDialogCreator*> DtVrfSetDialogCreatorMap;
64 
65  public:
68 
70  virtual ~DtVrfTaskSetDialogManager();
71 
73  static DtVrfTaskSetDialogManager& instance(makVrv::DtDe& de);
74 
75  public:
79  virtual DtTaskSetDialogInterface* processDialogFor(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
80  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
81 
84  virtual DtCommandAssignmentWidgetInterface* processCommandActionDialog(int menuItemType, QWidget* parent,
85  DtVrfTaskSetAction* forAction, const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
86 
87  virtual bool useNewStyleCommandDialog() const;
88 
91  virtual int nextAvailableId() const;
92 
93  public:
96  virtual void addTaskDialogCreator(int menuItemType, DtVrfTaskDialogCreator*);
97  virtual void addSetDialogCreator(int menuItemType, DtVrfSetDialogCreator*);
98 
100  virtual bool removeTaskDialogCreator(int menuItemType);
101  virtual bool removeSetDialogCreator(int menuItemType);
102 
104  virtual bool hasTaskDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
105  int partOfPlanDialog);
106  virtual bool hasSetDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
107  int partOfPlanDialog);
108 
111  virtual std::vector<DtUUID> whoShouldITask(const std::vector<DtUUID>& name, const DtSimTask& newTask);
112 
114  virtual void removeAllDialogCreators();
115 
117  virtual bool statementIsEditable(const DtSimStatement*) const;
118 
120  virtual bool isCommandStatement(const DtSimStatement*) const;
121 
124  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimTaskMessageType& type, const DtSimStatement* stmt, QWidget* parent,
125  bool registerDialog = true);
126  virtual DtTaskSetDialogInterface* createDialogFor(const DtSetMessageType& type, const DtSimStatement* stmt, QWidget* parent,
127  bool registerDialog = true);
128  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimStatement* stmt, QWidget* parent, bool registerDialog = true);
129 
131  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(const DtSimStatement* stmt, QWidget* parent, int partOfPlan);
132  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(int menuItemType, QWidget* parent, int partOfPlan);
133 
135  virtual DtSimTaskMessageType taskTypeFromStatement(const DtSimStatement* stmt) const;
136  virtual DtSetMessageType setTypeFromStatement(const DtSimStatement* stmt) const;
137 
139  virtual DtCommandAssignmentWidgetInterface* createCommandActionDialog(QWidget*, DtCommandDialogExtensionInterface*, int partOfPlan);
140 
141  protected:
142  virtual void initializeConnections();
143 
144  protected:
147  virtual bool prepDialog(DtTaskSetDialogInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
148  virtual bool prepDialog(DtCommandAssignmentWidgetInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
149 
151  virtual void slot_scriptAddedToTaskMenu(int, std::string);
152 
154  virtual void slot_scriptRemovedFromTaskMenu(int, std::string);
155 
157  virtual void slot_scriptAddedToSetMenu(int, std::string);
158 
160  virtual void slot_scriptRemovedFromSetMenu(int, std::string);
161 
162  protected:
166 
168  };
169 }
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
Definition: taskSetDialogInterface.h:65
DtVrfSetDialogCreatorMap mySetDialogCreatorMap
Definition: vrfTaskSetDialogManager.h:165
std::map< int, DtVrfTaskDialogCreator * > DtVrfTaskDialogCreatorMap
Definition: vrfTaskSetDialogManager.h:62
makVrv::DtDe & myDe
Definition: vrfTaskSetDialogManager.h:163
Definition: taskSetDialogInterface.h:84
Contains makVrv:DtSelectionManager class.
Contains the DtUUID class declaration.
A widget class for encapsulating radio commands for tasks or sets.
Definition: commandAssignmentWidgetInterface.h:30
std::map< int, DtVrfSetDialogCreator * > DtVrfSetDialogCreatorMap
Definition: vrfTaskSetDialogManager.h:63
Contains makVrv::DtVirtualBaseClass class.
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Define constants for types of tasks, sets, admin messages, reports, and sim commands (all sent via ra...
Definition: commandDialogExtensionInterface.h:49
makVrv::DtSignalConnectionManager myConnections
Definition: vrfTaskSetDialogManager.h:167
Class that is used as a template for task/set dialogs.
Definition: taskSetDialogInterface.h:46
Base class to provide boost signal/slot management.
class DtSimStatement:
Definition: simStatement.h:38
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
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
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
DtVrfTaskDialogCreatorMap myTaskDialogCreatorMap
Definition: vrfTaskSetDialogManager.h:164
The DtVrfTaskSetDialogManager maintains the dialogs that are used to show for specific tasks/sets...
Definition: vrfTaskSetDialogManager.h:60

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)