VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskSetDialogInterface.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 <vrfutil/uuid.h>
21 #endif
22 
23 #include <QtWidgets/QWidget>
24 
25 namespace makVrv
26 {
27  class DtDe;
28 }
29 
30 class DtSimTask;
31 class DtSetDataRequest;
32 class QWidget;
33 
34 static const Qt::WindowFlags theTaskSetCreationFlags =
35  Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint;
36 
37 namespace makVrf
38 {
39  class DtTaskSetDialogInterface;
40  class DtVrfTaskSetAction;
41  class DtMapFocusHandlerInterface;
42 
45  {
46  public:
47  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent) = 0;
48  virtual bool supportsType(makVrv::DtDe&, const DtSimTaskMessageType&, const DtSimStatement*) const = 0;
49 
51  virtual bool canEdit() const
52  {
53  return true;
54  }
55 
57  virtual bool isValidFor(makVrv::DtDe& de, makVrv::DtSelectionManager::IdSet ids, int partOfPlanDialog) const
58  {
59  return true;
60  }
61  };
62 
64  {
65  public:
66  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent) = 0;
67  virtual bool supportsType(makVrv::DtDe&, const DtSetMessageType&, const DtSimStatement*) const = 0;
68 
70  virtual bool canEdit() const
71  {
72  return true;
73  }
74 
76  virtual bool isValidFor(makVrv::DtDe& de, const makVrv::DtSelectionManager::IdSet& ids, int partOfPlanDialog) const
77  {
78  return true;
79  }
80  };
81 
83  : public QWidget
85  {
86  Q_OBJECT
87 
88  public:
89  //CTOR
90  DtTaskSetDialogInterface(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
91 
92  //DTOR
93  virtual ~DtTaskSetDialogInterface() override;
94 
96  virtual void runOneClick(const std::set<makVrv::DtUniqueID>&);
97 
100  virtual void connectSignals(const std::set<makVrv::DtUniqueID>&);
101 
105  virtual void setSendToRemoteController(bool b);
106  virtual bool sendToRemoteController() const;
107 
109  virtual bool editStatement(const std::set<makVrv::DtUniqueID>&, const DtSimStatement*) override;
110 
112  virtual void setupFrom(const std::set<makVrv::DtUniqueID>&) override;
113 
119  virtual void selectionChanged(const DtUUID& selection) override;
120 
122  virtual void sendSetRequest(std::vector<DtUUID> names, const DtSetDataRequest&);
123 
126  virtual bool insertMapFocusHandler(DtMapFocusHandlerInterface*, int index = -1) override;
127 
130  virtual void initializeFromAction(DtVrfTaskSetAction*) override;
131 
133  DtVrfTaskSetAction* initializedAction() const { return myAction; };
134 
136  virtual void sendTaskRequest(std::vector<DtUUID> names, const DtSimTask&);
137 
139  virtual void sendCommandRequest(const DtSimCommandObjectWrapper&);
140 
142  virtual std::vector<makVrv::DtUniqueID> entityIds() const;
143 
144  virtual std::vector<DtUUID> names() const;
145 
146  virtual void setupGui(const std::set<makVrv::DtUniqueID>&);
147  virtual void setupFromExtendedData(const std::map<std::string, std::string>&);
148 
154  virtual void setPartOfPlan(int b);
155 
157  virtual DtSimObjectReference findStateView(const std::set<makVrv::DtUniqueID>&) const;
158  virtual DtSimObjectReference findStateView(makVrv::DtUniqueID) const;
159 
160  int partOfPlan() const
161  {
162  return myPartOfPlan;
163  }
164 
166  virtual void cancel();
167 
168  virtual void setOKEnabled(bool b) override {
169  }
170 
171  virtual void setApplyVisible(bool b) override {
172  }
173 
175  virtual void setCancelEnabled(bool) override {
176  }
177 
178  virtual bool valid() const override {
179  return true;
180  }
181 
182  virtual QWidget* widget() override {
183  return this;
184  }
185 
186  const std::set<makVrv::DtUniqueID>& connectedTo() const
187  {
188  return myConnectedTo;
189  }
190 
191  virtual void setReadOnlyMode(bool b) override;
192 
194  virtual void noObjectsSelected() override;
195 
197  virtual QWidget* sizeToParent() const;
198 
199  virtual bool okEnabled() const override;
200 
202  {
203  return myDe;
204  }
205 
206  boost::signals2::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
207 
208  protected slots:
209  virtual void actionDestroyed();
210 
211  signals:
212  void unlockPlan();
213 
214  protected:
216  virtual QString statusText() const;
217 
218  virtual bool eventFilter(QObject*, QEvent*) override;
219  virtual makVrv::DtQtCursor cursorOverride() const;
220  virtual void closeEvent(QCloseEvent*) override;
221 
222  virtual void slot_objectAboutToBeRemoved(DtSimObjectReference);
223 
225  virtual std::vector<std::string> commandDialogFiltersFor(
226  const std::set<makVrv::DtUniqueID>& data, const DtSimStatement* stmt, int& initialSelection) const override;
227 
229  virtual void hideButtons(bool) override {};
230 
231  virtual void slot_oneClickComplete();
232 
233  protected:
236  std::set<makVrv::DtUniqueID> myConnectedTo;
237 
240 
243  bool myOneClickMode = false;
244  };
245 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
makVrv::DtDe & myDe
Definition: taskSetDialogInterface.h:234
Definition: taskSetDialogInterface.h:63
const std::set< makVrv::DtUniqueID > & connectedTo() const
Definition: taskSetDialogInterface.h:186
virtual bool canEdit() const
Override to say whether or not this item can be edited by itself if it supports the type...
Definition: taskSetDialogInterface.h:51
DtVrfTaskSetAction * initializedAction() const
The action this dialog was initialized for.
Definition: taskSetDialogInterface.h:133
makVrv::DtDe & de()
Definition: taskSetDialogInterface.h:201
Contains the DtUUID class declaration.
virtual bool valid() const override
Override to return whether or not extension is valid.
Definition: taskSetDialogInterface.h:178
Definition: taskSetDialogInterface.h:82
Contains makVrv:DtSelectionManager class.
virtual QWidget * widget() override
Returns the widget.
Definition: taskSetDialogInterface.h:182
virtual void setApplyVisible(bool b) override
Sets whether or not the Apply button (if available) is visible.
Definition: taskSetDialogInterface.h:171
DtSetDataRequest is an abstract base class from which real setDataRequests can derive. It manages the read/write capability; derived classes need only use and register read/writatble data types for derived information.
Definition: setDataRequest.h:41
DtMapFocusHandler myMapFocusHandler
Definition: taskSetDialogInterface.h:242
DtVrfTaskSetAction * myAction
Definition: taskSetDialogInterface.h:241
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Definition: commandDialogExtensionInterface.h:49
Qt implementation of the cursor class. Will keep track of the Qt cursor.
Definition: DtQtCursor.h:24
virtual bool canEdit() const
Override to say whether or not this item can be edited by itself if it supports the type...
Definition: taskSetDialogInterface.h:70
Definition: simCommandObjectWrapper.h:42
virtual void setOKEnabled(bool b) override
Sets whether or not the OK button is enabled.
Definition: taskSetDialogInterface.h:168
Base class that must be implemented by items that wish to be part of a map focus handler chain...
Definition: mapFocusHandler.h:31
Class that is used as a template for task/set dialogs.
Definition: taskSetDialogInterface.h:44
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
virtual void setCancelEnabled(bool) override
Sets whether or not the Cancel button is enabled.
Definition: taskSetDialogInterface.h:175
virtual void hideButtons(bool) override
No buttons to hide.
Definition: taskSetDialogInterface.h:229
int partOfPlan() const
Definition: taskSetDialogInterface.h:160
virtual bool isValidFor(makVrv::DtDe &de, const makVrv::DtSelectionManager::IdSet &ids, int partOfPlanDialog) const
Checks if this dialog is valid for the given selection.
Definition: taskSetDialogInterface.h:76
Base class to provide boost signal/slot management.
makVrv::DtSignalConnectionManager myConnections
Definition: taskSetDialogInterface.h:239
class DtSimStatement:
Definition: simStatement.h:38
bool mySendToRemoteController
Definition: taskSetDialogInterface.h:238
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
This class will manage filtered list views for the basic purpose of allowing a single list view in th...
Definition: mapFocusHandler.h:116
std::set< makVrv::DtUniqueID > myConnectedTo
Definition: taskSetDialogInterface.h:236
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:76
Contains makVrf::DtTaskSetMenu, makVrf::DtVrfTaskSetAction, and makVrf::DtTaskSetMenuItem class...
Definition: vrfTaskSetAction.h:108
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
int myPartOfPlan
Definition: taskSetDialogInterface.h:235
virtual bool isValidFor(makVrv::DtDe &de, makVrv::DtSelectionManager::IdSet ids, int partOfPlanDialog) const
Checks if this dialog is valid for the given selection.
Definition: taskSetDialogInterface.h:57
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
boost::signals2::signal< void(DtTaskSetDialogInterface *)> signal_dialogDestroyed
Definition: taskSetDialogInterface.h:206
static const Qt::WindowFlags theTaskSetCreationFlags
Definition: taskSetDialogInterface.h:34

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)