VR-Forces 4.2 Class Documentation
DtVrfTaskSetDialogManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2008 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <vrvUtil/DtVirtualBaseClass.h>
15 
16 #include <vrvUtil/signalslib.h>
17 
18 #include <QtCore/QObject>
19 #include "vlutil/vlString.h"
20 #include "vrftasks/radioMsgTypes.h"
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtSimEntry;
26 }
27 
28 class QWidget;
29 class DtSimStatement;
30 
31 namespace makVrf
32 {
33  class DtTaskSetDialogInterface;
34  class DtVrfTaskDialogCreator;
35  class DtVrfSetDialogCreator;
36  class DtVrfTaskSetDialogManager;
37  class DtVrfTaskSetAction;
38  class DtCommandAssignmentWidgetInterface;
39  class DtCommandAssignmentWidget;
40  class DtCommandDialogExtensionInterface;
41 
43  {
44  Q_OBJECT
45 
46  public:
47  DtVrfTaskSetDialogSignalHandler(makVrv::DtDe&);
49 
50  virtual void connectSignals(DtTaskSetDialogInterface*);
51  virtual void disconnectSignals(DtTaskSetDialogInterface*);
52 
53  virtual void connectSignals(DtCommandAssignmentWidgetInterface*);
54  virtual void disconnectSignals(DtCommandAssignmentWidget*);
55 
56  public:
58  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
59 
61  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
62 
63  protected slots:
64  virtual void onDialogDestroyed();
65  virtual void onCommandDialogDestroyed();
66 
67  protected:
69  makVrv::DtDe& myDe;
70  };
71 
73  class DT_DLL_VRFGUICOREQT DtVrfTaskSetDialogManager : public makVrv::DtVirtualBaseClass
74  {
75  typedef std::map<int, DtVrfTaskDialogCreator*> DtVrfTaskDialogCreatorMap;
76  typedef std::map<int, DtVrfSetDialogCreator*> DtVrfSetDialogCreatorMap;
77 
78  public:
80  DtVrfTaskSetDialogManager(makVrv::DtDe&);
81 
83  virtual ~DtVrfTaskSetDialogManager();
84 
86  static DtVrfTaskSetDialogManager& instance(makVrv::DtDe& de);
87 
88  public:
92  virtual bool processDialogFor(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
93  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
94 
97  virtual DtCommandAssignmentWidgetInterface* processCommandActionDialog(int menuItemType, QWidget* parent,
98  DtVrfTaskSetAction* forAction, const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
99 
100  bool dialogInProgress() const
101  {
102  return (myDialogsInProgress > 0);
103  }
104 
107  virtual int nextAvailableId() const;
108 
109  public:
112  virtual void addTaskDialogCreator(int menuItemType, DtVrfTaskDialogCreator*);
113  virtual void addSetDialogCreator(int menuItemType, DtVrfSetDialogCreator*);
114 
116  virtual bool removeTaskDialogCreator(int menuItemType);
117  virtual bool removeSetDialogCreator(int menuItemType);
118 
120  virtual bool hasTaskDialogCreator(int menuItemType);
121  virtual bool hasSetDialogCreator(int menuItemType);
122 
124  virtual void removeAllDialogCreators();
125 
127  virtual bool statementIsEditable(const DtSimStatement*) const;
128 
131  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimTaskMessageType& type, const DtSimStatement* stmt, QWidget* parent,
132  bool registerDialog = true);
133  virtual DtTaskSetDialogInterface* createDialogFor(const DtSetMessageType& type, const DtSimStatement* stmt, QWidget* parent,
134  bool registerDialog = true);
135  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimStatement* stmt, QWidget* parent, bool registerDialog = true);
136 
138  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(const DtSimStatement* stmt, QWidget* parent, int partOfPlan);
139  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(int menuItemType, QWidget* parent, int partOfPlan);
140 
142  virtual DtSimTaskMessageType taskTypeFromStatement(const DtSimStatement* stmt) const;
143  virtual DtSetMessageType setTypeFromStatement(const DtSimStatement* stmt) const;
144 
146  virtual DtCommandAssignmentWidgetInterface* createCommandActionDialog(QWidget*, DtCommandDialogExtensionInterface*, int partOfPlan);
147 
148  protected:
149  virtual void slot_onDialogDestroyed(DtTaskSetDialogInterface*);
150  virtual void slot_onCommandDialogDestroyed(DtCommandAssignmentWidgetInterface*);
151 
152  protected:
155  virtual void prepDialog(DtTaskSetDialogInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
156  virtual void prepDialog(DtCommandAssignmentWidgetInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
157 
159  virtual void slot_scriptAddedToTaskMenu(int, std::string);
160 
162  virtual void slot_scriptRemovedFromTaskMenu(int, std::string);
163 
164  public:
166  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogCreated;
167 
169  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogCreated;
170 
172  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
173 
175  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
176 
177  protected:
178  makVrv::DtDe& myDe;
183  };
184 }

Document ID: Generated on Sun Nov 24 19:49:21 EST 2013 from SVN revision 133924
Copyright © 2005-2013 VT MÄK. All Rights Reserved (www.mak.com)