VR-Forces Development_Version Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfBatchScenarioManager.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 
17 #include <vrvUtil/signalslib.h>
18 #include <vrvCore/DtDe.h>
19 
20 #include <vlutil/vlFilename.h>
21 
22 #include <boost/signal.hpp>
23 
24 #include <QtCore/QString>
25 
26 class QWidget;
27 class QString;
29 class QFileDialog;
30 class DtScenario;
31 
32 namespace makVrv
33 {
34  class DtDe;
35 }
36 
37 namespace makVrf
38 {
39  class DtVrfScenarioRemapFunction;
40 
43  {
44  public:
46  enum State
47  {
56  };
57 
58  public:
60  virtual ~DtVrfBatchScenarioManager();
61 
63  static DtVrfBatchScenarioManager& instance(makVrv::DtDe& de);
64 
65  public:
66 
68  virtual void loadBatchScenario(QWidget*);
69  virtual QFileDialog* createLoadBatchScenarioDialog(QWidget*);
70  virtual bool loadBatchScenario(const QString& batch);
71 
73  virtual bool runBatch();
74 
75  bool isBatchRunning() const
76  {
77  return myRunning;
78  }
79 
80  DtScenarioBatchIterator* batchIterator() const
81  {
82  return myBatchIterator;
83  }
84 
85  bool runningBatchScenario() const
86  {
87  return (batchIterator() != 0);
88  }
89 
92  virtual void nextScenarioRun();
93 
96  virtual void nextScenario();
97 
99  virtual bool close();
100 
101  public:
102  boost::signal<void ()> signal_stateRunStart;
103 
105  boost::signal<void ()> signal_nextRunAboutToStart;
106 
108  boost::signal<void ()> signal_batchRunComplete;
109 
110  boost::signal<void ()> signal_errorLoadingScenario;
111 
113  boost::signal<void ()> signal_scenarioRunComplete;
114 
115  protected:
116  virtual void tick();
117 
118  protected:
120  virtual void idle();
121 
123  virtual void startNextBatchScenario();
124 
127  virtual void loading();
128 
131  virtual void running();
132 
135  virtual double currentSimulationTime() const;
136 
137  virtual DtFilename constructLoggerFilename(const DtScenario* scenario);
138 
140  virtual void allBackendsClosed();
141 
143  virtual void loadScenarioError(const std::string& error, bool showMessage = true);
144 
145  protected:
147  virtual void slot_scenarioLoadComplete();
148 
149  virtual void slot_windowTitleAboutToBeSet(QString&);
150 
151  virtual void setMainWindowTitle(const QString&);
152 
153  protected:
156  QString myBatchFile;
157  bool myRunning;
163  };
164 }

Document ID: Generated on Tue Mar 8 22:13:38 EST 2016 from SVN revision 162938
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)