VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
commonScenarioManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2020 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
7 
8 #pragma once
9 
10 #if !defined(Q_MOC_RUN)
13 
15 #include <vrfGuiCore/vrfMenu.h>
19 #include <vrvCore/DtUniqueID.h>
22 
25 
27 
28 #include <vrfutil/scenario.h>
31 #include <vrfutil/stealthCommand.h>
32 #include <vlutil/vlPerformanceStats.h>
33 #endif
34 
35 #include <boost/signals2.hpp>
36 
37 #include <QtCore/QVector>
38 #include <QtCore/QFileInfo>
39 #include <QtCore/QEvent>
40 #include <QtWidgets/QDialog>
41 
43 #include <QtCore/qnamespace.h>
44 
45 class QLabel;
46 class DtScenario;
47 class DtScenarioExplorer;
48 class QFileDialog;
49 class DtSimMessage;
50 class DtIfServerMessage;
51 class DtModelSetEntry;
52 class QTranslator;
55 class QWidget;
56 
57 namespace makArchives
58 {
59  class DtTerrainOperationRecord;
60  class DtTerrainRecord;
61 }
62 
63 namespace makVrv
64 {
65  class DtRecordSettingsBackupInterface;
66  class DtMenuConfiguration;
67  class DtDe;
68 }
69 
70 #define DtFavoritesTopLevelIconRank -99999
71 #define DtRecentTopLevelIconRank 99998
72 
73 namespace makVrf
74 {
75  class DtUnifiedControlToolbarConfiguration;
76  class DtFileCommChannel;
77  class DtVrfScenarioRemapFunction;
78  class DtVrfSimBackendManager;
79  class DtVrfBackendState;
80  class DtNeverAskAgainMessageBox;
81  class DtSessionStatusBox;
82  class DtSessionStartupDialog;
83  class DtSubMenuConfiguration;
84  class DtVrfModelSetManager;
85 
88  {
89  public:
92 
93  virtual ~DtVrfGuiRecentScenarios();
94 
95  virtual DtVrfGuiApplicationSetting* clone() const;
96 
97  const std::vector<std::string> recentScenarios() const
98  {
99  return myRecentScenarios;
100  }
101 
102  int maxSize() const
103  {
104  return myMaxSize;
105  }
106 
108  void setMaxSize(int);
109 
110  void insertScenario(const std::string&, int pos = -1);
111  int removeScenario(const std::string&);
112 
113  virtual std::string classType() const;
114 
115  protected:
116  friend class boost::serialization::access;
117 
118  virtual void write(boost::archive::xml_oarchive& out, const unsigned int);
119  virtual void read(boost::archive::xml_iarchive& in, const unsigned int);
120 
121  protected:
122  std::vector<std::string> myRecentScenarios;
123  unsigned int myMaxSize;
124  };
125 
128  {
129  Q_OBJECT
130 
131  public:
132  friend class DtSessionStatusBox;
133 
135  {
143  DtTerrainActionWaitingToJoin
144  };
145 
147  {
148  Loading = 0x00000001,
149  Saving = 0x00000002,
150  Closing = 0x00000004,
151  Importing = 0x00000008,
152  CreatingSimulationObjectGroup = 0x00000010,
153  Reinitializing = 0x00000020,
154  AllStatusDialogs = Loading | Saving | Closing | Importing | CreatingSimulationObjectGroup | Reinitializing
155  };
156 
157  public:
158  static const QEvent::Type LoadScenarioFromDialogEventType = (QEvent::Type)(QEvent::User + 302);
159  static const QEvent::Type LoadScenarioFromScenarioInformationEventType = (QEvent::Type)(QEvent::User + 303);
160 
162  {
163  public:
168  };
169 
171  {
172  public:
173  LoadScenarioFromDialogEvent(const DtString& s, bool useDefault);
174  virtual ~LoadScenarioFromDialogEvent();
175 
178  };
179 
180  public:
182  virtual ~DtCommonScenarioManager();
183 
185  static DtCommonScenarioManager& instance(makVrv::DtDe& de);
186 
188  static void init(makVrv::DtDe&);
189 
191  {
192  return myExplorer;
193  }
194 
195  const std::vector<DtEntityMapperKey>& controlObjects() const
196  {
197  return myControlObjectTypes;
198  }
199 
201  {
202  return myLoadingSessionTerrain;
203  }
204 
206  {
207  return mySimulationObjectGroupEditingMode;
208  }
209 
210  virtual void addControlObject(const DtEntityMapperKey& key);
211  virtual void removeControlObject(const DtEntityMapperKey& key);
212  virtual void clearControlObjects();
213 
214  virtual bool isControlObject(const DtEntityMapperKey& key) const;
215 
221  virtual bool wantsToSaveTerrain(bool& ignoredModifications);
222 
224  virtual bool saveGuiTerrain(bool askForName = false);
225 
227  virtual bool saveSimTerrain(bool askForName = false);
228 
230  bool importingScenario() const { return myImportingScenario; };
231 
234  virtual bool generateNavigationArea(makVrv::DtUniqueID);
235 
238  virtual bool regenerateNavigationAreas(bool);
239 
241  virtual DtFilename loadingScenarioFile() const;
242 
244  virtual void goToAerodrome(const std::string&);
245 
247  virtual std::string language() const;
248 
249  virtual void loadScenarioFromSessionDialog(QWidget*);
250 
253  virtual void closeScenario(bool resetScenario = true, const DtFilename& databaseToOpen = "", bool forceCloseAll = false);
254  virtual bool loadScenario(std::string, DtVrfScenarioRemapFunction* remapping = 0);
255  virtual bool loadScenario(const DtScenarioLoadInformation& s);
256  virtual bool importScenario(const DtScenarioLoadInformation& s);
257  virtual void runScenario();
258  virtual void pauseScenario();
259  virtual void postSaveLoadFromSession(QWidget* p);
260 
263  virtual bool rewindScenario(double toSimTime = -1);
264 
269  virtual void setCreateMenuBuilderFlags(int);
270  virtual int createMenuBuilderFlags() const;
271 
273  virtual void loadBatchScenario(QWidget* p);
274 
276  virtual void tickedLoadScenario(const DtString& scenario = "", bool useDefaultRemappingFunction = false);
277 
282  virtual void setHelpFile(const std::string&, bool save = false);
283  virtual std::string helpFile() const;
284 
287  virtual void setDefaultScenarioFile(const std::string& f, bool save = false);
288  virtual std::string defaultScenarioFile() const;
289 
291  virtual void setSimulationObjectGroupTerrain(const std::string& f, bool save = false);
292  virtual std::string simulationObjectGroupTerrain() const;
293 
297  virtual void setDefaultSimulationModelSetFile(const std::string& f, bool save = false);
298  virtual std::string defaultSimulationModelSetFile() const;
299 
302  virtual void rebuildCreateMenu(bool recreate = true);
303 
305  virtual void reloadVisuals();
306 
308  virtual DtString scenarioSaveExtension(bool includesDot = true) const;
309 
313  virtual void recreateCreateMenu();
314 
316  virtual void cleanupBackupFile(double simTime) const;
317 
319  virtual void loadTaskMenu(const DtScenarioExplorer& explorer);
320 
322  virtual void loadUnifiedControlToolbar(const DtScenarioExplorer& explorer);
323 
325  virtual void loadSetMenu(const DtScenarioExplorer& explorer);
326 
329  virtual void removeSimulationObjectGroupTasksSets(const DtScenarioExplorer& explorer);
330 
333  virtual DtFilename saveScenarioName(bool askIfDoesNotExist = true, bool* asked = 0, bool createDefaultIfEmpty = false,
334  bool useScenarioNameAsSeed = true) const;
335 
338  {
339  return mySimulationObjectsCategoryInformation;
340  }
341 
343  {
344  return mySimulationObjectsCategoryInformation;
345  }
346 
348  virtual void setupWindowTitleBasedOnScenario();
349 
352  virtual makArchives::DtObserverStateRecordsList scenarioObserverViews() const;
353  virtual void setScenarioObserverViews(const makArchives::DtObserverStateRecordsList&) const;
355 
360  virtual void newScenario(const std::string&, const std::string& sms = "");
361 
371  virtual bool joinSession(DtJoinSessionTerrainAction terrainAction = DtTerrainActionUseSessionTerrain);
372 
373  virtual void resignSession(bool closeTerrain = true);
374 
375  virtual bool saveScenarioAs();
376 
379  virtual int saveScenario();
380 
381  virtual bool canRewind() const;
382 
386  {
387  myValidateForVrfObjects = b;
388  }
389 
391  {
392  return myValidateForVrfObjects;
393  }
394 
395  virtual void setScenarioDirty(bool b);
396 
397  void setReadyToQuit(bool b)
398  {
399  myReadyToQuit = b;
400  }
401 
402  bool scenarioDirty() const
403  {
404  return myScenarioDirty;
405  }
406 
407  const DtScenario* scenario() const
408  {
409  return myScenario;
410  }
411 
413  {
414  myAskSaveIfScenarioModified = b;
415  }
416 
418  {
419  return myAskSaveIfScenarioModified;
420  }
421 
422  bool joinedToSession() const
423  {
424  return myJoinedToSession;
425  }
426 
428  {
429  myDisplayExistingGdbWarningMessage = b;
430  }
431 
433  {
434  return myDisplayExistingGdbWarningMessage;
435  }
436 
437  virtual void setCorrelated(bool);
438 
439  bool correlated() const
440  {
441  return myCorrelated;
442  }
443 
445  {
446  return myMenu;
447  }
448 
449  bool initialized() const
450  {
451  return myInitialized;
452  }
453 
455  {
456  return myDeadReckoningSettings;
457  }
458 
460  {
461  myAllowEditingOnScenarioJoin = b;
462  }
463 
465  {
466  return myAllowEditingOnScenarioJoin;
467  }
468 
469  virtual std::string currentlyLoadedTerrain() const;
470 
471  virtual void processJoinSession(bool startupMessage = false);
472 
473  virtual void setFromRecord(const DtVrfScriptedTaskSettingsRecord& rec);
474  virtual void loadDefaultScriptedTaskSettings(bool loadOnlyFactorySettings = false);
475  virtual void saveScriptedTaskSettingsAsDefaults();
476  virtual void getRecord(DtVrfScriptedTaskSettingsRecord& rec) const;
477 
480  virtual void getSplitRecord(std::vector<DtVrfScriptedTaskSettingsRecord>& rec,
481  std::vector<std::string>& fileNames) {};
482 
486  DtVrfScriptedTaskSettingsRecord& combinedRec) {};
487 
490  virtual bool autoJoinSession() const;
491  virtual bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
492  virtual bool askToJoin() const;
493  virtual bool alwaysJoinWithSessionDatabase() const;
494  virtual bool zoomToScenarioExtentsOnLoad() const;
495  virtual bool alwaysJoinWithOpenDatabase() const;
496  virtual bool displaySessionDialogs() const;
497  virtual bool displayCorrelationWarningMessages() const;
498  virtual void displayCorrelationWarningMessage();
499 
502  virtual bool isDefaultObserverView(const std::string&);
503  virtual std::string defaultObserverView(bool& is2D) const;
504  virtual void setDefaultObserverView(const std::string&);
505  virtual void setTerrainViewVisible(const std::string&, bool vis);
506 
508  virtual void setHiddenTerrainViews(const std::string&);
509 
510  virtual bool terrainViewHidden(const std::string&) const;
511  virtual const std::set<std::string>& hiddenTerrainViews() const;
512  virtual std::set<std::string>& hiddenTerrainViews();
513 
514  virtual bool defaultObserverViewStateRecord(makArchives::DtObserverStateRecord&) const;
515 
518  virtual void showObserverView(const std::string& view, int ticksBeforeShow = 0, bool inPreTick = true,
519  bool zoomToExtents = false);
520 
521  virtual void resetObserverForCommandLineTerrain(int count, bool inPreTick);
522 
524 
526  virtual void requestSpotReports();
527 
530  virtual void requestStealthCommands();
532  {
533  return myStealthCommands;
534  }
535 
538  {
539  return mySimulationObjectGroupSaveInformation;
540  }
541 
544  virtual bool isScenarioFile(const DtFilename&, bool exact = false) const;
545 
548  virtual void setAsynchLoadBufferTime(double);
549 
551  virtual void setSaveScenarioToZipFile(bool);
552 
554  virtual void zoomToExtentsFromScenario(const DtScenario&) const;
555 
557  virtual void setFavorite(const DtEntityMapperKey&, bool f);
558 
560  {
561  return myScriptedTaskSettingsBackup;
562  }
563 
565  void exportSessionSettings(const std::string& fileName);
566 
568  void importSessionSettings(const std::string& fileName);
569 
571  void exportScriptedTaskSettings(const std::string& fileName);
572 
574  void importScriptedTaskSettings(const std::string& fileName);
575 
577  virtual void setDoNotShowSessionStartupDialog(bool);
578  bool showSessionStartupDialog() const;
579 
581  virtual void setUserDefinedSmoothing(bool);
582  bool userDefinedSmoothing() const;
583 
585  virtual void setWindowTitle(const QString&);
586 
588  virtual void setShowSessionStatusDialogs(SessionStatusDialogs);
590  {
591  return myShowSessionStatusDialogs;
592  }
593 
595  virtual void setDenySystemScriptEditing(bool);
596  virtual bool denySystemScriptEditing() const;
597 
599  virtual void setIndent(int);
600  virtual int indent() const;
601 
603  virtual void setWarnOnSystemScriptChange(bool);
604  virtual bool warnOnSystemScriptChange() const;
605 
607  virtual void setMonitorScriptedTaskFrameRates(bool);
608  virtual bool monitorScriptedTaskFrameRates() const;
609 
611  virtual QString filenameToSaveUnder() const;
612 
614  virtual void setAutoSave(bool);
615  virtual bool autoSave() const;
616 
618  virtual void setShowScenarioDescriptionMessageBox(bool b);
619  virtual bool showScenarioDescriptionMessageBox() const;
620 
622  virtual const DtSubMenuConfiguration& initialCreateMenuConfiguration() const;
623  virtual DtSubMenuConfiguration& initialCreateMenuConfiguration();
624 
626  virtual const DtSubMenuConfiguration& initialTaskMenuConfiguration() const;
627  virtual DtSubMenuConfiguration& initialTaskMenuConfiguration();
628 
630  virtual const makVrv::DtToolbarConfiguration& initialToolbarConfiguration() const;
631  virtual makVrv::DtToolbarConfiguration& initialToolbarConfiguration();
632 
634  virtual const DtUnifiedControlToolbarConfiguration& unifiedControlToolbarConfiguration() const;
635  virtual DtUnifiedControlToolbarConfiguration& unifiedControlToolbarConfiguration();
636 
638  virtual const makVrv::DtToolbarConfiguration& scriptModifiedToolbarConfiguration() const;
639  virtual makVrv::DtToolbarConfiguration& scriptModifiedToolbarConfiguration();
640 
642  virtual const DtSubMenuConfiguration& initialSetMenuConfiguration() const;
643  virtual DtSubMenuConfiguration& initialSetMenuConfiguration();
644 
647  virtual void addAdditionalSmsFile(const std::string&);
648  virtual void removeAdditionalSmsFile(const std::string&);
649  virtual void setAdditionalSmsFiles(const std::vector<DtString>&);
650 
652  virtual std::vector<std::string> defaultSimulationModelSetFiles() const;
654 
657  virtual void setSaveScenarioFilenameToUseOnFirstSave(const DtFilename& f);
658  virtual const DtFilename& saveScenarioFilenameToUseOnFirstSave() const;
659 
660  bool quitting() const { return myQuitWhenSaved; };
661 
662  public:
663  virtual void slot_onScenarioModified();
664 
666  virtual void addRecentScenario(const std::string&);
667 
671  virtual bool askAndSaveScriptsForRewind();
672 
674  virtual const DtRwHazardAreaInformation& hazardAreaInformation() const;
675 
677  virtual makVrv::DtUnicode hazardAreaAgentTypeFor(const DtEntityType&, const DtString& agentKey) const;
678 
680  virtual void setShowLoadErrors(bool);
681  virtual bool showLoadErrors() const;
682 
687  virtual bool loadTerrain(const std::string& guiTerrainFilename, const std::string& simTerrainFilename = "");
688 
691  virtual bool loadSimTerrain(const std::string& simTerrainFilename, bool clearSimTerrain = false);
692 
694  virtual void resetTerrain();
695 
698  virtual time_t dateAndTimeOfDay() const;
699 
701  virtual double simulationTime() const;
702 
706  virtual void setShowQuitDialogOnClose(bool, bool saveChanges = true);
707  virtual bool showQuitDialogOnClose() const;
708 
709  virtual void resetScriptModifiedToolbarConfiguration();
710 
712  virtual void setKeepOpenTerrainFromCommandLine(bool);
713 
714  virtual void slot_defaultIconListChanged();
715  virtual void slot_forcesChanged();
716 
718  virtual void setShowDuplicateBackendError(bool);
719  bool showDuplicateBackendError() const;
720 
722  virtual void cleanupSessionBox();
723 
724  protected:
725  virtual void checkAndWarnForLoadBalance(const DtString& scheme, const DtString& userData, const QString& title);
726 
728  virtual void showDescription();
729 
730  virtual bool loadScenarioFromEvent(const DtScenarioLoadInformation& s);
731 
734  virtual int quitApplication(const QString& title, const QString& message, bool& quitBackend, bool hasCancelButton = true);
735 
738  virtual time_t initializeEnvironmentDateTimeOfDay(time_t proposedTime);
739 
741  virtual void scenarioFilenameChanged();
742 
744  virtual void scenarioJustClosed();
745 
747  virtual void errorLoadingScenario();
748 
750  virtual void scenarioClosing();
751 
753  virtual void slot_allBackendsClosed();
754 
757  virtual void loadTranslationsForModelSet(DtSimulationModelSet*);
758 
760  virtual void slot_sessionStartupComplete();
761 
763  virtual void allScenarioObjectsDiscovered();
764 
766  virtual void slot_onScenarioLoaded(const DtScenario*, bool emitScenarioLoadedSignal = true, bool isNewScenario = false);
767 
768  virtual void slot_checkBackendClosed(const DtVrfBackendState&, int);
769  virtual void slot_checkSimulationState(const DtVrfBackendState&, int);
770 
772  virtual bool saveIfDirty(int* saved = 0, bool takeSnapshot = true, bool showCheckpointSaveTitle = false, bool quittingApplication = false,
773  int* dialogResult = 0);
774 
777  virtual DtVrfScenarioRemapFunction* remapFunctionForCommandLineScenarioLoad() const;
778 
779  virtual void watchForScenarioObjectsDiscovered();
780 
781  virtual void connectSignals(bool);
782 
784  virtual void requestHazardAreaInformation();
785 
787  virtual void requestOrbatInformation();
788 
790  virtual void reloadScenario(const std::string& newTerrain);
791 
794  virtual void saveScenario(std::string baseName, std::string newTerrainName);
795 
797  virtual void slot_onScenarioSaved(bool checkpointSave = false);
798 
803  virtual void reloadSimulationModelSets(const std::vector<DtFilename>&, bool reverse = false);
804 
806  virtual void slot_onScenarioReloaded(std::string scenarioName);
807 
809  void setup();
810 
812  virtual void showSessionStartupDialog();
813 
816  virtual void processServerMessage(DtSimMessage*);
817 
819  virtual void processStealthCommands(DtSimMessage*);
820 
822  virtual void processHazardAreaInformation(DtSimMessage*);
823 
825  virtual void restorePreservedScripts();
826 
828  virtual void scenarioWasRewound(DtSimMessage*);
829 
831  virtual void terrainCleared();
832 
833  virtual void clearFrontEndScenariodData();
834 
836  virtual void quitAllBackends();
837 
838  virtual void checkCloseStatus();
839 
840  protected:
842  virtual void postTickSOGLoad(std::string sogFile);
843 
844  virtual void completeScenarioLoad();
845  virtual void completeSimulationObjectGroupLoad();
846 
847  virtual DtVrfSimBackendManager& backendManager() const;
848 
849  virtual void loadIndirectArtilleryManager(const DtScenarioExplorer& explorer);
850  virtual void loadForceFiles(const DtScenarioExplorer& explorer);
851  virtual void loadCreateMenu(const DtScenarioExplorer& explorer);
852  virtual bool loadInitialMenuConfiguration(makVrv::DtMenuConfiguration&, const DtFilename&);
853  virtual void loadOverlayFile(const DtScenario&, bool removeAll = true);
854  virtual void loadSelectionGroupFile(const DtScenario&);
855  virtual void loadObserverViewFile(const DtScenario&, bool andSetDefaultView = true);
856 
857  virtual void loadGuiScenarioSettings(const DtScenario&);
858  virtual void loadModelSetFiles(const DtScenarioExplorer& explorer);
859  virtual void loadVisuals(const DtScenarioExplorer& explorer, bool force = false);
860 
861  virtual DtModelSetEntry* modelSetEntry(const DtEntityMapperKey& key) const;
862  virtual DtVrfMenu* createMenuFromModelSetManager() const;
863  virtual bool isModelSet(const DtFilename& filename) const;
864 
865  virtual void slot_onSessionUpdated(int flags);
866  virtual void slot_onDuplicateBackendAddress(const DtVrfBackendState&);
867 
868  virtual void slot_backendDiscovered(const DtVrfBackendState&);
869  virtual void slot_settingReceived(const std::string&, const DtVrfBackendState*);
870 
873  virtual void slot_postDeCallback();
874 
876  virtual void remapTerrainFilenames(DtScenario*);
877 
879  virtual void createTerrainFilenameRemapper();
880 
881  virtual bool sessionPrompt(const QString& message);
882 
885  virtual bool openTerrainDatabaseFromUserSelection(const std::string& simTerrainFilename = "");
886 
891  virtual bool loadSessionTerrain(const std::string& guiTerrainFilename, const std::string& simTerrainFilename = "");
892 
893  virtual bool isSameTerrain(const std::string& terrain1, const std::string& terrain2) const;
894 
895  virtual void slot_terrainModified();
896 
898  virtual void slot_propChanged();
899 
900  virtual void slot_deDestructing();
901 
902  virtual void slot_terrainToBeCleared();
903  virtual void slot_terrainCleared();
904 
905  virtual bool checkWriteGdb(const std::string& gdb);
906 
907  virtual DtSessionStatusBox* createSessionStatusBox();
908 
909  virtual void setupScriptedTaskSettings();
910 
912  virtual QFileInfo findTerrainFile(const std::string& terrainFile) const;
913 
916  virtual bool blockSessionTerrainLoad() const;
917 
920  virtual QFileInfo findTerrainFile(const std::string& terrainFile, const std::vector<std::string>& searchPaths,
921  const std::string& extension) const;
922 
924  virtual void slot_scenarioAboutToBeSaved(DtScenario*);
925 
927  virtual void createSessionStatusBox(const QString& title, const QString& message, int statusType);
928 
930  virtual void slot_sessionSettingsChanged();
931 
933  virtual void slot_guiSettingsChanged();
934 
936  virtual bool eventFilter(QObject*, QEvent*);
937 
938  virtual void slot_savedSimulationObjectGroup(const std::string&);
939 
940  virtual void postSaveQuit();
941  virtual void postSaveLoad();
942  virtual void postSaveClose(bool resetScenario, DtFilename databaseToOpen, bool forceCloseAll);
943  virtual void postSaveImport(DtScenarioLoadInformation);
944  virtual void postSaveRewind(bool preserveScripts, double simTime);
945 
946  virtual void nullSaveFunction();
947 
949  virtual void backendDiscoveryTick();
950 
951  virtual void addAdditionalCategories();
952 
953  protected slots:
954  virtual void commFileMessagesReceived(const QStringList&);
955  virtual void statusDialogDestroyed();
956 
957  protected:
963  std::vector<DtEntityMapperKey> myControlObjectTypes;
973  std::string myLoadedTerrain;
974  std::string myTerrainFile;
975  std::string mySimTerrainFile;
990 
996 
1004 
1006 
1007  std::vector<DtString> myAdditionalSmsFiles;
1011 
1015 
1016  QString myWindowTitle;
1017 
1018  std::map<std::string, QTranslator*> myTranslators;
1019 
1021 
1030  boost::function<void ()> myPostSaveFunction;
1031 
1036 
1038 
1044 
1048 
1050 
1053 
1063  bool myRestoreObserverViewsOnObjectsDiscovered = false;
1064 
1065  boost::signals2::connection myPostDeTickConnection;
1066  boost::signals2::connection myCloseScenarioTickConnection;
1067  };
1068 
1071  {
1072  Q_OBJECT
1073  public:
1074  enum Status
1075  {
1076  None = 0x00000000,
1077  Loading = 0x00000001,
1078  Saving = 0x00000002,
1079  Closing = 0x00000004,
1080  Importing = 0x00000008,
1081  CreatingSimulationObjectGroup = 0x00000010,
1082  Reinitializing = 0x00000020
1083  };
1084 
1085  DtSessionStatusBox(makVrv::DtDe& de, DtCommonScenarioManager* manager, QWidget* parent);
1086  virtual ~DtSessionStatusBox();
1087 
1088  virtual void setMessage(const QString& message);
1089 
1090  virtual void keyPressEvent(QKeyEvent *e);
1091 
1092  virtual void terrainGeometryLoaded();
1093 
1094  virtual void waitingForTerrainLoad();
1095 
1096  virtual void setStatus(Status s);
1097 
1098  Status status() const
1099  {
1100  return myStatus;
1101  }
1102 
1103  virtual void accept();
1104 
1105  virtual void reject();
1106 
1107  boost::signals2::signal<void ()> signal_closeScenario;
1108 
1109  virtual void resetAltKey();
1110 
1111  protected:
1120  };
1121 }
1122 
void setReadyToQuit(bool b)
Definition: commonScenarioManager.h:397
Definition: vrfBackendState.h:69
bool myLateJoinerInit
Definition: commonScenarioManager.h:1009
bool myAutoJoinSession
Definition: commonScenarioManager.h:968
Status
Definition: commonScenarioManager.h:1074
void setAskSaveIfScenarioModified(bool b)
Definition: commonScenarioManager.h:412
DtTimedSection myBackendClosingResponseTimer
Definition: commonScenarioManager.h:1055
DtSubMenuConfiguration * myInitialCreateMenuConfiguration
Definition: commonScenarioManager.h:997
DtJoinSessionTerrainAction
Definition: commonScenarioManager.h:134
bool myTerrainClearing
Definition: commonScenarioManager.h:978
Definition: entityMapperKey.h:23
Contains DtUnifiedControlToolbarConfiguration that will contain the configuration for the unified con...
Definition: unifiedControlToolbarConfiguration.h:18
const std::vector< std::string > recentScenarios() const
Definition: commonScenarioManager.h:97
Virtual base class. Allows for RTTI and proper virtual destruction. Used by Creators, Factories, Providers, Assemblers and User Interfaces.
Definition: DtVirtualBaseClass.h:19
BOOST_CLASS_VERSION(makArchives::DtDiGuySettingsRecord, 3)
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
bool myWaitingForTerrainLoad
Definition: commonScenarioManager.h:1118
virtual void addRecords(DtVrfScriptedTaskSettingsRecord &recs, DtVrfScriptedTaskSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: commonScenarioManager.h:485
bool myForceCloseAll
Definition: commonScenarioManager.h:1060
bool validateForVrfObjects() const
Definition: commonScenarioManager.h:390
int maxSize() const
Definition: commonScenarioManager.h:102
SessionStatusDialogs
Definition: commonScenarioManager.h:146
bool simulationObjectGroupEditingMode() const
Definition: commonScenarioManager.h:205
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:24
boost::signals2::connection myCloseScenarioTickConnection
Definition: commonScenarioManager.h:1066
Dead reckoning settings used by the performance options dialog to set dead reckoning values for entit...
Definition: deadReckoningSettings.h:31
std::vector< std::string > myRecentScenarios
Definition: commonScenarioManager.h:122
Definition: scenario.h:52
Definition: vrfMenu.h:18
std::string myLoadedTerrain
Definition: commonScenarioManager.h:973
bool myCorrelated
Definition: commonScenarioManager.h:976
virtual void getSplitRecord(std::vector< DtVrfScriptedTaskSettingsRecord > &rec, std::vector< std::string > &fileNames)
To support writing element definitions in folders as multiple files not implemented.
Definition: commonScenarioManager.h:480
bool quitting() const
Definition: commonScenarioManager.h:660
DtSimulationObjectCategoryInformation & tags()
Definition: commonScenarioManager.h:342
DtVrfScriptedTaskSettingsRecord myScriptedTaskSettings
Definition: commonScenarioManager.h:991
bool myInTheScenarioLoadProcess
Definition: commonScenarioManager.h:986
const std::vector< DtEntityMapperKey > & controlObjects() const
Definition: commonScenarioManager.h:195
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
int myCloseRetryCount
Definition: commonScenarioManager.h:1059
bool allowEditingOnScenarioJoint() const
Definition: commonScenarioManager.h:464
bool myShowDuplicateBackendError
Definition: commonScenarioManager.h:1062
bool displatExistingGdbWarningMessages() const
Definition: commonScenarioManager.h:432
QLabel * myLabel
Definition: commonScenarioManager.h:1114
DtFileCommChannel * myFileCommChannel
Only used for file communication in the case of entity editor using to communicate in simulation obje...
Definition: commonScenarioManager.h:1041
makVrv::DtSignalConnectionManager myConnectionManager
Definition: commonScenarioManager.h:1020
QDialog * mySessionStatusMessageBox
Definition: commonScenarioManager.h:962
makVrv::DtSignalConnectionManager myResetCommandLineTerrainSignals
Definition: commonScenarioManager.h:1014
DtTerrainFilenameRemapper * myTerrainFilenameRemapper
Definition: commonScenarioManager.h:1005
bool myIsStartup
Definition: commonScenarioManager.h:983
bool myScenarioDirty
Definition: commonScenarioManager.h:966
makVrv::DtDe & myDe
Definition: commonScenarioManager.h:958
A DtObserverSettingsRecord contains the state of an observer.
Definition: DtObserverStateRecord.h:20
std::map< std::string, QTranslator * > myTranslators
Definition: commonScenarioManager.h:1018
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
Definition: rwHazardAreaInformation.h:122
std::vector< DtString > myAdditionalSmsFiles
Definition: commonScenarioManager.h:1007
Status status() const
Definition: commonScenarioManager.h:1098
bool myScenarioManagerInitialized
Definition: commonScenarioManager.h:988
bool myReadyToQuit
Definition: commonScenarioManager.h:969
std::vector< DtStealthCommand > DtStealthCommands
Definition: stealthCommand.h:100
DtScenario * myScenario
Definition: commonScenarioManager.h:959
DtVrfScenarioRemapFunction * myDefaultRemapFunction
Definition: commonScenarioManager.h:1049
Definition: vrfScenarioRemapFunctions.h:28
std::string mySimTerrainFile
Definition: commonScenarioManager.h:975
SessionStatusDialogs showSessionStatusDialogs() const
Definition: commonScenarioManager.h:589
Definition: vrfGuiApplicationSettings.h:37
bool importingScenario() const
Returns true if the scenario load is an import.
Definition: commonScenarioManager.h:230
Definition: vrfScriptedTaskSettingsRecord.h:25
DtScenarioLoadInformation myLoadingScenario
Definition: commonScenarioManager.h:979
The class that will contain information about the currently loaded scenario.
Definition: commonScenarioManager.h:127
void setDisplayExistingGdbWarningMessages(bool b)
Definition: commonScenarioManager.h:427
bool askSaveIfScenarioModified() const
Definition: commonScenarioManager.h:417
Definition: modelSetEntry.h:34
int myQuitWhenSaved
Definition: commonScenarioManager.h:1010
DtString myScenario
Definition: commonScenarioManager.h:176
int myCreateMenuBuilderFlags
Definition: commonScenarioManager.h:1000
bool myWaitingOnScenarioClose
Used when a scenario load call is waiting for an existing scenario to close.
Definition: commonScenarioManager.h:1034
makVrv::DtToolbarConfiguration myInitialToolbarConfiguration
Definition: commonScenarioManager.h:1001
DtSessionStatusBox * mySessionStatusBox
Definition: commonScenarioManager.h:994
void setValidateForVrfObjects(bool b)
Default is true. Set to false if menus should not use as one determining factor to validate themselve...
Definition: commonScenarioManager.h:385
bool myAskSaveIfScenarioModified
Definition: commonScenarioManager.h:967
makVrv::DtRecordSettingsBackupInterface * scriptedTaskSettingsBackup()
Definition: commonScenarioManager.h:559
Contains makVrv::DtVirtualBaseClass class.
std::string myTerrainFile
Definition: commonScenarioManager.h:974
makVrv::DtSignalConnectionManager mySOGConnections
Definition: commonScenarioManager.h:1013
bool myValidateForVrfObjects
Definition: commonScenarioManager.h:965
bool myClosingScenario
Definition: commonScenarioManager.h:980
DtSimulationObjectCategoryInformation mySimulationObjectsCategoryInformation
Definition: commonScenarioManager.h:1029
Contains makArchives::DtObserverStateRecordsList class.
unsigned int myMaxSize
Definition: commonScenarioManager.h:123
const DtSimulationObjectGroupSaveInformation & simulationObjectGroupSaveInformation() const
If in simulation object group creation mode, this is the information used to save the group...
Definition: commonScenarioManager.h:537
bool mySessionDatabaseOpenAndNotJoined
Definition: commonScenarioManager.h:971
DtObserverStateRecordsList class contains a collection of DtObserverStateRecord.
Definition: DtObserverStateRecordsList.h:21
DtScenarioLoadInformation myInformation
Definition: commonScenarioManager.h:167
void setAllowEditingOnScenarioJoin(bool b)
Definition: commonScenarioManager.h:459
DtStealthCommands myStealthCommands
Definition: commonScenarioManager.h:1023
File: simMsg.h.
Definition: simMessage.h:35
bool myAllowEditingOnScenarioJoin
Definition: commonScenarioManager.h:985
bool myHasShowSetup
Definition: commonScenarioManager.h:1008
const DtScenario * scenario() const
Definition: commonScenarioManager.h:407
Stores recent scenarios loaded. Limited to 5 scenarios.
Definition: commonScenarioManager.h:87
std::vector< DtEntityMapperKey > myControlObjectTypes
Definition: commonScenarioManager.h:963
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool myUseDefault
Definition: commonScenarioManager.h:177
bool myInitialized
Definition: commonScenarioManager.h:982
bool myJoinedToSession
Definition: commonScenarioManager.h:970
const DtScenarioExplorer * scenarioExplorer() const
Definition: commonScenarioManager.h:190
boost::signals2::signal< void()> signal_closeScenario
Definition: commonScenarioManager.h:1107
DtUnifiedControlToolbarConfiguration * myUnifiedControlToolbarConfiguration
Definition: commonScenarioManager.h:1003
bool initialized() const
Definition: commonScenarioManager.h:449
DtScenarioLoadInformation * myPendingScenarioInformation
Definition: commonScenarioManager.h:1035
DtSubMenuConfiguration * myInitialSetMenuConfiguration
Definition: commonScenarioManager.h:999
DtDeadReckoningSettings myDeadReckoningSettings
Definition: commonScenarioManager.h:992
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
boost::signals2::connection myPostDeTickConnection
Definition: commonScenarioManager.h:1065
const DtSimulationObjectCategoryInformation & tags() const
The category (tag) information loaded for the current model set.
Definition: commonScenarioManager.h:337
Status myStatus
Definition: commonScenarioManager.h:1113
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myImportingScenario
Definition: commonScenarioManager.h:1051
DtSessionStatusBox is what shows loading, closing, saving scenario.
Definition: commonScenarioManager.h:1070
DtTimedSection myBackendDiscoveryTimer
Definition: commonScenarioManager.h:1054
bool myKeepOpenTerrainFromCommandLine
Definition: commonScenarioManager.h:1026
Class DtTerrainFilenameRemapper will load in the comma delimited terrain file name map...
Definition: terrainFilenameRemapper.h:27
bool correlated() const
Definition: commonScenarioManager.h:439
bool myCanSimulate
Definition: commonScenarioManager.h:981
const DtDeadReckoningSettings & deadReckoningSettings() const
Definition: commonScenarioManager.h:454
DtVrfMenu * myMenu
Definition: commonScenarioManager.h:960
A simulation model set contains all the information that can be used to support a scenario either for...
Definition: simulationModelSet.h:31
AllowEditingOf
Definition: vrfObjectManipulationManager.h:59
Base class to provide boost signal/slot management.
bool myDisplayExistingGdbWarningMessage
Definition: commonScenarioManager.h:977
double myBackendDiscoveryTime
Definition: commonScenarioManager.h:1057
double myAsynchTimeoutWait
Only used in asynch mode when messages can get dropped in loading a scenario.
Definition: commonScenarioManager.h:1046
DtVrfObjectManipulationManager::AllowEditingOf myAllowEditingOfOnSessionJoin
Definition: commonScenarioManager.h:1028
DtRwHazardAreaInformation myHazardAreaInformation
Definition: commonScenarioManager.h:1012
bool myLoadedUserTerrain
Definition: commonScenarioManager.h:1024
Contains makVrv::DtToolbarConfiguration class.
DtFilename myClosingDatabaseToOpen
Definition: commonScenarioManager.h:1058
DtSubMenuConfiguration * myInitialTaskMenuConfiguration
Definition: commonScenarioManager.h:998
DtTimedSection myAsynchTimeoutSection
Definition: commonScenarioManager.h:1047
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
bool myAutoSave
Definition: commonScenarioManager.h:984
Maintains and signals state of the simulation engines that are currently connected to the GUI...
Definition: vrfSimBackendManager.h:79
makVrv::DtToolbarConfiguration myScriptModifiedToolbarConfiguration
Definition: commonScenarioManager.h:1002
makVrv::DtDe & myDe
Definition: commonScenarioManager.h:1117
const DtStealthCommands & stealthCommands() const
Definition: commonScenarioManager.h:531
bool scenarioDirty() const
Definition: commonScenarioManager.h:402
bool myLoadingSessionTerrain
Definition: commonScenarioManager.h:1025
double myTimeWaitingForBackendResponse
Definition: commonScenarioManager.h:1056
bool mySimTerrainLoaded
Definition: commonScenarioManager.h:1061
Contains makVrv::DtUniqueID type.
A configuration of the toolbar layout.
Definition: DtToolbarConfiguration.h:25
A configuration of a menu layout. A menu configuration manages an ordered collection of menu paths th...
Definition: DtMenuConfiguration.h:43
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
SessionStatusDialogs myShowSessionStatusDialogs
Definition: commonScenarioManager.h:995
DtVrfSimBackendManager * myBackendManager
Definition: commonScenarioManager.h:1022
DtSimulationObjectGroupSaveInformation mySimulationObjectGroupSaveInformation
Definition: commonScenarioManager.h:1043
Definition: scenario.h:655
int mySaveFlags
Definition: commonScenarioManager.h:1027
The makVrv::DtRecordSettingsBackupInterface provides an interface to record-based backups...
Definition: DtRecordSettingsBackup.h:24
Instances of DtIfServerMessage are sent out when the server wants to send a status message with categ...
Definition: ifServerMessage.h:20
bool joinedToSession() const
Definition: commonScenarioManager.h:422
bool loadingSessionTerrain() const
Definition: commonScenarioManager.h:200
Definition: scenario.h:634
bool mySimulationObjectGroupEditingMode
Definition: commonScenarioManager.h:1042
QPushButton * myCloseButton
Definition: commonScenarioManager.h:1115
DtFilename mySaveScenarioFilenameToUseOnFirstSave
Definition: commonScenarioManager.h:1037
DtVrfMenu * createMenu()
Definition: commonScenarioManager.h:444
DtScenarioExplorer * myExplorer
Definition: commonScenarioManager.h:961
The DtFileCommChannel class is a simple class that will use two files based on the given output file ...
Definition: fileCommChannel.h:27
bool myRewinding
Definition: commonScenarioManager.h:964
bool myShowLoadErrors
Definition: commonScenarioManager.h:987
boost::function< void()> myPostSaveFunction
Definition: commonScenarioManager.h:1030
QString myWindowTitle
Definition: commonScenarioManager.h:1016
bool myTerrainLoadIsClose
Definition: commonScenarioManager.h:1119
makVrv::DtRecordSettingsBackupInterface * myScriptedTaskSettingsBackup
Definition: commonScenarioManager.h:993
DtCommonScenarioManager * myParent
Definition: commonScenarioManager.h:1112
makVrv::DtSignalConnectionManager mySignals
Definition: commonScenarioManager.h:1116
bool myFirstRun
Definition: commonScenarioManager.h:1052
DtVrfScenarioRemapFunction * myRemapFunctionForCommandLineScenarioLoad
Definition: commonScenarioManager.h:989
bool myCorrelationWarned
Definition: commonScenarioManager.h:972

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)