VR-Forces 4.3 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 
15 
16 #include <vrvUtil/signalslib.h>
17 
19 
20 #include <QtCore/QObject>
21 #include "vlutil/vlString.h"
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtSimEntry;
28 }
29 
30 class QWidget;
31 class DtSimStatement;
32 
33 namespace makVrf
34 {
35  class DtTaskSetDialogInterface;
36  class DtVrfTaskDialogCreator;
37  class DtVrfSetDialogCreator;
38  class DtVrfTaskSetDialogManager;
39  class DtVrfTaskSetAction;
40  class DtCommandAssignmentWidgetInterface;
41  class DtCommandAssignmentWidget;
42  class DtCommandDialogExtensionInterface;
43 
45  {
46  Q_OBJECT
47 
48  public:
51 
52  virtual void connectSignals(DtTaskSetDialogInterface*);
53  virtual void disconnectSignals(DtTaskSetDialogInterface*);
54 
55  virtual void connectSignals(DtCommandAssignmentWidgetInterface*);
56  virtual void disconnectSignals(DtCommandAssignmentWidget*);
57 
58  public:
60  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
61 
63  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
64 
65  protected slots:
66  virtual void onDialogDestroyed();
67  virtual void onCommandDialogDestroyed();
68 
69  protected:
72  };
73 
77  {
78  typedef std::map<int, DtVrfTaskDialogCreator*> DtVrfTaskDialogCreatorMap;
79  typedef std::map<int, DtVrfSetDialogCreator*> DtVrfSetDialogCreatorMap;
80 
81  public:
84 
86  virtual ~DtVrfTaskSetDialogManager();
87 
89  static DtVrfTaskSetDialogManager& instance(makVrv::DtDe& de);
90 
91  public:
95  virtual bool processDialogFor(int menuItemType, QWidget* parent, DtVrfTaskSetAction* forAction,
96  const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
97 
100  virtual DtCommandAssignmentWidgetInterface* processCommandActionDialog(int menuItemType, QWidget* parent,
101  DtVrfTaskSetAction* forAction, const std::vector<makVrv::DtSimEntry*>& data, int partOfPlan = 0);
102 
103  bool dialogInProgress() const
104  {
105  return (myDialogsInProgress > 0);
106  }
107 
110  virtual int nextAvailableId() const;
111 
112  public:
115  virtual void addTaskDialogCreator(int menuItemType, DtVrfTaskDialogCreator*);
116  virtual void addSetDialogCreator(int menuItemType, DtVrfSetDialogCreator*);
117 
119  virtual bool removeTaskDialogCreator(int menuItemType);
120  virtual bool removeSetDialogCreator(int menuItemType);
121 
123  virtual bool hasTaskDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
124  int partOfPlanDialog);
125  virtual bool hasSetDialogCreator(int menuItemType, const makVrv::DtSelectionManager::IdSet& ids,
126  int partOfPlanDialog);
127 
129  virtual void removeAllDialogCreators();
130 
132  virtual bool statementIsEditable(const DtSimStatement*) const;
133 
136  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimTaskMessageType& type, const DtSimStatement* stmt, QWidget* parent,
137  bool registerDialog = true);
138  virtual DtTaskSetDialogInterface* createDialogFor(const DtSetMessageType& type, const DtSimStatement* stmt, QWidget* parent,
139  bool registerDialog = true);
140  virtual DtTaskSetDialogInterface* createDialogFor(const DtSimStatement* stmt, QWidget* parent, bool registerDialog = true);
141 
143  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(const DtSimStatement* stmt, QWidget* parent, int partOfPlan);
144  virtual DtCommandAssignmentWidgetInterface* createCommandDialogFor(int menuItemType, QWidget* parent, int partOfPlan);
145 
147  virtual DtSimTaskMessageType taskTypeFromStatement(const DtSimStatement* stmt) const;
148  virtual DtSetMessageType setTypeFromStatement(const DtSimStatement* stmt) const;
149 
151  virtual DtCommandAssignmentWidgetInterface* createCommandActionDialog(QWidget*, DtCommandDialogExtensionInterface*, int partOfPlan);
152 
153  protected:
154  virtual void slot_onDialogDestroyed(DtTaskSetDialogInterface*);
155  virtual void slot_onCommandDialogDestroyed(DtCommandAssignmentWidgetInterface*);
156 
157  protected:
160  virtual void prepDialog(DtTaskSetDialogInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
161  virtual void prepDialog(DtCommandAssignmentWidgetInterface*, DtVrfTaskSetAction* forAction, int partOfPlan);
162 
164  virtual void slot_scriptAddedToTaskMenu(int, std::string);
165 
167  virtual void slot_scriptRemovedFromTaskMenu(int, std::string);
168 
169  public:
171  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogCreated;
172 
174  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogCreated;
175 
177  boost::signal<void (DtCommandAssignmentWidgetInterface*)> signal_commandDialogDestroyed;
178 
180  boost::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
181 
182  protected:
188  };
189 }

Document ID: Generated on Wed Mar 11 21:20:57 EDT 2015 from SVN revision 150940
Copyright © 2005-2014 VT MÄK. All Rights Reserved (www.mak.com)