VR-Forces Developer's Guide
 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>
12 
13 #include <QtWidgets/QWidget>
14 #include <QtGui/QPixmap>
15 #include <QtGui/QIcon>
16 #include <QtGui/QImage>
17 
18 class QHBoxLayout;
19 class QPushButton;
20 class DtUUID;
21 class QToolButton;
22 
23 namespace makVrv
24 {
25  class DtDe;
26  class DtPopupToolbar;
27  class DtPopupToolbarButton;
28 }
29 
30 namespace makRadio
31 {
32  class DtRadio;
33 }
34 
35 class QHBoxLayout;
36 class QComboBox;
37 class QSlider;
38 class QTimer;
39 
40 namespace makVrf
41 {
42  class DtEntityListDropdown;
43 
47  {
48  public:
49 
52 
54  virtual ~DtRadioControlToolbar() override;
55 
57  virtual QToolBar* createToolbar(makVrv::DtDe&, QWidget* parent) override;
58 
59  };
60 
62  class VRFMAKRADIOQT_DLL DtRadioControlWidget : public QWidget
63  {
64  Q_OBJECT
65  public:
67  DtRadioControlWidget( makVrv::DtDe& de, QWidget* parent = 0, Qt::WindowFlags flags = 0);
68 
70  virtual ~DtRadioControlWidget() override;
71 
72  virtual makRadio::DtRadio* currentRadio() const;
73 
74  virtual void talk(bool t);
75 
76  virtual void selectRadio(makRadio::DtRadio*);
77 
78  protected:
80  void setupUi();
81 
82  virtual void initialize();
83 
84  virtual bool allSpeakersMuted() const;
85  virtual bool allMicsMuted() const;
86 
87  virtual void showEvent(QShowEvent*) override;
88  virtual void hideEvent(QHideEvent*) override;
89  virtual void closeEvent(QCloseEvent*) override;
90 
91  virtual void createRadios();
92  virtual void clearRadios();
93 
94  virtual void activeEntityChanged(const DtUUID&);
95 
97  virtual makVrv::DtSignalConnectionManager* currentRadioConnections() const;
98 
99  virtual void radioTransmitting(makRadio::DtRadio*, bool transmitting);
100  virtual void radioChannelSet(makRadio::DtRadio*, int channel);
101  virtual void radioMicMuted(makRadio::DtRadio*, bool b);
102  virtual void radioSpeakerMuted(makRadio::DtRadio*, bool b);
103  virtual void radioVolumeChanged(makRadio::DtRadio*, float);
104  virtual void radioPoweredChanged(makRadio::DtRadio*, bool);
105 
106  virtual void clearTransmitLevel();
107  virtual void clearReceiveLevel();
108 
109  virtual QPixmap levelIcon(const QImage& base, double level, const QSize& iconSize);
110 
111  virtual void systemEnabledChanged(bool);
112  virtual void setupImages();
113 
114  protected slots:
115  virtual void radioChanged();
116  virtual void channelChanged();
117  virtual void talk();
118  virtual void stopTalking();
119  virtual void micMutedChanged(bool);
120  virtual void soundMutedChanged(bool);
121  virtual void volumeChanged(int);
122  virtual void updateLevels();
123  virtual void showSettings();
124 
125  public:
126  QHBoxLayout* myMainLayout;
134  QSlider* myVolumeSlider;
136 
137  protected:
141  QTimer* myLevelsTimer;
146  QImage myMicImage;
148 
149  struct Radio
150  {
153  };
154 
155  std::vector<Radio> myRadios;
156  };
157 
159  {
160  public:
162  virtual ~DtRadioControlWidgetBuilder() override;
163 
164  virtual QWidget* create(makVrv::DtDe& de, QWidget* parent, const Qt::WindowFlags& flags) override;
165  };
166 }
UUID is a unique ID wrapper class.
Definition: uuid.h:59
makVrv::DtQIconConfigurations mySpeakerIcons
Definition: radioControlWidget.h:145
makVrv::DtPopupToolbar * myVolumeControl
Definition: radioControlWidget.h:133
QHBoxLayout * myMainLayout
Definition: radioControlWidget.h:126
Contains makVrv::DtWidgetBuilder class.
std::vector< Radio > myRadios
Definition: radioControlWidget.h:155
The DtPopupToolbarButton class is a toolbar which controls the display of a toolbar.
Definition: DtPopupToolbarButton.h:24
QTimer * myLevelsTimer
Definition: radioControlWidget.h:141
QToolButton * myMicMutedButton
Definition: radioControlWidget.h:130
double myLastReceiveLevel
Definition: radioControlWidget.h:143
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:129
makRadio::DtRadio * radio
Definition: radioControlWidget.h:151
Contains makVrv::DtWidgetIconStyleManager class declaration.
Definition: radio.h:35
Definition: radioControlWidget.h:158
The DtPopupToolbar class provides a toolbar can be easily shown and hidden.
Definition: DtPopupToolbar.h:22
QToolButton * myPushToTalk
Definition: radioControlWidget.h:127
QImage myMicImage
Definition: radioControlWidget.h:146
makVrv::DtPopupToolbarButton * myVolumeSettingsButton
Definition: radioControlWidget.h:135
makVrv::DtQIconConfigurations myMicIcons
Definition: radioControlWidget.h:144
A widget class for putting radio controls on the radio control toolbar.
Definition: radioControlWidget.h:62
Class to manage disconnection of boost connections on deletion.
Definition: DtSignalConnectionManager.h:20
Contains makVrv::DtToolbar class declaration.
QToolButton * myRadioSettings
Definition: radioControlWidget.h:132
makVrv::DtSignalConnectionManager * connections
Definition: radioControlWidget.h:152
Base class to provide boost signal/slot management.
makVrv::DtDe & myDe
Definition: radioControlWidget.h:139
QImage mySpeakerImage
Definition: radioControlWidget.h:147
The menu string is &quot;DtRadioControlToolbar&quot;.
Definition: radioControlWidget.h:46
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:76
QSlider * myVolumeSlider
Definition: radioControlWidget.h:134
A collection of icon configurations. The collection maintains flags indicating whether to generate ic...
Definition: DtQIconConfiguration.h:131
QToolButton * mySoundMuteButton
Definition: radioControlWidget.h:131
Definition: radioControlWidget.h:149
makVrv::DtSignalConnectionManager myConnectionManager
Definition: radioControlWidget.h:138
double myLastTransmitLevel
Definition: radioControlWidget.h:142
bool myNeedsDereference
Definition: radioControlWidget.h:140
#define VRFMAKRADIOQT_DLL
Definition: vrfMakRadioQt.h:14
This class is the generic builder base class for building a widget.
Definition: DtWidgetBuilder.h:22
QComboBox * myRadioCombo
Definition: radioControlWidget.h:128

Document ID: Generated on Thu Oct 23 22:29:17 EDT 2025 from SVN revision 280951
Copyright © 2005-2024 MAK Technologies. All Rights Reserved (www.mak.com)