From e8f98e424f02f7cc71da372eaa517fd845ef6e1b Mon Sep 17 00:00:00 2001 From: Joseph Lenox Date: Sun, 18 Nov 2018 01:17:37 -0600 Subject: [PATCH] refactor: allow tests to attach a preset store to a PresetChooser (instead of pulling from SLIC3RAPP) --- src/GUI/Plater/PresetChooser.cpp | 6 +++--- src/GUI/Plater/PresetChooser.hpp | 7 +++++-- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/src/GUI/Plater/PresetChooser.cpp b/src/GUI/Plater/PresetChooser.cpp index d2633f0bc..4d79f0923 100644 --- a/src/GUI/Plater/PresetChooser.cpp +++ b/src/GUI/Plater/PresetChooser.cpp @@ -2,11 +2,11 @@ namespace Slic3r { namespace GUI { -PresetChooser::PresetChooser(wxWindow* parent, Print& print) : PresetChooser(parent, print, SLIC3RAPP->settings) {} +PresetChooser::PresetChooser(wxWindow* parent, Print& print) : PresetChooser(parent, print, SLIC3RAPP->settings, SLIC3RAPP->presets) {} -PresetChooser::PresetChooser(wxWindow* parent, Print& print, Settings& external) : +PresetChooser::PresetChooser(wxWindow* parent, Print& print, Settings& external_settings, preset_store& external_presets) : wxPanel(parent, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL, ""), - _settings(external), _print(print) + _settings(external_settings), _print(print), _presets(external_presets) { for (auto group : { preset_t::Print, preset_t::Material, preset_t::Printer }) { wxString name = ""; diff --git a/src/GUI/Plater/PresetChooser.hpp b/src/GUI/Plater/PresetChooser.hpp index 8857fbc17..8afcba0c7 100644 --- a/src/GUI/Plater/PresetChooser.hpp +++ b/src/GUI/Plater/PresetChooser.hpp @@ -23,7 +23,7 @@ public: /// Build a panel to contain a sizer for dropdowns for preset selection. PresetChooser(wxWindow* parent, Print& print); - PresetChooser(wxWindow* parent, Print& print, Settings& external); + PresetChooser(wxWindow* parent, Print& print, Settings& external_settings, preset_store& external_presets); std::array preset_choosers; @@ -32,7 +32,7 @@ public: void load(std::array presets); /// Call load() with the app's own presets - void load() { this->load(SLIC3RAPP->presets); } + void load() { this->load(this->_presets); } /// Const reference to internal name map (used for testing) const chooser_name_map& _chooser_names() const { return this->__chooser_names; } @@ -48,6 +48,9 @@ private: /// Reference to owning Plater's print Print& _print; + /// Reference to owning Application's preset database. + preset_store& _presets; + void _on_select_preset(preset_t preset); };