VR-Forces 5.0.2 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)
16 
18 #include <vrfutil/rwUUID.h>
20 #include <vrftasks/simTask.h>
22 #endif
23 
24 #include <QtWidgets/QWidget>
25 
26 namespace makVrv
27 {
28  class DtDe;
29  class DtSimEntry;
30  struct DtEntityState;
31  class DtSimObjectEntry;
32 }
33 
34 class QWidget;
35 
36 static const Qt::WindowFlags theTaskSetCreationFlags =
37  Qt::Dialog | Qt::CustomizeWindowHint | Qt::WindowTitleHint;
38 
39 namespace makVrf
40 {
41  class DtTaskSetDialogInterface;
42  class DtVrfTaskSetAction;
43  class DtMapFocusHandlerInterface;
44 
47  {
48  public:
49  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent) = 0;
50  virtual bool supportsType(makVrv::DtDe&, const DtSimTaskMessageType&, const DtSimStatement*) const = 0;
51 
53  virtual bool canEdit() const
54  {
55  return true;
56  }
57 
59  virtual bool isValidFor(makVrv::DtDe& de, makVrv::DtSelectionManager::IdSet ids, int partOfPlanDialog) const
60  {
61  return true;
62  }
63  };
64 
66  {
67  public:
68  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent) = 0;
69  virtual bool supportsType(makVrv::DtDe&, const DtSetMessageType&, const DtSimStatement*) const = 0;
70 
72  virtual bool canEdit() const
73  {
74  return true;
75  }
76 
78  virtual bool isValidFor(makVrv::DtDe& de, const makVrv::DtSelectionManager::IdSet& ids, int partOfPlanDialog) const
79  {
80  return true;
81  }
82  };
83 
85  : public QWidget
87  {
88  Q_OBJECT
89 
90  public:
91  //CTOR
92  DtTaskSetDialogInterface(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
93 
94  //DTOR
95  virtual ~DtTaskSetDialogInterface();
96 
99  virtual void connectSignals(const std::vector<makVrv::DtSimEntry*>&);
100 
104  virtual void setSendToRemoteController(bool b);
105  virtual bool sendToRemoteController() const;
106 
108  virtual bool editStatement(const std::vector<makVrv::DtSimEntry*>&, const DtSimStatement*);
109 
111  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>&);
112 
118  virtual void selectionChanged(const DtUUID & selection);
119 
121  virtual void sendSetRequest(std::vector<DtUUID> names, const DtSetDataRequest&);
122 
125  virtual bool insertMapFocusHandler(DtMapFocusHandlerInterface*, int index = -1);
126 
129  virtual void initializeFromAction(DtVrfTaskSetAction*);
130 
132  DtVrfTaskSetAction* initializedAction() const { return myAction; };
133 
135  virtual void sendTaskRequest(std::vector<DtUUID> names, const DtSimTask&);
136 
138  virtual void sendCommandRequest(const DtSimCommandObjectWrapper&);
139 
141  virtual std::vector<makVrv::DtUniqueID> entityIds() const;
142 
143  virtual std::vector<DtUUID> names() const;
144 
145  virtual void setupGui(const std::vector<makVrv::DtSimEntry*>&);
146  virtual void setupFromExtendedData(const std::map<std::string, std::string>&);
147 
153  virtual void setPartOfPlan(int b);
154 
155  int partOfPlan() const
156  {
157  return myPartOfPlan;
158  }
159 
161  virtual void cancel();
162 
163  virtual void setOKEnabled(bool b)
164  {
165  }
166 
167  virtual void setApplyVisible(bool b)
168  {
169  }
170 
172  virtual void setCancelEnabled(bool)
173  {
174  }
175 
176  virtual bool valid() const
177  {
178  return true;
179  }
180 
181  virtual QWidget* widget()
182  {
183  return this;
184  }
185 
186  const std::vector<makVrv::DtSimEntry*>& connectedTo() const
187  {
188  return myConnectedTo;
189  }
190 
192  virtual void noObjectsSelected();
193 
195  virtual QWidget* sizeToParent() const;
196 
197  virtual bool okEnabled() const override;
198 
199  boost::signals2::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
200 
201  protected slots:
202  virtual void actionDestroyed();
203 
204  protected:
205  virtual void closeEvent(QCloseEvent*);
206 
207  virtual void slot_objectAboutToBeRemoved(makVrv::DtSimObjectEntry&);
208 
210  virtual std::vector<std::string> commandDialogFiltersFor(const std::vector<makVrv::DtSimEntry*>& data, const DtSimStatement* stmt,
211  int& initialSelection) const;
212 
214  virtual void hideButtons(bool) {};
215 
216  protected:
217  makVrv::DtDe& myDe;
219  std::vector<makVrv::DtSimEntry*> myConnectedTo;
220 
222 
224  };
225 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:229
virtual bool valid() const
Override to return whether or not extension is valid.
Definition: taskSetDialogInterface.h:176
Definition: taskSetDialogInterface.h:65
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:53
DtVrfTaskSetAction * initializedAction() const
The action this dialog was initialized for.
Definition: taskSetDialogInterface.h:132
virtual void setOKEnabled(bool b)
Sets whether or not the OK button is enabled.
Definition: taskSetDialogInterface.h:163
Definition: taskSetDialogInterface.h:84
const std::vector< makVrv::DtSimEntry * > & connectedTo() const
Definition: taskSetDialogInterface.h:186
Contains makVrv:DtSelectionManager class.
Contains the DtUUID class declaration.
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
A DtSimObjectEntry is an entry for a persistent simulation object like an entity. ...
Definition: DtSimObjectEntry.h:22
DtVrfTaskSetAction * myAction
Definition: taskSetDialogInterface.h:223
Definition: commandDialogExtensionInterface.h:49
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:72
Definition: simCommandObjectWrapper.h:42
Base class that must be implemented by items that wish to be part of a map focus handler chain...
Definition: mapFocusHandler.h:27
Class that is used as a template for task/set dialogs.
Definition: taskSetDialogInterface.h:46
virtual void setApplyVisible(bool b)
Sets whether or not the Apply button (if available) is visible.
Definition: taskSetDialogInterface.h:167
std::vector< makVrv::DtSimEntry * > myConnectedTo
Definition: taskSetDialogInterface.h:219
int partOfPlan() const
Definition: taskSetDialogInterface.h:155
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:78
class DtSimStatement:
Definition: simStatement.h:38
bool mySendToRemoteController
Definition: taskSetDialogInterface.h:221
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
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:70
Contains makVrf::DtTaskSetMenu, makVrf::DtVrfTaskSetAction, and makVrf::DtTaskSetMenuItem class...
Definition: vrfTaskSetAction.h:106
virtual void setCancelEnabled(bool)
Sets whether or not the Cancel button is enabled.
Definition: taskSetDialogInterface.h:172
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
int myPartOfPlan
Definition: taskSetDialogInterface.h:218
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:59
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
boost::signals2::signal< void(DtTaskSetDialogInterface *)> signal_dialogDestroyed
Definition: taskSetDialogInterface.h:199
virtual QWidget * widget()
Returns the widget.
Definition: taskSetDialogInterface.h:181
static const Qt::WindowFlags theTaskSetCreationFlags
Definition: taskSetDialogInterface.h:36

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)