UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
combobox_ui.hpp
Go to the documentation of this file.
1#ifndef COMBOBOX_UI_HPP
2#define COMBOBOX_UI_HPP
3
4#include <QComboBox>
5#include <functional>
6#include "widget_ui.hpp"
7
9 std::string opt;
10 std::string val;
11};
12
17
19 std::string name;
20 std::vector<SettingValue> opts;
21
22 //conditions in conjunctive normal form
23 std::vector<std::vector<ConditionItem>> conditions;
24};
25
27
28class ComboBoxUi : public WidgetUi{
29Q_OBJECT
30
31public:
32 ComboBoxUi(QComboBox *box,
34 const std::string &opt,
35 std::function<std::vector<SettingItem>()> itemBuilder);
36
37 void refresh() override;
38
39private:
40 QComboBox *box;
41 std::function<std::vector<SettingItem>()> itemBuilder;
43
44 std::vector<SettingItem> items;
45
46 void connectSignals() override;
47 void updateUiState() override;
48
49 void updateUiItems();
50
51 void optChangeCallback(Option &opt, bool suboption) override;
52
53 void selectOption();
54
55private slots:
56 void itemSelected(int index);
57};
58
59
60#endif
QComboBox * box
std::vector< SettingItem > items
void updateUiState() override
bool ignoreCallback
void refresh() override
void selectOption()
void updateUiItems()
ComboBoxUi(QComboBox *box, Settings *settings, const std::string &opt, std::function< std::vector< SettingItem >()> itemBuilder)
std::function< std::vector< SettingItem >()> itemBuilder
void itemSelected(int index)
void optChangeCallback(Option &opt, bool suboption) override
void connectSignals() override
std::string opt
Definition widget_ui.hpp:34
Settings * settings
Definition widget_ui.hpp:33
Q_DECLARE_METATYPE(SettingItem)
SettingValue value
std::vector< SettingValue > opts
std::string name
std::vector< std::vector< ConditionItem > > conditions
std::string val
std::string opt