diff options
Diffstat (limited to 'src/slic3r/GUI/ConfigWizard.hpp')
-rw-r--r-- | src/slic3r/GUI/ConfigWizard.hpp | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/src/slic3r/GUI/ConfigWizard.hpp b/src/slic3r/GUI/ConfigWizard.hpp new file mode 100644 index 000000000..73fce7cd2 --- /dev/null +++ b/src/slic3r/GUI/ConfigWizard.hpp @@ -0,0 +1,50 @@ +#ifndef slic3r_ConfigWizard_hpp_ +#define slic3r_ConfigWizard_hpp_ + +#include <memory> + +#include <wx/dialog.h> + +namespace Slic3r { + +class PresetBundle; +class PresetUpdater; + +namespace GUI { + + +class ConfigWizard: public wxDialog +{ +public: + // Why is the Wizard run + enum RunReason { + RR_DATA_EMPTY, // No or empty datadir + RR_DATA_LEGACY, // Pre-updating datadir + RR_DATA_INCOMPAT, // Incompatible datadir - Slic3r downgrade situation + RR_USER, // User requested the Wizard from the menus + }; + + ConfigWizard(wxWindow *parent, RunReason run_reason); + ConfigWizard(ConfigWizard &&) = delete; + ConfigWizard(const ConfigWizard &) = delete; + ConfigWizard &operator=(ConfigWizard &&) = delete; + ConfigWizard &operator=(const ConfigWizard &) = delete; + ~ConfigWizard(); + + // Run the Wizard. Return whether it was completed. + bool run(PresetBundle *preset_bundle, const PresetUpdater *updater); + + static const wxString& name(); +private: + struct priv; + std::unique_ptr<priv> p; + + friend class ConfigWizardPage; +}; + + + +} +} + +#endif |