VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfScenarioManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2015 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 
17 #include <vrfGuiCore/menu.h>
21 #include <vrvCore/DtUniqueID.h>
24 
27 #include <vrvUtil/signalslib.h>
28 #include <vrvCore/DtDe.h>
30 
31 #include <vrfutil/scenario.h>
34 #include <vrfutil/stealthCommand.h>
35 #include <vlutil/vlPerformanceStats.h>
36 
37 #include <boost/signal.hpp>
38 
39 #include <QtCore/QVector>
40 #include <QtCore/QFileInfo>
41 #include <QtWidgets/QDialog>
42 
44 #include <QtCore/qnamespace.h>
45 
46 class QLabel;
47 class DtScenario;
48 class DtScenarioExplorer;
49 class QFileDialog;
50 class QWidget;
51 class QDialog;
52 class DtSimMessage;
53 class DtIfServerMessage;
54 class DtModelSetEntry;
55 class QTranslator;
58 
59 namespace makArchives
60 {
61  class DtTerrainOperationRecord;
62  class DtTerrainRecord;
63 }
64 
65 namespace makVrv
66 {
67  class DtRecordSettingsBackupInterface;
68 }
69 
70 namespace makVrf
71 {
72  class DtFileCommChannel;
73  class DtVrfScenarioRemapFunction;
74  class DtVrfSimBackendManager;
75  class DtVrfBackendState;
76  class DtJoinSessionDialog;
77  class DtHostilityMatrixDialog;
78  class DtLoadScenarioDialog;
79  class DtNeverAskAgainMessageBox;
80  class DtScenarioSettingsDialog;
81  class DtSessionStatusBox;
82  class DtSessionStartupDialog;
83  class DtScenarioDescriptionDialog;
84  class DtSubMenuConfiguration;
85  class DtVrfModelSetManager;
86 
89  {
90  public:
93 
94  virtual ~DtVrfGuiRecentScenarios();
95 
96  virtual DtVrfGuiApplicationSetting* clone() const;
97 
98  const std::vector<std::string> recentScenarios() const
99  {
100  return myRecentScenarios;
101  }
102 
103  int maxSize() const
104  {
105  return myMaxSize;
106  }
107 
109  void setMaxSize(int);
110 
111  void insertScenario(const std::string&, int pos = -1);
112  int removeScenario(const std::string&);
113 
114  virtual std::string classType() const;
115 
116  protected:
117  friend class boost::serialization::access;
118 
119  virtual void write(boost::archive::xml_oarchive& out, const unsigned int);
120  virtual void read(boost::archive::xml_iarchive& in, const unsigned int);
121 
122  protected:
123  std::vector<std::string> myRecentScenarios;
124  unsigned int myMaxSize;
125  };
126 
129  {
130  Q_OBJECT
131 
132  public:
133  friend class DtSessionStatusBox;
134 
136  {
143  DtLoadSimulationObjectGroupSpecifiedInApplication
144  };
145 
147  {
148  Loading = 0x00000001,
149  Saving = 0x00000002,
150  Closing = 0x00000004,
151  Importing = 0x00000008,
152  CreatingSimulationObjectGroup = 0x00000010,
153  AllStatusDialogs = Loading | Saving | Closing | Importing | CreatingSimulationObjectGroup
154  };
155 
156  public:
158  virtual ~DtVrfScenarioManager();
159 
161  static DtVrfScenarioManager& instance(makVrv::DtDe& de);
162 
164  static void init(makVrv::DtDe&);
165 
166  const DtScenarioExplorer* scenarioExplorer() const
167  {
168  return myExplorer;
169  }
170 
171  const std::vector<DtEntityMapperKey>& controlObjects() const
172  {
173  return myControlObjectTypes;
174  }
175 
176  bool simulationObjectGroupEditingMode() const
177  {
178  return mySimulationObjectGroupEditingMode;
179  }
180 
181  virtual void addControlObject(const DtEntityMapperKey& key);
182  virtual void removeControlObject(const DtEntityMapperKey& key);
183  virtual void clearControlObjects();
184 
185  virtual bool isControlObject(const DtEntityMapperKey& key) const;
186 
192  virtual bool wantsToSaveTerrain(bool& ignoredModifications);
193 
195  virtual bool saveTerrain(bool askForName = false);
196 
198  bool importingScenario() const { return myImportingScenario; };
199 
202  virtual bool generateNavigationArea(makVrv::DtUniqueID);
203 
206  virtual bool regenerateNavigationAreas(bool);
207 
209  virtual DtFilename loadingScenarioFile() const;
210 
213  virtual bool mapUUIDToNameFromOobInScenario(const DtFilename& scenarioFile,
214  boost::unordered_map<DtUUID, std::string>& uuidToMarkingTextMap) const;
215 
216  virtual void closeScenario(bool resetScenario = true, const DtFilename& databaseToOpen = "");
217  virtual bool loadScenario(std::string, DtVrfScenarioRemapFunction* remapping = 0);
218  virtual bool loadScenario(const DtScenarioLoadInformation& s);
219  virtual bool importScenario(const DtScenarioLoadInformation& s);
220  virtual void runScenario();
221  virtual void pauseScenario();
222 
225  virtual bool rewindScenario(double toSimTime = -1);
226 
231  virtual void setCreateMenuBuilderFlags(DtCreateMenuBuilder::Flags);
232  virtual DtCreateMenuBuilder::Flags createMenuBuilderFlags() const;
233 
239  virtual void tickedLoadScenario(const DtString& scenarioName = "", bool useDefaultRemappingFunction = false);
240 
243  virtual void tickedNewScenario();
244 
246  virtual void loadScenarioFromDialog(QWidget* p);
247  virtual DtLoadScenarioDialog* createLoadScenarioDialog(QWidget*);
248  virtual void importScenarioFromDialog(QWidget* p);
249 
251  virtual void loadScenarioFromSessionDialog(QWidget* p);
252 
257  virtual void setHelpFile(const std::string&, bool save = false);
258  virtual std::string helpFile() const;
259 
262  virtual void setDefaultScenarioFile(const std::string& f, bool save = false);
263  virtual std::string defaultScenarioFile() const;
264 
266  virtual void setSimulationObjectGroupTerrain(const std::string& f, bool save = false);
267  virtual std::string simulationObjectGroupTerrain() const;
268 
272  virtual void setDefaultSimulationModelSetFile(const std::string& f, bool save = false);
273  virtual std::string defaultSimulationModelSetFile() const;
274 
277  virtual void rebuildCreateMenu(bool recreate = true);
278 
280  virtual void reloadVisuals();
281 
283  virtual DtString scenarioSaveExtension(bool includesDot = true) const;
284 
288  virtual void recreateCreateMenu();
289 
291  virtual void cleanupBackupFile(double simTime) const;
292 
294  virtual std::string language() const;
295 
297  virtual void loadTaskMenu(const DtScenarioExplorer& explorer);
298 
300  virtual void loadSetMenu(const DtScenarioExplorer& explorer);
301 
304  virtual void removeSimulationObjectGroupTasksSets(const DtScenarioExplorer& explorer);
305 
308  virtual DtFilename saveScenarioName(bool askIfDoesNotExist = true, bool* asked = 0, bool createDefaultIfEmpty = false,
309  bool useScenarioNameAsSeed = true) const;
310 
312  virtual void setupWindowTitleBasedOnScenario();
313 
316  virtual makArchives::DtObserverStateRecordsList& observerViews();
317  virtual const makArchives::DtObserverStateRecordsList& observerViews() const;
319 
321  virtual DtScenarioSettingsDialog* createNewScenarioDialog(QWidget* p);
322  virtual void newScenarioFromDialog(QWidget* p);
323 
328  virtual void newScenario(const std::string&, const std::string& sms = "");
329 
331  virtual void loadBatchScenario(QWidget*);
332 
342  virtual bool joinSession(DtJoinSessionTerrainAction terrainAction = DtTerrainActionUseSessionTerrain);
343 
344  virtual void resignSession(bool closeTerrain = true);
345 
346  virtual bool saveScenarioAs();
347 
350  virtual int saveScenario();
351 
352  virtual bool canRewind() const;
353 
356  void setValidateForVrfObjects(bool b)
357  {
358  myValidateForVrfObjects = b;
359  }
360 
361  bool validateForVrfObjects() const
362  {
363  return myValidateForVrfObjects;
364  }
365 
366  void setScenarioDirty(bool b)
367  {
368  myScenarioDirty = b;
369  }
370 
371  void setReadyToQuit(bool b)
372  {
373  myReadyToQuit = b;
374  }
375 
376  bool scenarioDirty() const
377  {
378  return myScenarioDirty;
379  }
380 
381  const DtScenario* scenario() const
382  {
383  return myScenario;
384  }
385 
386  void setAskSaveIfScenarioModified(bool b)
387  {
388  myAskSaveIfScenarioModified = b;
389  }
390 
391  bool askSaveIfScenarioModified() const
392  {
393  return myAskSaveIfScenarioModified;
394  }
395 
396  bool joinedToSession() const
397  {
398  return myJoinedToSession;
399  }
400 
401  void setDisplayExistingGdbWarningMessages(bool b)
402  {
403  myDisplayExistingGdbWarningMessage = b;
404  }
405 
406  bool displatExistingGdbWarningMessages() const
407  {
408  return myDisplayExistingGdbWarningMessage;
409  }
410 
411  virtual void setCorrelated(bool);
412 
413  bool correlated() const
414  {
415  return myCorrelated;
416  }
417 
418  DtMenu* createMenu()
419  {
420  return myMenu;
421  }
422 
423  bool initialized() const
424  {
425  return myInitialized;
426  }
427 
428  const DtDeadReckoningSettings& deadReckoningSettings() const
429  {
430  return myDeadReckoningSettings;
431  }
432 
433  void setAllowEditingOnScenarioJoin(bool b)
434  {
435  myAllowEditingOnScenarioJoin = b;
436  }
437 
438  bool allowEditingOnScenarioJoint() const
439  {
440  return myAllowEditingOnScenarioJoin;
441  }
442 
443  virtual std::string currentlyLoadedTerrain() const;
444 
445  virtual void processJoinSession(bool startupMessage = false);
446 
447  virtual void setFromRecord(const DtVrfScriptedTaskSettingsRecord& rec);
448  virtual void loadDefaultScriptedTaskSettings(bool loadOnlyFactorySettings = false);
449  virtual void saveScriptedTaskSettingsAsDefaults();
450  virtual void getRecord(DtVrfScriptedTaskSettingsRecord& rec) const;
451 
454  virtual void getSplitRecord(std::vector<DtVrfScriptedTaskSettingsRecord>& rec,
455  std::vector<std::string>& fileNames) {};
456 
459  virtual void addRecords(DtVrfScriptedTaskSettingsRecord& recs,
460  DtVrfScriptedTaskSettingsRecord& combinedRec) {};
461 
464  virtual bool autoJoinSession() const;
465  virtual bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
466  virtual bool askToJoin() const;
467  virtual bool alwaysJoinWithSessionDatabase() const;
468  virtual bool zoomToScenarioExtentsOnLoad() const;
469  virtual bool alwaysJoinWithOpenDatabase() const;
470  virtual bool displaySessionDialogs() const;
471  virtual bool displayCorrelationWarningMessages() const;
472 
474  virtual bool isDefaultObserverView(const std::string&);
475  virtual std::string defaultObserverView() const;
476  virtual void setDefaultObserverView(const std::string&);
477 
480  virtual void showObserverView(const std::string& view, int ticksBeforeShow = 0, bool inPreTick = true,
481  bool zoomToExtents = false);
482 
484 
486  virtual void requestSpotReports();
487 
490  virtual void requestStealthCommands();
491  const DtStealthCommands& stealthCommands() const
492  {
493  return myStealthCommands;
494  }
495 
497  const DtSimulationObjectGroupSaveInformation& simulationObjectGroupSaveInformation() const
498  {
499  return mySimulationObjectGroupSaveInformation;
500  }
501 
504  virtual bool isScenarioFile(const DtFilename&, bool exact = false) const;
505 
508  virtual void setAsynchLoadBufferTime(double);
509 
511  virtual void setSaveScenarioToZipFile(bool);
512 
514  virtual void zoomToExtentsFromScenario(const DtScenario&) const;
515 
517  virtual void setFavorite(const DtEntityMapperKey&, bool f);
518 
519  makVrv::DtRecordSettingsBackupInterface* scriptedTaskSettingsBackup()
520  {
521  return myScriptedTaskSettingsBackup;
522  }
523 
525  void exportSessionSettings(const std::string& fileName);
526 
528  void importSessionSettings(const std::string& fileName);
529 
531  void exportScriptedTaskSettings(const std::string& fileName);
532 
534  void importScriptedTaskSettings(const std::string& fileName);
535 
537  virtual void setDoNotShowSessionStartupDialog(bool);
538  bool showSessionStartupDialog() const;
539 
542  virtual void setAggregateOnCreate(bool);
543  bool aggregateOnCreate() const;
544 
546  virtual void setUserDefinedSmoothing(bool);
547  bool userDefinedSmoothing() const;
548 
550  virtual void setWindowTitle(const QString&);
551 
553  virtual void setShowSessionStatusDialogs(SessionStatusDialogs);
554  SessionStatusDialogs showSessionStatusDialogs() const
555  {
556  return myShowSessionStatusDialogs;
557  }
558 
560  virtual void setDenySystemScriptEditing(bool);
561  virtual bool denySystemScriptEditing() const;
562 
564  virtual void setIndent(int);
565  virtual int indent() const;
566 
568  virtual void setWarnOnSystemScriptChange(bool);
569  virtual bool warnOnSystemScriptChange() const;
570 
572  virtual void setMonitorScriptedTaskFrameRates(bool);
573  virtual bool monitorScriptedTaskFrameRates() const;
574 
576  virtual QString filenameToSaveUnder() const;
577 
579  virtual void setAutoSave(bool);
580  virtual bool autoSave() const;
581 
583  virtual void setShowScenarioDescriptionMessageBox(bool b);
584  virtual bool showScenarioDescriptionMessageBox() const;
585 
587  virtual const DtSubMenuConfiguration& initialCreateMenuConfiguration() const;
588  virtual DtSubMenuConfiguration& initialCreateMenuConfiguration();
589 
591  virtual const DtSubMenuConfiguration& initialTaskMenuConfiguration() const;
592  virtual DtSubMenuConfiguration& initialTaskMenuConfiguration();
593 
595  virtual const makVrv::DtToolbarConfiguration& initialToolbarConfiguration() const;
596  virtual makVrv::DtToolbarConfiguration& initialToolbarConfiguration();
597 
599  virtual const makVrv::DtToolbarConfiguration& scriptModifiedToolbarConfiguration() const;
600  virtual makVrv::DtToolbarConfiguration& scriptModifiedToolbarConfiguration();
601 
603  virtual const DtSubMenuConfiguration& initialSetMenuConfiguration() const;
604  virtual DtSubMenuConfiguration& initialSetMenuConfiguration();
605 
608  virtual void addAdditionalSmsFile(const std::string&);
609  virtual void removeAdditionalSmsFile(const std::string&);
610  virtual void setAdditionalSmsFiles(const std::vector<DtString>&);
611 
613  virtual std::vector<std::string> defaultSimulationModelSetFiles() const;
615 
618  virtual void setSaveScenarioFilenameToUseOnFirstSave(const DtFilename& f);
619  virtual const DtFilename& saveScenarioFilenameToUseOnFirstSave() const;
620 
621  bool quitting() const { return myQuitWhenSaved; };
622 
623  public:
624  virtual void slot_onScenarioModified();
625 
627  virtual void editHostilityMatrix(QWidget* parent);
628 
630  virtual DtHostilityMatrixDialog* createHostilityMatrixDialog(
631  QWidget* p, const Qt::WindowFlags& flags) const;
632 
634  virtual void addRecentScenario(const std::string&);
635 
639  virtual bool askAndSaveScriptsForRewind();
640 
642  virtual const DtRwHazardAreaInformation& hazardAreaInformation() const;
643 
645  virtual makVrv::DtUnicode hazardAreaAgentTypeFor(const DtEntityType&, const DtString& agentKey) const;
646 
648  virtual bool loadTerrain(const std::string& filePath);
649 
651  virtual void resetTerrain();
652 
655  virtual time_t dateAndTimeOfDay() const;
656 
658  virtual double simulationTime() const;
659 
661  virtual void setShowQuitDialogOnClose(bool);
662  virtual bool showQuitDialogOnClose() const;
663 
664  virtual void resetScriptModifiedToolbarConfiguration();
665 
666  public:
667 
668  boost::signal<void (DtSessionStartupDialog*)> signal_sessionDialogBoxAboutToShow;
669  boost::signal<void (bool)> signal_requestingSaveOnScenarioModified;
670  boost::signal<void (DtSessionStatusBox*)> signal_sessionStatusDialogCreated;
671  boost::signal<void ()> signal_allScenarioObjectsDiscovered;
672  boost::signal<void ()> signal_forcesChanged;
673  boost::signal<void ()> signal_scenarioRewound;
674  boost::signal<void ()> signal_setMenuConfigurationLoaded;
675  boost::signal<void ()> signal_taskMenuConfigurationLoaded;
676  boost::signal<void ()> signal_createMenuConfigurationLoaded;
677  boost::signal<void (const std::string&)> signal_scenarioLoadError;
678  boost::signal<void (const std::string&)> signal_scenarioSaveError;
679  boost::signal<void (DtSessionStartupDialog*)> signal_sessionStartupBoxCreated;
680  boost::signal<void (DtHostilityMatrixDialog*)> signal_hostilityMatrixDialogCreated;
681  boost::signal<void (const DtDeadReckoningSettings&)> signal_deadReckoningSettingsChanged;
682  boost::signal<void (const DtScenarioExplorer&)> signal_scenarioLoaded;
683  boost::signal<void (bool)> signal_sessionStatusChanged;
684  boost::signal<void ()> signal_allBackendsClosed;
685  boost::signal<void ()> signal_rewinding;
686  boost::signal<void ()> signal_rewindMessageSent;
687  boost::signal<void ()> signal_scenarioManagerInitialized;
688 
690  boost::signal<void (std::string, std::string)> signal_defaultObserverViewChanged;
691 
693  boost::signal<void (const DtScenarioLoadInformation&)> signal_preLoadScenario;
694 
696  boost::signal<void (const DtScenarioLoadInformation&)> signal_scenarioLoadRequest;
697 
700  boost::signal<void (const DtScenarioLoadInformation&)> signal_postLoadScenario;
701 
705  boost::signal<void (const std::string&)> signal_preLoadBaseTerrain;
706 
709  boost::signal<void (const std::string&)> signal_preLoadTerrain;
710 
712  boost::signal<void (const std::string&)> signal_postLoadTerrain;
713 
715  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadForceFiles;
716 
718  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadForceFiles;
719 
721  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadArtilleryManager;
722 
724  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadArtilleryManager;
725 
727  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadModelSetFiles;
728 
730  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadModelSetFiles;
731 
733  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadVisuals;
734 
736  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadVisuals;
737 
739  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadCreateMenu;
740 
742  boost::signal<void (const DtScenarioExplorer&, DtMenu*)> signal_postLoadCreateMenu;
743 
745  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadTaskMenu;
746 
748  boost::signal<void (const DtFilename&, DtVrfModelSetManager*)> signal_modelSetLoaded;
749 
751  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadTaskMenu;
752 
754  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadSimulationObjectGroupRemovalFile;
755 
757  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadSimulationObjectGroupRemovalFile;
758 
760  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadSetMenu;
761 
763  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadSetMenu;
764 
766  boost::signal<void (const DtScenario&)> signal_preLoadOverlayFile;
767 
769  boost::signal<void (const DtScenario&)> signal_postLoadOverlayFile;
770 
772  boost::signal<void (const DtScenario&)> signal_preLoadSelectionGroupFile;
773 
775  boost::signal<void (const DtScenario&)> signal_postLoadSelectionGroupFile;
776 
778  boost::signal<void (const DtScenario&)> signal_preLoadObserverViewsFile;
779 
781  boost::signal<void (const DtScenario&)> signal_postLoadObserverViewsFile;
782 
784  boost::signal<void (const DtScenarioExplorer&)> signal_createMenuLoaded;
785 
787  boost::signal<void ()> signal_recreateCreateMenu;
788 
790  boost::signal<void ()> signal_recreateTaskMenu;
791 
793  boost::signal<void ()> signal_recreateSetMenu;
794 
796  boost::signal<void (const DtVrfScriptedTaskSettingsRecord&)> signal_scriptedTaskSettingsChanged;
797 
799  boost::signal<void (DtVrfGuiRecentScenarios*)> signal_recentScenariosChanged;
800 
802  boost::signal<void (const DtScenario&)> signal_preLoadGuiScenarioSettings;
803 
805  boost::signal<void (const DtScenario&)> signal_postLoadGuiScenarioSettings;
806 
808  boost::signal<void ()> signal_scenarioClosed;
809 
811  boost::signal<void ()> signal_scenarioClosing;
812 
814  boost::signal<void ()> signal_scenarioJustLoaded;
815 
817  boost::signal<void (QString&)> signal_windowTitleAboutToBeSet;
818 
820  boost::signal<void (QString)> signal_windowTitleSet;
821 
823  boost::signal<void (const DtRwHazardAreaInformation&)> signal_hazardAreaInformationReceived;
824 
827 
829  boost::signal<void (const std::string&)> signal_scenarioFilenameChanged;
830 
831  protected:
834  virtual time_t initializeEnvironmentDateTimeOfDay(time_t proposedTime);
835 
837  virtual void scenarioFilenameChanged();
838 
840  virtual void scenarioJustClosed();
841 
843  virtual void errorLoadingScenario();
844 
846  virtual void scenarioClosing();
847 
849  virtual void slot_allBackendsClosed();
850 
853  virtual void loadTranslationsForModelSet(DtSimulationModelSet*);
854 
856  virtual void cleanupSessionBox();
857 
859  virtual void slot_sessionStartupComplete();
860 
862  virtual void allScenarioObjectsDiscovered();
863 
865  virtual void slot_onScenarioLoaded(const DtScenario*, bool emitScenarioLoadedSignal = true, bool isNewScenario = false);
866 
867  virtual void slot_checkBackendClosed(const DtVrfBackendState&, int);
868  virtual void slot_checkSimulationState(const DtVrfBackendState&, int);
869 
871  virtual bool saveIfDirty(int* saved = 0, bool takeSnapshot = true, bool showCheckpointSaveTitle = false);
872  virtual DtJoinSessionDialog* createJoinSessionDialog(QWidget* parent, const Qt::WindowFlags& flags);
873 
874  virtual void connectSignals(bool);
875 
876  virtual void displayCorrelationWarningMessage();
877 
879  virtual void requestHazardAreaInformation();
880 
882  virtual void reloadScenario(const std::string& newTerrain);
883 
886  virtual void saveScenario(std::string baseName, std::string newTerrainName);
887 
889  virtual void slot_onScenarioSaved(bool checkpointSave = false);
890 
895  virtual void reloadSimulationModelSets(const std::vector<DtFilename>&, bool reverse = false);
896 
898  virtual void slot_onScenarioReloaded(std::string scenarioName);
899 
901  void setup();
902 
904  virtual void showSessionStartupDialog();
905 
908  virtual void processServerMessage(DtSimMessage*);
909 
911  virtual void processStealthCommands(DtSimMessage*);
912 
914  virtual void processHazardAreaInformation(DtSimMessage*);
915 
917  virtual void processForcesMessage(DtSimMessage*);
918 
920  virtual void restorePreservedScripts();
921 
923  virtual void scenarioWasRewound(DtSimMessage*);
924 
926  virtual void terrainCleared();
927 
928  virtual void clearFrontEndScenariodData();
929 
930  protected:
931  virtual void completeScenarioLoad();
932  virtual void completeSimulationObjectGroupLoad();
933 
934  virtual void loadIndirectArtilleryManager(const DtScenarioExplorer& explorer);
935  virtual void loadForceFiles(const DtScenarioExplorer& explorer);
936  virtual void loadCreateMenu(const DtScenarioExplorer& explorer);
937  virtual bool loadInitialMenuConfiguration(makVrv::DtMenuConfiguration&, const DtFilename&);
938  virtual void loadOverlayFile(const DtScenario&, bool removeAll = true);
939  virtual void loadSelectionGroupFile(const DtScenario&);
940  virtual void loadObserverViewFile(const DtScenario&, bool andSetDefaultView = true);
941 
942  virtual void loadGuiScenarioSettings(const DtScenario&);
943  virtual void loadModelSetFiles(const DtScenarioExplorer& explorer);
944  virtual void loadVisuals(const DtScenarioExplorer& explorer, bool force = false);
945 
946  virtual DtModelSetEntry* modelSetEntry(const DtEntityMapperKey& key) const;
947  virtual DtMenu* createMenuFromModelSetManager() const;
948  virtual bool isModelSet(const DtFilename& filename) const;
949 
950  virtual void slot_onSessionUpdated(int flags);
951  virtual void slot_onDuplicateBackendAddress(const DtVrfBackendState&);
952 
953  virtual void slot_backendDiscovered(const DtVrfBackendState&);
954  virtual void slot_settingReceived(const std::string&, const DtVrfBackendState*);
955 
958  virtual void slot_postDeCallback();
959 
961  virtual void remapTerrainFilenames(DtScenario*);
962 
964  virtual void createTerrainFilenameRemapper();
965 
966  virtual bool sessionPrompt(const QString& message);
967 
968  virtual bool openTerrainDatabaseFromUserSelection();
969 
970  virtual bool loadSessionTerrain(const std::string&);
971 
972  virtual bool isSameTerrain(const std::string& terrain1, const std::string& terrain2) const;
973 
974  virtual void slot_terrainModified();
975 
977  virtual void slot_propChanged();
978 
979  virtual void slot_deDestructing();
980 
981  virtual void slot_terrainToBeCleared();
982  virtual void slot_terrainCleared();
983 
984  virtual bool checkWriteGdb(const std::string& gdb);
985 
986  virtual DtSessionStatusBox* createSessionStatusBox();
987 
988  virtual void setupScriptedTaskSettings();
989 
991  virtual QFileInfo findTerrainFile(const std::string& terrainFile) const;
992 
995  virtual QFileInfo findTerrainFile(const std::string& terrainFile, const std::vector<std::string>& searchPaths,
996  const std::string& extension) const;
997 
999  virtual void slot_scenarioAboutToBeSaved(DtScenario*);
1000 
1002  virtual void createSessionStatusBox(const QString& title, const QString& message, int statusType);
1003 
1005  virtual void slot_sessionSettingsChanged();
1006 
1008  virtual bool eventFilter(QObject*, QEvent*);
1009 
1010  virtual void slot_savedSimulationObjectGroup(const std::string&);
1011 
1012  virtual void postSaveLoadFromSession(QWidget*);
1013  virtual void postSaveLoadFromDialog(QWidget*);
1014  virtual void postSaveNew(QWidget*);
1015  virtual void postSaveQuit();
1016  virtual void postSaveLoad();
1017  virtual void postSaveClose(bool resetScenario, DtFilename databaseToOpen);
1018  virtual void postSaveImport(DtScenarioLoadInformation);
1019  virtual void postSaveRewind(bool preserveScripts, double simTime);
1020 
1021  virtual void nullSaveFunction();
1022 
1024  virtual void backendDiscoveryTick();
1025 
1026  protected slots:
1027  virtual void commFileMessagesReceived(const QStringList&);
1028  virtual void statusDialogDestroyed();
1029 
1030  protected:
1036  std::vector<DtEntityMapperKey> myControlObjectTypes;
1046  std::string myLoadedTerrain;
1047  std::string myTerrainFile;
1059 
1065 
1072 
1074 
1075  std::vector<DtString> myAdditionalSmsFiles;
1080 
1082 
1083  QString myWindowTitle;
1084 
1085  std::map<std::string, QTranslator*> myTranslators;
1086 
1088 
1095 
1096  boost::function<void ()> myPostSaveFunction;
1097 
1102 
1104 
1110 
1113  DtTimedSection myAsynchTimeoutSection;
1114 
1116 
1119 
1120  DtTimedSection myBackendDiscoveryTimer;
1122  };
1123 
1126  {
1127  public:
1128  enum Status
1129  {
1130  None = 0x00000000,
1131  Loading = 0x00000001,
1132  Saving = 0x00000002,
1133  Closing = 0x00000004,
1134  Importing = 0x00000008,
1135  CreatingSimulationObjectGroup = 0x00000010
1136  };
1137 
1139  virtual ~DtSessionStatusBox();
1140 
1141  virtual void setMessage(const QString& message);
1142 
1143  virtual void keyPressEvent(QKeyEvent *e);
1144 
1145  virtual void terrainGeometryLoaded();
1146 
1147  virtual void waitingForTerrainLoad();
1148 
1149  virtual void setStatus(Status s);
1150 
1151  Status status() const
1152  {
1153  return myStatus;
1154  }
1155 
1156  virtual void accept();
1157 
1158  virtual void reject();
1159 
1160  boost::signal<void ()> signal_closeScenario;
1161 
1162  protected:
1171  };
1172 }
1173 

Document ID: Generated on Thu Mar 23 18:54:12 EDT 2017 from SVN revision 174804
Copyright © 2005-2017 VT MÄK. All Rights Reserved (www.mak.com)