OSCProtocolSettingsWidget.hpp
1 #pragma once
2 #include <Device/Protocol/DeviceSettings.hpp>
3 #include <Device/Protocol/ProtocolSettingsWidget.hpp>
4 
5 #include <Protocols/OSC/OSCSpecificSettings.hpp>
6 
7 #include <verdigris>
8 
9 class QStackedLayout;
10 class QLineEdit;
11 class QSpinBox;
12 class QWidget;
13 
14 namespace Protocols
15 {
16 
17 class UDPWidget;
18 class TCPWidget;
19 class UnixDatagramWidget;
20 class UnixStreamWidget;
21 class SerialWidget;
22 class WebsocketClientWidget;
23 class WebsocketServerWidget;
24 
25 class RateWidget;
27 {
28 public:
29  OSCProtocolSettingsWidget(QWidget* parent = nullptr);
30 
31  Device::DeviceSettings getSettings() const override;
32  Device::Node getDevice() const override;
33  void setSettings(const Device::DeviceSettings& settings) override;
34 
35  using Device::ProtocolSettingsWidget::checkForChanges;
36 
37 private:
38  void setDefaults();
39  QLineEdit* m_deviceNameEdit{};
40  RateWidget* m_rate{};
41  QCheckBox* m_bonjour{};
42  QComboBox* m_transport{};
43  QComboBox* m_oscVersion{};
44  QStackedLayout* m_transportLayout{};
45 
46  UDPWidget* m_udp{};
47  TCPWidget* m_tcp{};
48  SerialWidget* m_serial{};
49  UnixDatagramWidget* m_unix_dgram{};
50  UnixStreamWidget* m_unix_stream{};
51  WebsocketClientWidget* m_ws_client{};
52  WebsocketServerWidget* m_ws_server{};
53 
54  OSCSpecificSettings m_settings;
55 };
56 }
Definition: ProtocolSettingsWidget.hpp:22
Definition: OSCProtocolSettingsWidget.hpp:27
Definition: RateWidget.hpp:15
Definition: OSCProtocolSettingsWidget.cpp:320
Definition: OSCProtocolSettingsWidget.cpp:109
Definition: OSCProtocolSettingsWidget.cpp:32
Definition: OSCProtocolSettingsWidget.cpp:168
Definition: OSCProtocolSettingsWidget.cpp:213
Definition: OSCProtocolSettingsWidget.cpp:257
Definition: OSCProtocolSettingsWidget.cpp:288
Definition: DeviceSettings.hpp:16
Definition: OSCSpecificSettings.hpp:12