mirror of
https://github.com/FULU-Foundation/OrcaSlicer-bambulab.git
synced 2026-07-03 17:05:43 +02:00
ConfigWizard improvements - added check for printers and filaments/matelials selection
This commit is contained in:
@@ -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(); }
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user