mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-11 16:57:53 -06:00
ConfigWizard improvements - added check for printers and filaments/matelials selection
This commit is contained in:
parent
a00ff7b06f
commit
7aea0ceff3
2 changed files with 154 additions and 43 deletions
|
@ -81,6 +81,14 @@ struct Materials
|
|||
}
|
||||
}
|
||||
|
||||
bool exist_preset(const std::string& preset_name) const
|
||||
{
|
||||
for (const Preset* preset : presets)
|
||||
if (preset->name == preset_name)
|
||||
return true;
|
||||
return false;
|
||||
}
|
||||
|
||||
static const std::string UNKNOWN;
|
||||
static const std::string& get_filament_type(const Preset *preset);
|
||||
static const std::string& get_filament_vendor(const Preset *preset);
|
||||
|
@ -240,11 +248,11 @@ template<class T, class D> struct DataList : public T
|
|||
|
||||
return wxNOT_FOUND;
|
||||
}
|
||||
|
||||
int size() { return this->GetCount(); }
|
||||
};
|
||||
|
||||
typedef DataList<wxListBox, std::string> StringList;
|
||||
// #ys_FIXME_alias
|
||||
//typedef DataList<wxCheckListBox, Preset> PresetList;
|
||||
typedef DataList<wxCheckListBox, std::string> PresetList;
|
||||
|
||||
struct PageMaterials: ConfigWizardPage
|
||||
|
@ -345,7 +353,10 @@ struct PageTemperatures: ConfigWizardPage
|
|||
virtual void apply_custom_config(DynamicPrintConfig &config);
|
||||
};
|
||||
|
||||
typedef std::map<std::string /* = vendor ID */, PagePrinters*> Pages3rdparty;
|
||||
// hypothetically, each vendor can has printers both of technologies (FFF and SLA)
|
||||
typedef std::map<std::string /* = vendor ID */,
|
||||
std::pair<PagePrinters* /* = FFF page */,
|
||||
PagePrinters* /* = SLA page */>> Pages3rdparty;
|
||||
|
||||
|
||||
class ConfigWizardIndex: public wxPanel
|
||||
|
@ -477,10 +488,14 @@ struct ConfigWizard::priv
|
|||
void on_printer_pick(PagePrinters *page, const PrinterPickerEvent &evt);
|
||||
void on_3rdparty_install(const VendorProfile *vendor, bool install);
|
||||
|
||||
bool check_material_config();
|
||||
void apply_config(AppConfig *app_config, PresetBundle *preset_bundle, const PresetUpdater *updater);
|
||||
// #ys_FIXME_alise
|
||||
void update_presets_in_config(const std::string& section, const std::string& alias_key, bool add);
|
||||
|
||||
bool check_fff_selected(); // Used to decide whether to display Filaments page
|
||||
bool check_sla_selected(); // Used to decide whether to display SLA Materials page
|
||||
|
||||
int em() const { return index->em(); }
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue