UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
widget_ui.hpp
Go to the documentation of this file.
1#ifndef WIDGET_UI
2#define WIDGET_UI
3
4#include <QObject>
5#include <vector>
6#include <utility>
7#include "settings.hpp"
9
10class WidgetUi : public QObject{
11Q_OBJECT
12
13public:
14 WidgetUi(Settings *settings, const std::string &opt);
15 WidgetUi(const WidgetUi&) = delete;
16 WidgetUi(WidgetUi&&) = delete;
17
18 WidgetUi& operator=(const WidgetUi&) = delete;
20
21 virtual ~WidgetUi();
22
23 void setOpt(const std::string &opt);
24
25 virtual void refresh() { }
26
27 void registerCallback(const std::string &option);
28 void registerCustomCallback(const std::string &option,
30 std::unique_ptr<ExtraCallbackData>&& extraDataPtr = nullptr);
31
32protected:
34 std::string opt;
35 std::vector<std::pair<std::string, Option::Callback>> registeredCallbacks;
36 std::vector<std::unique_ptr<ExtraCallbackData>> extraData;
37
38 void registerCallback();
39
40 static void optChangeCallbackStatic(Option&, bool, void *);
41
42 virtual void connectSignals() = 0;
43 virtual void updateUiState() = 0;
44 virtual void optChangeCallback(Option &opt, bool suboption) = 0;
45
46signals:
47 void changed();
48};
49
50#endif
virtual void refresh()
Definition widget_ui.hpp:25
WidgetUi(WidgetUi &&)=delete
WidgetUi(Settings *settings, const std::string &opt)
Definition widget_ui.cpp:3
std::vector< std::unique_ptr< ExtraCallbackData > > extraData
Definition widget_ui.hpp:36
WidgetUi & operator=(const WidgetUi &)=delete
std::string opt
Definition widget_ui.hpp:34
std::vector< std::pair< std::string, Option::Callback > > registeredCallbacks
Definition widget_ui.hpp:35
void registerCustomCallback(const std::string &option, Option::Callback callback, std::unique_ptr< ExtraCallbackData > &&extraDataPtr=nullptr)
Definition widget_ui.cpp:25
void registerCallback()
Definition widget_ui.cpp:57
virtual ~WidgetUi()
Definition widget_ui.cpp:9
WidgetUi(const WidgetUi &)=delete
virtual void updateUiState()=0
WidgetUi & operator=(WidgetUi &&)=delete
virtual void optChangeCallback(Option &opt, bool suboption)=0
void setOpt(const std::string &opt)
Definition widget_ui.cpp:15
void changed()
static void optChangeCallbackStatic(Option &, bool, void *)
Definition widget_ui.cpp:21
Settings * settings
Definition widget_ui.hpp:33
virtual void connectSignals()=0
Option::Callback::fcn_type callback
Definition settings.cpp:251