VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator 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>
18 
20 
21 #include <QtCore/QObject>
22 #include "vlutil/vlString.h"
24 
25 namespace makVrv
26 {
27  class DtDe;
28  class DtSimEntry;
29 }
30 
31 class QWidget;
32 class DtSimStatement;
33 
34 namespace makVrf
35 {
36  class DtTaskSetDialogInterface;
37  class DtVrfTaskDialogCreator;
38  class DtVrfSetDialogCreator;
39  class DtVrfTaskSetDialogManager;
40  class DtVrfTaskSetAction;
41  class DtCommandAssignmentWidgetInterface;
42  class DtCommandAssignmentWidget;
43  class DtCommandDialogExtensionInterface;
44 
46  {
47  Q_OBJECT
48 
49  public:
52 
53  virtual void connectSignals(DtTaskSetDialogInterface*);
54  virtual void disconnectSignals(DtTaskSetDialogInterface*);
55 
56  virtual void connectSignals(DtCommandAssignmentWidgetInterface*);
57  virtual void disconnectSignals(DtCommandAssignmentWidget*);
58 
59  public:
61  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
62 
64  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
65 
66  protected slots:
67  virtual void onDialogDestroyed();
68  virtual void onCommandDialogDestroyed();
69 
70  protected:
73  };
74 
78  {
79  typedef std::map<int, DtVrfTaskDialogCreator*> DtVrfTaskDialogCreatorMap;
80  typedef std::map<int, DtVrfSetDialogCreator*> DtVrfSetDialogCreatorMap;
81 
82  public:
85 
87  virtual ~DtVrfTaskSetDialogManager();
88 
90  static DtVrfTaskSetDialogManager& instance(makVrv::DtDe& de);
91 
92  public:
96  virtual bool processDialogFor(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
97  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
98 
101  virtual DtCommandAssignmentWidgetInterface* processCommandActionDialog(int menuItemType, QWidget* parent,
102  DtVrfTaskSetAction* forAction, const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
103 
104  bool dialogInProgress() const
105  {
106  return (myDialogsInProgress > 0);
107  }
108 
111  virtual int nextAvailableId() const;
112 
113  public:
116  virtual void addTaskDialogCreator(int menuItemType, DtVrfTaskDialogCreator*);
117  virtual void addSetDialogCreator(int menuItemType, DtVrfSetDialogCreator*);
118 
120  virtual bool removeTaskDialogCreator(int menuItemType);
121  virtual bool removeSetDialogCreator(int menuItemType);
122 
124  virtual bool hasTaskDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
125  int partOfPlanDialog);
126  virtual bool hasSetDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
127  int partOfPlanDialog);
128 
130  virtual void removeAllDialogCreators();
131 
133  virtual bool statementIsEditable(const DtSimStatement*) const;
134 
137  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimTaskMessageType& type, const DtSimStatement* stmt, QWidget* parent,
138  bool registerDialog = true);
139  virtual DtTaskSetDialogInterface* createDialogFor(const DtSetMessageType& type, const DtSimStatement* stmt, QWidget* parent,
140  bool registerDialog = true);
141  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimStatement* stmt, QWidget* parent, bool registerDialog = true);
142 
144  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(const DtSimStatement* stmt, QWidget* parent, int partOfPlan);
145  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(int menuItemType, QWidget* parent, int partOfPlan);
146 
148  virtual DtSimTaskMessageType taskTypeFromStatement(const DtSimStatement* stmt) const;
149  virtual DtSetMessageType setTypeFromStatement(const DtSimStatement* stmt) const;
150 
152  virtual DtCommandAssignmentWidgetInterface* createCommandActionDialog(QWidget*, DtCommandDialogExtensionInterface*, int partOfPlan);
153 
154  protected:
155  virtual void slot_onDialogDestroyed(DtTaskSetDialogInterface*);
156  virtual void slot_onCommandDialogDestroyed(DtCommandAssignmentWidgetInterface*);
157 
158  protected:
161  virtual void prepDialog(DtTaskSetDialogInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
162  virtual void prepDialog(DtCommandAssignmentWidgetInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
163 
165  virtual void slot_scriptAddedToTaskMenu(int, std::string);
166 
168  virtual void slot_scriptRemovedFromTaskMenu(int, std::string);
169 
171  virtual void pushSelections();
172  virtual void popSelections();
173 
174  public:
176  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogCreated;
177 
179  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogCreated;
180 
182  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
183 
185  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
186 
187  protected:
193 
194  typedef std::vector<makVrv::DtSelectionManager::IdSet> Selections;
196  };
197 }

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)