Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/supermerill/SuperSlicer.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYuSanka <yusanka@gmail.com>2019-08-16 17:47:29 +0300
committerYuSanka <yusanka@gmail.com>2019-08-16 17:47:29 +0300
commit463783e092e1905eb8ea4e76560dbd931c41a9c8 (patch)
tree978a49ee4f157bfe09e1fb7f94081eb85cd68dad /src/slic3r/GUI/Tab.hpp
parentdac301e3b68be4cd3da5e4a2bbef764d33747e94 (diff)
Added ConfigManipulation to universal config manipulation (updating).
Diffstat (limited to 'src/slic3r/GUI/Tab.hpp')
-rw-r--r--src/slic3r/GUI/Tab.hpp33
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