Loading...
Searching...
No Matches
LEDDialog.hpp
1#pragma once
2#include <ossia/detail/config.hpp>
3#if defined(OSSIA_PROTOCOL_ARTNET)
4#include <State/Widgets/AddressFragmentLineEdit.hpp>
5
6#include <Protocols/Artnet/ArtnetSpecificSettings.hpp>
7
8#include <QCheckBox>
9#include <QComboBox>
10#include <QDialog>
11#include <QDialogButtonBox>
12#include <QFormLayout>
13#include <QHBoxLayout>
14#include <QSpinBox>
15
16namespace Protocols
17{
18class ArtnetProtocolSettingsWidget;
19class AddLEDStripDialog : public QDialog
20{
21public:
22 enum Mode
23 {
24 Strip,
25 Pane,
26 Volume
27 };
28 explicit AddLEDStripDialog(
29 int startUniverse, int startAddress, Mode mode,
31 std::vector<Artnet::Fixture> fixtures() const noexcept;
32 QString name() const noexcept { return m_name.text(); }
33 void setName(QString t) { m_name.setText(t); }
34
35private:
36 void on_channelsChanged(int count);
37 Mode m_mode{};
38 QFormLayout m_layout;
40 QSpinBox m_count;
41 QSpinBox m_spacing;
42 QSpinBox m_address;
43 QSpinBox m_universe;
44 QSpinBox m_channels;
45 QHBoxLayout m_channelComboLayout;
46 std::vector<QComboBox*> m_channelCombos;
47
48 QSpinBox m_pixels; // strip
49 QSpinBox m_width; // pane, volume
50 QSpinBox m_height; // pane, volume
51 QSpinBox m_depth; // volume
52
53 QCheckBox m_reverse;
54
55 QDialogButtonBox m_buttons;
56};
57}
58#endif
Definition LEDDialog.hpp:20
Definition ArtnetProtocolSettingsWidget.hpp:22
Definition AddressFragmentLineEdit.hpp:9