UltraGrid
UltraGrid Low-Latency High-Resolution Transmission System
Loading...
Searching...
No Matches
widget_ui.cpp
Go to the documentation of this file.
1#include "widget_ui.hpp"
2
3WidgetUi::WidgetUi(Settings *settings, const std::string &opt) :
4 settings(settings),
5 opt(opt)
6{
7}
8
10 for(auto& i : registeredCallbacks){
11 settings->getOption(i.first).removeOnChangeCallback(i.second);
12 }
13}
14
15void WidgetUi::setOpt(const std::string &opt){
16 this->opt = opt;
19}
20
21void WidgetUi::optChangeCallbackStatic(Option& opt, bool subopt, void *opaque){
22 static_cast<WidgetUi *>(opaque)->optChangeCallback(opt, subopt);
23}
24
25void WidgetUi::registerCustomCallback(const std::string &option,
27 std::unique_ptr<ExtraCallbackData>&& extraDataPtr)
28{
29 if(option == "")
30 return;
31
32 std::pair<std::string, Option::Callback> elToInsert(option, callback);
33
34 auto it = std::find(registeredCallbacks.begin(),
35 registeredCallbacks.end(), elToInsert);
36 if(it != registeredCallbacks.end()){
37 return;
38 }
39
40
42 registeredCallbacks.push_back(elToInsert);
43
44 if(extraDataPtr)
45 extraData.emplace_back(std::move(extraDataPtr));
46
47}
48
49void WidgetUi::registerCallback(const std::string &option){
50 if(option == "")
51 return;
52
55}
56
void removeOnChangeCallback(const Callback &callback)
Definition settings.cpp:111
void addOnChangeCallback(Callback callback)
Definition settings.cpp:107
const Option & getOption(const std::string &opt) const
Definition settings.cpp:384
WidgetUi(Settings *settings, const std::string &opt)
Definition widget_ui.cpp:3
std::vector< std::unique_ptr< ExtraCallbackData > > extraData
Definition widget_ui.hpp:36
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
virtual void updateUiState()=0
virtual void optChangeCallback(Option &opt, bool suboption)=0
void setOpt(const std::string &opt)
Definition widget_ui.cpp:15
static void optChangeCallbackStatic(Option &, bool, void *)
Definition widget_ui.cpp:21
Settings * settings
Definition widget_ui.hpp:33
Option::Callback::fcn_type callback
Definition settings.cpp:251