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)
16 
18 #include <vrfutil/uuid.h>
20 #endif
21 
22 #include <QtWidgets/QWidget>
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtSimEntry;
28  struct DtEntityState;
29  class DtSimObjectEntry;
30 }
31 
32 class DtSimTask;
33 class DtSetDataRequest;
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 
191  virtual void setReadOnlyMode(bool b);
192 
194  virtual void noObjectsSelected();
195 
197  virtual QWidget* sizeToParent() const;
198 
199  virtual bool okEnabled() const override;
200 
201  boost::signals2::signal<void (DtTaskSetDialogInterface*)> signal_dialogDestroyed;
202 
203  protected slots:
204  virtual void actionDestroyed();
205 
206  signals:
207  void unlockPlan();
208 
209  protected:
210  virtual void closeEvent(QCloseEvent*);
211 
212  virtual void slot_objectAboutToBeRemoved(makVrv::DtSimObjectEntry&);
213 
215  virtual std::vector<std::string> commandDialogFiltersFor(const std::vector<makVrv::DtSimEntry*>& data, const DtSimStatement* stmt,
216  int& initialSelection) const;
217 
219  virtual void hideButtons(bool) {};
220 
221  protected:
222  makVrv::DtDe& myDe;
224  std::vector<makVrv::DtSimEntry*> myConnectedTo;
225 
227 
229  };
230 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
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
Contains the DtUUID class declaration.
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.
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:228
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:224
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:226
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:72
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:223
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:201
virtual QWidget * widget()
Returns the widget.
Definition: taskSetDialogInterface.h:181
static const Qt::WindowFlags theTaskSetCreationFlags
Definition: taskSetDialogInterface.h:36

Document ID: Generated on Tue Sep 24 19:28:17 EDT 2024 from SVN revision 269799
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)