diff options
author | YuSanka <yusanka@gmail.com> | 2019-08-16 17:47:29 +0300 |
---|---|---|
committer | YuSanka <yusanka@gmail.com> | 2019-08-16 17:47:29 +0300 |
commit | 463783e092e1905eb8ea4e76560dbd931c41a9c8 (patch) | |
tree | 978a49ee4f157bfe09e1fb7f94081eb85cd68dad /src/slic3r/GUI/Tab.hpp | |
parent | dac301e3b68be4cd3da5e4a2bbef764d33747e94 (diff) |
Added ConfigManipulation to universal config manipulation (updating).
Diffstat (limited to 'src/slic3r/GUI/Tab.hpp')
-rw-r--r-- | src/slic3r/GUI/Tab.hpp | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/src/slic3r/GUI/Tab.hpp b/src/slic3r/GUI/Tab.hpp index efefc47c5..23559fbf9 100644 --- a/src/slic3r/GUI/Tab.hpp +++ b/src/slic3r/GUI/Tab.hpp @@ -443,6 +443,39 @@ public: std::string get_name() { return m_chosen_name; } }; +class ConfigManipulation +{ + bool is_msg_dlg_already_exist{ false }; + bool support_material_overhangs_queried {false}; + wxWindow* msg_parent {nullptr}; + + std::function<void()> load_config = nullptr; + std::function<Field* (const std::string&)> get_field = nullptr; + std::function<void(const std::string&, const boost::any&)> on_value_change = nullptr; + + wxWindow* parent() const { return msg_parent;} +public: + ConfigManipulation( wxWindow* msg_parent, + std::function<void()> load_config, + std::function<Field*(const std::string&)> get_field, + std::function<void(const std::string&, const boost::any&)> on_value_change) : + msg_parent(msg_parent), + load_config(load_config), + get_field(get_field), + on_value_change(on_value_change) {} + + ~ConfigManipulation() { + load_config = nullptr; + get_field = nullptr; + on_value_change = nullptr; + } + + bool is_modified(DynamicPrintConfig* config, DynamicPrintConfig* new_config); + void load_new(DynamicPrintConfig* config, DynamicPrintConfig* new_config); + void update_print_fff_options(DynamicPrintConfig* config); + void update_print_sla_options(DynamicPrintConfig* config); +}; + } // GUI } // Slic3r |