VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
taskMoveAlongRouteWithActionsDialog.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
13 #if !defined(Q_MOC_RUN)
19 #endif
20 #include <boost/signals2.hpp>
21 
22 class QCheckBox;
23 class QTreeWidgetItem;
24 class QMenu;
25 class QDialog;
26 class DtSetDataRequest;
27 class DtSimTask;
29 class QPushButton;
30 class QHBoxLayout;
31 class QGridLayout;
32 class QTime;
34 class DtVertexList;
36 
37 namespace makVrv
38 {
39  class DtMenu;
40  class DtSimEntry;
41 }
42 
43 namespace makVrf
44 {
45  class DtDateTimeEntryWidget;
46  class DtTerrainProfileDataEnvironmentalStateView;
47  class DtRouteProfileWidget;
48  class DtEnvironmentalFacadeCollection;
49  class DtVrfTaskSetMenu;
50 
52  {
53  Q_OBJECT
54  Q_PROPERTY(QColor PassedHoldPointTextColor MEMBER myPassedHoldPointTextColor USER true)
55  Q_PROPERTY(QColor NotPassedHoldPointTextColor MEMBER myNotPassedHoldPointTextColor USER true)
56  Q_PROPERTY(QColor PassedTimeOnTargetTextColor MEMBER myPassedTimeOnTargetTextColor USER true)
57  Q_PROPERTY(QColor NotPassedTimeOnTargetTextColor MEMBER myNotPassedTimeOnTargetTextColor USER true)
58  Q_PROPERTY(QColor ActionValidTextColor MEMBER myActionValidTextColor USER true)
59  Q_PROPERTY(QColor ActionInvalidTextColor MEMBER myActionInvalidTextColor USER true)
60 
61  public:
62 
64  {
65  InvalidActionType = 0,
70  TargetPointType
71  };
72 
74  {
80  int markerId;
81  };
82 
83  //CTOR
84  DtTaskMoveAlongRouteWithActionsDialog(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags = 0);
85 
86  //DTOR
88 
90  virtual void setReverseDirection(bool);
91  virtual bool reverseDirection() const;
92 
94  virtual void setMoveToClosestVertex(bool);
95  virtual bool moveToClosestVertex() const;
96 
98  virtual void setAbandonIfTimeNotAchievable(bool);
99  virtual bool abandonIfTimeNotAchievable() const;
100 
101  virtual bool alwaysPopOut() const
102  {
103  return true;
104  }
105 
106  protected:
107  virtual QWidget* contents(const std::vector<makVrv::DtSimEntry*>& data);
108 
109  virtual void initializeItems(const std::vector<makVrv::DtSimEntry*>& data);
110 
111  virtual void sendRequest();
112 
113  virtual void routeSelected();
114 
115  virtual void setupStatement(const DtSimStatement*);
116  virtual void initializeSelectionFilters();
117  virtual void setupGui(const std::vector<makVrv::DtSimEntry*>& data);
118 
120  virtual void profileGraphReady();
121 
123  virtual void dataStatusChanged();
124 
126  virtual void dataRemoved();
127 
129  virtual void stateViewAboutToBeRemoved(const makVrv::DtStateView<makVrv::DtVrlinkSimulatedBaseState>&);
130 
132  virtual QTreeWidgetItem* insertNewActionAtLastClickedDatabaseLocation(const DtVector& location, ActionType actionType);
133 
135  virtual QTreeWidgetItem* insertNewActionOnRoute(ActionType actionType, int vertex, double fractionAfter, bool reorder = true);
136 
138  virtual QTreeWidgetItem* insertNewActionAtPlotLocation(ActionType actionType);
139 
141  virtual QTreeWidgetItem* insertNewActionAtListLocation(ActionType actionType);
142 
144  virtual void updateVerticesInList();
145 
147  virtual void reorderActions();
148 
150  virtual void calculateTimeEstimates();
151 
153  virtual void updateAfterReplot(int flags);
154 
156  virtual void createTemporaryRoute(makVrv::DtUniqueID);
157  virtual void removeTemporaryRoute();
158  virtual void slot_temporaryRouteCreationComplete(makVrv::DtUniqueID id);
159  virtual void updateTemporaryRoutePoints(int flags);
160 
161  virtual void hideSceneObject(bool);
162 
163  virtual void slot_contextMenuAboutToBeShown(QMenu*, const makVrv::DtSelectionManager::IdSet&);
164 
165  virtual bool eventFilter(QObject* o, QEvent*);
166 
167  virtual void completeActionMove(const DtVector&);
168  virtual void selectionChangedDuringMove();
169 
170  virtual void cleanupTaskSet(ActionInformation*);
171 
172  virtual void getRouteActions(DtRwRouteActionList& actionList, bool reversePositions = false) const;
173  virtual void getRouteVertices(DtVertexList& vertexList) const;
174 
176  virtual void createTimeEstimator(const std::vector <makVrv::DtSimEntry*> & data);
177 
179  virtual bool valid() const;
180 
181  time_t currentTimeOfDay() const;
182  time_t currentTimeOnTarget() const;
183  QTime toQTime(time_t t) const;
184 
185  protected slots:
186  virtual void reverseRoute();
187  virtual void reverseActions();
188 
189  virtual void editAction();
190  virtual void removeAction();
191  virtual void moveAction();
192 
193  virtual void actionSelectionChanged();
194 
195  virtual void vertexSelectedOnProfile(unsigned vertexIndex, unsigned buttonId);
196  virtual void routeMarkerSelected(unsigned markerId, unsigned buttonId);
197  virtual void routeMarkerMoved(unsigned markerId, unsigned afterVertex, double fractionAfter);
198  virtual void routeProfileClicked(unsigned afterVertex, double fractionAfter, unsigned buttonId);
199 
200  virtual void timeOnTargetSpecified(bool isSpecified);
201  virtual void timeOnTargetUpdated();
202 
203  virtual void routeProfileContextMenuRequested(QPoint);
204 
205  virtual void actionListContextMenuRequested(QPoint);
206 
207  virtual void slot_vertexSelected(int, bool);
208 
209  virtual int vertexIndex(QTreeWidgetItem*) const;
210  virtual void cancelMove();
211 
212  virtual void createTaskMenu();
213  virtual void createSetMenu();
214  virtual void setupFrom(const std::vector<makVrv::DtSimEntry*>& s);
215  virtual void finalizeMenuSetup(DtVrfTaskSetMenu* m);
216 
217  virtual void slot_addSetRequest(std::vector<DtUUID> names, const DtSetDataRequest& s);
218  virtual void slot_addTaskRequest(std::vector<DtUUID> names, const DtSimTask& s);
219  virtual void slot_onEditSetRequest(std::vector<DtUUID> names, const DtSetDataRequest& s);
220  virtual void slot_onEditTaskRequest(std::vector<DtUUID> names, const DtSimTask& t);
221 
222  virtual QTreeWidgetItem* insertNewAction(ActionType actionType);
223  virtual QString actionLabel(QTreeWidgetItem*) const;
224  virtual QString actionToolTip(QTreeWidgetItem*) const;
225 
226  virtual bool isTaskOrSet(QTreeWidgetItem* i) const;
227  virtual void slot_onDialogCreated();
228  virtual void slot_onDialogDestroyed();
229 
230  virtual void setupItem(QTreeWidgetItem* newItem, const DtSimTask& t);
231  virtual void setupItem(QTreeWidgetItem* newItem, const DtSetDataRequest& s);
232  virtual void restoreFromMovementTask();
233  virtual void selectCreatedAction();
234 
235  ActionInformation* actionInfoForItem(QTreeWidgetItem* item);
236  const ActionInformation* actionInfoForItem(const QTreeWidgetItem* item) const;
237  ActionInformation* createActionInfoForItem(QTreeWidgetItem* item);
238  void swapActionInfo(QTreeWidgetItem* item1, QTreeWidgetItem* item2);
239 
240  protected:
241 
248  QHBoxLayout* myTimeOnTargetLayout;
251 
252  std::vector<ActionInformation> myActionInformation;
253 
256 
259 
265 
271 
273 
274  unsigned myLabelCount;
275  QGridLayout* myGridLayout;
276 
278 
279  static const QString theNewTaskString;
280  static const QString theNewSetString;
281 
284 
290  boost::signals2::connection myStateViewConnection;
291  boost::signals2::connection myContextMenuConnection;
292  boost::signals2::connection myRouteVertexSelectedConnection;
293  boost::signals2::connection mySelectionConnection;
294 
298 
305  std::vector<makVrv::DtSimEntry*> myTasking;
310  unsigned myHoldMarkerId;
311 
321  };
322 
324  {
325  public:
326  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent);
327  bool supportsType(makVrv::DtDe&, const DtSimTaskMessageType&, const DtSimStatement*) const;
328  };
329 }
int markerId
Definition: taskMoveAlongRouteWithActionsDialog.h:80
UUID is a unique ID wrapper class.
Definition: rwUUID.h:226
QAction * myRemoveFromPlotAction
Definition: taskMoveAlongRouteWithActionsDialog.h:270
makVrv::DtUniqueID myRouteId
Definition: taskMoveAlongRouteWithActionsDialog.h:295
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:74
DtVector myRouteClickedLocation
Definition: taskMoveAlongRouteWithActionsDialog.h:303
Definition: vrfTaskSetMenu.h:51
std::vector< makVrv::DtSimEntry * > myTasking
Definition: taskMoveAlongRouteWithActionsDialog.h:305
DtMoveAlongRouteTimeEstimator * myEstimator
Definition: taskMoveAlongRouteWithActionsDialog.h:308
Definition: taskMoveAlongRouteWithActionsDialog.h:67
Performs time estimates for move along route with actions tasks. Based on settings for the entity&#39;s s...
Definition: moveAlongRouteTimeEstimator.h:50
Definition: taskMoveAlongRouteWithActionsDialog.h:51
boost::signals2::connection mySelectionConnection
Definition: taskMoveAlongRouteWithActionsDialog.h:293
unsigned myLabelCount
Definition: taskMoveAlongRouteWithActionsDialog.h:274
DtUUID myRouteUUID
Definition: taskMoveAlongRouteWithActionsDialog.h:296
bool myReverseDirectionFlag
Definition: taskMoveAlongRouteWithActionsDialog.h:289
Definition: rwRouteActionList.h:19
QMenu * myContextMenu
Definition: taskMoveAlongRouteWithActionsDialog.h:266
makVrv::DtSignalConnectionManager myMoveConnections
Definition: taskMoveAlongRouteWithActionsDialog.h:299
Definition: taskSetDialogInterface.h:84
Contains makVrv:DtSelectionManager class.
DtSimTask * task
Definition: taskMoveAlongRouteWithActionsDialog.h:78
makVrv::DtUniqueID myEntityToTask
Definition: taskMoveAlongRouteWithActionsDialog.h:277
DtMoveAlongWithActionsTask * myMovementTaskToRestore
Definition: taskMoveAlongRouteWithActionsDialog.h:306
bool myNeedHoldAndTargetPoints
Definition: taskMoveAlongRouteWithActionsDialog.h:287
boost::signals2::connection myRouteVertexSelectedConnection
Definition: taskMoveAlongRouteWithActionsDialog.h:292
QTreeWidgetItem * myHoldPointItem
Definition: taskMoveAlongRouteWithActionsDialog.h:257
QColor myPassedHoldPointTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:314
QGridLayout * myGridLayout
Definition: taskMoveAlongRouteWithActionsDialog.h:275
virtual bool alwaysPopOut() const
Always pop out, even if command dialog is active.
Definition: taskMoveAlongRouteWithActionsDialog.h:101
Definition: routeProfileWidget.h:19
bool myIgnoreSelection
Definition: taskMoveAlongRouteWithActionsDialog.h:285
bool myInMoveMode
Definition: taskMoveAlongRouteWithActionsDialog.h:297
QColor myPassedTimeOnTargetTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:316
QAction * myMoveAction
Definition: taskMoveAlongRouteWithActionsDialog.h:264
int vertexPosition
Definition: taskMoveAlongRouteWithActionsDialog.h:76
!!!!!!!!!!!!!!!!! DtMoveAlongWithActionsTask Move along task with a list of sets and tasks ...
Definition: moveAlongTasks.h:171
unsigned myHoldMarkerId
Definition: taskMoveAlongRouteWithActionsDialog.h:310
QCheckBox * myAbandonIfTimeNotAchievable
Definition: taskMoveAlongRouteWithActionsDialog.h:246
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
QPushButton * myReverseActionsButton
Definition: taskMoveAlongRouteWithActionsDialog.h:255
QTreeWidgetItem * myItemToSelectAfterRouteUpdate
Definition: taskMoveAlongRouteWithActionsDialog.h:307
static const QString theNewTaskString
Definition: taskMoveAlongRouteWithActionsDialog.h:279
makVrv::DtSignalConnectionManager myConnectionManager
Definition: taskMoveAlongRouteWithActionsDialog.h:300
QColor myNotPassedTimeOnTargetTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:317
ActionType actionType
Definition: taskMoveAlongRouteWithActionsDialog.h:75
class DtVertexList:
Definition: vertexList.h:22
QCheckBox * myMoveToClosestVertexCheckBox
Definition: taskMoveAlongRouteWithActionsDialog.h:247
QHBoxLayout * myTimeOnTargetLayout
Definition: taskMoveAlongRouteWithActionsDialog.h:248
DtDateTimeEntryWidget * myTimeOnTarget
Definition: taskMoveAlongRouteWithActionsDialog.h:245
Definition: taskMoveAlongRouteWithActionsDialog.h:66
Definition: taskMoveAlongRouteWithActionsDialog.h:69
QCheckBox * mySpecifyTimeOnTargetCheckBox
Definition: taskMoveAlongRouteWithActionsDialog.h:244
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
static const QString theNewSetString
Definition: taskMoveAlongRouteWithActionsDialog.h:280
QAction * myEditAction
Definition: taskMoveAlongRouteWithActionsDialog.h:262
ActionType
Definition: taskMoveAlongRouteWithActionsDialog.h:63
Class that is used as a template for task/set dialogs.
Definition: taskSetDialogInterface.h:46
DtVrfTaskSetMenu * mySetMenu
Definition: taskMoveAlongRouteWithActionsDialog.h:302
QDialog * myMoveDialog
Definition: taskMoveAlongRouteWithActionsDialog.h:272
QAction * myInsertSetAction
Definition: taskMoveAlongRouteWithActionsDialog.h:261
Contains the makVrf::DtTerrainProfileDataStateView class. This class will contain and provide data fo...
Definition: terrainProfileDataEnvironmentalStateView.h:22
Definition: baseFilteredListViewTaskSetDialog.h:35
QHBoxLayout * myAbandonIfTimeNotAchievableLayout
Definition: taskMoveAlongRouteWithActionsDialog.h:249
QAction * myEditFromPlotAction
Definition: taskMoveAlongRouteWithActionsDialog.h:269
Definition: taskMoveAlongRouteWithActionsDialog.h:323
QPoint myRouteProfileClickedLocation
Definition: taskMoveAlongRouteWithActionsDialog.h:304
DtVrfTaskSetMenu * myTaskMenu
Definition: taskMoveAlongRouteWithActionsDialog.h:301
DtRouteProfileWidget * myRouteProfile
Definition: taskMoveAlongRouteWithActionsDialog.h:242
Base class to provide boost signal/slot management.
class DtSimStatement:
Definition: simStatement.h:38
QTreeWidgetItem * myTargetPointItem
Definition: taskMoveAlongRouteWithActionsDialog.h:258
unsigned myTargetMarkerId
Definition: taskMoveAlongRouteWithActionsDialog.h:309
DtSimTask is an abstract base class from which real tasks can derive. It manages the read/write capab...
Definition: simTask.h:30
DtSetDataRequest * set
Definition: taskMoveAlongRouteWithActionsDialog.h:79
QAction * myInsertTaskAction
Definition: taskMoveAlongRouteWithActionsDialog.h:260
DtEnvironmentalFacadeCollection * myRoute
Definition: taskMoveAlongRouteWithActionsDialog.h:283
QLabel * myEndTimeLabel
Definition: taskMoveAlongRouteWithActionsDialog.h:250
std::vector< ActionInformation > myActionInformation
Definition: taskMoveAlongRouteWithActionsDialog.h:252
DtTerrainProfileDataEnvironmentalStateView * myDataProvider
Definition: taskMoveAlongRouteWithActionsDialog.h:282
QAction * myRemoveAction
Definition: taskMoveAlongRouteWithActionsDialog.h:263
double fractionalPosition
Definition: taskMoveAlongRouteWithActionsDialog.h:77
boost::signals2::connection myStateViewConnection
Definition: taskMoveAlongRouteWithActionsDialog.h:290
QColor myActionInvalidTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:319
boost::signals2::connection myContextMenuConnection
Definition: taskMoveAlongRouteWithActionsDialog.h:291
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
QTreeWidget * myActionsList
Definition: taskMoveAlongRouteWithActionsDialog.h:243
QColor myActionValidTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:318
QColor myNotPassedHoldPointTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:315
QPushButton * myReverseRouteButton
Definition: taskMoveAlongRouteWithActionsDialog.h:254
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
bool myChangeRouteVertexSelection
Definition: taskMoveAlongRouteWithActionsDialog.h:286
Widget that allows users to enter date/time values. The date/time will be shown in the currently sele...
Definition: dateTimeEntryWidget.h:26
int myPartOfPlanDialog
This is set to 4 to show the additional checkbox field in set ordered speed action.
Definition: taskMoveAlongRouteWithActionsDialog.h:268
bool myProcessDataStatusChangeNeeded
Definition: taskMoveAlongRouteWithActionsDialog.h:288
Definition: taskMoveAlongRouteWithActionsDialog.h:68
Definition: taskMoveAlongRouteWithActionsDialog.h:73

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)