VR-Forces 5.0.2 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rangeLineSettingsManager.h
Go to the documentation of this file.
1 /*****************************************************************************
2 * Copyright (c) 2020 MAK Technologies, Inc.
3 * All rights reserved.
4 *****************************************************************************/
5 
6 #pragma once
7 
8 #include <vrvCore/vrvCore.h>
9 
11 
13 
14 
15 #include <boost/unordered_map.hpp>
16 
17 #include <matrix/vlVector.h>
18 
19 namespace makVrv
20 {
21  class DtDe;
22 }
23 
24 namespace makVrf
25 {
29  : public makVrv::DtBaseSettingsManager<makVrf::DtRangeLineSettingsRecord>
30  {
31  public:
32 
34  static DtRangeLineSettingsManager& instance( makVrv::DtDe& de );
35 
37  virtual ~DtRangeLineSettingsManager();
38 
41 
43  void setRangeLinesVisible( bool enabled );
45  bool rangeLinesVisible() const;
46 
48  void setColor( float r, float g, float b, float a );
50  void color( float& r, float& g, float& b, float& a ) const;
51 
53  void setRangeInfoLabelBackgroundColor( float r, float g, float b, float a );
55  void rangeInfoLabelBackgroundColor( float& r, float& g, float& b, float& a ) const;
56 
58  void setFontColor( float r, float g, float b, float a );
60  void fontColor( float& r, float& g, float& b, float& a ) const;
61 
63  void setFontSize(int);
65  int fontSize() const;
66 
68  void setLineWidth(int);
70  int lineWidth() const;
71 
73  void setHatLinesEnabled( bool hatEnabled );
75  bool hatLinesEnabled() const;
76 
78  void setHatLinesOnSelectionOnly( bool selOnly );
80  bool hatLinesOnSelectionOnly() const;
81 
84  virtual void setRangeLineCreatedOnMiddleMouseClick(bool);
85  bool rangeLineCreatedOnMiddleMouseClick() const;
86 
88 
91 
92  boost::signals2::signal<void (bool)> signal_rangeLinesVisibleChanged;
93  boost::signals2::signal<void (int)> signal_fontSizeChanged;
94  boost::signals2::signal<void (int)> signal_lineWidthChanged;
95  boost::signals2::signal<void (bool)> signal_hatLinesEnabledSet;
96  boost::signals2::signal<void (bool)> signal_hatLinesOnSelectionOnlySet;
97  boost::signals2::signal<void (float r, float g, float b, float a)> signal_colorSet;
98  boost::signals2::signal<void (float r, float g, float b, float a)> signal_fontColorSet;
99  boost::signals2::signal<void (float r, float g, float b, float a)> signal_rangeInfoBackgroundColorSet;
100  boost::signals2::signal<void (bool)> signal_rangeLineCreateOnMiddleClickSet;
101 
103 
106 
108  virtual void setFromRecord( const DtRangeLineSettingsRecord& rec );
109 
111  virtual void getRecord( DtRangeLineSettingsRecord& rec ) const;
112 
113  void setAutoSave(bool b);
114  bool autoSave() const;
115 
117 
118  protected:
119 
121  template <typename ManagerClass>
122  friend ManagerClass& makVrv::defaultManagerInstanceFunction( makVrv::DtDe&, bool );
123 
125  template <typename ManagerClass>
126  friend void makVrv::defaultManagerRegisterInstanceFunction( makVrv::DtDe&, ManagerClass* );
127 
130 
132  virtual void completeSetup();
133 
134  protected:
136  };
137 }
138 
Base class for (non-shared) settings managers. Extends the functionality provided by the DtCommonBase...
Definition: DtBaseSettingsManager.h:271
boost::signals2::signal< void(int)> signal_lineWidthChanged
Definition: rangeLineSettingsManager.h:94
boost::signals2::signal< void(float r, float g, float b, float a)> signal_colorSet
Definition: rangeLineSettingsManager.h:97
DtRangeLineSettingsRecord mySettings
Definition: rangeLineSettingsManager.h:135
boost::signals2::signal< void(bool)> signal_hatLinesEnabledSet
Definition: rangeLineSettingsManager.h:95
boost::signals2::signal< void(float r, float g, float b, float a)> signal_rangeInfoBackgroundColorSet
Definition: rangeLineSettingsManager.h:99
#define DT_DLL_VRFGUICORE
Contains DLL export macros.
Definition: vrfGuiCore.h:25
Record class for Range Line settings.
Definition: rangeLineSettingsRecord.h:20
boost::signals2::signal< void(float r, float g, float b, float a)> signal_fontColorSet
Definition: rangeLineSettingsManager.h:98
boost::signals2::signal< void(int)> signal_fontSizeChanged
Definition: rangeLineSettingsManager.h:93
boost::signals2::signal< void(bool)> signal_rangeLineCreateOnMiddleClickSet
Definition: rangeLineSettingsManager.h:100
void defaultManagerRegisterInstanceFunction(DtDe &de, ManagerClass *mgr)
Default implementation of how to register a manager, especially necessary when overriding the manager...
Definition: DtDe.h:866
This manager will manage settings for intervisibility objects.
Definition: rangeLineSettingsManager.h:28
ManagerClass & defaultManagerInstanceFunction(DtDe &de, bool allowedInSlave)
default Manager instance function. Manager requirements: 1) Static instance function 2) Protected DtS...
Definition: DtDe.h:828
boost::signals2::signal< void(bool)> signal_rangeLinesVisibleChanged
Definition: rangeLineSettingsManager.h:92
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:70
boost::signals2::signal< void(bool)> signal_hatLinesOnSelectionOnlySet
Definition: rangeLineSettingsManager.h:96
Contains the DtBaseSettingsManager class declaration.
Contains DLL export macros.

Document ID: Generated on Sun Dec 4 20:22:03 EST 2022 from SVN revision 249613
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)