5130{
5131 wxBoxSizer *sizer = new wxBoxSizer(wxHORIZONTAL);
5132 wxPanel * panel = new wxPanel(parent);
5133 wxColour backgroundColor = parent->GetBackgroundColour();
5134 panel->SetBackgroundColour(backgroundColor);
5135 sizer->Add(0, 0, 0, wxLEFT, 10);
5136 wxPanel *line_left = new wxPanel(panel, wxID_ANY, wxDefaultPosition, is_last ? wxSize(1, 12) : wxSize(1, -1));
5137 line_left->SetBackgroundColour(*wxBLACK);
5138 sizer->Add(line_left, 0, is_last ? wxALL : wxEXPAND | wxALL, 0);
5139 wxPanel *line_right = new wxPanel(panel, wxID_ANY, wxDefaultPosition, wxSize(10, 1));
5140 line_right->SetBackgroundColour(*wxBLACK);
5141 sizer->Add(line_right, 0, wxALL | wxALIGN_CENTER_VERTICAL, 0);
5142 sizer->Add(0, 0, 0, wxLEFT, 5);
5144 BOOST_LOG_TRIVIAL(info) << __FUNCTION__ << " create child item: " << preset->name;
5146 preset_name->SetForegroundColour(*wxBLACK);
5147 sizer->Add(preset_name, 0, wxEXPAND | wxALL, 5);
5148 bool base_id_error = false;
5149 if (preset->inherits() == "" && preset->base_id != "") base_id_error = true;
5150 if (base_id_error) {
5151
5152 HyperLink *m_download_hyperlink =
new HyperLink(panel,
_L(
"[Delete Required]"),
"https://wiki.bambulab.com/en/software/bambu-studio/custom-filament-issue");
5154 sizer->Add(m_download_hyperlink, 0, wxEXPAND | wxALL, 5);
5155 }
5156 sizer->Add(0, 0, 1, wxEXPAND, 0);
5157
5158 Button *edit_preset_btn =
new Button(panel,
_L(
"Edit Preset"));
5160
5161 sizer->Add(edit_preset_btn, 0, wxALL | wxALIGN_CENTER_VERTICAL, 0);
5162 sizer->Add(0, 0, 0, wxLEFT, 5);
5163
5164 Button *del_preset_btn =
new Button(panel,
_L(
"Delete Preset"));
5165 if (base_id_error) {
5167 } else {
5169 }
5170
5171
5172 sizer->Add(del_preset_btn, 0, wxALL | wxALIGN_CENTER_VERTICAL, 0);
5173
5174 edit_preset_btn->Bind(wxEVT_BUTTON, [this, printer_name, preset_index](wxCommandEvent &e) {
5175 wxGetApp().CallAfter([
this, printer_name, preset_index]() {
edit_preset(printer_name, preset_index); });
5176 });
5177 del_preset_btn->Bind(wxEVT_BUTTON, [this, printer_name, preset_index](wxCommandEvent &e) {
5178 wxGetApp().CallAfter([
this, printer_name, preset_index]() {
delete_preset(printer_name, preset_index); });
5179 });
5180
5181 panel->SetSizer(sizer);
5182
5183 return panel;
5184}
#define _L(s)
Definition OBJ.cpp:34
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
static wxFont Body_10
Definition Label.hpp:56
void delete_preset(std::string printer_name, int need_delete_preset_index)
Definition CreatePresetsDialog.cpp:5186
void edit_preset(std::string printer_name, int need_edit_preset_index)
Definition CreatePresetsDialog.cpp:5193
wxString from_u8(const std::string &str)
Definition GUI.cpp:544