VR-Forces 4.8 Class Documentation
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
radioControlWidget.h
Go to the documentation of this file.
1 /******************************************************************************
2 ** Copyright (c) 2019 MAK Technologies, Inc.
3 ** All rights reserved.
4 ******************************************************************************/
5 #pragma once
6 
9 #include <vrvCoreQt/DtToolbar.h>
11 
12 #include <QtWidgets/QWidget>
13 #include <QtGui/QPixmap>
14 #include <QtGui/QIcon>
15 #include <QtGui/QImage>
16 
17 class QHBoxLayout;
18 class QPushButton;
19 class DtEntityIdentifier;
20 class QToolButton;
21 
22 namespace makVrv
23 {
24  class DtDe;
25  class DtPopupToolbar;
26  class DtPopupToolbarButton;
27 }
28 
29 namespace makRadio
30 {
31  class DtRadio;
32 }
33 
34 class QHBoxLayout;
35 class QComboBox;
36 class QSlider;
37 class QTimer;
38 
39 namespace makVrf
40 {
41  class DtEntityListDropdown;
42 
46  {
47  public:
48 
51 
53  virtual ~DtRadioControlToolbar();
54 
56  virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent);
57 
58  };
59 
61  class VRFMAKRADIOQT_DLL DtRadioControlWidget : public QWidget
62  {
63  Q_OBJECT
64  public:
66  DtRadioControlWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
67 
69  virtual ~DtRadioControlWidget();
70 
71  virtual makRadio::DtRadio* currentRadio() const;
72 
73  virtual void talk(bool t);
74 
75  virtual void selectRadio(makRadio::DtRadio*);
76 
77  protected:
79  void setupUi();
80 
81  virtual void initialize();
82 
83  virtual bool allSpeakersMuted() const;
84  virtual bool allMicsMuted() const;
85 
86  virtual void showEvent(QShowEvent*);
87  virtual void hideEvent(QHideEvent*);
88  virtual void closeEvent(QCloseEvent*);
89 
90  virtual void createRadios();
91  virtual void clearRadios();
92 
93  virtual void activeEntityChanged(const DtEntityIdentifier&);
94 
96  virtual makVrv::DtSignalConnectionManager* currentRadioConnections() const;
97 
98  virtual void radioTransmitting(makRadio::DtRadio*, bool transmitting);
99  virtual void radioChannelSet(makRadio::DtRadio*, int channel);
100  virtual void radioMicMuted(makRadio::DtRadio*, bool b);
101  virtual void radioSpeakerMuted(makRadio::DtRadio*, bool b);
102  virtual void radioVolumeChanged(makRadio::DtRadio*, float);
103  virtual void radioPoweredChanged(makRadio::DtRadio*, bool);
104 
105  virtual void clearTransmitLevel();
106  virtual void clearReceiveLevel();
107 
108  virtual QPixmap levelIcon(const QImage& base, double level, const QSize& iconSize);
109 
110  virtual void systemEnabledChanged(bool);
111 
112  protected slots:
113  virtual void radioChanged();
114  virtual void channelChanged();
115  virtual void talk();
116  virtual void stopTalking();
117  virtual void micMutedChanged(bool);
118  virtual void soundMutedChanged(bool);
119  virtual void volumeChanged(int);
120  virtual void updateLevels();
121  virtual void showSettings();
122 
123  public:
124  QHBoxLayout* myMainLayout;
132  QSlider* myVolumeSlider;
134 
135  protected:
139  QTimer* myLevelsTimer;
142  QIcon myMicIcons;
144  QImage myMicImage;
146 
147  struct Radio
148  {
151  };
152 
153  std::vector<Radio> myRadios;
154  };
155 
157  {
158  public:
160  virtual ~DtRadioControlWidgetBuilder();
161 
162  virtual QWidget* create( makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags);
163  };
164 }
makVrv::DtPopupToolbar * myVolumeControl
Definition: radioControlWidget.h:131
QHBoxLayout * myMainLayout
Definition: radioControlWidget.h:124
Contains makVrv::DtWidgetBuilder class.
QIcon myMicIcons
Definition: radioControlWidget.h:142
std::vector< Radio > myRadios
Definition: radioControlWidget.h:153
The DtPopupToolbarButton class is a toolbar which controls the display of a toolbar.
Definition: DtPopupToolbarButton.h:27
QTimer * myLevelsTimer
Definition: radioControlWidget.h:139
QToolButton * myMicMutedButton
Definition: radioControlWidget.h:128
double myLastReceiveLevel
Definition: radioControlWidget.h:141
The base class for VR-Vantage toolbars.
Definition: DtToolbar.h:26
DT_DLL_VRVCORE DtTaitBryan level(const DtCoordinateSystem &cs, const DtVector &localOrigin, double topoHeading)
Returns a level orientation with the topographic heading.
QComboBox * myChannelsCombo
Definition: radioControlWidget.h:127
makRadio::DtRadio * radio
Definition: radioControlWidget.h:149
Definition: radio.h:34
Definition: radioControlWidget.h:156
The DtPopupToolbar class provides a toolbar can be easily shown and hidden.
Definition: DtPopupToolbar.h:25
QToolButton * myPushToTalk
Definition: radioControlWidget.h:125
QImage myMicImage
Definition: radioControlWidget.h:144
makVrv::DtPopupToolbarButton * myVolumeSettingsButton
Definition: radioControlWidget.h:133
A widget class for putting radio controls on the radio control toolbar.
Definition: radioControlWidget.h:61
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:24
QToolButton * myRadioSettings
Definition: radioControlWidget.h:130
QIcon mySpeakerIcons
Definition: radioControlWidget.h:143
makVrv::DtSignalConnectionManager * connections
Definition: radioControlWidget.h:150
Base class to provide boost signal/slot management.
makVrv::DtDe & myDe
Definition: radioControlWidget.h:137
QImage mySpeakerImage
Definition: radioControlWidget.h:145
The menu string is &quot;DtRadioControlToolbar&quot;.
Definition: radioControlWidget.h:45
The DtDe is the core component of any VR-Vantage application.
Definition: DtDe.h:69
QSlider * myVolumeSlider
Definition: radioControlWidget.h:132
QToolButton * mySoundMuteButton
Definition: radioControlWidget.h:129
Definition: radioControlWidget.h:147
makVrv::DtSignalConnectionManager myConnectionManager
Definition: radioControlWidget.h:136
double myLastTransmitLevel
Definition: radioControlWidget.h:140
bool myNeedsDereference
Definition: radioControlWidget.h:138
#define VRFMAKRADIOQT_DLL
Definition: vrfMakRadioQt.h:14
This class is the generic builder base class for building a widget.
Definition: DtWidgetBuilder.h:25
QComboBox * myRadioCombo
Definition: radioControlWidget.h:126

Document ID: Generated on Thu Aug 27 10:56:05 EDT 2020 from SVN revision 217100
Copyright © 2005-2020 MAK Technologies. All Rights Reserved (www.mak.com)