VR-Forces 5.0.2 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  virtual void on_createRangeLineOnMiddileButtonClickChanged(bool b);
55 
56  protected:
57  virtual void setupFromOptions(const DtRangeLineSettingsRecord&);
58 
60  virtual void on_import();
61  virtual void on_export();
62  virtual void on_defaultsRestored();
63  virtual void on_importFilePathChosen(const std::string& filePath);
64  virtual void on_exportFilePathChosen(const std::string& filePath);
65 
66  protected:
71  };
72 
74  {
75  Q_OBJECT
76 
77  public:
78 
80  DtRangeLineSettingsWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0 );
81 
83  virtual ~DtRangeLineSettingsWidget();
84 
85  virtual void setRangeLinesVisible(bool);
86  virtual bool rangeLinesVisible() const;
87 
88  virtual void setColor(const QColor&);
89  virtual void setColor(float r, float g, float b, float a);
90  virtual const QColor& color() const;
91 
92  virtual void setLineWidth(int i);
93  virtual int lineWidth() const;
94 
95  virtual void setFontColor(const QColor&);
96  virtual void setFontColor(float r, float g, float b, float a);
97  virtual const QColor& fontColor() const;
98 
99  virtual void setBackgroundColor(const QColor&);
100  virtual void setBackgroundColor(float r, float g, float b, float a);
101  virtual const QColor& backgroundColor() const;
102 
103  virtual void setFontSize(int i);
104  virtual int fontSize() const;
105 
107  virtual void setHatLinesEnabled( bool );
108  virtual bool hatLinesEnabled() const;
109 
111  virtual void setHatLinesOnSelectionOnly( bool );
112  virtual bool hatLinesOnSelectionOnly() const;
113 
116  virtual void setRangeLineCreatedOnMiddleMouseClick(bool);
117  virtual bool rangeLineCreatedOnMiddleMouseClick() const;
118 
119  protected:
120 
121  void setupGui();
122 
123  public slots: //Qt slots used as intermediaries between Qt signals and Boost signal classes
124 
125  virtual void on_visibilityChanged(bool onOff);
126  virtual void on_lineWidthChanged();
127  virtual void on_selectColor();
128  virtual void on_selectBackgroundColor();
129  virtual void on_selectFontColor();
130  virtual void on_fontSizeChanged();
131  virtual void on_hatLinesEnabledChanged();
132  virtual void on_hatLinesOnSelectionOnlyChanged();
133  virtual void on_createRangeLineOnMiddileButtonClickChanged();
134 
135  //Used to re-emit QT signals up to logic class
136  public:
137  boost::signals2::signal<void (bool)> signal_visibilityChanged;
138  boost::signals2::signal<void (int)> signal_lineWidthChanged;
139  boost::signals2::signal<void (const QColor&)> signal_colorChanged;
140  boost::signals2::signal<void (int)> signal_fontSizeChanged;
141  boost::signals2::signal<void (const QColor&)> signal_fontColorChanged;
142  boost::signals2::signal<void (const QColor&)> signal_backgroundColorChanged;
143  boost::signals2::signal<void (bool)> signal_hatLinesEnabledChanged;
144  boost::signals2::signal<void (bool)> signal_hatLinesOnSelectionOnlyChanged;
145  boost::signals2::signal<void (bool)> signal_createRangeLineOnMiddileButtonClickChanged;
146 
147  private:
150 
153 
154  public:
159 
160  QVBoxLayout* myMainLayout;
161 
162  QGridLayout* myColorLayout;
163 
166  QColor myColor;
169 
172  QColor myFontColor;
175 
179 
180  protected:
182  };
183 };
QColor myFontColor
Definition: rangeLineSettingsWidget.h:172
boost::signals2::signal< void(int)> signal_fontSizeChanged
Definition: rangeLineSettingsWidget.h:140
Definition: rangeLineSettingsWidget.h:73
QLabel * myWidthLabel
Definition: rangeLineSettingsWidget.h:167
makVrv::DtSignalConnectionManager myConnectionManager
Definition: rangeLineSettingsWidget.h:70
QLabel * myFontColorLabel
Definition: rangeLineSettingsWidget.h:170
DtRangeLineSettingsWidget & myInterface
Definition: rangeLineSettingsWidget.h:68
#define DT_DLL_VRFGUISETTINGSWIDGETS
Definition: vrfGuiSettingsWidgets.h:22
QColor myColor
Definition: rangeLineSettingsWidget.h:166
QLabel * myBackgroundColorLabel
Definition: rangeLineSettingsWidget.h:176
QToolButton * myFontColorButton
Definition: rangeLineSettingsWidget.h:171
QColor myBackgroundColor
Definition: rangeLineSettingsWidget.h:178
QGridLayout * myColorLayout
Definition: rangeLineSettingsWidget.h:162
boost::signals2::signal< void(int)> signal_lineWidthChanged
Definition: rangeLineSettingsWidget.h:138
Abstract interface for controlling persistence of state in a dialog.
Definition: DtPersistenceControlsInterface.h:20
QSpinBox * myFontSize
Definition: rangeLineSettingsWidget.h:174
boost::signals2::signal< void(bool)> signal_hatLinesEnabledChanged
Definition: rangeLineSettingsWidget.h:143
QCheckBox * myRangeLineCreatedOnMiddleMouseClick
Definition: rangeLineSettingsWidget.h:158
Record class for Range Line settings.
Definition: rangeLineSettingsRecord.h:20
QCheckBox * myRangeLinesVisible
Definition: rangeLineSettingsWidget.h:155
boost::signals2::signal< void(bool)> signal_visibilityChanged
Definition: rangeLineSettingsWidget.h:137
Definition: rangeLineSettingsWidget.h:35
QVBoxLayout * myMainLayout
Definition: rangeLineSettingsWidget.h:160
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QSpinBox * myWidth
Definition: rangeLineSettingsWidget.h:168
boost::signals2::signal< void(bool)> signal_hatLinesOnSelectionOnlyChanged
Definition: rangeLineSettingsWidget.h:144
QCheckBox * myHatLinesEnabled
Definition: rangeLineSettingsWidget.h:156
QLabel * myFontSizeLabel
Definition: rangeLineSettingsWidget.h:173
makVrv::DtDe & myDe
Definition: rangeLineSettingsWidget.h:67
QCheckBox * myHatLinesOnSelectionOnly
Definition: rangeLineSettingsWidget.h:157
Base class to provide boost signal/slot management.
QToolButton * myBackgroundColorButton
Definition: rangeLineSettingsWidget.h:177
boost::signals2::signal< void(bool)> signal_createRangeLineOnMiddileButtonClickChanged
Definition: rangeLineSettingsWidget.h:145
boost::signals2::signal< void(const QColor &)> signal_fontColorChanged
Definition: rangeLineSettingsWidget.h:141
makVrv::DtPersistenceControlsInterface & myToolbarInterface
Definition: rangeLineSettingsWidget.h:69
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:181
boost::signals2::signal< void(const QColor &)> signal_colorChanged
Definition: rangeLineSettingsWidget.h:139
boost::signals2::signal< void(const QColor &)> signal_backgroundColorChanged
Definition: rangeLineSettingsWidget.h:142
QToolButton * myColorButton
Definition: rangeLineSettingsWidget.h:165
QLabel * myColorLabel
Definition: rangeLineSettingsWidget.h:164

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)