227 : wxDialog(parent, wxID_ANY,
_L(
"Filament grouping"), wxDefaultPosition, wxDefaultSize,wxDEFAULT_DIALOG_STYLE)
232{
233 SetBackgroundColour(*wxWHITE);
234
235 SetMinSize(wxSize(FromDIP(580), -1));
236 SetMaxSize(wxSize(FromDIP(580), -1));
237
238
239
240
241
245
249
251 else
253
254 wxBoxSizer *main_sizer = new wxBoxSizer(wxVERTICAL);
255 main_sizer->AddSpacer(FromDIP(22));
256
257 wxBoxSizer *mode_sizer = new wxBoxSizer(wxHORIZONTAL);
258
261 if (show_default)
263 else
265
266 const int button_padding = FromDIP(2);
267 mode_sizer->AddStretchSpacer();
268 mode_sizer->Add(
m_auto_btn, 1, wxALIGN_CENTER | wxLEFT | wxRIGHT, button_padding);
269 mode_sizer->Add(
m_manual_btn, 1, wxALIGN_CENTER | wxLEFT | wxRIGHT, button_padding);
270 if (show_default) mode_sizer->Add(
m_default_btn, 1, wxALIGN_CENTER | wxLEFT | wxRIGHT, button_padding);
271 mode_sizer->AddStretchSpacer();
272
273 main_sizer->Add(mode_sizer, 0, wxEXPAND);
274 main_sizer->AddSpacer(FromDIP(24));
275
276 auto panel_sizer = new wxBoxSizer(wxHORIZONTAL);
277
278
279
282 mode;
283
285
286
290 return;
291 }
292 if (event.GetInt()) {
294 } else {
296 }
297 });
298 m_auto_map_panel =
new FilamentMapAutoPanel(
this, default_auto_mode, auto_match_available);
299 if (show_default)
301 else
303
307 main_sizer->Add(panel_sizer, 0, wxEXPAND);
308
309
314 }
315
316 wxPanel* bottom_panel = new wxPanel(this);
317 bottom_panel->SetBackgroundColour(*wxWHITE);
318 wxBoxSizer *bottom_sizer = new wxBoxSizer(wxHORIZONTAL);
319 bottom_panel->SetSizer(bottom_sizer);
320 bottom_sizer->Fit(bottom_panel);
321
322 if(with_checkbox)
323 {
324 auto* checkbox_sizer = new wxBoxSizer(wxHORIZONTAL);
327 checkbox_sizer->Add(
m_checkbox, 0, wxALIGN_CENTER, 0);
328
329 auto* checkbox_label =
new Label(bottom_panel,
_L(
"Don't remind me again"));
331 checkbox_sizer->Add(checkbox_label, 0, wxLEFT| wxALIGN_CENTER , FromDIP(3));
332
333 bottom_sizer->Add(checkbox_sizer, 0 , wxALIGN_CENTER | wxALL, FromDIP(15));
334 }
335
336 bottom_sizer->AddStretchSpacer();
337
338 {
339 auto dlg_btns = new DialogButtons(bottom_panel, {"OK", "Cancel"});
342
343 bottom_sizer->Add(dlg_btns, 0, wxEXPAND);
344 }
345 main_sizer->Add(bottom_panel, 0, wxEXPAND | wxTOP, FromDIP(15));
346
349 SetEscapeId(wxID_CANCEL);
350 Bind(wxEVT_CHAR_HOOK, [this](wxKeyEvent& e) {
351 if (e.GetKeyCode() == WXK_ESCAPE) {
352 if (IsModal())
353 EndModal(wxID_CANCEL);
354 else
355 Close();
356 return;
357 }
358 e.Skip();
359 });
360
364
365 SetSizer(main_sizer);
366 Layout();
367 Fit();
368
369 CenterOnParent();
370 wxGetApp().UpdateDlgDarkUI(this);
371}
#define _L(s)
Definition OBJ.cpp:34
static wxFont Body_12
Definition Label.hpp:55
CheckBox * m_checkbox
Definition FilamentMapDialog.hpp:92
std::vector< int > m_filament_volume_map
Definition FilamentMapDialog.hpp:101
FilamentMapDefaultPanel * m_default_map_panel
Definition FilamentMapDialog.hpp:84
FilamentMapAutoPanel * m_auto_map_panel
Definition FilamentMapDialog.hpp:83
void on_cancel(wxCommandEvent &event)
Definition FilamentMapDialog.cpp:418
SmartFilamentPanel * m_smart_filament
Definition FilamentMapDialog.hpp:93
Button * m_ok_btn
Definition FilamentMapDialog.hpp:90
Button * m_cancel_btn
Definition FilamentMapDialog.hpp:91
std::vector< std::string > m_filament_type
Definition FilamentMapDialog.hpp:103
PageType m_page_type
Definition FilamentMapDialog.hpp:97
std::vector< std::string > m_filament_color
Definition FilamentMapDialog.hpp:102
CapsuleButton * m_auto_btn
Definition FilamentMapDialog.hpp:86
bool m_fila_switch_ready
Definition FilamentMapDialog.hpp:95
void on_ok(wxCommandEvent &event)
Definition FilamentMapDialog.cpp:408
void on_switch_mode(wxCommandEvent &event)
Definition FilamentMapDialog.cpp:462
CapsuleButton * m_default_btn
Definition FilamentMapDialog.hpp:88
FilamentMapMode get_mode()
Definition FilamentMapDialog.cpp:373
std::vector< int > m_filament_map
Definition FilamentMapDialog.hpp:100
FilamentMapManualPanel * m_manual_map_panel
Definition FilamentMapDialog.hpp:82
void on_checkbox(wxCommandEvent &event)
Definition FilamentMapDialog.cpp:393
CapsuleButton * m_manual_btn
Definition FilamentMapDialog.hpp:87
zaa_minimize_perimeter_height filament_type((ConfigOptionBools, filament_soluble))((ConfigOptionStrings
zaa_minimize_perimeter_height filament_map((ConfigOptionInts, filament_volume_map))((ConfigOptionInts
FilamentMapMode
Definition PrintConfig.hpp:632
@ fmmAutoForMatch
Definition PrintConfig.hpp:634
@ fmmNozzleManual
Definition PrintConfig.hpp:636
@ fmmAutoForFlush
Definition PrintConfig.hpp:633
@ fmmManual
Definition PrintConfig.hpp:635