VR-Forces Development_Version 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 <QtGui/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;
57 
58 namespace makArchives
59 {
60  class DtTerrainOperationRecord;
61  class DtTerrainRecord;
62 }
63 
64 namespace makVrv
65 {
66  class DtRecordSettingsBackupInterface;
67 }
68 
69 namespace makVrf
70 {
71  class DtFileCommChannel;
72  class DtVrfScenarioRemapFunction;
73  class DtVrfSimBackendManager;
74  class DtVrfBackendState;
75  class DtJoinSessionDialog;
76  class DtHostilityMatrixDialog;
77  class DtLoadScenarioDialog;
78  class DtNeverAskAgainMessageBox;
79  class DtScenarioSettingsDialog;
80  class DtSessionStatusBox;
81  class DtSessionStartupDialog;
82  class DtScenarioDescriptionDialog;
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  {
142  DtLoadSimulationObjectGroupSpecifiedInApplication
143  };
144 
146  {
147  Loading = 0x00000001,
148  Saving = 0x00000002,
149  Closing = 0x00000004,
150  Importing = 0x00000008,
151  CreatingSimulationObjectGroup = 0x00000010,
152  AllStatusDialogs = Loading | Saving | Closing | Importing | CreatingSimulationObjectGroup
153  };
154 
155  public:
157  virtual ~DtVrfScenarioManager();
158 
160  static DtVrfScenarioManager& instance(makVrv::DtDe& de);
161 
163  static void init(makVrv::DtDe&);
164 
165  const DtScenarioExplorer* scenarioExplorer() const
166  {
167  return myExplorer;
168  }
169 
170  const std::vector<DtEntityMapperKey>& controlObjects() const
171  {
172  return myControlObjectTypes;
173  }
174 
175  bool simulationObjectGroupEditingMode() const
176  {
177  return mySimulationObjectGroupEditingMode;
178  }
179 
180  virtual void addControlObject(const DtEntityMapperKey& key);
181  virtual void removeControlObject(const DtEntityMapperKey& key);
182  virtual void clearControlObjects();
183 
184  virtual bool isControlObject(const DtEntityMapperKey& key) const;
185 
191  virtual bool wantsToSaveTerrain(bool& ignoredModifications);
192 
194  virtual bool saveTerrain(bool askForName = false);
195 
197  bool importingScenario() const { return myImportingScenario; };
198 
201  virtual bool generateNavigationArea(makVrv::DtUniqueID);
202 
205  virtual bool regenerateNavigationAreas(bool);
206 
207  virtual void closeScenario(bool resetScenario = true, const DtFilename& databaseToOpen = "");
208  virtual bool loadScenario(std::string, DtVrfScenarioRemapFunction* remapping = 0);
209  virtual bool loadScenario(const DtScenarioLoadInformation& s);
210  virtual bool importScenario(const DtScenarioLoadInformation& s);
211  virtual void runScenario();
212  virtual void pauseScenario();
213 
216  virtual bool rewindScenario(double toSimTime = -1);
217 
222  virtual void setCreateMenuBuilderFlags(DtCreateMenuBuilder::Flags);
223  virtual DtCreateMenuBuilder::Flags createMenuBuilderFlags() const;
224 
230  virtual void tickedLoadScenario(const DtString& scenarioName = "", bool useDefaultRemappingFunction = false);
231 
234  virtual void tickedNewScenario();
235 
237  virtual void loadScenarioFromDialog(QWidget* p);
238  virtual DtLoadScenarioDialog* createLoadScenarioDialog(QWidget*);
239  virtual void importScenarioFromDialog(QWidget* p);
240 
242  virtual void loadScenarioFromSessionDialog(QWidget* p);
243 
248  virtual void setHelpFile(const std::string&, bool save = false);
249  virtual std::string helpFile() const;
250 
253  virtual void setDefaultScenarioFile(const std::string& f, bool save = false);
254  virtual std::string defaultScenarioFile() const;
255 
257  virtual void setSimulationObjectGroupTerrain(const std::string& f, bool save = false);
258  virtual std::string simulationObjectGroupTerrain() const;
259 
263  virtual void setDefaultSimulationModelSetFile(const std::string& f, bool save = false);
264  virtual std::string defaultSimulationModelSetFile() const;
265 
268  virtual void rebuildCreateMenu(bool recreate = true);
269 
273  virtual void recreateCreateMenu();
274 
276  virtual std::string language() const;
277 
279  virtual void loadTaskMenu(const DtScenarioExplorer& explorer);
280 
282  virtual void loadSetMenu(const DtScenarioExplorer& explorer);
283 
286  virtual void removeSimulationObjectGroupTasksSets(const DtScenarioExplorer& explorer);
287 
290  virtual DtFilename saveScenarioName(bool askIfDoesNotExist = true, bool* asked = 0, bool createDefaultIfEmpty = false) const;
291 
293  virtual void setupWindowTitleBasedOnScenario();
294 
297  virtual makArchives::DtObserverStateRecordsList& observerViews();
298  virtual const makArchives::DtObserverStateRecordsList& observerViews() const;
300 
302  virtual DtScenarioSettingsDialog* createNewScenarioDialog(QWidget* p);
303  virtual void newScenarioFromDialog(QWidget* p);
304 
309  virtual void newScenario(const std::string&, const std::string& sms = "");
310 
312  virtual void loadBatchScenario(QWidget*);
313 
323  virtual bool joinSession(DtJoinSessionTerrainAction terrainAction = DtTerrainActionUseSessionTerrain);
324 
325  virtual void resignSession(bool closeTerrain = true);
326 
327  virtual bool saveScenarioAs();
328 
331  virtual int saveScenario();
332 
333  virtual bool canRewind() const;
334 
337  void setValidateForVrfObjects(bool b)
338  {
339  myValidateForVrfObjects = b;
340  }
341 
342  bool validateForVrfObjects() const
343  {
344  return myValidateForVrfObjects;
345  }
346 
347  void setScenarioDirty(bool b)
348  {
349  myScenarioDirty = b;
350  }
351 
352  void setReadyToQuit(bool b)
353  {
354  myReadyToQuit = b;
355  }
356 
357  bool scenarioDirty() const
358  {
359  return myScenarioDirty;
360  }
361 
362  const DtScenario* scenario() const
363  {
364  return myScenario;
365  }
366 
367  void setAskSaveIfScenarioModified(bool b)
368  {
369  myAskSaveIfScenarioModified = b;
370  }
371 
372  bool askSaveIfScenarioModified() const
373  {
374  return myAskSaveIfScenarioModified;
375  }
376 
377  bool joinedToSession() const
378  {
379  return myJoinedToSession;
380  }
381 
382  void setDisplayExistingGdbWarningMessages(bool b)
383  {
384  myDisplayExistingGdbWarningMessage = b;
385  }
386 
387  bool displatExistingGdbWarningMessages() const
388  {
389  return myDisplayExistingGdbWarningMessage;
390  }
391 
392  virtual void setCorrelated(bool);
393 
394  bool correlated() const
395  {
396  return myCorrelated;
397  }
398 
399  DtMenu* createMenu()
400  {
401  return myMenu;
402  }
403 
404  bool initialized() const
405  {
406  return myInitialized;
407  }
408 
409  const DtDeadReckoningSettings& deadReckoningSettings() const
410  {
411  return myDeadReckoningSettings;
412  }
413 
414  void setAllowEditingOnScenarioJoin(bool b)
415  {
416  myAllowEditingOnScenarioJoin = b;
417  }
418 
419  bool allowEditingOnScenarioJoint() const
420  {
421  return myAllowEditingOnScenarioJoin;
422  }
423 
424  virtual std::string currentlyLoadedTerrain() const;
425 
426  virtual void processJoinSession(bool startupMessage = false);
427 
428  virtual void setFromRecord(const DtVrfScriptedTaskSettingsRecord& rec);
429  virtual void loadDefaultScriptedTaskSettings(bool loadOnlyFactorySettings = false);
430  virtual void saveScriptedTaskSettingsAsDefaults();
431  virtual void getRecord(DtVrfScriptedTaskSettingsRecord& rec) const;
432 
435  virtual bool autoJoinSession() const;
436  virtual bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
437  virtual bool askToJoin() const;
438  virtual bool alwaysJoinWithSessionDatabase() const;
439  virtual bool zoomToScenarioExtentsOnLoad() const;
440  virtual bool alwaysJoinWithOpenDatabase() const;
441  virtual bool displaySessionDialogs() const;
442  virtual bool displayCorrelationWarningMessages() const;
443 
445  virtual bool isDefaultObserverView(const std::string&);
446  virtual std::string defaultObserverView() const;
447  virtual void setDefaultObserverView(const std::string&);
448 
451  virtual void showObserverView(const std::string& view, int ticksBeforeShow = 0, bool inPreTick = true,
452  bool zoomToExtents = false);
453 
455 
457  virtual void requestSpotReports();
458 
461  virtual void requestStealthCommands();
462  const DtStealthCommands& stealthCommands() const
463  {
464  return myStealthCommands;
465  }
466 
468  const DtSimulationObjectGroupSaveInformation& simulationObjectGroupSaveInformation() const
469  {
470  return mySimulationObjectGroupSaveInformation;
471  }
472 
475  virtual bool isScenarioFile(const DtFilename&, bool exact = false) const;
476 
479  virtual void setAsynchLoadBufferTime(double);
480 
482  virtual void zoomToExtentsFromScenario(const DtScenario&) const;
483 
485  virtual void setFavorite(const DtEntityMapperKey&, bool f);
486 
487  makVrv::DtRecordSettingsBackupInterface* scriptedTaskSettingsBackup()
488  {
489  return myScriptedTaskSettingsBackup;
490  }
491 
493  void exportSessionSettings(const std::string& fileName);
494 
496  void importSessionSettings(const std::string& fileName);
497 
499  void exportScriptedTaskSettings(const std::string& fileName);
500 
502  void importScriptedTaskSettings(const std::string& fileName);
503 
505  virtual void setDoNotShowSessionStartupDialog(bool);
506  bool showSessionStartupDialog() const;
507 
510  virtual void setAggregateOnCreate(bool);
511  bool aggregateOnCreate() const;
512 
514  virtual void setUserDefinedSmoothing(bool);
515  bool userDefinedSmoothing() const;
516 
518  virtual void setWindowTitle(const QString&);
519 
521  virtual void setShowSessionStatusDialogs(SessionStatusDialogs);
522  SessionStatusDialogs showSessionStatusDialogs() const
523  {
524  return myShowSessionStatusDialogs;
525  }
526 
528  virtual void setDenySystemScriptEditing(bool);
529  virtual bool denySystemScriptEditing() const;
530 
532  virtual void setIndent(int);
533  virtual int indent() const;
534 
536  virtual void setWarnOnSystemScriptChange(bool);
537  virtual bool warnOnSystemScriptChange() const;
538 
540  virtual void setMonitorScriptedTaskFrameRates(bool);
541  virtual bool monitorScriptedTaskFrameRates() const;
542 
544  virtual QString filenameToSaveUnder() const;
545 
547  virtual void setAutoSave(bool);
548  virtual bool autoSave() const;
549 
551  virtual void setShowScenarioDescriptionMessageBox(bool b);
552  virtual bool showScenarioDescriptionMessageBox() const;
553 
555  virtual const DtSubMenuConfiguration& initialCreateMenuConfiguration() const;
556  virtual DtSubMenuConfiguration& initialCreateMenuConfiguration();
557 
559  virtual const DtSubMenuConfiguration& initialTaskMenuConfiguration() const;
560  virtual DtSubMenuConfiguration& initialTaskMenuConfiguration();
561 
563  virtual const makVrv::DtToolbarConfiguration& initialToolbarConfiguration() const;
564  virtual makVrv::DtToolbarConfiguration& initialToolbarConfiguration();
565 
567  virtual const DtSubMenuConfiguration& initialSetMenuConfiguration() const;
568  virtual DtSubMenuConfiguration& initialSetMenuConfiguration();
569 
572  virtual void addAdditionalSmsFile(const std::string&);
573  virtual void removeAdditionalSmsFile(const std::string&);
574  virtual void setAdditionalSmsFiles(const std::vector<DtString>&);
575 
577  virtual std::vector<std::string> defaultSimulationModelSetFiles() const;
579 
582  virtual void setSaveScenarioFilenameToUseOnFirstSave(const DtFilename& f);
583  virtual const DtFilename& saveScenarioFilenameToUseOnFirstSave() const;
584 
585  bool quitting() const { return myQuitWhenSaved; };
586 
587  public:
588  virtual void slot_onScenarioModified();
589 
591  virtual void editHostilityMatrix(QWidget* parent);
592 
594  virtual DtHostilityMatrixDialog* createHostilityMatrixDialog(
595  QWidget* p, const Qt::WindowFlags& flags) const;
596 
598  virtual void addRecentScenario(const std::string&);
599 
603  virtual bool askAndSaveScriptsForRewind();
604 
606  virtual const DtRwHazardAreaInformation& hazardAreaInformation() const;
607 
609  virtual makVrv::DtUnicode hazardAreaAgentTypeFor(const DtEntityType&, const DtString& agentKey) const;
610 
612  virtual bool loadTerrain(const std::string& filePath);
613 
615  virtual void resetTerrain();
616 
619  virtual time_t dateAndTimeOfDay() const;
620 
622  virtual double simulationTime() const;
623 
625  virtual void setShowQuitDialogOnClose(bool);
626  virtual bool showQuitDialogOnClose() const;
627 
628  virtual bool usingAsynchIO() const;
629 
630  public:
631 
632  boost::signal<void (bool)> signal_requestingSaveOnScenarioModified;
633  boost::signal<void (DtSessionStatusBox*)> signal_sessionStatusDialogCreated;
634  boost::signal<void ()> signal_allScenarioObjectsDiscovered;
635  boost::signal<void ()> signal_forcesChanged;
636  boost::signal<void ()> signal_scenarioRewound;
637  boost::signal<void ()> signal_setMenuConfigurationLoaded;
638  boost::signal<void ()> signal_taskMenuConfigurationLoaded;
639  boost::signal<void ()> signal_createMenuConfigurationLoaded;
640  boost::signal<void (const std::string&)> signal_scenarioLoadError;
641  boost::signal<void (const std::string&)> signal_scenarioSaveError;
642  boost::signal<void (DtSessionStartupDialog*)> signal_sessionStartupBoxCreated;
643  boost::signal<void (DtHostilityMatrixDialog*)> signal_hostilityMatrixDialogCreated;
644  boost::signal<void (const DtDeadReckoningSettings&)> signal_deadReckoningSettingsChanged;
645  boost::signal<void (const DtScenarioExplorer&)> signal_scenarioLoaded;
646  boost::signal<void (bool)> signal_sessionStatusChanged;
647  boost::signal<void ()> signal_allBackendsClosed;
648  boost::signal<void ()> signal_rewinding;
649  boost::signal<void ()> signal_rewindMessageSent;
650  boost::signal<void ()> signal_scenarioManagerInitialized;
651 
653  boost::signal<void (std::string, std::string)> signal_defaultObserverViewChanged;
654 
656  boost::signal<void (const DtScenarioLoadInformation&)> signal_preLoadScenario;
657 
659  boost::signal<void (const DtScenarioLoadInformation&)> signal_scenarioLoadRequest;
660 
663  boost::signal<void (const DtScenarioLoadInformation&)> signal_postLoadScenario;
664 
668  boost::signal<void (const std::string&)> signal_preLoadBaseTerrain;
669 
672  boost::signal<void (const std::string&)> signal_preLoadTerrain;
673 
675  boost::signal<void (const std::string&)> signal_postLoadTerrain;
676 
678  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadForceFiles;
679 
681  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadForceFiles;
682 
684  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadArtilleryManager;
685 
687  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadArtilleryManager;
688 
690  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadModelSetFiles;
691 
693  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadModelSetFiles;
694 
696  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadCreateMenu;
697 
699  boost::signal<void (const DtScenarioExplorer&, DtMenu*)> signal_postLoadCreateMenu;
700 
702  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadTaskMenu;
703 
705  boost::signal<void (const DtFilename&, DtVrfModelSetManager*)> signal_modelSetLoaded;
706 
708  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadTaskMenu;
709 
711  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadSimulationObjectGroupRemovalFile;
712 
714  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadSimulationObjectGroupRemovalFile;
715 
717  boost::signal<void (const DtScenarioExplorer&)> signal_preLoadSetMenu;
718 
720  boost::signal<void (const DtScenarioExplorer&)> signal_postLoadSetMenu;
721 
723  boost::signal<void (const DtScenario&)> signal_preLoadOverlayFile;
724 
726  boost::signal<void (const DtScenario&)> signal_postLoadOverlayFile;
727 
729  boost::signal<void (const DtScenario&)> signal_preLoadSelectionGroupFile;
730 
732  boost::signal<void (const DtScenario&)> signal_postLoadSelectionGroupFile;
733 
735  boost::signal<void (const DtScenario&)> signal_preLoadObserverViewsFile;
736 
738  boost::signal<void (const DtScenario&)> signal_postLoadObserverViewsFile;
739 
741  boost::signal<void (const DtScenarioExplorer&)> signal_createMenuLoaded;
742 
744  boost::signal<void ()> signal_recreateCreateMenu;
745 
747  boost::signal<void ()> signal_recreateTaskMenu;
748 
750  boost::signal<void ()> signal_recreateSetMenu;
751 
753  boost::signal<void (const DtVrfScriptedTaskSettingsRecord&)> signal_scriptedTaskSettingsChanged;
754 
756  boost::signal<void (DtVrfGuiRecentScenarios*)> signal_recentScenariosChanged;
757 
759  boost::signal<void (const DtScenario&)> signal_preLoadGuiScenarioSettings;
760 
762  boost::signal<void (const DtScenario&)> signal_postLoadGuiScenarioSettings;
763 
765  boost::signal<void ()> signal_scenarioClosed;
766 
768  boost::signal<void ()> signal_scenarioClosing;
769 
771  boost::signal<void ()> signal_scenarioJustLoaded;
772 
774  boost::signal<void (QString&)> signal_windowTitleAboutToBeSet;
775 
777  boost::signal<void (QString)> signal_windowTitleSet;
778 
780  boost::signal<void (const DtRwHazardAreaInformation&)> signal_hazardAreaInformationReceived;
781 
784 
786  boost::signal<void (const std::string&)> signal_scenarioFilenameChanged;
787 
788  protected:
790  virtual void scenarioFilenameChanged();
791 
793  virtual void scenarioJustClosed();
794 
796  virtual void errorLoadingScenario();
797 
799  virtual void scenarioClosing();
800 
802  virtual void slot_allBackendsClosed();
803 
806  virtual void loadTranslationsForModelSet(DtSimulationModelSet*);
807 
809  virtual void cleanupSessionBox();
810 
812  virtual void slot_sessionStartupComplete();
813 
815  virtual void allScenarioObjectsDiscovered();
816 
818  virtual void slot_onScenarioLoaded(const DtScenario*, bool emitScenarioLoadedSignal = true, bool isNewScenario = false);
819 
820  virtual void slot_checkBackendClosed(const DtVrfBackendState&, int);
821  virtual void slot_checkSimulationState(const DtVrfBackendState&, int);
822 
824  virtual bool saveIfDirty(int* saved = 0, bool takeSnapshot = true, bool showCheckpointSaveTitle = false);
825  virtual DtJoinSessionDialog* createJoinSessionDialog(QWidget* parent, const Qt::WindowFlags& flags);
826 
827  virtual void connectSignals(bool);
828 
829  virtual void displayCorrelationWarningMessage();
830 
832  virtual void requestHazardAreaInformation();
833 
835  virtual void reloadScenario(const std::string& newTerrain);
836 
839  virtual void saveScenario(std::string baseName, std::string newTerrainName);
840 
842  virtual void slot_onScenarioSaved(bool checkpointSave = false);
843 
848  virtual void reloadSimulationModelSets(const std::vector<DtFilename>&, bool reverse = false);
849 
851  virtual void slot_onScenarioReloaded(std::string scenarioName);
852 
854  void setup();
855 
857  virtual void showSessionStartupDialog();
858 
861  virtual void processServerMessage(DtSimMessage*);
862 
864  virtual void processStealthCommands(DtSimMessage*);
865 
867  virtual void processHazardAreaInformation(DtSimMessage*);
868 
870  virtual void processForcesMessage(DtSimMessage*);
871 
873  virtual void restorePreservedScripts();
874 
876  virtual void scenarioWasRewound();
877 
879  virtual void terrainCleared();
880 
881  protected:
882  virtual void completeScenarioLoad();
883  virtual void completeSimulationObjectGroupLoad();
884 
885  virtual void loadIndirectArtilleryManager(const DtScenarioExplorer& explorer);
886  virtual void loadForceFiles(const DtScenarioExplorer& explorer);
887  virtual void loadCreateMenu(const DtScenarioExplorer& explorer);
888  virtual bool loadInitialMenuConfiguration(makVrv::DtMenuConfiguration&, const DtFilename&);
889  virtual void loadOverlayFile(const DtScenario&, bool removeAll = true);
890  virtual void loadSelectionGroupFile(const DtScenario&);
891  virtual void loadObserverViewFile(const DtScenario&, bool andSetDefaultView = true);
892 
893  virtual void loadGuiScenarioSettings(const DtScenario&);
894  virtual void loadModelSetFiles(const DtScenarioExplorer& explorer);
895 
896  virtual DtModelSetEntry* modelSetEntry(const DtEntityMapperKey& key) const;
897  virtual DtMenu* createMenuFromModelSetManager() const;
898  virtual bool isModelSet(const DtFilename& filename) const;
899 
900  virtual void slot_onSessionUpdated(int flags);
901  virtual void slot_onDuplicateBackendAddress(const DtVrfBackendState&);
902 
903  virtual void slot_backendDiscovered(const DtVrfBackendState&);
904  virtual void slot_settingReceived(const std::string&, const DtVrfBackendState*);
905 
908  virtual void slot_postDeCallback();
909 
910  virtual bool sessionPrompt(const QString& message);
911 
912  virtual bool openTerrainDatabaseFromUserSelection();
913 
914  virtual bool loadSessionTerrain(const std::string&);
915 
916  virtual bool isSameTerrain(const std::string& terrain1, const std::string& terrain2) const;
917 
918  virtual void slot_terrainModified();
919 
921  virtual void slot_propChanged();
922 
923  virtual void slot_deDestructing();
924 
925  virtual void slot_terrainToBeCleared();
926  virtual void slot_terrainCleared();
927 
928  virtual bool checkWriteGdb(const std::string& gdb);
929 
930  virtual DtSessionStatusBox* createSessionStatusBox();
931 
932  virtual void setupScriptedTaskSettings();
933 
935  virtual QFileInfo findTerrainFile(const std::string& terrainFile) const;
936 
939  virtual QFileInfo findTerrainFile(const std::string& terrainFile, const std::vector<std::string>& searchPaths,
940  const std::string& extension) const;
941 
943  virtual void slot_scenarioAboutToBeSaved(DtScenario*);
944 
946  virtual void createSessionStatusBox(const QString& title, const QString& message, int statusType);
947 
949  virtual void slot_sessionSettingsChanged();
950 
952  virtual bool eventFilter(QObject*, QEvent*);
953 
954  virtual void slot_savedSimulationObjectGroup(const std::string&);
955 
956  virtual void postSaveLoadFromSession(QWidget*);
957  virtual void postSaveLoadFromDialog(QWidget*);
958  virtual void postSaveNew(QWidget*);
959  virtual void postSaveQuit();
960  virtual void postSaveLoad();
961  virtual void postSaveClose(bool resetScenario, DtFilename databaseToOpen);
962  virtual void postSaveImport(DtScenarioLoadInformation);
963  virtual void postSaveRewind(bool preserveScripts, double simTime);
964 
965  virtual void nullSaveFunction();
966 
968  virtual void backendDiscoveryTick();
969 
970  protected slots:
971  virtual void commFileMessagesReceived(const QStringList&);
972  virtual void statusDialogDestroyed();
973 
974  protected:
980  std::vector<DtEntityMapperKey> myControlObjectTypes;
990  std::string myLoadedTerrain;
991  std::string myTerrainFile;
1003 
1009 
1015 
1016  std::vector<DtString> myAdditionalSmsFiles;
1021 
1023 
1024  QString myWindowTitle;
1025 
1026  std::map<std::string, QTranslator*> myTranslators;
1027 
1029 
1036 
1037  boost::function<void ()> myPostSaveFunction;
1038 
1043 
1045 
1051 
1054  DtTimedSection myAsynchTimeoutSection;
1055 
1059 
1060  DtTimedSection myBackendDiscoveryTimer;
1062  };
1063 
1066  {
1067  public:
1068  enum Status
1069  {
1070  None = 0x00000000,
1071  Loading = 0x00000001,
1072  Saving = 0x00000002,
1073  Closing = 0x00000004,
1074  Importing = 0x00000008,
1075  CreatingSimulationObjectGroup = 0x00000010
1076  };
1077 
1079  virtual ~DtSessionStatusBox();
1080 
1081  virtual void setMessage(const QString& message);
1082 
1083  virtual void keyPressEvent(QKeyEvent *e);
1084 
1085  virtual void terrainGeometryLoaded();
1086 
1087  virtual void waitingForTerrainLoad();
1088 
1089  virtual void setStatus(Status s);
1090 
1091  Status status() const
1092  {
1093  return myStatus;
1094  }
1095 
1096  virtual void accept();
1097 
1098  virtual void reject();
1099 
1100  boost::signal<void ()> signal_closeScenario;
1101 
1102  protected:
1111  };
1112 }
1113 

Document ID: Generated on Mon Jul 4 01:00:18 EDT 2016 from SVN revision 166489
Copyright © 2005-2015 VT MÄK. All Rights Reserved (www.mak.com)