VR-Forces 5.0.1 Developer's Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
rangeLineSettingsWidget.h
Go to the documentation of this file.
1 /*******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 *******************************************************************************/
5 
6 #pragma once
7 
8 
11 #include <boost/signals2.hpp>
12 
13 #include <QtWidgets/QWidget>
14 
15 class QVBoxLayout;
16 class QCheckBox;
17 class QComboBox;
18 class QLabel;
19 class QSpinBox;
20 class QPushButton;
21 class QToolButton;
22 class QGridLayout;
23 
24 namespace makVrv
25 {
26  class DtDe;
27  class DtPersistenceControlsInterface;
28 }
29 
30 namespace makVrf
31 {
32  class DtRangeLineSettingsWidget;
33  class DtRangeLineSettingsRecord;
34 
36  {
37  public:
41 
44 
45  protected: //Receive boost signals from interface class
46  virtual void on_visibilityChanged(bool);
47  virtual void on_lineWidthChanged(int);
48  virtual void on_colorChanged(const QColor&);
49  virtual void on_fontSizeChanged(int);
50  virtual void on_fontColorChanged(const QColor&);
51  virtual void on_backgroundColorChanged(const QColor&);
52  virtual void on_hatLinesEnabledChanged(bool b);
53  virtual void on_hatLinesOnSelectionOnlyChanged(bool b);
54 
55  protected:
56  virtual void setupFromOptions(const DtRangeLineSettingsRecord&);
57 
59  virtual void on_import();
60  virtual void on_export();
61  virtual void on_defaultsRestored();
62  virtual void on_importFilePathChosen(const std::string& filePath);
63  virtual void on_exportFilePathChosen(const std::string& filePath);
64 
65  protected:
70  };
71 
73  {
74  Q_OBJECT
75 
76  public:
77 
79  DtRangeLineSettingsWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0 );
80 
82  virtual ~DtRangeLineSettingsWidget();
83 
84  virtual void setRangeLinesVisible(bool);
85  virtual bool rangeLinesVisible() const;
86 
87  virtual void setColor(const QColor&);
88  virtual void setColor(float r, float g, float b, float a);
89  virtual const QColor& color() const;
90 
91  virtual void setLineWidth(int i);
92  virtual int lineWidth() const;
93 
94  virtual void setFontColor(const QColor&);
95  virtual void setFontColor(float r, float g, float b, float a);
96  virtual const QColor& fontColor() const;
97 
98  virtual void setBackgroundColor(const QColor&);
99  virtual void setBackgroundColor(float r, float g, float b, float a);
100  virtual const QColor& backgroundColor() const;
101 
102  virtual void setFontSize(int i);
103  virtual int fontSize() const;
104 
106  virtual void setHatLinesEnabled( bool );
107  virtual bool hatLinesEnabled() const;
108 
110  virtual void setHatLinesOnSelectionOnly( bool );
111  virtual bool hatLinesOnSelectionOnly() const;
112 
113  protected:
114 
115  void setupGui();
116 
117  public slots: //Qt slots used as intermediaries between Qt signals and Boost signal classes
118 
119  virtual void on_visibilityChanged(bool onOff);
120  virtual void on_lineWidthChanged();
121  virtual void on_selectColor();
122  virtual void on_selectBackgroundColor();
123  virtual void on_selectFontColor();
124  virtual void on_fontSizeChanged();
125  virtual void on_hatLinesEnabledChanged();
126  virtual void on_hatLinesOnSelectionOnlyChanged();
127 
128  //Used to re-emit QT signals up to logic class
129  public:
130  boost::signals2::signal<void (bool)> signal_visibilityChanged;
131  boost::signals2::signal<void (int)> signal_lineWidthChanged;
132  boost::signals2::signal<void (const QColor&)> signal_colorChanged;
133  boost::signals2::signal<void (int)> signal_fontSizeChanged;
134  boost::signals2::signal<void (const QColor&)> signal_fontColorChanged;
135  boost::signals2::signal<void (const QColor&)> signal_backgroundColorChanged;
136  boost::signals2::signal<void (bool)> signal_hatLinesEnabledChanged;
137  boost::signals2::signal<void (bool)> signal_hatLinesOnSelectionOnlyChanged;
138 
139  private:
142 
145 
146  public:
150 
151  QVBoxLayout* myMainLayout;
152 
153  QGridLayout* myColorLayout;
154 
157  QColor myColor;
160 
163  QColor myFontColor;
166 
170 
171  protected:
173  };
174 };
QColor myFontColor
Definition: rangeLineSettingsWidget.h:163
boost::signals2::signal< void(int)> signal_fontSizeChanged
Definition: rangeLineSettingsWidget.h:133
Definition: rangeLineSettingsWidget.h:72
QLabel * myWidthLabel
Definition: rangeLineSettingsWidget.h:158
makVrv::DtSignalConnectionManager myConnectionManager
Definition: rangeLineSettingsWidget.h:69
QLabel * myFontColorLabel
Definition: rangeLineSettingsWidget.h:161
DtRangeLineSettingsWidget & myInterface
Definition: rangeLineSettingsWidget.h:67
#define DT_DLL_VRFGUISETTINGSWIDGETS
Definition: vrfGuiSettingsWidgets.h:22
QColor myColor
Definition: rangeLineSettingsWidget.h:157
QLabel * myBackgroundColorLabel
Definition: rangeLineSettingsWidget.h:167
QToolButton * myFontColorButton
Definition: rangeLineSettingsWidget.h:162
QColor myBackgroundColor
Definition: rangeLineSettingsWidget.h:169
QGridLayout * myColorLayout
Definition: rangeLineSettingsWidget.h:153
boost::signals2::signal< void(int)> signal_lineWidthChanged
Definition: rangeLineSettingsWidget.h:131
Abstract interface for controlling persistence of state in a dialog.
Definition: DtPersistenceControlsInterface.h:20
QSpinBox * myFontSize
Definition: rangeLineSettingsWidget.h:165
boost::signals2::signal< void(bool)> signal_hatLinesEnabledChanged
Definition: rangeLineSettingsWidget.h:136
Record class for Range Line settings.
Definition: rangeLineSettingsRecord.h:20
QCheckBox * myRangeLinesVisible
Definition: rangeLineSettingsWidget.h:147
boost::signals2::signal< void(bool)> signal_visibilityChanged
Definition: rangeLineSettingsWidget.h:130
Definition: rangeLineSettingsWidget.h:35
QVBoxLayout * myMainLayout
Definition: rangeLineSettingsWidget.h:151
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QSpinBox * myWidth
Definition: rangeLineSettingsWidget.h:159
boost::signals2::signal< void(bool)> signal_hatLinesOnSelectionOnlyChanged
Definition: rangeLineSettingsWidget.h:137
QCheckBox * myHatLinesEnabled
Definition: rangeLineSettingsWidget.h:148
QLabel * myFontSizeLabel
Definition: rangeLineSettingsWidget.h:164
makVrv::DtDe & myDe
Definition: rangeLineSettingsWidget.h:66
QCheckBox * myHatLinesOnSelectionOnly
Definition: rangeLineSettingsWidget.h:149
Base class to provide boost signal/slot management.
QToolButton * myBackgroundColorButton
Definition: rangeLineSettingsWidget.h:168
boost::signals2::signal< void(const QColor &)> signal_fontColorChanged
Definition: rangeLineSettingsWidget.h:134
makVrv::DtPersistenceControlsInterface & myToolbarInterface
Definition: rangeLineSettingsWidget.h:68
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
makVrv::DtDe & myDe
Definition: rangeLineSettingsWidget.h:172
boost::signals2::signal< void(const QColor &)> signal_colorChanged
Definition: rangeLineSettingsWidget.h:132
boost::signals2::signal< void(const QColor &)> signal_backgroundColorChanged
Definition: rangeLineSettingsWidget.h:135
QToolButton * myColorButton
Definition: rangeLineSettingsWidget.h:156
QLabel * myColorLabel
Definition: rangeLineSettingsWidget.h:155

Document ID: Generated on Mon Jun 20 00:38:30 EDT 2022 from SVN revision 244029
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)