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 DtFileCommChannel;
76  class DtVrfScenarioRemapFunction;
77  class DtVrfSimBackendManager;
78  class DtVrfBackendState;
79  class DtNeverAskAgainMessageBox;
80  class DtSessionStatusBox;
81  class DtSessionStartupDialog;
82  class DtSubMenuConfiguration;
83  class DtVrfModelSetManager;
84 
87  {
88  public:
91 
92  virtual ~DtVrfGuiRecentScenarios();
93 
94  virtual DtVrfGuiApplicationSetting* clone() const;
95 
96  const std::vector<std::string> recentScenarios() const
97  {
98  return myRecentScenarios;
99  }
100 
101  int maxSize() const
102  {
103  return myMaxSize;
104  }
105 
107  void setMaxSize(int);
108 
109  void insertScenario(const std::string&, int pos = -1);
110  int removeScenario(const std::string&);
111 
112  virtual std::string classType() const;
113 
114  protected:
115  friend class boost::serialization::access;
116 
117  virtual void write(boost::archive::xml_oarchive& out, const unsigned int);
118  virtual void read(boost::archive::xml_iarchive& in, const unsigned int);
119 
120  protected:
121  std::vector<std::string> myRecentScenarios;
122  unsigned int myMaxSize;
123  };
124 
127  {
128  Q_OBJECT
129 
130  public:
131  friend class DtSessionStatusBox;
132 
134  {
142  DtTerrainActionWaitingToJoin
143  };
144 
146  {
147  Loading = 0x00000001,
148  Saving = 0x00000002,
149  Closing = 0x00000004,
150  Importing = 0x00000008,
151  CreatingSimulationObjectGroup = 0x00000010,
152  Reinitializing = 0x00000020,
153  AllStatusDialogs = Loading | Saving | Closing | Importing | CreatingSimulationObjectGroup | Reinitializing
154  };
155 
156  public:
157  static const QEvent::Type LoadScenarioFromDialogEventType = (QEvent::Type)(QEvent::User + 302);
158  static const QEvent::Type LoadScenarioFromScenarioInformationEventType = (QEvent::Type)(QEvent::User + 303);
159 
161  {
162  public:
167  };
168 
170  {
171  public:
172  LoadScenarioFromDialogEvent(const DtString& s, bool useDefault);
173  virtual ~LoadScenarioFromDialogEvent();
174 
177  };
178 
179  public:
181  virtual ~DtCommonScenarioManager();
182 
184  static DtCommonScenarioManager& instance(makVrv::DtDe& de);
185 
187  static void init(makVrv::DtDe&);
188 
190  {
191  return myExplorer;
192  }
193 
194  const std::vector<DtEntityMapperKey>& controlObjects() const
195  {
196  return myControlObjectTypes;
197  }
198 
200  {
201  return myLoadingSessionTerrain;
202  }
203 
205  {
206  return mySimulationObjectGroupEditingMode;
207  }
208 
209  virtual void addControlObject(const DtEntityMapperKey& key);
210  virtual void removeControlObject(const DtEntityMapperKey& key);
211  virtual void clearControlObjects();
212 
213  virtual bool isControlObject(const DtEntityMapperKey& key) const;
214 
220  virtual bool wantsToSaveTerrain(bool& ignoredModifications);
221 
223  virtual bool saveGuiTerrain(bool askForName = false);
224 
226  virtual bool saveSimTerrain(bool askForName = false);
227 
229  bool importingScenario() const { return myImportingScenario; };
230 
233  virtual bool generateNavigationArea(makVrv::DtUniqueID);
234 
237  virtual bool regenerateNavigationAreas(bool);
238 
240  virtual DtFilename loadingScenarioFile() const;
241 
243  virtual void goToAerodrome(const std::string&);
244 
246  virtual std::string language() const;
247 
248  virtual void loadScenarioFromSessionDialog(QWidget*);
249 
252  virtual void closeScenario(bool resetScenario = true, const DtFilename& databaseToOpen = "", bool forceCloseAll = false);
253  virtual bool loadScenario(std::string, DtVrfScenarioRemapFunction* remapping = 0);
254  virtual bool loadScenario(const DtScenarioLoadInformation& s);
255  virtual bool importScenario(const DtScenarioLoadInformation& s);
256  virtual void runScenario();
257  virtual void pauseScenario();
258  virtual void postSaveLoadFromSession(QWidget* p);
259 
262  virtual bool rewindScenario(double toSimTime = -1);
263 
268  virtual void setCreateMenuBuilderFlags(int);
269  virtual int createMenuBuilderFlags() const;
270 
272  virtual void loadBatchScenario(QWidget* p);
273 
275  virtual void tickedLoadScenario(const DtString& scenario = "", bool useDefaultRemappingFunction = false);
276 
281  virtual void setHelpFile(const std::string&, bool save = false);
282  virtual std::string helpFile() const;
283 
286  virtual void setDefaultScenarioFile(const std::string& f, bool save = false);
287  virtual std::string defaultScenarioFile() const;
288 
290  virtual void setSimulationObjectGroupTerrain(const std::string& f, bool save = false);
291  virtual std::string simulationObjectGroupTerrain() const;
292 
296  virtual void setDefaultSimulationModelSetFile(const std::string& f, bool save = false);
297  virtual std::string defaultSimulationModelSetFile() const;
298 
301  virtual void rebuildCreateMenu(bool recreate = true);
302 
304  virtual void reloadVisuals();
305 
307  virtual DtString scenarioSaveExtension(bool includesDot = true) const;
308 
312  virtual void recreateCreateMenu();
313 
315  virtual void cleanupBackupFile(double simTime) const;
316 
318  virtual void loadTaskMenu(const DtScenarioExplorer& explorer);
319 
321  virtual void loadSetMenu(const DtScenarioExplorer& explorer);
322 
325  virtual void removeSimulationObjectGroupTasksSets(const DtScenarioExplorer& explorer);
326 
329  virtual DtFilename saveScenarioName(bool askIfDoesNotExist = true, bool* asked = 0, bool createDefaultIfEmpty = false,
330  bool useScenarioNameAsSeed = true) const;
331 
334  {
335  return mySimulationObjectsCategoryInformation;
336  }
337 
339  {
340  return mySimulationObjectsCategoryInformation;
341  }
342 
344  virtual void setupWindowTitleBasedOnScenario();
345 
348  virtual makArchives::DtObserverStateRecordsList scenarioObserverViews() const;
349  virtual void setScenarioObserverViews(const makArchives::DtObserverStateRecordsList&) const;
351 
356  virtual void newScenario(const std::string&, const std::string& sms = "");
357 
367  virtual bool joinSession(DtJoinSessionTerrainAction terrainAction = DtTerrainActionUseSessionTerrain);
368 
369  virtual void resignSession(bool closeTerrain = true);
370 
371  virtual bool saveScenarioAs();
372 
375  virtual int saveScenario();
376 
377  virtual bool canRewind() const;
378 
382  {
383  myValidateForVrfObjects = b;
384  }
385 
387  {
388  return myValidateForVrfObjects;
389  }
390 
391  virtual void setScenarioDirty(bool b);
392 
393  void setReadyToQuit(bool b)
394  {
395  myReadyToQuit = b;
396  }
397 
398  bool scenarioDirty() const
399  {
400  return myScenarioDirty;
401  }
402 
403  const DtScenario* scenario() const
404  {
405  return myScenario;
406  }
407 
409  {
410  myAskSaveIfScenarioModified = b;
411  }
412 
414  {
415  return myAskSaveIfScenarioModified;
416  }
417 
418  bool joinedToSession() const
419  {
420  return myJoinedToSession;
421  }
422 
424  {
425  myDisplayExistingGdbWarningMessage = b;
426  }
427 
429  {
430  return myDisplayExistingGdbWarningMessage;
431  }
432 
433  virtual void setCorrelated(bool);
434 
435  bool correlated() const
436  {
437  return myCorrelated;
438  }
439 
441  {
442  return myMenu;
443  }
444 
445  bool initialized() const
446  {
447  return myInitialized;
448  }
449 
451  {
452  return myDeadReckoningSettings;
453  }
454 
456  {
457  myAllowEditingOnScenarioJoin = b;
458  }
459 
461  {
462  return myAllowEditingOnScenarioJoin;
463  }
464 
465  virtual std::string currentlyLoadedTerrain() const;
466 
467  virtual void processJoinSession(bool startupMessage = false);
468 
469  virtual void setFromRecord(const DtVrfScriptedTaskSettingsRecord& rec);
470  virtual void loadDefaultScriptedTaskSettings(bool loadOnlyFactorySettings = false);
471  virtual void saveScriptedTaskSettingsAsDefaults();
472  virtual void getRecord(DtVrfScriptedTaskSettingsRecord& rec) const;
473 
476  virtual void getSplitRecord(std::vector<DtVrfScriptedTaskSettingsRecord>& rec,
477  std::vector<std::string>& fileNames) {};
478 
482  DtVrfScriptedTaskSettingsRecord& combinedRec) {};
483 
486  virtual bool autoJoinSession() const;
487  virtual bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
488  virtual bool askToJoin() const;
489  virtual bool alwaysJoinWithSessionDatabase() const;
490  virtual bool zoomToScenarioExtentsOnLoad() const;
491  virtual bool alwaysJoinWithOpenDatabase() const;
492  virtual bool displaySessionDialogs() const;
493  virtual bool displayCorrelationWarningMessages() const;
494  virtual void displayCorrelationWarningMessage();
495 
498  virtual bool isDefaultObserverView(const std::string&);
499  virtual std::string defaultObserverView(bool& is2D) const;
500  virtual void setDefaultObserverView(const std::string&);
501  virtual void setTerrainViewVisible(const std::string&, bool vis);
502 
504  virtual void setHiddenTerrainViews(const std::string&);
505 
506  virtual bool terrainViewHidden(const std::string&) const;
507  virtual const std::set<std::string>& hiddenTerrainViews() const;
508  virtual std::set<std::string>& hiddenTerrainViews();
509 
510  virtual bool defaultObserverViewStateRecord(makArchives::DtObserverStateRecord&) const;
511 
514  virtual void showObserverView(const std::string& view, int ticksBeforeShow = 0, bool inPreTick = true,
515  bool zoomToExtents = false);
516 
517  virtual void resetObserverForCommandLineTerrain(int count, bool inPreTick);
518 
520 
522  virtual void requestSpotReports();
523 
526  virtual void requestStealthCommands();
528  {
529  return myStealthCommands;
530  }
531 
534  {
535  return mySimulationObjectGroupSaveInformation;
536  }
537 
540  virtual bool isScenarioFile(const DtFilename&, bool exact = false) const;
541 
544  virtual void setAsynchLoadBufferTime(double);
545 
547  virtual void setSaveScenarioToZipFile(bool);
548 
550  virtual void zoomToExtentsFromScenario(const DtScenario&) const;
551 
553  virtual void setFavorite(const DtEntityMapperKey&, bool f);
554 
556  {
557  return myScriptedTaskSettingsBackup;
558  }
559 
561  void exportSessionSettings(const std::string& fileName);
562 
564  void importSessionSettings(const std::string& fileName);
565 
567  void exportScriptedTaskSettings(const std::string& fileName);
568 
570  void importScriptedTaskSettings(const std::string& fileName);
571 
573  virtual void setDoNotShowSessionStartupDialog(bool);
574  bool showSessionStartupDialog() const;
575 
577  virtual void setUserDefinedSmoothing(bool);
578  bool userDefinedSmoothing() const;
579 
581  virtual void setWindowTitle(const QString&);
582 
584  virtual void setShowSessionStatusDialogs(SessionStatusDialogs);
586  {
587  return myShowSessionStatusDialogs;
588  }
589 
591  virtual void setDenySystemScriptEditing(bool);
592  virtual bool denySystemScriptEditing() const;
593 
595  virtual void setIndent(int);
596  virtual int indent() const;
597 
599  virtual void setWarnOnSystemScriptChange(bool);
600  virtual bool warnOnSystemScriptChange() const;
601 
603  virtual void setMonitorScriptedTaskFrameRates(bool);
604  virtual bool monitorScriptedTaskFrameRates() const;
605 
607  virtual QString filenameToSaveUnder() const;
608 
610  virtual void setAutoSave(bool);
611  virtual bool autoSave() const;
612 
614  virtual void setShowScenarioDescriptionMessageBox(bool b);
615  virtual bool showScenarioDescriptionMessageBox() const;
616 
618  virtual const DtSubMenuConfiguration& initialCreateMenuConfiguration() const;
619  virtual DtSubMenuConfiguration& initialCreateMenuConfiguration();
620 
622  virtual const DtSubMenuConfiguration& initialTaskMenuConfiguration() const;
623  virtual DtSubMenuConfiguration& initialTaskMenuConfiguration();
624 
626  virtual const makVrv::DtToolbarConfiguration& initialToolbarConfiguration() const;
627  virtual makVrv::DtToolbarConfiguration& initialToolbarConfiguration();
628 
630  virtual const makVrv::DtToolbarConfiguration& scriptModifiedToolbarConfiguration() const;
631  virtual makVrv::DtToolbarConfiguration& scriptModifiedToolbarConfiguration();
632 
634  virtual const DtSubMenuConfiguration& initialSetMenuConfiguration() const;
635  virtual DtSubMenuConfiguration& initialSetMenuConfiguration();
636 
639  virtual void addAdditionalSmsFile(const std::string&);
640  virtual void removeAdditionalSmsFile(const std::string&);
641  virtual void setAdditionalSmsFiles(const std::vector<DtString>&);
642 
644  virtual std::vector<std::string> defaultSimulationModelSetFiles() const;
646 
649  virtual void setSaveScenarioFilenameToUseOnFirstSave(const DtFilename& f);
650  virtual const DtFilename& saveScenarioFilenameToUseOnFirstSave() const;
651 
652  bool quitting() const { return myQuitWhenSaved; };
653 
654  public:
655  virtual void slot_onScenarioModified();
656 
658  virtual void addRecentScenario(const std::string&);
659 
663  virtual bool askAndSaveScriptsForRewind();
664 
666  virtual const DtRwHazardAreaInformation& hazardAreaInformation() const;
667 
669  virtual makVrv::DtUnicode hazardAreaAgentTypeFor(const DtEntityType&, const DtString& agentKey) const;
670 
672  virtual void setShowLoadErrors(bool);
673  virtual bool showLoadErrors() const;
674 
679  virtual bool loadTerrain(const std::string& guiTerrainFilename, const std::string& simTerrainFilename = "");
680 
683  virtual bool loadSimTerrain(const std::string& simTerrainFilename, bool clearSimTerrain = false);
684 
686  virtual void resetTerrain();
687 
690  virtual time_t dateAndTimeOfDay() const;
691 
693  virtual double simulationTime() const;
694 
698  virtual void setShowQuitDialogOnClose(bool, bool saveChanges = true);
699  virtual bool showQuitDialogOnClose() const;
700 
701  virtual void resetScriptModifiedToolbarConfiguration();
702 
704  virtual void setKeepOpenTerrainFromCommandLine(bool);
705 
706  virtual void slot_defaultIconListChanged();
707  virtual void slot_forcesChanged();
708 
710  virtual void setShowDuplicateBackendError(bool);
711  bool showDuplicateBackendError() const;
712 
714  virtual void cleanupSessionBox();
715 
716  protected:
717  virtual void checkAndWarnForLoadBalance(const DtString& scheme, const DtString& userData, const QString& title);
718 
720  virtual void showDescription();
721 
722  virtual bool loadScenarioFromEvent(const DtScenarioLoadInformation& s);
723 
726  virtual int quitApplication(const QString& title, const QString& message, bool& quitBackend, bool hasCancelButton = true);
727 
730  virtual time_t initializeEnvironmentDateTimeOfDay(time_t proposedTime);
731 
733  virtual void scenarioFilenameChanged();
734 
736  virtual void scenarioJustClosed();
737 
739  virtual void errorLoadingScenario();
740 
742  virtual void scenarioClosing();
743 
745  virtual void slot_allBackendsClosed();
746 
749  virtual void loadTranslationsForModelSet(DtSimulationModelSet*);
750 
752  virtual void slot_sessionStartupComplete();
753 
755  virtual void allScenarioObjectsDiscovered();
756 
758  virtual void slot_onScenarioLoaded(const DtScenario*, bool emitScenarioLoadedSignal = true, bool isNewScenario = false);
759 
760  virtual void slot_checkBackendClosed(const DtVrfBackendState&, int);
761  virtual void slot_checkSimulationState(const DtVrfBackendState&, int);
762 
764  virtual bool saveIfDirty(int* saved = 0, bool takeSnapshot = true, bool showCheckpointSaveTitle = false, bool quittingApplication = false,
765  int* dialogResult = 0);
766 
769  virtual DtVrfScenarioRemapFunction* remapFunctionForCommandLineScenarioLoad() const;
770 
771  virtual void watchForScenarioObjectsDiscovered();
772 
773  virtual void connectSignals(bool);
774 
776  virtual void requestHazardAreaInformation();
777 
779  virtual void requestOrbatInformation();
780 
782  virtual void reloadScenario(const std::string& newTerrain);
783 
786  virtual void saveScenario(std::string baseName, std::string newTerrainName);
787 
789  virtual void slot_onScenarioSaved(bool checkpointSave = false);
790 
795  virtual void reloadSimulationModelSets(const std::vector<DtFilename>&, bool reverse = false);
796 
798  virtual void slot_onScenarioReloaded(std::string scenarioName);
799 
801  void setup();
802 
804  virtual void showSessionStartupDialog();
805 
808  virtual void processServerMessage(DtSimMessage*);
809 
811  virtual void processStealthCommands(DtSimMessage*);
812 
814  virtual void processHazardAreaInformation(DtSimMessage*);
815 
817  virtual void restorePreservedScripts();
818 
820  virtual void scenarioWasRewound(DtSimMessage*);
821 
823  virtual void terrainCleared();
824 
825  virtual void clearFrontEndScenariodData();
826 
828  virtual void quitAllBackends();
829 
830  virtual void checkCloseStatus();
831 
832  protected:
834  virtual void postTickSOGLoad(std::string sogFile);
835 
836  virtual void completeScenarioLoad();
837  virtual void completeSimulationObjectGroupLoad();
838 
839  virtual DtVrfSimBackendManager& backendManager() const;
840 
841  virtual void loadIndirectArtilleryManager(const DtScenarioExplorer& explorer);
842  virtual void loadForceFiles(const DtScenarioExplorer& explorer);
843  virtual void loadCreateMenu(const DtScenarioExplorer& explorer);
844  virtual bool loadInitialMenuConfiguration(makVrv::DtMenuConfiguration&, const DtFilename&);
845  virtual void loadOverlayFile(const DtScenario&, bool removeAll = true);
846  virtual void loadSelectionGroupFile(const DtScenario&);
847  virtual void loadObserverViewFile(const DtScenario&, bool andSetDefaultView = true);
848 
849  virtual void loadGuiScenarioSettings(const DtScenario&);
850  virtual void loadModelSetFiles(const DtScenarioExplorer& explorer);
851  virtual void loadVisuals(const DtScenarioExplorer& explorer, bool force = false);
852 
853  virtual DtModelSetEntry* modelSetEntry(const DtEntityMapperKey& key) const;
854  virtual DtVrfMenu* createMenuFromModelSetManager() const;
855  virtual bool isModelSet(const DtFilename& filename) const;
856 
857  virtual void slot_onSessionUpdated(int flags);
858  virtual void slot_onDuplicateBackendAddress(const DtVrfBackendState&);
859 
860  virtual void slot_backendDiscovered(const DtVrfBackendState&);
861  virtual void slot_settingReceived(const std::string&, const DtVrfBackendState*);
862 
865  virtual void slot_postDeCallback();
866 
868  virtual void remapTerrainFilenames(DtScenario*);
869 
871  virtual void createTerrainFilenameRemapper();
872 
873  virtual bool sessionPrompt(const QString& message);
874 
877  virtual bool openTerrainDatabaseFromUserSelection(const std::string& simTerrainFilename = "");
878 
883  virtual bool loadSessionTerrain(const std::string& guiTerrainFilename, const std::string& simTerrainFilename = "");
884 
885  virtual bool isSameTerrain(const std::string& terrain1, const std::string& terrain2) const;
886 
887  virtual void slot_terrainModified();
888 
890  virtual void slot_propChanged();
891 
892  virtual void slot_deDestructing();
893 
894  virtual void slot_terrainToBeCleared();
895  virtual void slot_terrainCleared();
896 
897  virtual bool checkWriteGdb(const std::string& gdb);
898 
899  virtual DtSessionStatusBox* createSessionStatusBox();
900 
901  virtual void setupScriptedTaskSettings();
902 
904  virtual QFileInfo findTerrainFile(const std::string& terrainFile) const;
905 
908  virtual bool blockSessionTerrainLoad() const;
909 
912  virtual QFileInfo findTerrainFile(const std::string& terrainFile, const std::vector<std::string>& searchPaths,
913  const std::string& extension) const;
914 
916  virtual void slot_scenarioAboutToBeSaved(DtScenario*);
917 
919  virtual void createSessionStatusBox(const QString& title, const QString& message, int statusType);
920 
922  virtual void slot_sessionSettingsChanged();
923 
925  virtual void slot_guiSettingsChanged();
926 
928  virtual bool eventFilter(QObject*, QEvent*);
929 
930  virtual void slot_savedSimulationObjectGroup(const std::string&);
931 
932  virtual void postSaveQuit();
933  virtual void postSaveLoad();
934  virtual void postSaveClose(bool resetScenario, DtFilename databaseToOpen, bool forceCloseAll);
935  virtual void postSaveImport(DtScenarioLoadInformation);
936  virtual void postSaveRewind(bool preserveScripts, double simTime);
937 
938  virtual void nullSaveFunction();
939 
941  virtual void backendDiscoveryTick();
942 
943  virtual void addAdditionalCategories();
944 
945  protected slots:
946  virtual void commFileMessagesReceived(const QStringList&);
947  virtual void statusDialogDestroyed();
948 
949  protected:
955  std::vector<DtEntityMapperKey> myControlObjectTypes;
965  std::string myLoadedTerrain;
966  std::string myTerrainFile;
967  std::string mySimTerrainFile;
982 
988 
995 
997 
998  std::vector<DtString> myAdditionalSmsFiles;
1002 
1006 
1007  QString myWindowTitle;
1008 
1009  std::map<std::string, QTranslator*> myTranslators;
1010 
1012 
1021  boost::function<void ()> myPostSaveFunction;
1022 
1027 
1029 
1035 
1039 
1041 
1044 
1054  bool myRestoreObserverViewsOnObjectsDiscovered = false;
1055 
1056  boost::signals2::connection myPostDeTickConnection;
1057  boost::signals2::connection myCloseScenarioTickConnection;
1058  };
1059 
1062  {
1063  Q_OBJECT
1064  public:
1065  enum Status
1066  {
1067  None = 0x00000000,
1068  Loading = 0x00000001,
1069  Saving = 0x00000002,
1070  Closing = 0x00000004,
1071  Importing = 0x00000008,
1072  CreatingSimulationObjectGroup = 0x00000010,
1073  Reinitializing = 0x00000020
1074  };
1075 
1076  DtSessionStatusBox(makVrv::DtDe& de, DtCommonScenarioManager* manager, QWidget* parent);
1077  virtual ~DtSessionStatusBox();
1078 
1079  virtual void setMessage(const QString& message);
1080 
1081  virtual void keyPressEvent(QKeyEvent *e);
1082 
1083  virtual void terrainGeometryLoaded();
1084 
1085  virtual void waitingForTerrainLoad();
1086 
1087  virtual void setStatus(Status s);
1088 
1089  Status status() const
1090  {
1091  return myStatus;
1092  }
1093 
1094  virtual void accept();
1095 
1096  virtual void reject();
1097 
1098  boost::signals2::signal<void ()> signal_closeScenario;
1099 
1100  virtual void resetAltKey();
1101 
1102  protected:
1111  };
1112 }
1113 
void setReadyToQuit(bool b)
Definition: commonScenarioManager.h:393
Definition: vrfBackendState.h:69
bool myLateJoinerInit
Definition: commonScenarioManager.h:1000
bool myAutoJoinSession
Definition: commonScenarioManager.h:960
Status
Definition: commonScenarioManager.h:1065
void setAskSaveIfScenarioModified(bool b)
Definition: commonScenarioManager.h:408
DtTimedSection myBackendClosingResponseTimer
Definition: commonScenarioManager.h:1046
DtSubMenuConfiguration * myInitialCreateMenuConfiguration
Definition: commonScenarioManager.h:989
DtJoinSessionTerrainAction
Definition: commonScenarioManager.h:133
bool myTerrainClearing
Definition: commonScenarioManager.h:970
Definition: entityMapperKey.h:23
const std::vector< std::string > recentScenarios() const
Definition: commonScenarioManager.h:96
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:1109
virtual void addRecords(DtVrfScriptedTaskSettingsRecord &recs, DtVrfScriptedTaskSettingsRecord &combinedRec)
To support writing element definitions in folders as multiple files not implemented.
Definition: commonScenarioManager.h:481
bool myForceCloseAll
Definition: commonScenarioManager.h:1051
bool validateForVrfObjects() const
Definition: commonScenarioManager.h:386
int maxSize() const
Definition: commonScenarioManager.h:101
SessionStatusDialogs
Definition: commonScenarioManager.h:145
bool simulationObjectGroupEditingMode() const
Definition: commonScenarioManager.h:204
The DtSimulationObjectCategoryInformation class is a class that will read the comma delimited categor...
Definition: simulationObjectCategoryInformation.h:24
boost::signals2::connection myCloseScenarioTickConnection
Definition: commonScenarioManager.h:1057
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:121
Definition: scenario.h:52
Definition: vrfMenu.h:18
std::string myLoadedTerrain
Definition: commonScenarioManager.h:965
bool myCorrelated
Definition: commonScenarioManager.h:968
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:476
bool quitting() const
Definition: commonScenarioManager.h:652
DtSimulationObjectCategoryInformation & tags()
Definition: commonScenarioManager.h:338
DtVrfScriptedTaskSettingsRecord myScriptedTaskSettings
Definition: commonScenarioManager.h:983
bool myInTheScenarioLoadProcess
Definition: commonScenarioManager.h:978
const std::vector< DtEntityMapperKey > & controlObjects() const
Definition: commonScenarioManager.h:194
class DtScenarioExplorer:
Definition: scenarioExplorer.h:26
int myCloseRetryCount
Definition: commonScenarioManager.h:1050
bool allowEditingOnScenarioJoint() const
Definition: commonScenarioManager.h:460
bool myShowDuplicateBackendError
Definition: commonScenarioManager.h:1053
bool displatExistingGdbWarningMessages() const
Definition: commonScenarioManager.h:428
QLabel * myLabel
Definition: commonScenarioManager.h:1105
DtFileCommChannel * myFileCommChannel
Only used for file communication in the case of entity editor using to communicate in simulation obje...
Definition: commonScenarioManager.h:1032
makVrv::DtSignalConnectionManager myConnectionManager
Definition: commonScenarioManager.h:1011
QDialog * mySessionStatusMessageBox
Definition: commonScenarioManager.h:954
makVrv::DtSignalConnectionManager myResetCommandLineTerrainSignals
Definition: commonScenarioManager.h:1005
DtTerrainFilenameRemapper * myTerrainFilenameRemapper
Definition: commonScenarioManager.h:996
bool myIsStartup
Definition: commonScenarioManager.h:975
bool myScenarioDirty
Definition: commonScenarioManager.h:958
makVrv::DtDe & myDe
Definition: commonScenarioManager.h:950
A DtObserverSettingsRecord contains the state of an observer.
Definition: DtObserverStateRecord.h:20
std::map< std::string, QTranslator * > myTranslators
Definition: commonScenarioManager.h:1009
Subclass for additional functionality needed by VRF.
Definition: subMenuConfiguration.h:73
Definition: rwHazardAreaInformation.h:122
std::vector< DtString > myAdditionalSmsFiles
Definition: commonScenarioManager.h:998
Status status() const
Definition: commonScenarioManager.h:1089
bool myScenarioManagerInitialized
Definition: commonScenarioManager.h:980
bool myReadyToQuit
Definition: commonScenarioManager.h:961
std::vector< DtStealthCommand > DtStealthCommands
Definition: stealthCommand.h:100
DtScenario * myScenario
Definition: commonScenarioManager.h:951
DtVrfScenarioRemapFunction * myDefaultRemapFunction
Definition: commonScenarioManager.h:1040
Definition: vrfScenarioRemapFunctions.h:28
std::string mySimTerrainFile
Definition: commonScenarioManager.h:967
SessionStatusDialogs showSessionStatusDialogs() const
Definition: commonScenarioManager.h:585
Definition: vrfGuiApplicationSettings.h:37
bool importingScenario() const
Returns true if the scenario load is an import.
Definition: commonScenarioManager.h:229
Definition: vrfScriptedTaskSettingsRecord.h:25
DtScenarioLoadInformation myLoadingScenario
Definition: commonScenarioManager.h:971
The class that will contain information about the currently loaded scenario.
Definition: commonScenarioManager.h:126
void setDisplayExistingGdbWarningMessages(bool b)
Definition: commonScenarioManager.h:423
bool askSaveIfScenarioModified() const
Definition: commonScenarioManager.h:413
Definition: modelSetEntry.h:34
int myQuitWhenSaved
Definition: commonScenarioManager.h:1001
DtString myScenario
Definition: commonScenarioManager.h:175
int myCreateMenuBuilderFlags
Definition: commonScenarioManager.h:992
bool myWaitingOnScenarioClose
Used when a scenario load call is waiting for an existing scenario to close.
Definition: commonScenarioManager.h:1025
makVrv::DtToolbarConfiguration myInitialToolbarConfiguration
Definition: commonScenarioManager.h:993
DtSessionStatusBox * mySessionStatusBox
Definition: commonScenarioManager.h:986
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:381
bool myAskSaveIfScenarioModified
Definition: commonScenarioManager.h:959
makVrv::DtRecordSettingsBackupInterface * scriptedTaskSettingsBackup()
Definition: commonScenarioManager.h:555
Contains makVrv::DtVirtualBaseClass class.
std::string myTerrainFile
Definition: commonScenarioManager.h:966
makVrv::DtSignalConnectionManager mySOGConnections
Definition: commonScenarioManager.h:1004
bool myValidateForVrfObjects
Definition: commonScenarioManager.h:957
bool myClosingScenario
Definition: commonScenarioManager.h:972
DtSimulationObjectCategoryInformation mySimulationObjectsCategoryInformation
Definition: commonScenarioManager.h:1020
Contains makArchives::DtObserverStateRecordsList class.
unsigned int myMaxSize
Definition: commonScenarioManager.h:122
const DtSimulationObjectGroupSaveInformation & simulationObjectGroupSaveInformation() const
If in simulation object group creation mode, this is the information used to save the group...
Definition: commonScenarioManager.h:533
bool mySessionDatabaseOpenAndNotJoined
Definition: commonScenarioManager.h:963
DtObserverStateRecordsList class contains a collection of DtObserverStateRecord.
Definition: DtObserverStateRecordsList.h:21
DtScenarioLoadInformation myInformation
Definition: commonScenarioManager.h:166
void setAllowEditingOnScenarioJoin(bool b)
Definition: commonScenarioManager.h:455
DtStealthCommands myStealthCommands
Definition: commonScenarioManager.h:1014
File: simMsg.h.
Definition: simMessage.h:35
bool myAllowEditingOnScenarioJoin
Definition: commonScenarioManager.h:977
bool myHasShowSetup
Definition: commonScenarioManager.h:999
const DtScenario * scenario() const
Definition: commonScenarioManager.h:403
Stores recent scenarios loaded. Limited to 5 scenarios.
Definition: commonScenarioManager.h:86
std::vector< DtEntityMapperKey > myControlObjectTypes
Definition: commonScenarioManager.h:955
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
bool myUseDefault
Definition: commonScenarioManager.h:176
bool myInitialized
Definition: commonScenarioManager.h:974
bool myJoinedToSession
Definition: commonScenarioManager.h:962
const DtScenarioExplorer * scenarioExplorer() const
Definition: commonScenarioManager.h:189
boost::signals2::signal< void()> signal_closeScenario
Definition: commonScenarioManager.h:1098
bool initialized() const
Definition: commonScenarioManager.h:445
DtScenarioLoadInformation * myPendingScenarioInformation
Definition: commonScenarioManager.h:1026
DtSubMenuConfiguration * myInitialSetMenuConfiguration
Definition: commonScenarioManager.h:991
DtDeadReckoningSettings myDeadReckoningSettings
Definition: commonScenarioManager.h:984
#define DT_DLL_VRFGUICOMMONQT
Definition: vrfGuiCommonQt.h:20
boost::signals2::connection myPostDeTickConnection
Definition: commonScenarioManager.h:1056
const DtSimulationObjectCategoryInformation & tags() const
The category (tag) information loaded for the current model set.
Definition: commonScenarioManager.h:333
Status myStatus
Definition: commonScenarioManager.h:1104
unsigned long long DtUniqueID
Definition: DtUniqueID.h:19
bool myImportingScenario
Definition: commonScenarioManager.h:1042
DtSessionStatusBox is what shows loading, closing, saving scenario.
Definition: commonScenarioManager.h:1061
DtTimedSection myBackendDiscoveryTimer
Definition: commonScenarioManager.h:1045
bool myKeepOpenTerrainFromCommandLine
Definition: commonScenarioManager.h:1017
Class DtTerrainFilenameRemapper will load in the comma delimited terrain file name map...
Definition: terrainFilenameRemapper.h:27
bool correlated() const
Definition: commonScenarioManager.h:435
bool myCanSimulate
Definition: commonScenarioManager.h:973
const DtDeadReckoningSettings & deadReckoningSettings() const
Definition: commonScenarioManager.h:450
DtVrfMenu * myMenu
Definition: commonScenarioManager.h:952
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:969
double myBackendDiscoveryTime
Definition: commonScenarioManager.h:1048
double myAsynchTimeoutWait
Only used in asynch mode when messages can get dropped in loading a scenario.
Definition: commonScenarioManager.h:1037
DtVrfObjectManipulationManager::AllowEditingOf myAllowEditingOfOnSessionJoin
Definition: commonScenarioManager.h:1019
DtRwHazardAreaInformation myHazardAreaInformation
Definition: commonScenarioManager.h:1003
bool myLoadedUserTerrain
Definition: commonScenarioManager.h:1015
Contains makVrv::DtToolbarConfiguration class.
DtFilename myClosingDatabaseToOpen
Definition: commonScenarioManager.h:1049
DtSubMenuConfiguration * myInitialTaskMenuConfiguration
Definition: commonScenarioManager.h:990
DtTimedSection myAsynchTimeoutSection
Definition: commonScenarioManager.h:1038
DT_DLL_DEBUGDRAWRENDERER void init(makVrv::DtDe &de)
Work function for the plugin initialization.
bool myAutoSave
Definition: commonScenarioManager.h:976
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:994
makVrv::DtDe & myDe
Definition: commonScenarioManager.h:1108
const DtStealthCommands & stealthCommands() const
Definition: commonScenarioManager.h:527
bool scenarioDirty() const
Definition: commonScenarioManager.h:398
bool myLoadingSessionTerrain
Definition: commonScenarioManager.h:1016
double myTimeWaitingForBackendResponse
Definition: commonScenarioManager.h:1047
bool mySimTerrainLoaded
Definition: commonScenarioManager.h:1052
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:987
DtVrfSimBackendManager * myBackendManager
Definition: commonScenarioManager.h:1013
DtSimulationObjectGroupSaveInformation mySimulationObjectGroupSaveInformation
Definition: commonScenarioManager.h:1034
Definition: scenario.h:655
int mySaveFlags
Definition: commonScenarioManager.h:1018
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:418
bool loadingSessionTerrain() const
Definition: commonScenarioManager.h:199
Definition: scenario.h:634
bool mySimulationObjectGroupEditingMode
Definition: commonScenarioManager.h:1033
QPushButton * myCloseButton
Definition: commonScenarioManager.h:1106
DtFilename mySaveScenarioFilenameToUseOnFirstSave
Definition: commonScenarioManager.h:1028
DtVrfMenu * createMenu()
Definition: commonScenarioManager.h:440
DtScenarioExplorer * myExplorer
Definition: commonScenarioManager.h:953
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:956
bool myShowLoadErrors
Definition: commonScenarioManager.h:979
boost::function< void()> myPostSaveFunction
Definition: commonScenarioManager.h:1021
QString myWindowTitle
Definition: commonScenarioManager.h:1007
bool myTerrainLoadIsClose
Definition: commonScenarioManager.h:1110
makVrv::DtRecordSettingsBackupInterface * myScriptedTaskSettingsBackup
Definition: commonScenarioManager.h:985
DtCommonScenarioManager * myParent
Definition: commonScenarioManager.h:1103
makVrv::DtSignalConnectionManager mySignals
Definition: commonScenarioManager.h:1107
bool myFirstRun
Definition: commonScenarioManager.h:1043
DtVrfScenarioRemapFunction * myRemapFunctionForCommandLineScenarioLoad
Definition: commonScenarioManager.h:981
bool myCorrelationWarned
Definition: commonScenarioManager.h:964

Document ID: Generated on Wed Mar 27 22:49:11 EDT 2024 from SVN revision 264633
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)