From c4c115aa8d7fea128cecdcf9d08ae1935907c1ec Mon Sep 17 00:00:00 2001 From: Stanislaw Halik Date: Mon, 20 Oct 2014 08:25:07 +0200 Subject: declutter stuff outta UI class --- opentrack/state.hpp | 48 ++++++++++++++++++++++++++++++++++++++++++++++++ opentrack/work.hpp | 26 -------------------------- 2 files changed, 48 insertions(+), 26 deletions(-) create mode 100644 opentrack/state.hpp (limited to 'opentrack') diff --git a/opentrack/state.hpp b/opentrack/state.hpp new file mode 100644 index 00000000..7fde64dc --- /dev/null +++ b/opentrack/state.hpp @@ -0,0 +1,48 @@ +#include +#include "opentrack/options.hpp" +using namespace options; +#include "opentrack/plugin-support.h" +#include "opentrack/main-settings.hpp" +#include "opentrack/mappings.hpp" + +struct Modules { + Modules() : + module_list(dylib::enum_libraries()), + filter_modules(filter(dylib::Filter)), + tracker_modules(filter(dylib::Tracker)), + protocol_modules(filter(dylib::Protocol)) + {} + QList>& filters() { return filter_modules; } + QList>& trackers() { return tracker_modules; } + QList>& protocols() { return protocol_modules; } +private: + QList> module_list; + QList> filter_modules; + QList> tracker_modules; + QList> protocol_modules; + + QList> filter(dylib::Type t) + { + QList> ret; + for (auto x : module_list) + if (x->type == t) + ret.push_back(x); + return ret; + } +}; + +struct Work; + +struct State { + State() : + b(bundle("opentrack-ui")), + s(b), + pose(std::vector{&s.a_x, &s.a_y, &s.a_z, &s.a_yaw, &s.a_pitch, &s.a_roll}) + {} + Modules modules; + SelectedLibraries libs; + pbundle b; + main_settings s; + Mappings pose; + ptr work; +}; diff --git a/opentrack/work.hpp b/opentrack/work.hpp index 3e51b480..bd69f7ba 100644 --- a/opentrack/work.hpp +++ b/opentrack/work.hpp @@ -9,32 +9,6 @@ #include #include -struct Modules { - Modules() : - module_list(dylib::enum_libraries()), - filter_modules(filter(dylib::Filter)), - tracker_modules(filter(dylib::Tracker)), - protocol_modules(filter(dylib::Protocol)) - {} - QList>& filters() { return filter_modules; } - QList>& trackers() { return tracker_modules; } - QList>& protocols() { return protocol_modules; } -private: - QList> module_list; - QList> filter_modules; - QList> tracker_modules; - QList> protocol_modules; - - QList> filter(dylib::Type t) - { - QList> ret; - for (auto x : module_list) - if (x->type == t) - ret.push_back(x); - return ret; - } -}; - struct Work { main_settings& s; -- cgit v1.2.3