Loading...
Searching...
No Matches
ArtnetProtocolSettingsWidget.hpp
1#pragma once
2#include <ossia/detail/config.hpp>
3#if defined(OSSIA_PROTOCOL_ARTNET)
4
5#include <Device/Protocol/DeviceSettings.hpp>
6#include <Device/Protocol/ProtocolSettingsWidget.hpp>
7
8#include <Protocols/Artnet/ArtnetSpecificSettings.hpp>
9
10#include <verdigris>
11
12class QLineEdit;
13class QSpinBox;
14class QTableWidget;
15class QPushButton;
16class QRadioButton;
17
18namespace Protocols
19{
20
22{
24
25public:
26 explicit ArtnetProtocolSettingsWidget(QWidget* parent = nullptr);
28 Device::DeviceSettings getSettings() const override;
29 void setSettings(const Device::DeviceSettings& settings) override;
30
31 std::pair<int, int> universeRange() const noexcept;
32
33private:
34 void addLEDs(int mode);
35 void addFixture(QString manufacturer, QString name);
36 void addDimmer();
37 void updateHosts(int protocolindex);
38 void updateTable();
39
40 void addressChanged(int row);
41 void universeChanged(int row);
42
43 QString newFixtureName(QString name);
44 QLineEdit* m_deviceNameEdit{};
45 QComboBox* m_host{};
46 QSpinBox* m_rate{};
47 QSpinBox* m_universe{};
48 QSpinBox* m_universe_count{};
49 QSpinBox* m_channels_per_universe{};
50 QComboBox* m_transport{};
51 QCheckBox* m_multicast{};
52 QRadioButton* m_source{};
53 QRadioButton* m_sink{};
54 QTableWidget* m_fixturesWidget{};
55 QPushButton* m_addFixture{};
56 QPushButton* m_addGenericDimmer{};
57 QPushButton* m_addGenericRGB{};
58 QPushButton* m_addLEDStrip{};
59 QPushButton* m_addLEDPane{};
60 QPushButton* m_addLEDBox{};
61 QPushButton* m_rmFixture{};
62 std::vector<Artnet::Fixture> m_fixtures;
63};
64}
65#endif
Definition ProtocolSettingsWidget.hpp:22
Definition ArtnetProtocolSettingsWidget.hpp:22
Definition DeviceSettings.hpp:20