VR-Forces 4.10 Class Documentation
 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 #include <vrvUtil/signalslib.h>
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 QGridLayout;
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtPersistenceControlsInterface;
27 }
28 
29 namespace makVrf
30 {
31  class DtRangeLineSettingsWidget;
32  class DtRangeLineSettingsRecord;
33 
35  {
36  public:
40 
43 
44  protected: //Receive boost signals from interface class
45  virtual void on_visibilityChanged(bool);
46  virtual void on_lineWidthChanged(int);
47  virtual void on_colorChanged(const QColor&);
48  virtual void on_fontSizeChanged(int);
49  virtual void on_fontColorChanged(const QColor&);
50  virtual void on_backgroundColorChanged(const QColor&);
51  virtual void on_hatLinesEnabledChanged(bool b);
52  virtual void on_hatLinesOnSelectionOnlyChanged(bool b);
53 
54  protected:
55  virtual void setupFromOptions(const DtRangeLineSettingsRecord&);
56 
58  virtual void on_import();
59  virtual void on_export();
60  virtual void on_defaultsRestored();
61  virtual void on_importFilePathChosen(const std::string& filePath);
62  virtual void on_exportFilePathChosen(const std::string& filePath);
63 
64  protected:
69  };
70 
72  {
73  Q_OBJECT
74 
75  public:
76 
78  DtRangeLineSettingsWidget(makVrv::DtDe& de, QWidget* parent = NULL, const Qt::WindowFlags& flags = 0 );
79 
81  virtual ~DtRangeLineSettingsWidget();
82 
83  virtual void setRangeLinesVisible(bool);
84  virtual bool rangeLinesVisible() const;
85 
86  virtual void setColor(const QColor&);
87  virtual void setColor(float r, float g, float b, float a);
88  virtual const QColor& color() const;
89 
90  virtual void setLineWidth(int i);
91  virtual int lineWidth() const;
92 
93  virtual void setFontColor(const QColor&);
94  virtual void setFontColor(float r, float g, float b, float a);
95  virtual const QColor& fontColor() const;
96 
97  virtual void setBackgroundColor(const QColor&);
98  virtual void setBackgroundColor(float r, float g, float b, float a);
99  virtual const QColor& backgroundColor() const;
100 
101  virtual void setFontSize(int i);
102  virtual int fontSize() const;
103 
105  virtual void setHatLinesEnabled( bool );
106  virtual bool hatLinesEnabled() const;
107 
109  virtual void setHatLinesOnSelectionOnly( bool );
110  virtual bool hatLinesOnSelectionOnly() const;
111 
112  protected:
113 
114  void setupGui();
115 
116  public slots: //Qt slots used as intermediaries between Qt signals and Boost signal classes
117 
118  virtual void on_visibilityChanged(bool onOff);
119  virtual void on_lineWidthChanged();
120  virtual void on_selectColor();
121  virtual void on_selectBackgroundColor();
122  virtual void on_selectFontColor();
123  virtual void on_fontSizeChanged();
124  virtual void on_hatLinesEnabledChanged();
125  virtual void on_hatLinesOnSelectionOnlyChanged();
126 
127  //Used to re-emit QT signals up to logic class
128  public:
129  boost::signals2::signal<void (bool)> signal_visibilityChanged;
130  boost::signals2::signal<void (int)> signal_lineWidthChanged;
131  boost::signals2::signal<void (const QColor&)> signal_colorChanged;
132  boost::signals2::signal<void (int)> signal_fontSizeChanged;
133  boost::signals2::signal<void (const QColor&)> signal_fontColorChanged;
134  boost::signals2::signal<void (const QColor&)> signal_backgroundColorChanged;
135  boost::signals2::signal<void (bool)> signal_hatLinesEnabledChanged;
136  boost::signals2::signal<void (bool)> signal_hatLinesOnSelectionOnlyChanged;
137 
138  private:
141 
144 
145  public:
149 
150  QVBoxLayout* myMainLayout;
151 
152  QGridLayout* myColorLayout;
153 
156  QColor myColor;
159 
162  QColor myFontColor;
165 
169 
170  protected:
172  };
173 };
QColor myFontColor
Definition: rangeLineSettingsWidget.h:162
QPushButton * myBackgroundColorButton
Definition: rangeLineSettingsWidget.h:167
boost::signals2::signal< void(int)> signal_fontSizeChanged
Definition: rangeLineSettingsWidget.h:132
Definition: rangeLineSettingsWidget.h:71
QLabel * myWidthLabel
Definition: rangeLineSettingsWidget.h:157
makVrv::DtSignalConnectionManager myConnectionManager
Definition: rangeLineSettingsWidget.h:68
QLabel * myFontColorLabel
Definition: rangeLineSettingsWidget.h:160
DtRangeLineSettingsWidget & myInterface
Definition: rangeLineSettingsWidget.h:66
#define DT_DLL_VRFGUISETTINGSWIDGETS
Definition: vrfGuiSettingsWidgets.h:22
QColor myColor
Definition: rangeLineSettingsWidget.h:156
QLabel * myBackgroundColorLabel
Definition: rangeLineSettingsWidget.h:166
QColor myBackgroundColor
Definition: rangeLineSettingsWidget.h:168
QGridLayout * myColorLayout
Definition: rangeLineSettingsWidget.h:152
QPushButton * myFontColorButton
Definition: rangeLineSettingsWidget.h:161
boost::signals2::signal< void(int)> signal_lineWidthChanged
Definition: rangeLineSettingsWidget.h:130
Abstract interface for controlling persistence of state in a dialog.
Definition: DtPersistenceControlsInterface.h:20
QSpinBox * myFontSize
Definition: rangeLineSettingsWidget.h:164
boost::signals2::signal< void(bool)> signal_hatLinesEnabledChanged
Definition: rangeLineSettingsWidget.h:135
Record class for Range Line settings.
Definition: rangeLineSettingsRecord.h:20
QCheckBox * myRangeLinesVisible
Definition: rangeLineSettingsWidget.h:146
boost::signals2::signal< void(bool)> signal_visibilityChanged
Definition: rangeLineSettingsWidget.h:129
Definition: rangeLineSettingsWidget.h:34
QVBoxLayout * myMainLayout
Definition: rangeLineSettingsWidget.h:150
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
QSpinBox * myWidth
Definition: rangeLineSettingsWidget.h:158
boost::signals2::signal< void(bool)> signal_hatLinesOnSelectionOnlyChanged
Definition: rangeLineSettingsWidget.h:136
QCheckBox * myHatLinesEnabled
Definition: rangeLineSettingsWidget.h:147
QLabel * myFontSizeLabel
Definition: rangeLineSettingsWidget.h:163
makVrv::DtDe & myDe
Definition: rangeLineSettingsWidget.h:65
QCheckBox * myHatLinesOnSelectionOnly
Definition: rangeLineSettingsWidget.h:148
Base class to provide boost signal/slot management.
boost::signals2::signal< void(const QColor &)> signal_fontColorChanged
Definition: rangeLineSettingsWidget.h:133
makVrv::DtPersistenceControlsInterface & myToolbarInterface
Definition: rangeLineSettingsWidget.h:67
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
makVrv::DtDe & myDe
Definition: rangeLineSettingsWidget.h:171
boost::signals2::signal< void(const QColor &)> signal_colorChanged
Definition: rangeLineSettingsWidget.h:131
boost::signals2::signal< void(const QColor &)> signal_backgroundColorChanged
Definition: rangeLineSettingsWidget.h:134
QPushButton * myColorButton
Definition: rangeLineSettingsWidget.h:155
QLabel * myColorLabel
Definition: rangeLineSettingsWidget.h:154

Document ID: Generated on Tue Sep 21 17:42:52 EDT 2021 from SVN revision 234861
Copyright © 2005-2021 MAK Technologies. All Rights Reserved (www.mak.com)