Loading...
Searching...
No Matches
FixtureDialog.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 <score/model/tree/TreeNode.hpp>
9
10#include <QComboBox>
11#include <QDialog>
12#include <QDialogButtonBox>
13#include <QFormLayout>
14#include <QHBoxLayout>
15#include <QLabel>
16#include <QSpinBox>
17
18namespace Protocols
19{
20class FixtureTreeView;
21class FixtureData;
22
23using FixtureNode = TreeNode<FixtureData>;
24class ArtnetProtocolSettingsWidget;
25class AddFixtureDialog : public QDialog
26{
27public:
28 explicit AddFixtureDialog(
29 int startUniverse, int startAddress, ArtnetProtocolSettingsWidget& parent);
30
31 void setCurrentFixture(QString manufacture, QString fixtureName);
32
33 void updateParameters(const FixtureNode& fixt);
34 void setMode(int mode_index);
35 QString name() const noexcept { return m_name.text(); }
36 void setName(QString t) { m_name.setText(t); }
37
38 QSize sizeHint() const override;
39 std::vector<Artnet::Fixture> fixtures() const noexcept;
40
41private:
42 QHBoxLayout m_layout;
43 FixtureTreeView* m_availableFixtures{};
44
45 QVBoxLayout m_setupLayoutContainer;
46 QFormLayout m_setupLayout;
48 QSpinBox m_count;
49 QSpinBox m_spacing;
50 QSpinBox m_address;
51 QSpinBox m_universe;
52 QComboBox m_mode;
53 QLabel m_content;
54 QDialogButtonBox m_buttons;
55
56 const FixtureData* m_currentFixture{};
57};
58
59}
60#endif
Definition FixtureDialog.hpp:26
Definition ArtnetProtocolSettingsWidget.hpp:22
Definition FixtureDatabase.hpp:136
Definition FixtureDialog.cpp:25
Definition AddressFragmentLineEdit.hpp:9
Definition TreeNode.hpp:52