VR-Forces 4.6 Class Documentation
 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 
16 
17 #include <vrvUtil/signalslib.h>
19 
21 
22 #include <QtCore/QObject>
23 #include "vlutil/vlString.h"
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtSimEntry;
30 }
31 
32 class QWidget;
33 class DtSimStatement;
34 
35 namespace makVrf
36 {
37  class DtTaskSetDialogInterface;
38  class DtVrfTaskDialogCreator;
39  class DtVrfSetDialogCreator;
40  class DtVrfTaskSetDialogManager;
41  class DtVrfTaskSetAction;
42  class DtCommandAssignmentWidgetInterface;
43  class DtCommandAssignmentWidget;
44  class DtCommandDialogExtensionInterface;
45 
47  {
48  Q_OBJECT
49 
50  public:
53 
54  virtual void connectSignals(DtTaskSetDialogInterface*);
55  virtual void disconnectSignals(DtTaskSetDialogInterface*);
56 
57  virtual void connectSignals(DtCommandAssignmentWidgetInterface*);
58  virtual void disconnectSignals(DtCommandAssignmentWidget*);
59 
60  public:
62  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
63 
65  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
66 
67  protected slots:
68  virtual void onDialogDestroyed();
69  virtual void onCommandDialogDestroyed();
70 
71  protected:
74  };
75 
79  {
80  typedef std::map<int, DtVrfTaskDialogCreator*> DtVrfTaskDialogCreatorMap;
81  typedef std::map<int, DtVrfSetDialogCreator*> DtVrfSetDialogCreatorMap;
82 
83  public:
86 
88  virtual ~DtVrfTaskSetDialogManager();
89 
91  static DtVrfTaskSetDialogManager& instance(makVrv::DtDe& de);
92 
93  public:
97  virtual DtTaskSetDialogInterface* processDialogFor(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
98  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
99 
102  virtual DtCommandAssignmentWidgetInterface* processCommandActionDialog(int menuItemType, QWidget* parent,
103  DtVrfTaskSetAction* forAction, const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
104 
105  bool dialogInProgress() const
106  {
107  return (myDialogsInProgress > 0);
108  }
109 
110  int dialogsInProgress() const
111  {
112  return myDialogsInProgress;
113  }
114 
115  virtual bool useNewStyleCommandDialog() const;
116 
119  virtual int nextAvailableId() const;
120 
121  public:
124  virtual void addTaskDialogCreator(int menuItemType, DtVrfTaskDialogCreator*);
125  virtual void addSetDialogCreator(int menuItemType, DtVrfSetDialogCreator*);
126 
128  virtual bool removeTaskDialogCreator(int menuItemType);
129  virtual bool removeSetDialogCreator(int menuItemType);
130 
132  virtual bool hasTaskDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
133  int partOfPlanDialog);
134  virtual bool hasSetDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
135  int partOfPlanDialog);
136 
138  virtual void removeAllDialogCreators();
139 
141  virtual bool statementIsEditable(const DtSimStatement*) const;
142 
144  virtual bool isCommandStatement(const DtSimStatement*) const;
145 
148  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimTaskMessageType& type, const DtSimStatement* stmt, QWidget* parent,
149  bool registerDialog = true);
150  virtual DtTaskSetDialogInterface* createDialogFor(const DtSetMessageType& type, const DtSimStatement* stmt, QWidget* parent,
151  bool registerDialog = true);
152  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimStatement* stmt, QWidget* parent, bool registerDialog = true);
153 
155  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(const DtSimStatement* stmt, QWidget* parent, int partOfPlan);
156  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(int menuItemType, QWidget* parent, int partOfPlan);
157 
159  virtual DtSimTaskMessageType taskTypeFromStatement(const DtSimStatement* stmt) const;
160  virtual DtSetMessageType setTypeFromStatement(const DtSimStatement* stmt) const;
161 
163  virtual DtCommandAssignmentWidgetInterface* createCommandActionDialog(QWidget*, DtCommandDialogExtensionInterface*, int partOfPlan);
164 
165  protected:
166  virtual void slot_onDialogDestroyed(DtTaskSetDialogInterface*);
167  virtual void slot_onCommandDialogDestroyed(DtCommandAssignmentWidgetInterface*);
168 
169  protected:
172  virtual void prepDialog(DtTaskSetDialogInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
173  virtual void prepDialog(DtCommandAssignmentWidgetInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
174 
176  virtual void slot_scriptAddedToTaskMenu(int, std::string);
177 
179  virtual void slot_scriptRemovedFromTaskMenu(int, std::string);
180 
182  virtual void slot_scriptAddedToSetMenu(int, std::string);
183 
185  virtual void slot_scriptRemovedFromSetMenu(int, std::string);
186 
188  virtual void pushSelections();
189  virtual void popSelections();
190 
191  public:
193  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogCreated;
194 
196  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogCreated;
197 
199  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
200 
202  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
203 
205  boost::signal<void (int)> signal_dialogsInProgress;
206 
207  protected:
213 
214  typedef std::vector<makVrv::DtSelectionManager::IdSet> Selections;
216 
218  };
219 }

Document ID: Generated on Thu Apr 12 03:15:37 EDT 2018 from SVN revision 187986
Copyright © 2005-2018 VT MÄK. All Rights Reserved (www.mak.com)