VR-Forces Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DtApplicationSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2  * Copyright (c) 2023 MAK Technologies, Inc.
3  * All rights reserved.
4  *****************************************************************************/
5 
9 
10 #pragma once
11 
12 #include <vrvCore/vrvCore.h>
14 
16 
17 #include <vrvUtil/signalslib.h>
18 
19 using namespace makArchives;
20 
21 namespace makVrv
22 {
23 
24  class DtDe;
25  class DtRecordSettingsBackupInterface;
26 
32  : public DtBaseSettingsManager<DtApplicationSettingsRecord>
33  {
34  public:
35 
37  static DtApplicationSettingsManager& instance( DtDe& de );
38 
41 
44 
45  virtual void setViewControlEnabled( bool val );
46  virtual bool viewControlEnabled() const;
47 
48  virtual void setScreenCaptureFilePath(const DtUnicode& filePath);
49  virtual const DtUnicode& screenCaptureFilePath() const;
50 
53  virtual void setMouseHideEnabled(bool enabled);
54 
57  virtual bool mouseHideEnabled() const;
58 
61  virtual void setMouseHideTime(float hideTime);
62 
64  virtual float mouseHideTime() const;
66 
68  virtual void setShowQuitDialogOnClose(bool show);
69 
71  virtual bool showQuitDialogOnClose() const;
72 
74  virtual void setDarkModeEnabled(bool show);
75 
77  virtual bool darkModeEnabled() const;
78 
80  virtual void setLightModeDarkModeIconsEnabled(bool show);
81 
83  virtual bool lightModeDarkModeIconsEnabled() const;
84 
86  virtual void setDarkModeStyleSheetsPath(const std::string& darkModeStyleSheetsPath);
87 
89  virtual std::string darkModeStyleSheetsPath() const;
90 
92  virtual void setLightModeStyleSheetsPath(const std::string& lightModeStyleSheetsPath);
93 
95  virtual std::string lightModeStyleSheetsPath() const;
96 
98  virtual std::string currentStyleSheetsPath() const;
99 
101  virtual void setPaperMapLayerTimeout(double val);
102 
104  virtual double paperMapLayerTimeout() const;
105 
108 
109  boost::signalslib::signal<void ( bool )> signal_viewControlEnabledSet;
110 
111  boost::signalslib::signal<void(DtUnicode)> signal_screenCaptureFilePathChanged;
112 
113  boost::signalslib::signal<void(bool)> signal_mouseHideEnabledChanged;
114 
115  boost::signalslib::signal<void(float)> signal_mouseHideTimeChanged;
116 
117  boost::signalslib::signal<void(bool)> signal_showQuitDialogOnCloseChanged;
118 
120  boost::signalslib::signal<void(bool)> signal_darkModeEnabledChanged;
121 
123  boost::signalslib::signal<void(bool)> signal_lightModeDarkModeIconsEnabledChanged;
124 
128  boost::signalslib::signal<void()> signal_preCurrentStyleSheetsPathChanged;
129 
131  boost::signalslib::signal<void(const std::string&)> signal_currentStyleSheetsPathChanged;
132 
136  boost::signalslib::signal<void()> signal_postCurrentStyleSheetsPathChanged;
137 
138  boost::signalslib::signal<void(double)> signal_paperMapLayerTimeoutChanged;
139 
141 
144 
146  void setFromRecord( const DtApplicationSettingsRecord& rec );
147 
149  void getRecord( DtApplicationSettingsRecord& rec ) const;
150 
152 
153  protected:
154 
156  template <typename ManagerClass>
157  friend ManagerClass& defaultManagerInstanceFunction( DtDe&, bool );
158 
160  template <typename ManagerClass>
161  friend void defaultManagerRegisterInstanceFunction( DtDe&, ManagerClass* );
162 
165 
170  virtual bool applyFactoryOverrides(DtApplicationSettingsRecord& rec) const;
171 
172  protected:
173 
182 
185  };
186 }
Application Settings Manager Settings associated with the application that don&#39;t merit an additional ...
Definition: DtApplicationSettingsManager.h:31
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:291
A unicode string. DtUnicode stores a UTF-16 encoded unicode string. Code Point, a Unicode character...
Definition: DtUnicode.h:33
bool myShowQuitDialogOnClose
Definition: DtApplicationSettingsManager.h:178
boost::signalslib::signal< void()> signal_preCurrentStyleSheetsPathChanged
Signal that indicates the application&#39;s stylesheet(s) will be changed This signal is used by some wid...
Definition: DtApplicationSettingsManager.h:128
boost::signalslib::signal< void(DtUnicode)> signal_screenCaptureFilePathChanged
Signal that indicates whether dark mode has been enabled or disabled.
Definition: DtApplicationSettingsManager.h:111
Record for the settings associated with the application that don&#39;t merit an additional settings file ...
Definition: DtApplicationSettingsRecord.h:18
std::string myLightModeStyleSheetsPath
Definition: DtApplicationSettingsManager.h:184
Contains makArchives::DtApplicationSettingsRecord class.
float myMouseHideTime
Definition: DtApplicationSettingsManager.h:177
bool myMouseHideEnabled
Definition: DtApplicationSettingsManager.h:176
boost::signalslib::signal< void(bool)> signal_showQuitDialogOnCloseChanged
Signal that indicates whether dark mode has been enabled or disabled.
Definition: DtApplicationSettingsManager.h:117
boost::signalslib::signal< void(double)> signal_paperMapLayerTimeoutChanged
Signal that indicates whether dark mode has been enabled or disabled.
Definition: DtApplicationSettingsManager.h:138
boost::signalslib::signal< void(bool)> signal_lightModeDarkModeIconsEnabledChanged
Signal that indicates whether light/dark mode-specific icons have been enabled or disabled...
Definition: DtApplicationSettingsManager.h:123
boost::signalslib::signal< void(const std::string &)> signal_currentStyleSheetsPathChanged
Signal that indicates the application&#39;s stylesheet(s) are changing to those present at the following ...
Definition: DtApplicationSettingsManager.h:131
boost::signalslib::signal< void(bool)> signal_mouseHideEnabledChanged
Signal that indicates whether dark mode has been enabled or disabled.
Definition: DtApplicationSettingsManager.h:113
bool myLightModeDarkModeIconsEnabled
Definition: DtApplicationSettingsManager.h:180
#define DT_DLL_VRVCORE
Definition: vrvCore.h:20
boost::signalslib::signal< void()> signal_postCurrentStyleSheetsPathChanged
Signal that indicates the application&#39;s stylesheet(s) have changed and been applied. This signal is used by some widgets to re-render its contents based on new custom properties that the widget retrieves from a stylesheet.
Definition: DtApplicationSettingsManager.h:136
boost::signalslib::signal< void(bool)> signal_darkModeEnabledChanged
Signal that indicates whether dark mode has been enabled or disabled.
Definition: DtApplicationSettingsManager.h:120
boost::signalslib::signal< void(bool)> signal_viewControlEnabledSet
Signal that indicates whether dark mode has been enabled or disabled.
Definition: DtApplicationSettingsManager.h:109
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:879
boost::signalslib::signal< void(float)> signal_mouseHideTimeChanged
Signal that indicates whether dark mode has been enabled or disabled.
Definition: DtApplicationSettingsManager.h:115
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:841
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
DtUnicode myScreenCaptureFilePath
Definition: DtApplicationSettingsManager.h:175
std::string myDarkModeStyleSheetsPath
Definition: DtApplicationSettingsManager.h:183
double myPaperMapLayerTimeout
Definition: DtApplicationSettingsManager.h:181
bool myViewControlEnabled
Definition: DtApplicationSettingsManager.h:174
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.
bool myDarkModeEnabled
Definition: DtApplicationSettingsManager.h:179

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)