VR-Forces 4.10 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
askIfCanTask.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
9 #pragma once
10 
11 #if !defined(Q_MOC_RUN)
12 #include <vrvUtil/signalslib.h>
16 #include <vrfutil/rwUUID.h>
17 
19 #endif
20 
21 #include <vector>
22 #include <string>
23 #include <map>
24 
25 #include <QDialog>
26 #include <QTime>
27 
28 class DtSimTask;
29 class QWidget;
30 class QTimer;
31 class QLabel;
32 class QPushButton;
33 
34 namespace makVrv
35 {
36  class DtDe;
37 }
38 
39 namespace makVrf
40 {
44  {
45  Q_OBJECT
46 
47  public:
48  DtAskIfCanTaskDialog(makVrv::DtDe&, QWidget* parent);
49 
50  virtual ~DtAskIfCanTaskDialog();
51 
53  virtual std::vector<DtUUID> askIfCanTask(const std::vector<DtUUID>& names, const DtSimTask& newTask);
54 
56  virtual int exec();
57 
58  protected:
60  virtual void setupGui();
61 
63  virtual void receiveCurrentTasks(const DtUUID&, const DtVrfCurrentTaskManager::EntityTaskInformation&);
64 
67 
69  virtual void timeout();
70 
71  protected slots:
73  virtual void askToTask();
74 
76  virtual void timerCheck();
77 
79  virtual void hideMe();
80 
82  virtual bool shouldInterruptTask(DtVrfVrlinkDataInterfacePtr);
83 
85  virtual bool shouldAbandonPlan(DtVrfVrlinkDataInterfacePtr);
86 
87  public:
88  QWidget* myWaitingFrame;
91 
92  protected:
94  QVector<DtUUID> myAskingToTask;
95  std::vector<DtUUID> myToTask;
97 
98  typedef std::map<DtUUID, QString> NeedToAskMap;
100 
101  QTimer* myCheckTimer;
103 
106 
107  QRect myGeometry;
108  };
109 
114  {
115  public:
117 
119  virtual ~DtAskIfCanTask();
120 
121  static DtAskIfCanTask& instance(makVrv::DtDe&);
122  static void registerInstance(makVrv::DtDe&, DtAskIfCanTask *);
123 
127  virtual std::vector<DtUUID> askIfCanTask(const std::vector<DtUUID>& names, const DtSimTask& newTask);
128 
129  protected:
130  virtual DtAskIfCanTaskDialog* createAskToTaskDialog(QWidget* parent);
131 
132  protected:
134  };
135 }
UUID is a unique ID wrapper class.
Definition: rwUUID.h:222
QTimer * myCheckTimer
Definition: askIfCanTask.h:101
Virtual base class.
Definition: DtVirtualBaseClass.h:19
QTime myElapsedTimer
Definition: askIfCanTask.h:102
makVrv::DtDe & myDe
Definition: askIfCanTask.h:93
Dialog that will present the names of the tasks/plans to be interrupted.
Definition: askIfCanTask.h:43
std::vector< DtUUID > myToTask
Definition: askIfCanTask.h:95
DtBoost::shared_ptr< DtVrfVrlinkDataInterface > DtVrfVrlinkDataInterfacePtr
Definition: vrfVrlinkDataInterface.h:167
makVrv::DtDe & myDe
Definition: askIfCanTask.h:133
NeedToAskMap myNeedToAsk
Definition: askIfCanTask.h:99
Contains makVrf::DtAskIfCanTask class.
Definition: askIfCanTask.h:113
QPushButton * myCancel
Definition: askIfCanTask.h:90
QVector< DtUUID > myAskingToTask
Definition: askIfCanTask.h:94
Contains makVrv::DtVirtualBaseClass class.
std::map< DtUUID, QString > NeedToAskMap
Definition: askIfCanTask.h:98
QWidget * myWaitingFrame
Definition: askIfCanTask.h:88
QRect myGeometry
Definition: askIfCanTask.h:107
DtSimTask is an abstract base class from which real tasks can derive.
Definition: simTask.h:31
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
int mySelectedInterruptAll
Definition: askIfCanTask.h:104
DtSimTask * myNewTask
Definition: askIfCanTask.h:96
#define DT_DLL_VRFGUITASKSETQT
Definition: vrfGuiTaskSetQt.h:22
QLabel * myWaitingLabel
Definition: askIfCanTask.h:89
std::vector< TaskInformation > EntityTaskInformation
Definition: vrfCurrentTaskManager.h:55
DtBoost::shared_ptr< DtSimTask > DtSimTaskSharedPtr
Definition: vrfCurrentTaskManager.h:39
int mySelectedAbandonAll
Definition: askIfCanTask.h:105

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)