VR-Forces 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  ;
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
87  virtual ~DtTaskMoveAlongRouteWithActionsDialog() override;
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 override {
102  return true;
103  }
104 
105  protected:
106  virtual QWidget* contents(const std::set<makVrv::DtUniqueID>& data) override;
107 
108  virtual void initializeItems(const std::set<makVrv::DtUniqueID>& data) override;
109 
110  virtual void sendRequest() override;
111 
112  virtual void routeSelected();
113 
114  virtual void setupStatement(const DtSimStatement*) override;
115  virtual void initializeSelectionFilters() override;
116  virtual void setupGui(const std::set<makVrv::DtUniqueID>& data) override;
117 
119  virtual void profileGraphReady();
120 
122  virtual void dataStatusChanged();
123 
125  virtual void dataRemoved();
126 
128  virtual void stateViewAboutToBeRemoved(DtSimObjectReference);
129 
131  virtual QTreeWidgetItem* insertNewActionAtLastClickedDatabaseLocation(const DtVector& location, ActionType actionType);
132 
134  virtual QTreeWidgetItem* insertNewActionOnRoute(ActionType actionType, int vertex, double fractionAfter, bool reorder = true);
135 
137  virtual QTreeWidgetItem* insertNewActionAtPlotLocation(ActionType actionType);
138 
140  virtual QTreeWidgetItem* insertNewActionAtListLocation(ActionType actionType);
141 
143  virtual void updateVerticesInList();
144 
146  virtual void reorderActions();
147 
149  virtual void calculateTimeEstimates();
150 
152  virtual void updateAfterReplot(int flags);
153 
155  virtual void createTemporaryRoute(makVrv::DtUniqueID);
156  virtual void removeTemporaryRoute();
157  virtual void slot_temporaryRouteCreationComplete(makVrv::DtUniqueID id);
158  virtual void updateTemporaryRoutePoints(int flags);
159 
160  virtual void hideSceneObject(bool);
161 
162  virtual void slot_contextMenuAboutToBeShown(QMenu*, const makVrv::DtSelectionManager::IdSet&);
163 
164  virtual bool eventFilter(QObject* o, QEvent*) override;
165 
166  virtual void completeActionMove(const DtVector&);
167  virtual void selectionChangedDuringMove();
168 
169  virtual void cleanupTaskSet(ActionInformation*);
170 
171  virtual void getRouteActions(DtRwRouteActionList& actionList, bool reversePositions = false) const;
172  virtual void getRouteVertices(DtVertexList& vertexList) const;
173 
175  virtual void createTimeEstimator(const std::set<makVrv::DtUniqueID> & data);
176 
178  virtual bool valid() const override;
179 
180  time_t currentTimeOfDay() const;
181  time_t currentTimeOnTarget() const;
182  QTime toQTime(time_t t) const;
183 
184  protected slots:
185  virtual void reverseRoute();
186  virtual void reverseActions();
187 
188  virtual void editAction();
189  virtual void removeAction();
190  virtual void moveAction();
191 
192  virtual void actionSelectionChanged();
193 
194  virtual void vertexSelectedOnProfile(unsigned vertexIndex, unsigned buttonId);
195  virtual void routeMarkerSelected(unsigned markerId, unsigned buttonId);
196  virtual void routeMarkerMoved(unsigned markerId, unsigned afterVertex, double fractionAfter);
197  virtual void routeProfileClicked(unsigned afterVertex, double fractionAfter, unsigned buttonId);
198 
199  virtual void timeOnTargetSpecified(bool isSpecified);
200  virtual void timeOnTargetUpdated();
201 
202  virtual void routeProfileContextMenuRequested(QPoint);
203 
204  virtual void actionListContextMenuRequested(QPoint);
205 
206  virtual void slot_vertexSelected(int, bool);
207 
208  virtual int vertexIndex(QTreeWidgetItem*) const;
209  virtual void cancelMove();
210 
211  virtual void createTaskMenu();
212  virtual void createSetMenu();
213  virtual void setupFrom(const std::set<makVrv::DtUniqueID>& s) override;
214  virtual void finalizeMenuSetup(DtVrfTaskSetMenu* m);
215 
216  virtual void slot_addSetRequest(std::vector<DtUUID> names, const DtSetDataRequest& s);
217  virtual void slot_addTaskRequest(std::vector<DtUUID> names, const DtSimTask& s);
218  virtual void slot_onEditSetRequest(std::vector<DtUUID> names, const DtSetDataRequest& s);
219  virtual void slot_onEditTaskRequest(std::vector<DtUUID> names, const DtSimTask& t);
220 
221  virtual QTreeWidgetItem* insertNewAction(ActionType actionType);
222  virtual QString actionLabel(QTreeWidgetItem*) const;
223  virtual QString actionToolTip(QTreeWidgetItem*) const;
224 
225  virtual bool isTaskOrSet(QTreeWidgetItem* i) const;
226  virtual void slot_onDialogCreated();
227  virtual void slot_onDialogDestroyed();
228 
229  virtual void setupItem(QTreeWidgetItem* newItem, const DtSimTask& t);
230  virtual void setupItem(QTreeWidgetItem* newItem, const DtSetDataRequest& s);
231  virtual void restoreFromMovementTask();
232  virtual void selectCreatedAction();
233 
234  ActionInformation* actionInfoForItem(QTreeWidgetItem* item);
235  const ActionInformation* actionInfoForItem(const QTreeWidgetItem* item) const;
236  ActionInformation* createActionInfoForItem(QTreeWidgetItem* item);
237  void swapActionInfo(QTreeWidgetItem* item1, QTreeWidgetItem* item2);
238 
239  protected:
240 
247  QHBoxLayout* myTimeOnTargetLayout;
250 
251  std::vector<ActionInformation> myActionInformation;
252 
255 
258 
264 
270 
272 
273  unsigned myLabelCount;
274  QGridLayout* myGridLayout;
275 
277 
278  static const QString theNewTaskString;
279  static const QString theNewSetString;
280 
283 
289  boost::signals2::connection myStateViewConnection;
290  boost::signals2::connection myContextMenuConnection;
291  boost::signals2::connection myRouteVertexSelectedConnection;
292  boost::signals2::connection mySelectionConnection;
293 
297 
304  std::set<makVrv::DtUniqueID> myTasking;
309  unsigned myHoldMarkerId;
310 
320  };
321 
323  {
324  public:
325  virtual DtTaskSetDialogInterface* create(makVrv::DtDe&, QWidget* parent) override;
326  virtual bool supportsType(makVrv::DtDe&, const DtSimTaskMessageType&, const DtSimStatement*) const override;
327  };
328 }
int markerId
Definition: taskMoveAlongRouteWithActionsDialog.h:80
UUID is a unique ID wrapper class.
Definition: uuid.h:59
QAction * myRemoveFromPlotAction
Definition: taskMoveAlongRouteWithActionsDialog.h:269
makVrv::DtUniqueID myRouteId
Definition: taskMoveAlongRouteWithActionsDialog.h:294
class DtEnvironmentalFacadeCollection
Definition: environmentalFacadeCollection.h:76
DtVector myRouteClickedLocation
Definition: taskMoveAlongRouteWithActionsDialog.h:302
Definition: vrfTaskSetMenu.h:50
DtMoveAlongRouteTimeEstimator * myEstimator
Definition: taskMoveAlongRouteWithActionsDialog.h:307
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:292
unsigned myLabelCount
Definition: taskMoveAlongRouteWithActionsDialog.h:273
DtUUID myRouteUUID
Definition: taskMoveAlongRouteWithActionsDialog.h:295
bool myReverseDirectionFlag
Definition: taskMoveAlongRouteWithActionsDialog.h:288
Definition: rwRouteActionList.h:19
QMenu * myContextMenu
Definition: taskMoveAlongRouteWithActionsDialog.h:265
makVrv::DtSignalConnectionManager myMoveConnections
Definition: taskMoveAlongRouteWithActionsDialog.h:298
Definition: taskSetDialogInterface.h:82
Contains makVrv:DtSelectionManager class.
DtSimTask * task
Definition: taskMoveAlongRouteWithActionsDialog.h:78
makVrv::DtUniqueID myEntityToTask
Definition: taskMoveAlongRouteWithActionsDialog.h:276
DtMoveAlongWithActionsTask * myMovementTaskToRestore
Definition: taskMoveAlongRouteWithActionsDialog.h:305
bool myNeedHoldAndTargetPoints
Definition: taskMoveAlongRouteWithActionsDialog.h:286
boost::signals2::connection myRouteVertexSelectedConnection
Definition: taskMoveAlongRouteWithActionsDialog.h:291
QTreeWidgetItem * myHoldPointItem
Definition: taskMoveAlongRouteWithActionsDialog.h:256
QColor myPassedHoldPointTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:313
QGridLayout * myGridLayout
Definition: taskMoveAlongRouteWithActionsDialog.h:274
Definition: routeProfileWidget.h:19
bool myIgnoreSelection
Definition: taskMoveAlongRouteWithActionsDialog.h:284
bool myInMoveMode
Definition: taskMoveAlongRouteWithActionsDialog.h:296
QColor myPassedTimeOnTargetTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:315
QAction * myMoveAction
Definition: taskMoveAlongRouteWithActionsDialog.h:263
int vertexPosition
Definition: taskMoveAlongRouteWithActionsDialog.h:76
!!!!!!!!!!!!!!!!! DtMoveAlongWithActionsTask Move along task with a list of sets and tasks ...
Definition: moveAlongTasks.h:192
unsigned myHoldMarkerId
Definition: taskMoveAlongRouteWithActionsDialog.h:309
QCheckBox * myAbandonIfTimeNotAchievable
Definition: taskMoveAlongRouteWithActionsDialog.h:245
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:254
QTreeWidgetItem * myItemToSelectAfterRouteUpdate
Definition: taskMoveAlongRouteWithActionsDialog.h:306
static const QString theNewTaskString
Definition: taskMoveAlongRouteWithActionsDialog.h:278
makVrv::DtSignalConnectionManager myConnectionManager
Definition: taskMoveAlongRouteWithActionsDialog.h:299
QColor myNotPassedTimeOnTargetTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:316
ActionType actionType
Definition: taskMoveAlongRouteWithActionsDialog.h:75
class DtVertexList:
Definition: vertexList.h:22
QCheckBox * myMoveToClosestVertexCheckBox
Definition: taskMoveAlongRouteWithActionsDialog.h:246
QHBoxLayout * myTimeOnTargetLayout
Definition: taskMoveAlongRouteWithActionsDialog.h:247
DtDateTimeEntryWidget * myTimeOnTarget
Definition: taskMoveAlongRouteWithActionsDialog.h:244
Definition: taskMoveAlongRouteWithActionsDialog.h:66
Definition: taskMoveAlongRouteWithActionsDialog.h:69
QCheckBox * mySpecifyTimeOnTargetCheckBox
Definition: taskMoveAlongRouteWithActionsDialog.h:243
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
static const QString theNewSetString
Definition: taskMoveAlongRouteWithActionsDialog.h:279
QAction * myEditAction
Definition: taskMoveAlongRouteWithActionsDialog.h:261
ActionType
Definition: taskMoveAlongRouteWithActionsDialog.h:63
Class that is used as a template for task/set dialogs.
Definition: taskSetDialogInterface.h:44
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
DtVrfTaskSetMenu * mySetMenu
Definition: taskMoveAlongRouteWithActionsDialog.h:301
QDialog * myMoveDialog
Definition: taskMoveAlongRouteWithActionsDialog.h:271
QAction * myInsertSetAction
Definition: taskMoveAlongRouteWithActionsDialog.h:260
Contains the makVrf::DtTerrainProfileDataStateView class. This class will contain and provide data fo...
Definition: terrainProfileDataEnvironmentalStateView.h:21
Definition: baseFilteredListViewTaskSetDialog.h:34
QHBoxLayout * myAbandonIfTimeNotAchievableLayout
Definition: taskMoveAlongRouteWithActionsDialog.h:248
QAction * myEditFromPlotAction
Definition: taskMoveAlongRouteWithActionsDialog.h:268
Definition: taskMoveAlongRouteWithActionsDialog.h:322
QPoint myRouteProfileClickedLocation
Definition: taskMoveAlongRouteWithActionsDialog.h:303
DtVrfTaskSetMenu * myTaskMenu
Definition: taskMoveAlongRouteWithActionsDialog.h:300
DtRouteProfileWidget * myRouteProfile
Definition: taskMoveAlongRouteWithActionsDialog.h:241
Base class to provide boost signal/slot management.
class DtSimStatement:
Definition: simStatement.h:38
QTreeWidgetItem * myTargetPointItem
Definition: taskMoveAlongRouteWithActionsDialog.h:257
unsigned myTargetMarkerId
Definition: taskMoveAlongRouteWithActionsDialog.h:308
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:259
DtEnvironmentalFacadeCollection * myRoute
Definition: taskMoveAlongRouteWithActionsDialog.h:282
QLabel * myEndTimeLabel
Definition: taskMoveAlongRouteWithActionsDialog.h:249
std::vector< ActionInformation > myActionInformation
Definition: taskMoveAlongRouteWithActionsDialog.h:251
DtTerrainProfileDataEnvironmentalStateView * myDataProvider
Definition: taskMoveAlongRouteWithActionsDialog.h:281
QAction * myRemoveAction
Definition: taskMoveAlongRouteWithActionsDialog.h:262
double fractionalPosition
Definition: taskMoveAlongRouteWithActionsDialog.h:77
boost::signals2::connection myStateViewConnection
Definition: taskMoveAlongRouteWithActionsDialog.h:289
QColor myActionInvalidTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:318
boost::signals2::connection myContextMenuConnection
Definition: taskMoveAlongRouteWithActionsDialog.h:290
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
QTreeWidget * myActionsList
Definition: taskMoveAlongRouteWithActionsDialog.h:242
virtual bool alwaysPopOut() const override
Always pop out, even if command dialog is active.
Definition: taskMoveAlongRouteWithActionsDialog.h:101
QColor myActionValidTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:317
QColor myNotPassedHoldPointTextColor
Colors set in style sheet.
Definition: taskMoveAlongRouteWithActionsDialog.h:314
QPushButton * myReverseRouteButton
Definition: taskMoveAlongRouteWithActionsDialog.h:253
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
std::set< DtUniqueID > IdSet
Definition: DtSelectionManager.h:32
bool myChangeRouteVertexSelection
Definition: taskMoveAlongRouteWithActionsDialog.h:285
Widget that allows users to enter date/time values. The date/time will be shown in the currently sele...
Definition: dateTimeEntryWidget.h:26
std::set< makVrv::DtUniqueID > myTasking
Definition: taskMoveAlongRouteWithActionsDialog.h:304
int myPartOfPlanDialog
This is set to 4 to show the additional checkbox field in set ordered speed action.
Definition: taskMoveAlongRouteWithActionsDialog.h:267
bool myProcessDataStatusChangeNeeded
Definition: taskMoveAlongRouteWithActionsDialog.h:287
Definition: taskMoveAlongRouteWithActionsDialog.h:68
Definition: taskMoveAlongRouteWithActionsDialog.h:73

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)