VR-Forces 4.5 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
vrfSessionSettingsManager.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2016 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
8 
10 
11 #pragma once
12 
14 #include <vrfGuiCore/vrfGuiCore.h>
17 #include <vlutil/vlFilename.h>
18 
19 #include <vrvCore/DtStateView.h>
20 #include <vrvCore/DtEntityState.h>
21 
22 #include <boost/signal.hpp>
23 #include <boost/unordered_map.hpp>
24 
25 class DtUUID;
26 
27 namespace makVrv
28 {
29  class DtRecordSettingsBackupInterface;
30  class DtDe;
31 }
32 
33 namespace makVrf
34 {
37  {
38  public:
40  virtual ~DtVrfSessionSettingsManager();
41 
43  static DtVrfSessionSettingsManager& instance(makVrv::DtDe& de);
44  static void registerInstance(makVrv::DtDe& de, DtVrfSessionSettingsManager*);
45 
50  virtual void setHelpFile(const std::string&, bool save = false);
51  virtual std::string helpFile() const;
52 
55  virtual void setDefaultScenarioFile(const std::string& f, bool save = false);
56  virtual std::string defaultScenarioFile() const;
57 
59  virtual void setSimulationObjectGroupTerrain(const std::string& f, bool save = false);
60  virtual std::string simulationObjectGroupTerrain() const;
61 
64  virtual void setDefaultSimulationModelSetFile(const std::string& f, bool save = false, bool signalChange = true);
65  virtual std::string defaultSimulationModelSetFile() const;
66  virtual void setFromRecord(const DtVrfSessionSettingsRecord& rec);
67  virtual void loadDefaultSessionSettings(bool loadOnlyFactorySettings = false);
68  virtual void getRecord(DtVrfSessionSettingsRecord& rec) const;
69 
72  virtual void getSplitRecord(std::vector<DtVrfSessionSettingsRecord>& rec,
73  std::vector<std::string>& fileNames) {};
74 
77  virtual void addRecords(DtVrfSessionSettingsRecord& recs,
78  DtVrfSessionSettingsRecord& combinedRec) {};
79 
81  virtual void setAutoSave(bool);
82  virtual bool autoSave() const;
83 
86  virtual bool autoJoinSession() const;
87  virtual bool automaticallyOpenSessionDatabaseWithoutJoiningSession() const;
88  virtual bool askToJoin() const;
89  virtual bool alwaysJoinWithSessionDatabase() const;
90  virtual bool zoomToScenarioExtentsOnLoad() const;
91  virtual bool alwaysJoinWithOpenDatabase() const;
92  virtual bool useSimulationTimeForAdvancement() const;
93  virtual bool showOverlayBar() const;
94 
97  virtual void setUseAdditionalWindowTitle(bool);
98  virtual bool useAdditionalWindowTitle() const;
99 
101  virtual void setAdditionalWindowTitle(const makVrv::DtUnicode&);
102  virtual makVrv::DtUnicode additionalWindowTitle() const;
103 
105  virtual void setScenarioStartTimeAtDefault(bool);
106  virtual bool scenarioStartTimeAtDefault() const;
107 
109  virtual void setCheckForUnusedTriggersOnPlanSave(bool);
110  virtual bool checkForUnusedTriggersOnPlanSave() const;
111 
113  virtual void setUseStartFreezePdus(bool);
114  virtual bool useStartFreezePdus() const;
115 
117  virtual void setDefaultScenarioStartTime(time_t);
118  virtual time_t defaultScenarioStartTime() const;
119 
121  virtual void setDefaultEnvironmentCondition(const std::string& defaultCondition, bool save = true);
122  virtual std::string defaultEnvironmentCondition() const;
123 
126  virtual void addValueFor(const DtUUID&, const std::string& key, const std::string& value);
127  virtual void removeValueFor(const DtUUID&, const std::string& key);
128  virtual void removeValuesFor(const DtUUID&);
129  virtual std::string valueFor(const DtUUID&, const std::string& key) const;
130 
132  virtual void setEnablePeriodicCheckpointing(bool);
133  virtual bool enablePeriodicCheckpointing() const;
134 
137  virtual void setPeriodicCheckpointingFrequency(int);
138  virtual int periodicCheckpointingFrequency() const;
139 
141  virtual void setPeriodicCheckpointingDirectory(const std::string&);
142  virtual const std::string& periodicCheckpointingDirectory() const;
143  const DtFilename& periodicCheckpointingDirectoryResolved() const { return myPeriodicCheckpointDirectory; };
144 
146  {
147  return mySessionSettingsBackup;
148  }
149 
151  void exportSessionSettings(const std::string& fileName);
152 
154  void importSessionSettings(const std::string& fileName);
155 
157  virtual void setDoNotShowSessionStartupDialog(bool, bool save = true, bool signal = true);
158  bool showSessionStartupDialog() const;
159 
161  virtual void setDisplaySessionDialogs(bool);
162  virtual bool displaySessionDialogs() const;
163 
165  virtual void setDisplayCorrelationWarningMessages(bool);
166  virtual bool displayCorrelationWarningMessages() const;
167 
169  virtual void setStartupPreference(int);
170  int startupPreference() const;
171 
173  virtual void setStartupTerrain(const std::string&);
174  virtual const std::string& startupTerrain() const;
175 
177  virtual void setStartupScenario(const std::string&);
178  virtual const std::string& startupScenario() const;
179 
181  virtual void setStartupSimulationModelSet(const std::string&);
182  virtual const std::string& startupSimulationModelSet() const;
183 
185  virtual void setTimeScaleRange(double low, double high, bool save = true);
186  virtual void getTimeScaleRange(double& low, double& high) const;
187 
190  virtual void setAggregateOnCreate(bool);
191  bool aggregateOnCreate() const;
192 
194  virtual void setUserDefinedSmoothing(bool);
195  bool userDefinedSmoothing() const;
196 
198  virtual void setShowScenarioDescriptionDialog(bool b);
199  virtual bool showScenarioDescriptionDialog() const;
200 
202  virtual void saveSettingsAsDefault();
203 
205  virtual void setSimulationModelSetConfigurations(const std::vector<DtVrfSessionSettingsRecord::SimulationModelSetConfiguration>&);
206  virtual const std::vector<DtVrfSessionSettingsRecord::SimulationModelSetConfiguration>& simulationModelSetConfigurations() const;
207 
209  virtual void addSimulationModelSetConfiguration(const DtVrfSessionSettingsRecord::SimulationModelSetConfiguration&,
210  bool autoSaveIfEnabled = true);
211 
213  virtual void removeSimulationModelSetConfiguration(const std::string&);
214 
215  public:
217  boost::signal<void (const DtVrfSessionSettingsRecord&)> signal_sessionSettingsChanged;
218 
219  protected:
223 
224  typedef boost::unordered_map<std::string, std::string> KeyValuePairs;
225  typedef boost::unordered_map<DtUUID, KeyValuePairs> KeyValuePairsByUUID;
226  typedef boost::unordered_map<DtString, DtUUID> UUIDByMarkingText;
229 
231  };
232 }

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)