Itasca C++ Interface
isettings.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "base/src/baseqt.h"
4 
5 #include "shared/interface/signal.h"
6 #include "shared/interface/ifile.h"
7 
13 namespace itasca {
15 
18  class ISettings {
19  public:
20  using OpenAction = shared::IFile::OpenAction;
21 
22  shared::Signal<bool> caseSensitivityChanged;
23  shared::Signal<bool> logChanged;
24  shared::Signal<const QString &> logFileNameChanged;
25  shared::Signal<bool> safeConversionChanged;
26  shared::Signal<bool> echoChanged;
27  shared::Signal<const QString &> customerTitle1Changed;
28  shared::Signal<const QString &> customerTitle2Changed;
29  shared::Signal<const QString &> jobTitleChanged;
30  shared::Signal<bool> LHSChanged;
31  shared::Signal<const QString &> licenseChanged;
32  shared::Signal<bool> academicModelChanged;
33  shared::Signal<bool> demoModelChanged;
34  shared::Signal<uint32> updateIntervalChanged;
35  shared::Signal<bool> unrepeatableChanged;
36  shared::Signal<bool> readOnlyChanged;
37  shared::Signal<bool> resultsStateChanged;
38  shared::Signal<bool> autoModelSaveChanged;
39  shared::Signal<double> autoModelSaveIntervalChanged;
40  shared::Signal<const QString &> autoModelSaveDirectoryChanged;
41 
43  virtual bool getLog() const=0;
44 
46  virtual QString getLogFileName() const=0;
47 
50  virtual bool getSafeConversion() const=0;
51 
53  virtual bool getEcho() const=0;
54 
56  virtual QString getCustomerTitle1() const=0;
58  virtual QString getCustomerTitle2() const=0;
59 
61  virtual QString getJobTitle() const=0;
62 
64  virtual bool getLHS() const=0;
65 
67  // e.g.: (null) = Full or Non-Cycling license, "Demonstration" License, "Academic" License, etc.
68  virtual QString getLicense() const=0;
69 
71  virtual bool getAcademicModel() const=0;
72 
74  virtual bool getDemoModel() const=0;
75 
77  virtual uint32 getUpdateInterval() const=0;
78 
80  virtual bool getReadOnly() const=0;
81 
84  virtual bool getUnrepeatable() const=0;
85 
86  // True if the current model state was read from a results file.
87  // Cycling (and maybe other things) is disabled in this state.
88  virtual bool getResultsState() const=0;
89 
90  virtual bool getAutoModelSave() const=0;
91  virtual double getAutoModelSaveInterval() const=0;
92  virtual QString getAutoModelSaveDirectory() const=0;
93 
94  virtual void setLog(bool b,OpenAction action = OpenAction::Append)=0;
95  virtual void setLogFileName(const QString &s,OpenAction action = OpenAction::Append)=0;
97  virtual void setUpdateInterval(uint32 u)=0;
98 
99  virtual void setAutoModelSave(bool b)=0;
100  virtual void setAutoModelSaveInterval(double d)=0;
101  virtual void setAutoModelSaveDirectory(const QString &s)=0;
102  };
103 } // namespace itasca
104 // EoF
All default base headers if Qt is being used.
Interface for accessing kernel settings.
Definition: isettings.h:18
virtual bool getAcademicModel() const =0
True if any cycling was ever done under an academic license.
virtual bool getDemoModel() const =0
True if any cycling was ever done under a demo license.
virtual bool getLog() const =0
Returns TRUE if text output is being sent to a log file as well.
virtual bool getEcho() const =0
Returns TRUE if command input is being printed out when received.
virtual bool getSafeConversion() const =0
virtual bool getReadOnly() const =0
True if the model state has been tagged as read only.
virtual bool getUnrepeatable() const =0
virtual QString getCustomerTitle2() const =0
Returns the customer title (2) set by the user and stored persistantly.
virtual uint32 getUpdateInterval() const =0
Returns the frequency of notices during cycling.
virtual QString getLicense() const =0
Returns the current license terms. .
virtual QString getCustomerTitle1() const =0
Returns the customer title (1) set by the user and stored persistantly.
virtual bool getLHS() const =0
Returns TRUE if a Left Handed coordinate system is being used.
virtual QString getLogFileName() const =0
Returns the name of the log file (whether logging is on or not).
virtual QString getJobTitle() const =0
Returns the Job title associated with the current model.
virtual void setUpdateInterval(uint32 u)=0
Sets the frequency of notices during cycling.
namespace Itasca
Definition: basememory.cpp:10