OrcaSlicer latest
OrcaSlicer
Loading...
Searching...
No Matches
Slic3r::GUI::StatusBasePanel Class Reference

#include </home/runner/work/OrcaSlicer/OrcaSlicer/src/slic3r/GUI/StatusPanel.hpp>

Inheritance diagram for Slic3r::GUI::StatusBasePanel:
Collaboration diagram for Slic3r::GUI::StatusBasePanel:

Public Member Functions

 StatusBasePanel (wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxDefaultSize, long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
 ~StatusBasePanel ()
void init_bitmaps ()
wxBoxSizer * create_monitoring_page ()
wxBoxSizer * create_machine_control_page (wxWindow *parent)
wxBoxSizer * create_temp_axis_group (wxWindow *parent)
wxBoxSizer * create_temp_control (wxWindow *parent)
wxBoxSizer * create_misc_control (wxWindow *parent)
wxBoxSizer * create_axis_control (wxWindow *parent)
wxPanel * create_bed_control (wxWindow *parent)
wxBoxSizer * create_extruder_control (wxWindow *parent)
void reset_temp_misc_control ()
wxBoxSizer * create_ams_group (wxWindow *parent)
wxBoxSizer * create_settings_group (wxWindow *parent)
wxBoxSizer * create_filament_group (wxWindow *parent)
void expand_filament_loading (wxMouseEvent &e)
void show_ams_group (bool show=true)
void show_filament_load_group (bool show=true)
MediaPlayCtrl * get_media_play_ctrl ()
void jump_to_Rack ()
bool built () const
bool build_step ()

Public Attributes

MachineObject * obj {nullptr}
int before_error_code = 0
int skip_print_error = 0

Protected Member Functions

virtual void on_subtask_partskip (wxCommandEvent &event)
virtual void on_subtask_pause_resume (wxCommandEvent &event)
virtual void on_subtask_abort (wxCommandEvent &event)
virtual void on_lamp_switch (wxCommandEvent &event)
virtual void on_bed_temp_kill_focus (wxFocusEvent &event)
virtual void on_bed_temp_set_focus (wxFocusEvent &event)
virtual void on_nozzle_temp_kill_focus (wxFocusEvent &event)
virtual void on_nozzle_temp_set_focus (wxFocusEvent &event)
virtual void on_nozzle_fan_switch (wxCommandEvent &event)
virtual void on_printing_fan_switch (wxCommandEvent &event)
virtual void on_axis_ctrl_z_up_10 (wxCommandEvent &event)
virtual void on_axis_ctrl_z_up_1 (wxCommandEvent &event)
virtual void on_axis_ctrl_z_down_1 (wxCommandEvent &event)
virtual void on_axis_ctrl_z_down_10 (wxCommandEvent &event)
virtual void on_axis_ctrl_e_up_10 (wxCommandEvent &event)
virtual void on_axis_ctrl_e_down_10 (wxCommandEvent &event)
virtual void on_nozzle_selected (wxCommandEvent &event)
void add_build_step (std::function< void()> step)
void add_build_steps_of (StagedBuild &child)

Protected Attributes

wxBitmap m_item_placeholder
ScalableBitmap m_thumbnail_placeholder
ScalableBitmap m_thumbnail_brokenimg
ScalableBitmap m_thumbnail_sdcard
wxBitmap m_bitmap_item_prediction
wxBitmap m_bitmap_item_cost
wxBitmap m_bitmap_item_print
ScalableBitmap m_bitmap_speed
ScalableBitmap m_bitmap_speed_active
ScalableBitmap m_bitmap_axis_home
ScalableBitmap m_bitmap_lamp_on
ScalableBitmap m_bitmap_lamp_off
ScalableBitmap m_bitmap_fan_on
ScalableBitmap m_bitmap_fan_off
ScalableBitmap m_bitmap_use_time
ScalableBitmap m_bitmap_use_weight
wxBitmap m_bitmap_extruder_empty_load
wxBitmap m_bitmap_extruder_filled_load
wxBitmap m_bitmap_extruder_empty_unload
wxBitmap m_bitmap_extruder_filled_unload
wxBitmap m_bitmap_extruder_now
CameraRecordingStatus m_state_recording {CameraRecordingStatus::RECORDING_NONE}
CameraTimelapseStatus m_state_timelapse {CameraTimelapseStatus::TIMELAPSE_NONE}
CameraItem * m_setting_button
wxBitmap m_bitmap_camera
ScalableBitmap m_bitmap_sdcard_state_normal
ScalableBitmap m_bitmap_sdcard_state_abnormal
ScalableBitmap m_bitmap_sdcard_state_no
ScalableBitmap m_bitmap_recording_on
ScalableBitmap m_bitmap_recording_off
ScalableBitmap m_bitmap_timelapse_on
ScalableBitmap m_bitmap_timelapse_off
ScalableBitmap m_bitmap_vcamera_on
ScalableBitmap m_bitmap_vcamera_off
ScalableBitmap m_bitmap_switch_camera
wxPanel * media_ctrl_panel
wxPanel * m_panel_monitoring_title
wxPanel * m_panel_printing_title
wxPanel * m_panel_control_title
wxStaticText * m_staticText_consumption_of_time
wxStaticText * m_staticText_consumption_of_weight
Label * m_staticText_monitoring
wxStaticText * m_staticText_timelapse
SwitchButton * m_bmToggleBtn_timelapse
wxStaticText * m_mqtt_source
wxStaticBitmap * m_bitmap_camera_img
wxStaticBitmap * m_bitmap_recording_img
wxStaticBitmap * m_bitmap_timelapse_img
wxStaticBitmap * m_bitmap_vcamera_img
wxStaticBitmap * m_bitmap_sdcard_img
wxStaticBitmap * m_bitmap_static_use_time
wxStaticBitmap * m_bitmap_static_use_weight
wxMediaCtrl3 * m_media_ctrl
MediaPlayCtrl * m_media_play_ctrl {nullptr}
Label * m_staticText_printing
wxStaticBitmap * m_bitmap_thumbnail
wxStaticText * m_staticText_subtask_value
wxStaticText * m_printing_stage_value
wxStaticText * m_staticText_profile_value
ProgressBar * m_gauge_progress
wxStaticText * m_staticText_progress_percent
wxStaticText * m_staticText_progress_percent_icon
wxStaticText * m_staticText_progress_left
wxStaticText * m_staticText_layers
Button * m_button_report
Button * m_button_partskip
ScalableButton * m_button_pause_resume
ScalableButton * m_button_abort
Button * m_button_clean
wxWebView * m_custom_camera_view {nullptr}
std::unique_ptr< WebMediaController > m_web_media_controller
wxSimplebook * m_extruder_book
std::vector< ExtruderImage * > m_extruderImage
SwitchBoard * m_nozzle_btn_panel
wxStaticText * m_text_tasklist_caption
Label * m_staticText_control
ImageSwitchButton * m_switch_lamp
int m_switch_lamp_timeout {0}
ImageSwitchButton * m_switch_speed
wxBoxSizer * m_misc_ctrl_sizer
StaticBox * m_fan_panel
StaticLine * m_line_nozzle
TempInput * m_tempCtrl_nozzle
int m_temp_nozzle_timeout { 0 }
TempInput * m_tempCtrl_nozzle_deputy
int m_temp_nozzle_deputy_timeout { 0 }
TempInput * m_tempCtrl_bed
int m_temp_bed_timeout {0}
TempInput * m_tempCtrl_chamber
int m_temp_chamber_timeout {0}
FanSwitchButton * m_switch_nozzle_fan
int m_switch_nozzle_fan_timeout {0}
FanSwitchButton * m_switch_printing_fan
int m_switch_printing_fan_timeout {0}
FanSwitchButton * m_switch_cham_fan
FanSwitchButton * m_switch_fan
int m_switch_cham_fan_timeout {0}
wxPanel * m_switch_block_fan
int m_nozzle_num { 0 }
int m_current_nozzle_id { 0 }
float m_fixed_aspect_ratio {1.8}
AxisCtrlButton * m_bpButton_xy
Button * m_bpButton_z_10
Button * m_bpButton_z_1
Button * m_bpButton_z_down_1
Button * m_bpButton_z_down_10
wxStaticText * m_staticText_z_tip
Label * m_extruder_label
Button * m_bpButton_e_10
Button * m_bpButton_e_down_10
ExtruderSwithingStatus * m_extruder_switching_status
wxPanel * m_temp_temp_line
wxPanel * m_temp_extruder_line
wxBoxSizer * m_ams_list
wxStaticText * m_ams_debug
bool m_show_ams_group {false}
bool m_show_filament_group { false }
SwitchBoard * m_ams_rack_switch { nullptr }
AMSControl * m_ams_control
StaticBox * m_ams_control_box
wxStaticBitmap * m_ams_extruder_img
wxStaticBitmap * m_bitmap_extruder_img
wgtDeviceNozzleRack * m_panel_nozzle_rack { nullptr }
wxPanel * m_panel_separator_right
wxPanel * m_panel_separotor_bottom
wxGridBagSizer * m_tasklist_info_sizer {nullptr}
wxBoxSizer * m_printing_sizer
wxBoxSizer * m_tasklist_sizer
wxBoxSizer * m_tasklist_caption_sizer
wxPanel * m_panel_error_txt
wxPanel * m_staticline
Label * m_error_text
wxStaticText * m_staticText_calibration_caption
wxStaticText * m_staticText_calibration_caption_top
wxStaticText * m_calibration_text
Button * m_parts_btn
Button * m_options_btn
Button * m_safety_btn
Button * m_calibration_btn
StepIndicator * m_calibration_flow
wxPanel * m_machine_ctrl_panel
wxPanel * m_scale_panel
wxStaticBitmap * m_img_filament_loading
PrintingTaskPanel * m_project_task_panel
FilamentLoad * m_filament_step
wxStaticBitmap * m_filament_load_img
Button * m_button_retry {nullptr}
Button * m_fila_change_abort {nullptr}
StaticBox * m_filament_load_box

Private Member Functions

void on_ams_rack_switch (wxCommandEvent &event)
StagedBuild * unfinished_child () const

Private Attributes

std::vector< std::function< void()> > m_steps
std::vector< StagedBuild * > m_children
size_t m_next_step { 0 }

Detailed Description

Constructor & Destructor Documentation

◆ StatusBasePanel()

Slic3r::GUI::StatusBasePanel::StatusBasePanel ( wxWindow * parent,
wxWindowID id = wxID_ANY,
const wxPoint & pos = wxDefaultPosition,
const wxSize & size = wxDefaultSize,
long style = wxTAB_TRAVERSAL,
const wxString & name = wxEmptyString )
1379 : wxScrolledWindow(parent, id, pos, size, wxHSCROLL | wxVSCROLL)
1380{
1381 SetScrollRate(25, FromDIP(20));
1382 Slic3r::DeviceManager* dev = Slic3r::GUI::wxGetApp().getDeviceManager();
1383 if (!dev) return;
1384 obj = dev->get_selected_machine();
1385
1386 init_bitmaps();
1387
1388 this->SetBackgroundColour(wxColour(0xEE, 0xEE, 0xEE));
1389
1390 wxBoxSizer *bSizer_status = new wxBoxSizer(wxVERTICAL);
1391
1392 auto m_panel_separotor_top = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, PAGE_SPACING), wxTAB_TRAVERSAL);
1393 m_panel_separotor_top->SetBackgroundColour(STATUS_PANEL_BG);
1394
1395 bSizer_status->Add(m_panel_separotor_top, 0, wxEXPAND | wxALL, 0);
1396
1397 wxBoxSizer *bSizer_status_below = new wxBoxSizer(wxHORIZONTAL);
1398
1399 auto m_panel_separotor_left = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
1400 m_panel_separotor_left->SetBackgroundColour(STATUS_PANEL_BG);
1401 m_panel_separotor_left->SetMinSize(wxSize(PAGE_SPACING, -1));
1402
1403 bSizer_status_below->Add(m_panel_separotor_left, 0, wxEXPAND | wxALL, 0);
1404
1405 wxBoxSizer *bSizer_left = new wxBoxSizer(wxVERTICAL);
1406
1407 // The sizers are nested here so each step only appends to its own.
1408 add_build_step([this, bSizer_left] {
1409 auto m_monitoring_sizer = create_monitoring_page();
1410 bSizer_left->Add(m_monitoring_sizer, 1, wxEXPAND | wxALL, 0);
1411
1412 auto m_panel_separotor1 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
1413 m_panel_separotor1->SetBackgroundColour(STATUS_PANEL_BG);
1414 m_panel_separotor1->SetMinSize(wxSize(-1, PAGE_SPACING));
1415 m_panel_separotor1->SetMaxSize(wxSize(-1, PAGE_SPACING));
1416 m_monitoring_sizer->Add(m_panel_separotor1, 0, wxEXPAND, 0);
1417
1418 m_project_task_panel = new PrintingTaskPanel(this, PrintingTaskType::PRINGINT);
1419 m_project_task_panel->init_bitmaps();
1420 m_monitoring_sizer->Add(m_project_task_panel, 0, wxALL | wxEXPAND , 0);
1421 });
1422
1423// auto m_panel_separotor2 = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL);
1424// m_panel_separotor2->SetBackgroundColour(STATUS_PANEL_BG);
1425// m_panel_separotor2->SetMinSize(wxSize(-1, PAGE_SPACING));
1426// bSizer_left->Add(m_panel_separotor2, 1, wxEXPAND, 0);
1427
1428 bSizer_status_below->Add(bSizer_left, 1, wxALL | wxEXPAND, 0);
1429
1430 auto m_panel_separator_middle = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE | wxTAB_TRAVERSAL);
1431 m_panel_separator_middle->SetBackgroundColour(STATUS_PANEL_BG);
1432 m_panel_separator_middle->SetMinSize(wxSize(PAGE_SPACING, -1));
1433
1434 bSizer_status_below->Add(m_panel_separator_middle, 0, wxEXPAND | wxALL, 0);
1435
1436 m_machine_ctrl_panel = new wxPanel(this);
1437 m_machine_ctrl_panel->SetBackgroundColour(*wxWHITE);
1438 m_machine_ctrl_panel->SetDoubleBuffered(true);
1439 auto m_machine_control = create_machine_control_page(m_machine_ctrl_panel);
1440 m_machine_ctrl_panel->SetSizer(m_machine_control);
1441 add_build_step([this, m_machine_control] {
1442 m_machine_ctrl_panel->Layout();
1443 m_machine_control->Fit(m_machine_ctrl_panel);
1444 });
1445
1446 bSizer_status_below->Add(m_machine_ctrl_panel, 0, wxALL, 0);
1447
1448 m_panel_separator_right = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(PAGE_SPACING, -1), wxTAB_TRAVERSAL);
1449 m_panel_separator_right->SetBackgroundColour(STATUS_PANEL_BG);
1450
1451 bSizer_status_below->Add(m_panel_separator_right, 0, wxEXPAND | wxALL, 0);
1452
1453 bSizer_status->Add(bSizer_status_below, 1, wxALL | wxEXPAND, 0);
1454
1455 m_panel_separotor_bottom = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, PAGE_SPACING), wxTAB_TRAVERSAL);
1456 m_panel_separotor_bottom->SetBackgroundColour(STATUS_PANEL_BG);
1457
1458 bSizer_status->Add(m_panel_separotor_bottom, 0, wxEXPAND | wxALL, 0);
1459 this->SetSizer(bSizer_status);
1460 add_build_step([this, bSizer_status] {
1461 bSizer_status->SetSizeHints(this);
1462 this->Layout();
1463 });
1464}
#define PAGE_SPACING
Definition StatusPanel.cpp:176
MachineObject * get_selected_machine()
Definition DevManager.cpp:747
void add_build_step(std::function< void()> step)
Definition StagedBuild.hpp:39
wxBoxSizer * create_machine_control_page(wxWindow *parent)
Definition StatusPanel.cpp:1638
wxBoxSizer * create_monitoring_page()
Definition StatusPanel.cpp:1511
PrintingTaskPanel * m_project_task_panel
Definition StatusPanel.hpp:582
wxPanel * m_panel_separator_right
Definition StatusPanel.hpp:561
void init_bitmaps()
Definition StatusPanel.cpp:1476
wxPanel * m_panel_separotor_bottom
Definition StatusPanel.hpp:562
wxPanel * m_machine_ctrl_panel
Definition StatusPanel.hpp:579
MachineObject * obj
Definition StatusPanel.hpp:620
static const wxColour STATUS_PANEL_BG
Definition StatusPanel.cpp:139
@ PRINGINT
Definition StatusPanel.hpp:99

References Slic3r::GUI::StagedBuild::add_build_step(), create_machine_control_page(), create_monitoring_page(), Slic3r::DeviceManager::get_selected_machine(), init_bitmaps(), m_machine_ctrl_panel, m_panel_separator_right, m_panel_separotor_bottom, m_project_task_panel, obj, PAGE_SPACING, Slic3r::GUI::PRINGINT, Slic3r::GUI::STATUS_PANEL_BG, and style.

Referenced by Slic3r::GUI::StatusPanel::StatusPanel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ ~StatusBasePanel()

Slic3r::GUI::StatusBasePanel::~StatusBasePanel ( )
1467{
1468 delete m_media_play_ctrl;
1469
1471 delete m_custom_camera_view;
1472 m_custom_camera_view = nullptr;
1473 }
1474}
MediaPlayCtrl * m_media_play_ctrl
Definition StatusPanel.hpp:474
wxWebView * m_custom_camera_view
Definition StatusPanel.hpp:491

References m_custom_camera_view, and m_media_play_ctrl.

Member Function Documentation

◆ add_build_step()

void Slic3r::GUI::StagedBuild::add_build_step ( std::function< void()> step)
inlineprotectedinherited
39{ m_steps.push_back(std::move(step)); }
std::vector< std::function< void()> > m_steps
Definition StagedBuild.hpp:57

References m_steps.

Referenced by Slic3r::GUI::StatusBasePanel::StatusBasePanel(), Slic3r::GUI::StatusPanel::StatusPanel(), add_build_steps_of(), Slic3r::GUI::CalibrationWizard::add_page_step(), Slic3r::GUI::StatusBasePanel::create_machine_control_page(), Slic3r::GUI::FlowRateWizard::create_pages(), Slic3r::GUI::PressureAdvanceWizard::create_pages(), Slic3r::GUI::AuxiliaryPanel::init_tabpanel(), and Slic3r::GUI::MonitorPanel::init_tabpanel().

Here is the caller graph for this function:

◆ add_build_steps_of()

void Slic3r::GUI::StagedBuild::add_build_steps_of ( StagedBuild & child)
inlineprotectedinherited
44 {
45 m_children.push_back(&child);
46 for (size_t i = child.m_next_step; i < child.m_steps.size(); ++i)
47 add_build_step([&child] { child.build_step(); });
48 }
std::vector< StagedBuild * > m_children
Definition StagedBuild.hpp:58

References add_build_step(), build_step(), m_children, m_next_step, and m_steps.

Referenced by Slic3r::GUI::ProjectPanel::ProjectPanel(), Slic3r::GUI::CalibrationPanel::init_tabpanel(), and Slic3r::GUI::MonitorPanel::init_tabpanel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ build_step()

bool Slic3r::GUI::StagedBuild::build_step ( )
inlineinherited
27 {
28 if (m_next_step < m_steps.size()) {
29 // Copied out, since a step may queue more steps and reallocate m_steps.
30 auto step = std::move(m_steps[m_next_step++]);
31 step();
32 } else if (StagedBuild* child = unfinished_child()) {
33 child->build_step();
34 }
35 return !built();
36 }
size_t m_next_step
Definition StagedBuild.hpp:59
StagedBuild * unfinished_child() const
Definition StagedBuild.hpp:51
bool built() const
Definition StagedBuild.hpp:18
void step(Coord &crd, const Dir d, const long n=1)
Definition MarchingSquares.hpp:213

References built(), m_next_step, m_steps, and unfinished_child().

Referenced by add_build_steps_of().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ built()

bool Slic3r::GUI::StagedBuild::built ( ) const
inlineinherited
19 {
20 return m_next_step == m_steps.size() &&
21 std::all_of(m_children.begin(), m_children.end(), [](const StagedBuild* child) { return child->built(); });
22 }

References m_children, m_next_step, and m_steps.

Referenced by Slic3r::GUI::StatusPanel::~StatusPanel(), build_step(), Slic3r::GUI::CalibrationPanel::show_status(), Slic3r::GUI::MonitorPanel::show_status(), Slic3r::GUI::CalibrationPanel::update_all(), and Slic3r::GUI::MonitorPanel::update_all().

Here is the caller graph for this function:

◆ create_ams_group()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_ams_group ( wxWindow * parent)
2112{
2113 auto sizer = new wxBoxSizer(wxVERTICAL);
2114 auto sizer_box = new wxBoxSizer(wxVERTICAL);
2115
2116 m_ams_control_box = new StaticBox(parent);
2117
2118 StateColor box_colour(std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
2119 StateColor box_border_colour(std::pair<wxColour, int>(STATUS_PANEL_BG, StateColor::Normal));
2120
2121 m_ams_control_box->SetBackgroundColor(box_colour);
2122 m_ams_control_box->SetBorderColor(box_border_colour);
2123 m_ams_control_box->SetCornerRadius(5);
2124
2125 m_ams_control_box->SetMinSize(wxSize(FromDIP(586), -1));
2126 m_ams_control_box->SetBackgroundColour(*wxWHITE);
2127#if !BBL_RELEASE_TO_PUBLIC
2128 m_ams_debug = new wxStaticText(m_ams_control_box, wxID_ANY, _L("Debug Info"), wxDefaultPosition, wxDefaultSize, 0);
2129 sizer_box->Add(m_ams_debug, 0, wxALIGN_CENTER_HORIZONTAL, 0);
2130 m_ams_debug->Hide();
2131#endif
2132
2133 m_ams_control = new AMSControl(m_ams_control_box, wxID_ANY);
2134 //m_ams_control->SetMinSize(wxSize(FromDIP(510), FromDIP(286)));
2135 m_ams_control->SetDoubleBuffered(true);
2136 sizer_box->Add(m_ams_control, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, FromDIP(10));
2137
2138 m_ams_control_box->SetBackgroundColour(*wxWHITE);
2139 m_ams_control_box->SetSizer(sizer_box);
2140 m_ams_control_box->Layout();
2141 m_ams_control_box->Fit();
2142 sizer->Add(m_ams_control_box, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, FromDIP(0));
2143 return sizer;
2144}
#define _L(s)
Definition OBJ.cpp:34
class WXDLLIMPEXP_FWD_CORE wxStaticText
Definition ProgressDialog.hpp:30
StaticBox * m_ams_control_box
Definition StatusPanel.hpp:555
AMSControl * m_ams_control
Definition StatusPanel.hpp:554
wxStaticText * m_ams_debug
Definition StatusPanel.hpp:547
@ Normal
Definition StateColor.hpp:16

References _L, m_ams_control, m_ams_control_box, m_ams_debug, StateColor::Normal, Slic3r::GUI::STATUS_PANEL_BG, and wxStaticText.

Referenced by create_machine_control_page().

Here is the caller graph for this function:

◆ create_axis_control()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_axis_control ( wxWindow * parent)
1966{
1967 auto sizer = new wxBoxSizer(wxVERTICAL);
1968 sizer->AddStretchSpacer();
1969 m_bpButton_xy = new AxisCtrlButton(parent, m_bitmap_axis_home);
1970 m_bpButton_xy->SetTextColor(StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal)));
1971 m_bpButton_xy->SetMinSize(AXIS_MIN_SIZE);
1972 m_bpButton_xy->SetSize(AXIS_MIN_SIZE);
1973 sizer->AddStretchSpacer();
1974 sizer->Add(m_bpButton_xy, 0, wxALIGN_CENTER | wxALL, 0);
1975 sizer->AddStretchSpacer();
1976 return sizer;
1977}
#define AXIS_MIN_SIZE
Definition StatusPanel.cpp:191
AxisCtrlButton * m_bpButton_xy
Definition StatusPanel.hpp:531
ScalableBitmap m_bitmap_axis_home
Definition StatusPanel.hpp:418
@ Disabled
Definition StateColor.hpp:22
static const wxColour DISCONNECT_TEXT_COL
Definition StatusPanel.cpp:148
static const wxColour NORMAL_TEXT_COL
Definition StatusPanel.cpp:149

References AXIS_MIN_SIZE, StateColor::Disabled, Slic3r::GUI::DISCONNECT_TEXT_COL, m_bitmap_axis_home, m_bpButton_xy, StateColor::Normal, and Slic3r::GUI::NORMAL_TEXT_COL.

Referenced by create_temp_axis_group().

Here is the caller graph for this function:

◆ create_bed_control()

wxPanel * Slic3r::GUI::StatusBasePanel::create_bed_control ( wxWindow * parent)
1980{
1981 wxBoxSizer *bSizer_z_ctrl = new wxBoxSizer(wxHORIZONTAL);
1982 auto panel = new wxPanel(parent, wxID_ANY);
1983 panel->SetBackgroundColour(*wxWHITE);
1984
1985 StateColor z_10_ctrl_bg(std::pair<wxColour, int>(BUTTON_PRESS_COL, StateColor::Pressed), std::pair<wxColour, int>(BUTTON_NORMAL1_COL, StateColor::Normal));
1986 StateColor z_10_ctrl_bd(std::pair<wxColour, int>(BUTTON_HOVER_COL, StateColor::Hovered), std::pair<wxColour, int>(BUTTON_NORMAL1_COL, StateColor::Normal));
1987
1988 StateColor z_1_ctrl_bg(std::pair<wxColour, int>(BUTTON_PRESS_COL, StateColor::Pressed), std::pair<wxColour, int>(BUTTON_NORMAL2_COL, StateColor::Normal));
1989 StateColor z_1_ctrl_bd(std::pair<wxColour, int>(BUTTON_HOVER_COL, StateColor::Hovered), std::pair<wxColour, int>(BUTTON_NORMAL2_COL, StateColor::Normal));
1990
1991 m_bpButton_z_10 = new Button(panel, wxString("10"), "monitor_bed_up", 0, 15); // Orca Dont scale icon size
1993 m_bpButton_z_10->SetBorderWidth(0);
1994 m_bpButton_z_10->SetBackgroundColor(z_10_ctrl_bg);
1995 m_bpButton_z_10->SetBorderColor(z_10_ctrl_bd);
1996 m_bpButton_z_10->SetTextColor(StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal)));
1997 m_bpButton_z_10->SetMinSize(Z_BUTTON_SIZE);
1999 m_bpButton_z_10->SetCornerRadius(0);
2000 m_bpButton_z_1 = new Button(panel, wxString(" 1"), "monitor_bed_up", 0, 15); // Orca Dont scale icon size
2002 m_bpButton_z_1->SetBorderWidth(0);
2003 m_bpButton_z_1->SetBackgroundColor(z_1_ctrl_bg);
2004 m_bpButton_z_1->SetBorderColor(z_1_ctrl_bd);
2005 m_bpButton_z_1->SetMinSize(Z_BUTTON_SIZE);
2006 m_bpButton_z_1->SetSize(Z_BUTTON_SIZE);
2007 m_bpButton_z_1->SetTextColor(StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal)));
2008
2009 //bSizer_z_ctrl->Add(0, FromDIP(6), 0, wxEXPAND, 0);
2010
2011 m_staticText_z_tip = new wxStaticText(panel, wxID_ANY, _L("Bed"), wxDefaultPosition, wxDefaultSize, 0);
2013 if (wxGetApp().app_config->get("language") == "de_DE") m_staticText_z_tip->SetFont(::Label::Body_11);
2014 m_staticText_z_tip->Wrap(-1);
2015 m_staticText_z_tip->SetForegroundColour(TEXT_LIGHT_FONT_COL);
2016 m_bpButton_z_down_1 = new Button(panel, wxString(" 1"), "monitor_bed_down", 0, 15); // Orca Dont scale icon size
2018 m_bpButton_z_down_1->SetBorderWidth(0);
2019 m_bpButton_z_down_1->SetBackgroundColor(z_1_ctrl_bg);
2020 m_bpButton_z_down_1->SetBorderColor(z_1_ctrl_bd);
2023 m_bpButton_z_down_1->SetTextColor(StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal)));
2024
2025 m_bpButton_z_down_10 = new Button(panel, wxString("10"), "monitor_bed_down", 0, 15); // Orca Dont scale icon size
2027 m_bpButton_z_down_10->SetBorderWidth(0);
2028 m_bpButton_z_down_10->SetBackgroundColor(z_10_ctrl_bg);
2029 m_bpButton_z_down_10->SetBorderColor(z_10_ctrl_bd);
2032 m_bpButton_z_down_10->SetTextColor(StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal)));
2033
2034 bSizer_z_ctrl->Add(m_bpButton_z_10, 0, wxEXPAND | wxLEFT | wxRIGHT, 0);
2035 bSizer_z_ctrl->Add(m_bpButton_z_1, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(2));
2036 bSizer_z_ctrl->Add(m_staticText_z_tip, 0, wxALIGN_CENTRE, FromDIP(5));
2037 bSizer_z_ctrl->Add(m_bpButton_z_down_1, 0, wxEXPAND | wxLEFT | wxRIGHT, FromDIP(2));
2038 bSizer_z_ctrl->Add(m_bpButton_z_down_10, 0, wxEXPAND | wxLEFT | wxRIGHT, 0);
2039
2040 panel->SetSizer(bSizer_z_ctrl);
2041 panel->Layout();
2042 panel->Fit();
2043
2044 return panel;
2045}
#define Z_BUTTON_SIZE
Definition StatusPanel.cpp:184
static wxFont Body_11
Definition Label.hpp:57
static wxFont Body_12
Definition Label.hpp:55
wxStaticText * m_staticText_z_tip
Definition StatusPanel.hpp:538
Button * m_bpButton_z_down_10
Definition StatusPanel.hpp:536
Button * m_bpButton_z_10
Definition StatusPanel.hpp:533
Button * m_bpButton_z_down_1
Definition StatusPanel.hpp:535
Button * m_bpButton_z_1
Definition StatusPanel.hpp:534
@ Hovered
Definition StateColor.hpp:20
@ Pressed
Definition StateColor.hpp:21
static const wxColour BUTTON_NORMAL2_COL
Definition StatusPanel.cpp:144
static const wxColour BUTTON_PRESS_COL
Definition StatusPanel.cpp:145
static const wxColour BUTTON_HOVER_COL
Definition StatusPanel.cpp:146
static wxColour TEXT_LIGHT_FONT_COL
Definition StatusPanel.cpp:162
static const wxColour BUTTON_NORMAL1_COL
Definition StatusPanel.cpp:143

References _L, Label::Body_11, Label::Body_12, Slic3r::GUI::BUTTON_HOVER_COL, Slic3r::GUI::BUTTON_NORMAL1_COL, Slic3r::GUI::BUTTON_NORMAL2_COL, Slic3r::GUI::BUTTON_PRESS_COL, StateColor::Disabled, Slic3r::GUI::DISCONNECT_TEXT_COL, StateColor::Hovered, m_bpButton_z_1, m_bpButton_z_10, m_bpButton_z_down_1, m_bpButton_z_down_10, m_staticText_z_tip, StateColor::Normal, Slic3r::GUI::NORMAL_TEXT_COL, StateColor::Pressed, Slic3r::GUI::TEXT_LIGHT_FONT_COL, wxStaticText, and Z_BUTTON_SIZE.

Referenced by create_temp_axis_group().

Here is the caller graph for this function:

◆ create_extruder_control()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_extruder_control ( wxWindow * parent)
2048{
2049 wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
2050 wxBoxSizer *bSizer_e_ctrl = new wxBoxSizer(wxVERTICAL);
2051 auto panel = new wxPanel(parent,wxID_ANY);
2052
2053 panel->SetBackgroundColour(*wxWHITE);
2054 panel->SetSize(wxSize(FromDIP(143), -1));
2055 panel->SetMinSize(wxSize(FromDIP(143), -1));
2056 panel->SetMaxSize(wxSize(FromDIP(143), -1));
2057
2058 StateColor e_ctrl_bg(std::pair<wxColour, int>(BUTTON_PRESS_COL, StateColor::Pressed), std::pair<wxColour, int>(BUTTON_NORMAL1_COL, StateColor::Normal));
2059 StateColor e_ctrl_bd(std::pair<wxColour, int>(BUTTON_HOVER_COL, StateColor::Hovered), std::pair<wxColour, int>(BUTTON_NORMAL1_COL, StateColor::Normal));
2060
2061 m_nozzle_btn_panel = new SwitchBoard(panel, _L_CONTEXT("Left", "Nozzle position"), _L_CONTEXT("Right", "Nozzle position"), wxSize(FromDIP(126), FromDIP(26)));
2062 m_nozzle_btn_panel->SetAutoDisableWhenSwitch();
2063
2064 m_bpButton_e_10 = new Button(panel, "", "monitor_extruder_up", 0, 22); // Orca Dont scale icon size
2065 m_bpButton_e_10->SetBorderWidth(2);
2066 m_bpButton_e_10->SetBackgroundColor(e_ctrl_bg);
2067 m_bpButton_e_10->SetBorderColor(e_ctrl_bd);
2068 m_bpButton_e_10->SetMinSize(wxSize(FromDIP(40), FromDIP(40)));
2069
2070 m_extruder_book = new wxSimplebook(panel, wxID_ANY, wxDefaultPosition, wxSize(FromDIP(45), FromDIP(112)), 0);
2071
2072 m_extruder_book->InsertPage(0, new wxPanel(panel), "");
2073 for (int nozzle_num = 1; nozzle_num <= 2; nozzle_num++) {
2074 auto extruder_img = new ExtruderImage(m_extruder_book, wxID_ANY, nozzle_num);
2075 m_extruder_book->InsertPage(nozzle_num, extruder_img, "");
2076 m_extruderImage.push_back(extruder_img);
2077 }
2078 m_extruder_book->SetSelection(0);
2079
2080 m_bpButton_e_down_10 = new Button(panel, "", "monitor_extruder_down", 0, 22); // Orca Dont scale icon size
2081 m_bpButton_e_down_10->SetBorderWidth(2);
2082 m_bpButton_e_down_10->SetBackgroundColor(e_ctrl_bg);
2083 m_bpButton_e_down_10->SetBorderColor(e_ctrl_bd);
2084 m_bpButton_e_down_10->SetMinSize(wxSize(FromDIP(40), FromDIP(40)));
2085
2086 m_extruder_switching_status = new ExtruderSwithingStatus(panel);
2088
2089 m_extruder_label = new ::Label(panel, _L("Extruder"));
2091 m_extruder_label->SetForegroundColour(TEXT_LIGHT_FONT_COL);
2092
2093 bSizer_e_ctrl->Add(0, 0, 0, wxTOP, FromDIP(15));
2094 bSizer_e_ctrl->Add(m_nozzle_btn_panel, 0, wxALIGN_CENTER_HORIZONTAL, 0);
2095 bSizer_e_ctrl->Add(0, 0, 0, wxTOP, FromDIP(15));
2096 bSizer_e_ctrl->Add(m_bpButton_e_10, 0, wxALIGN_CENTER_HORIZONTAL, 0);
2097 bSizer_e_ctrl->Add(0, 0, 0, wxTOP, FromDIP(7));
2098 bSizer_e_ctrl->Add(m_extruder_book, 0, wxALIGN_CENTER_HORIZONTAL, 0);
2099 bSizer_e_ctrl->Add(0, 0, 0, wxTOP, FromDIP(7));
2100 bSizer_e_ctrl->Add(m_bpButton_e_down_10, 0, wxALIGN_CENTER_HORIZONTAL, 0);
2101 bSizer_e_ctrl->Add(0, 0, 1, wxEXPAND, 0);
2102 bSizer_e_ctrl->Add(m_extruder_switching_status, 0, wxALIGN_CENTER_HORIZONTAL, 0);
2103 bSizer_e_ctrl->Add(m_extruder_label, 0, wxTOP | wxALIGN_CENTER_HORIZONTAL, FromDIP(10));
2104
2105 panel->SetSizer(bSizer_e_ctrl);
2106 panel->Layout();
2107 sizer->Add(panel, 1, wxEXPAND, 0);
2108 return sizer;
2109}
static wxFont Body_13
Definition Label.hpp:54
ExtruderSwithingStatus * m_extruder_switching_status
Definition StatusPanel.hpp:542
Button * m_bpButton_e_down_10
Definition StatusPanel.hpp:541
wxSimplebook * m_extruder_book
Definition StatusPanel.hpp:494
std::vector< ExtruderImage * > m_extruderImage
Definition StatusPanel.hpp:495
SwitchBoard * m_nozzle_btn_panel
Definition StatusPanel.hpp:497
Button * m_bpButton_e_10
Definition StatusPanel.hpp:540
Label * m_extruder_label
Definition StatusPanel.hpp:539
#define _L_CONTEXT(s, ctx)
Definition I18N.hpp:15

References _L, _L_CONTEXT, Label::Body_13, Slic3r::GUI::BUTTON_HOVER_COL, Slic3r::GUI::BUTTON_NORMAL1_COL, Slic3r::GUI::BUTTON_PRESS_COL, StateColor::Hovered, m_bpButton_e_10, m_bpButton_e_down_10, m_extruder_book, m_extruder_label, m_extruder_switching_status, m_extruderImage, m_nozzle_btn_panel, StateColor::Normal, StateColor::Pressed, and Slic3r::GUI::TEXT_LIGHT_FONT_COL.

Referenced by create_temp_axis_group().

Here is the caller graph for this function:

◆ create_filament_group()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_filament_group ( wxWindow * parent)
2147{
2148 auto sizer = new wxBoxSizer(wxVERTICAL);
2149
2150 auto sizer_scale_panel = new wxBoxSizer(wxHORIZONTAL);
2151 m_scale_panel = new wxPanel(parent);
2152 m_scale_panel->SetMinSize(wxSize(FromDIP(586), FromDIP(40)));
2153 m_scale_panel->SetMaxSize(wxSize(FromDIP(586), FromDIP(40)));
2154 m_scale_panel->SetBackgroundColour(*wxWHITE);
2155
2156 auto m_title_filament_loading = new Label(m_scale_panel, _L("Filament loading..."));
2157 m_title_filament_loading->SetBackgroundColour(*wxWHITE);
2158 m_title_filament_loading->SetForegroundColour(wxColour(0, 137, 123));
2159 m_title_filament_loading->SetFont(::Label::Body_14);
2160
2161 m_img_filament_loading = new wxStaticBitmap(m_scale_panel, wxID_ANY, create_scaled_bitmap("filament_load_fold", this, 24), wxDefaultPosition, wxSize(FromDIP(24), FromDIP(24)), 0);
2162
2163 sizer_scale_panel->Add(0, 0, 0, wxLEFT, FromDIP(20));
2164 sizer_scale_panel->Add(m_title_filament_loading, 0, wxALIGN_CENTER, 0);
2165 sizer_scale_panel->Add(m_img_filament_loading, 0, wxALIGN_CENTER, 0);
2166 m_scale_panel->SetSizer(sizer_scale_panel);
2167 m_scale_panel->Layout();
2168 m_scale_panel->Fit();
2169 m_scale_panel->Hide();
2170
2171
2172 m_title_filament_loading->Bind(wxEVT_LEFT_DOWN, &StatusBasePanel::expand_filament_loading, this);
2173 m_scale_panel->Bind(wxEVT_LEFT_DOWN, &StatusBasePanel::expand_filament_loading, this);
2174
2175
2176 auto sizer_box = new wxBoxSizer(wxVERTICAL);
2177
2178 StateColor box_colour(std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
2179 StateColor box_border_colour(std::pair<wxColour, int>(STATUS_PANEL_BG, StateColor::Normal));
2180
2181 m_filament_load_box = new StaticBox(parent);
2182 m_filament_load_box->SetBackgroundColor(box_colour);
2183 m_filament_load_box->SetBorderColor(box_border_colour);
2184 m_filament_load_box->SetCornerRadius(5);
2185 m_filament_load_box->SetMinSize(wxSize(FromDIP(586), -1));
2186 m_filament_load_box->SetMaxSize(wxSize(FromDIP(586), -1));
2187 m_filament_load_box->SetBackgroundColour(*wxWHITE);
2188 m_filament_load_box->SetSizer(sizer_box);
2189
2190 m_filament_step = new FilamentLoad(m_filament_load_box, wxID_ANY);
2191 m_filament_step->SetDoubleBuffered(true);
2192 m_filament_step->set_min_size(wxSize(wxSize(FromDIP(300), FromDIP(215))));
2193 m_filament_step->set_max_size(wxSize(wxSize(FromDIP(300), FromDIP(215))));
2194 m_filament_step->SetBackgroundColour(*wxWHITE);
2195
2196 m_filament_load_img = new wxStaticBitmap(m_filament_load_box, wxID_ANY, wxNullBitmap);
2197 m_filament_load_img->SetBackgroundColour(*wxWHITE);
2198
2199 wxBoxSizer *steps_sizer = new wxBoxSizer(wxHORIZONTAL);
2200 steps_sizer->Add(m_filament_step, 0, wxALIGN_LEFT, FromDIP(20));
2201 steps_sizer->Add(m_filament_load_img, 0, wxALIGN_TOP, FromDIP(30));
2202 steps_sizer->AddStretchSpacer();
2203
2204 m_button_retry = new Button(m_filament_load_box, _L("Retry"));
2206 //m_button_retry->Hide();
2207
2208 m_button_retry->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
2209 BOOST_LOG_TRIVIAL(info) << "on_ams_retry";
2210 if (obj) { obj->command_ams_control("resume"); }
2211 });
2212
2213 // Orca: filament-change Stop button (aborts an in-progress filament change)
2214 m_fila_change_abort = new Button(m_filament_load_box, _L("Stop"));
2216 m_fila_change_abort->Hide();
2217 m_fila_change_abort->Bind(wxEVT_BUTTON, [this](wxCommandEvent &e) {
2218 BOOST_LOG_TRIVIAL(info) << "on_ams_abort";
2219 if (obj) { obj->command_ams_control("abort"); }
2220 });
2221
2222 wxBoxSizer *fila_change_sizer = new wxBoxSizer(wxHORIZONTAL);
2223 fila_change_sizer->Add(m_button_retry, 0, wxRIGHT, FromDIP(7));
2224 fila_change_sizer->Add(m_fila_change_abort, 0, wxLEFT, FromDIP(7));
2225
2226 sizer_box->Add(steps_sizer, 0, wxEXPAND | wxTOP, FromDIP(5));
2227 sizer_box->Add(fila_change_sizer, 0, wxLEFT, FromDIP(28));
2228 sizer_box->Add(0, 0, 0, wxTOP, FromDIP(5));
2229 m_filament_load_box->SetBackgroundColour(*wxWHITE);
2230 m_filament_load_box->Layout();
2231 m_filament_load_box->Fit();
2232 m_filament_load_box->Hide();
2233 sizer->Add(m_scale_panel, 0, wxALIGN_CENTER_HORIZONTAL | wxTOP, FromDIP(5));
2234 sizer->Add(m_filament_load_box, 0, wxALIGN_CENTER_HORIZONTAL | wxALL, 0);
2235 return sizer;
2236}
@ Confirm
Definition Button.hpp:25
@ Regular
Definition Button.hpp:24
@ Choice
Definition Button.hpp:33
static wxFont Body_14
Definition Label.hpp:53
wxPanel * m_scale_panel
Definition StatusPanel.hpp:580
FilamentLoad * m_filament_step
Definition StatusPanel.hpp:584
Button * m_button_retry
Definition StatusPanel.hpp:587
void expand_filament_loading(wxMouseEvent &e)
Definition StatusPanel.cpp:2238
StaticBox * m_filament_load_box
Definition StatusPanel.hpp:589
Button * m_fila_change_abort
Definition StatusPanel.hpp:588
wxStaticBitmap * m_img_filament_loading
Definition StatusPanel.hpp:581
wxStaticBitmap * m_filament_load_img
Definition StatusPanel.hpp:585
wxBitmap create_scaled_bitmap(const std::string &bmp_name_in, wxWindow *win, const int px_cnt, const bool grayscale, const std::string &new_color, const bool menu_bitmap, const bool resize, const bool bitmap2, const std::vector< std::string > &array_new_color)
Definition wxExtensions.cpp:448

References _L, Label::Body_14, Choice, Confirm, create_scaled_bitmap(), expand_filament_loading(), m_button_retry, m_fila_change_abort, m_filament_load_box, m_filament_load_img, m_filament_step, m_img_filament_loading, m_scale_panel, StateColor::Normal, obj, Regular, and Slic3r::GUI::STATUS_PANEL_BG.

Referenced by create_machine_control_page().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_machine_control_page()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_machine_control_page ( wxWindow * parent)
1639{
1640 wxBoxSizer *bSizer_right = new wxBoxSizer(wxVERTICAL);
1641
1642 m_panel_control_title = new wxPanel(parent, wxID_ANY, wxDefaultPosition, wxSize(-1, PAGE_TITLE_HEIGHT), wxTAB_TRAVERSAL);
1643 m_panel_control_title->SetBackgroundColour(STATUS_TITLE_BG);
1644
1645 wxBoxSizer *bSizer_control_title = new wxBoxSizer(wxHORIZONTAL);
1646 m_staticText_control = new Label(m_panel_control_title,_L("Control"));
1647 m_staticText_control->Wrap(-1);
1648 //m_staticText_control->SetFont(PAGE_TITLE_FONT);
1649 m_staticText_control->SetForegroundColour(PAGE_TITLE_FONT_COL);
1650
1651 m_parts_btn = new Button(m_panel_control_title, _L("Printer Parts"));
1653
1654 m_options_btn = new Button(m_panel_control_title, _L("Print Options"));
1656
1657 m_safety_btn = new Button(m_panel_control_title, _L("Safety Options"));
1659
1660 m_calibration_btn = new Button(m_panel_control_title, _L("Calibration"));
1662 m_calibration_btn->EnableTooltipEvenDisabled();
1663
1664 m_options_btn->Hide();
1665 m_safety_btn->Hide();
1666
1667 bSizer_control_title->Add(m_staticText_control, 1, wxALIGN_CENTER_VERTICAL | wxLEFT, PAGE_TITLE_LEFT_MARGIN);
1668 bSizer_control_title->Add(0, 0, 1, wxEXPAND, 0);
1669 bSizer_control_title->Add(m_parts_btn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, FromDIP(10));
1670 bSizer_control_title->Add(m_options_btn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, FromDIP(10));
1671 bSizer_control_title->Add(m_safety_btn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, FromDIP(10));
1672 bSizer_control_title->Add(m_calibration_btn, 0, wxALIGN_CENTER_VERTICAL | wxRIGHT, FromDIP(10));
1673
1674 m_panel_control_title->SetSizer(bSizer_control_title);
1675 m_panel_control_title->Layout();
1676 bSizer_control_title->Fit(m_panel_control_title);
1677 bSizer_right->Add(m_panel_control_title, 0, wxALL | wxEXPAND, 0);
1678
1679 wxBoxSizer *bSizer_control = new wxBoxSizer(wxVERTICAL);
1680
1681 // The slot sizers keep each group's place in bSizer_control.
1682 wxBoxSizer *temp_axis_slot = new wxBoxSizer(wxVERTICAL);
1683 wxBoxSizer *filament_slot = new wxBoxSizer(wxVERTICAL);
1684 /* ams control box or live nozzle-rack panel (rack printers switch between the two) */
1685 wxSizer *ams_rack_sizer = new wxBoxSizer(wxHORIZONTAL);
1686
1687 add_build_step([this, parent, temp_axis_slot, filament_slot] {
1688 temp_axis_slot->Add(create_temp_axis_group(parent), 0, wxEXPAND);
1689 filament_slot->Add(create_filament_group(parent), 0, wxEXPAND);
1690 });
1691 add_build_step([this, parent, ams_rack_sizer] {
1692 ams_rack_sizer->Add(create_ams_group(parent), 0, wxEXPAND | wxLEFT);
1693 });
1694 add_build_step([this, parent, ams_rack_sizer] {
1695 m_panel_nozzle_rack = new wgtDeviceNozzleRack(parent);
1696 m_panel_nozzle_rack->Show(false);
1697 ams_rack_sizer->Add(m_panel_nozzle_rack, 0, wxEXPAND | wxLEFT);
1698 });
1699
1700 m_ams_rack_switch = new SwitchBoard(parent, _L("Filament"), _L("Hotends"), wxSize(FromDIP(126), FromDIP(26)));
1701 m_ams_rack_switch->updateState("left");
1702 m_ams_rack_switch->Hide();
1703 m_ams_rack_switch->Bind(wxCUSTOMEVT_SWITCH_POS, &StatusBasePanel::on_ams_rack_switch, this);
1704
1705 bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(8));
1706 bSizer_control->Add(temp_axis_slot, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8));
1707 bSizer_control->Add(m_ams_rack_switch, 0, wxALIGN_CENTRE|wxTOP, FromDIP(6));
1708 bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(6));
1709 bSizer_control->Add(ams_rack_sizer, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8));
1710 bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(6));
1711 bSizer_control->Add(filament_slot, 0, wxALIGN_CENTER|wxLEFT|wxRIGHT, FromDIP(8));
1712 bSizer_control->Add(0, 0, 0, wxTOP, FromDIP(4));
1713
1714 bSizer_right->Add(bSizer_control, 1, wxEXPAND | wxALL, 0);
1715
1716 return bSizer_right;
1717}
@ Window
Definition Button.hpp:32
#define PAGE_TITLE_HEIGHT
Definition StatusPanel.cpp:168
#define PAGE_TITLE_LEFT_MARGIN
Definition StatusPanel.cpp:170
Button * m_parts_btn
Definition StatusPanel.hpp:573
wxBoxSizer * create_temp_axis_group(wxWindow *parent)
Definition StatusPanel.cpp:1719
Button * m_safety_btn
Definition StatusPanel.hpp:575
SwitchBoard * m_ams_rack_switch
Definition StatusPanel.hpp:552
wxBoxSizer * create_ams_group(wxWindow *parent)
Definition StatusPanel.cpp:2111
Label * m_staticText_control
Definition StatusPanel.hpp:501
Button * m_options_btn
Definition StatusPanel.hpp:574
wxPanel * m_panel_control_title
Definition StatusPanel.hpp:453
wgtDeviceNozzleRack * m_panel_nozzle_rack
Definition StatusPanel.hpp:559
void on_ams_rack_switch(wxCommandEvent &event)
Definition StatusPanel.cpp:2373
Button * m_calibration_btn
Definition StatusPanel.hpp:576
wxBoxSizer * create_filament_group(wxWindow *parent)
Definition StatusPanel.cpp:2146
static const wxColour STATUS_TITLE_BG
Definition StatusPanel.cpp:140
static wxColour PAGE_TITLE_FONT_COL
Definition StatusPanel.cpp:160

References _L, Slic3r::GUI::StagedBuild::add_build_step(), Confirm, create_ams_group(), create_filament_group(), create_temp_axis_group(), m_ams_rack_switch, m_calibration_btn, m_options_btn, m_panel_control_title, m_panel_nozzle_rack, m_parts_btn, m_safety_btn, m_staticText_control, on_ams_rack_switch(), Slic3r::GUI::PAGE_TITLE_FONT_COL, PAGE_TITLE_HEIGHT, PAGE_TITLE_LEFT_MARGIN, Slic3r::GUI::STATUS_TITLE_BG, and Window.

Referenced by StatusBasePanel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_misc_control()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_misc_control ( wxWindow * parent)
1851{
1852 wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
1853
1854 wxBoxSizer *line_sizer = new wxBoxSizer(wxHORIZONTAL);
1855
1856 /* create speed control */
1857 m_switch_speed = new ImageSwitchButton(parent, m_bitmap_speed_active, m_bitmap_speed);
1858 m_switch_speed->SetLabels("100%", "100%");
1861 m_switch_speed->SetPadding(FromDIP(3));
1862 m_switch_speed->SetBorderWidth(FromDIP(2));
1864 m_switch_speed->SetTextColor(StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal)));
1865 m_switch_speed->SetValue(false);
1866
1867 line_sizer->Add(m_switch_speed, 1, wxALIGN_CENTER | wxALL, 0);
1868
1869 auto line = new StaticLine(parent, true);
1870 line->SetLineColour(STATIC_BOX_LINE_COL);
1871 line_sizer->Add(line, 0, wxEXPAND | wxTOP | wxBOTTOM, 4);
1872
1873 /* create lamp control */
1874 m_switch_lamp = new ImageSwitchButton(parent, m_bitmap_lamp_on, m_bitmap_lamp_off);
1875 m_switch_lamp->SetLabels(_L("Lamp"), _L("Lamp"));
1878 m_switch_lamp->SetPadding(FromDIP(3));
1879 m_switch_lamp->SetBorderWidth(FromDIP(2));
1880 m_switch_lamp->SetFont(Label::Head_13);
1881 m_switch_lamp->SetTextColor(StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal)));
1882 line_sizer->Add(m_switch_lamp, 1, wxALIGN_CENTER | wxALL, 0);
1883
1884 //sizer->Add(line_sizer, 0, wxEXPAND, FromDIP(5));
1885 line = new StaticLine(parent);
1886 line->SetLineColour(STATIC_BOX_LINE_COL);
1887 sizer->Add(line, 0, wxEXPAND | wxLEFT | wxRIGHT, 12);
1888
1889 m_fan_panel = new StaticBox(parent);
1892 m_fan_panel->SetBackgroundColor(*wxWHITE);
1893 m_fan_panel->SetBorderWidth(0);
1894 m_fan_panel->SetCornerRadius(0);
1895
1896 auto fan_line_sizer = new wxBoxSizer(wxHORIZONTAL);
1898 m_switch_fan->SetValue(false);
1901 m_switch_fan->SetPadding(FromDIP(1));
1902 m_switch_fan->SetBorderWidth(0);
1903 m_switch_fan->SetCornerRadius(0);
1905 m_switch_fan->UseTextFan();
1906 m_switch_fan->SetTextColor(
1907 StateColor(std::make_pair(DISCONNECT_TEXT_COL, (int)StateColor::Disabled), std::make_pair(NORMAL_FAN_TEXT_COL, (int)StateColor::Normal)));
1908
1909 m_switch_fan->Bind(wxEVT_ENTER_WINDOW, [this](auto& e) {
1910 m_fan_panel->SetBackgroundColor(wxColour(0, 150, 136));
1911 });
1912
1913 m_switch_fan->Bind(wxEVT_LEAVE_WINDOW, [this, parent](auto& e) {
1914 m_fan_panel->SetBackgroundColor(parent->GetBackgroundColour());
1915 });
1916
1917 fan_line_sizer->Add(m_switch_fan, 1, wxEXPAND|wxALL, FromDIP(2));
1918
1919 m_fan_panel->SetSizer(fan_line_sizer);
1920 m_fan_panel->Layout();
1921 m_fan_panel->Fit();
1922 sizer->Add(m_fan_panel, 0, wxEXPAND, FromDIP(5));
1923 line = new StaticLine(parent);
1924 line->SetLineColour(STATIC_BOX_LINE_COL);
1925 sizer->Add(line, 0, wxEXPAND | wxLEFT | wxRIGHT, 12);
1926
1927 sizer->Add(line_sizer, 0, wxEXPAND, FromDIP(5));
1928 return sizer;
1929}
#define MISC_BUTTON_PANEL_SIZE
Definition StatusPanel.cpp:185
#define MISC_BUTTON_2FAN_SIZE
Definition StatusPanel.cpp:187
#define MISC_BUTTON_1FAN_SIZE
Definition StatusPanel.cpp:186
static wxFont Head_13
Definition Label.hpp:46
static wxFont Body_10
Definition Label.hpp:56
ScalableBitmap m_bitmap_fan_on
Definition StatusPanel.hpp:421
StaticBox * m_fan_panel
Definition StatusPanel.hpp:508
ImageSwitchButton * m_switch_lamp
Definition StatusPanel.hpp:502
ScalableBitmap m_bitmap_lamp_off
Definition StatusPanel.hpp:420
ImageSwitchButton * m_switch_speed
Definition StatusPanel.hpp:504
FanSwitchButton * m_switch_fan
Definition StatusPanel.hpp:523
ScalableBitmap m_bitmap_speed_active
Definition StatusPanel.hpp:417
ScalableBitmap m_bitmap_lamp_on
Definition StatusPanel.hpp:419
ScalableBitmap m_bitmap_fan_off
Definition StatusPanel.hpp:422
ScalableBitmap m_bitmap_speed
Definition StatusPanel.hpp:416
static const wxColour NORMAL_FAN_TEXT_COL
Definition StatusPanel.cpp:150
static const wxColour STATIC_BOX_LINE_COL
Definition StatusPanel.cpp:141

References _L, Label::Body_10, StateColor::Disabled, Slic3r::GUI::DISCONNECT_TEXT_COL, Label::Head_13, m_bitmap_fan_off, m_bitmap_fan_on, m_bitmap_lamp_off, m_bitmap_lamp_on, m_bitmap_speed, m_bitmap_speed_active, m_fan_panel, m_switch_fan, m_switch_lamp, m_switch_speed, MISC_BUTTON_1FAN_SIZE, MISC_BUTTON_2FAN_SIZE, MISC_BUTTON_PANEL_SIZE, StateColor::Normal, Slic3r::GUI::NORMAL_FAN_TEXT_COL, Slic3r::GUI::NORMAL_TEXT_COL, and Slic3r::GUI::STATIC_BOX_LINE_COL.

Referenced by create_temp_control().

Here is the caller graph for this function:

◆ create_monitoring_page()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_monitoring_page ( )
1512{
1513 wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
1514
1515 m_panel_monitoring_title = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxSize(-1, PAGE_TITLE_HEIGHT), wxTAB_TRAVERSAL);
1516 m_panel_monitoring_title->SetBackgroundColour(STATUS_TITLE_BG);
1517
1518 wxBoxSizer *bSizer_monitoring_title;
1519 bSizer_monitoring_title = new wxBoxSizer(wxHORIZONTAL);
1520
1521 m_staticText_monitoring = new Label(m_panel_monitoring_title, _L_CONTEXT("Camera", "Printer camera"));
1522 m_staticText_monitoring->Wrap(-1);
1523 //m_staticText_monitoring->SetFont(PAGE_TITLE_FONT);
1524 m_staticText_monitoring->SetForegroundColour(PAGE_TITLE_FONT_COL);
1525 bSizer_monitoring_title->Add(m_staticText_monitoring, 0, wxALIGN_CENTER_VERTICAL | wxLEFT, PAGE_TITLE_LEFT_MARGIN);
1526
1527
1528 bSizer_monitoring_title->Add(FromDIP(13), 0, 0, 0);
1529 bSizer_monitoring_title->AddStretchSpacer();
1530
1531 m_staticText_timelapse = new wxStaticText(m_panel_monitoring_title, wxID_ANY, _L("Timelapse"), wxDefaultPosition, wxDefaultSize, 0);
1532 m_staticText_timelapse->Wrap(-1);
1533 m_staticText_timelapse->Hide();
1534 bSizer_monitoring_title->Add(m_staticText_timelapse, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1535
1536 m_mqtt_source = new wxStaticText(m_panel_monitoring_title, wxID_ANY, "MqttSource", wxDefaultPosition, wxDefaultSize, 0);
1537 m_mqtt_source->Wrap(-1);
1538 m_mqtt_source->Hide();
1539 bSizer_monitoring_title->Add(m_mqtt_source, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1540
1544 bSizer_monitoring_title->Add(m_bmToggleBtn_timelapse, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1545
1546#if !BBL_RELEASE_TO_PUBLIC
1547 m_staticText_timelapse->Show();
1549 m_bmToggleBtn_timelapse->Bind(wxEVT_TOGGLEBUTTON, [](wxCommandEvent &e) {
1550 if (e.IsChecked())
1551 wxGetApp().getAgent()->start_subscribe("tunnel");
1552 else
1553 wxGetApp().getAgent()->stop_subscribe("tunnel");
1554 });
1555#endif
1556
1557 //m_bitmap_camera_img = new wxStaticBitmap(m_panel_monitoring_title, wxID_ANY, m_bitmap_camera , wxDefaultPosition, wxSize(FromDIP(32), FromDIP(18)), 0);
1558 //m_bitmap_camera_img->SetMinSize(wxSize(FromDIP(32), FromDIP(18)));
1559 //bSizer_monitoring_title->Add(m_bitmap_camera_img, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1560
1561 m_bitmap_sdcard_img = new wxStaticBitmap(m_panel_monitoring_title, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(38), FromDIP(24)), 0);
1562 m_bitmap_sdcard_img->SetMinSize(wxSize(FromDIP(38), FromDIP(24)));
1563
1564 m_bitmap_timelapse_img = new wxStaticBitmap(m_panel_monitoring_title, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(38), FromDIP(24)), 0);
1565 m_bitmap_timelapse_img->SetMinSize(wxSize(FromDIP(38), FromDIP(24)));
1566 m_bitmap_timelapse_img->Hide();
1567
1568 m_bitmap_recording_img = new wxStaticBitmap(m_panel_monitoring_title, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(38), FromDIP(24)), 0);
1569 m_bitmap_recording_img->SetMinSize(wxSize(FromDIP(38), FromDIP(24)));
1570 m_bitmap_timelapse_img->Hide();
1571
1572 m_bitmap_vcamera_img = new wxStaticBitmap(m_panel_monitoring_title, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(38), FromDIP(24)), 0);
1573 m_bitmap_vcamera_img->SetMinSize(wxSize(FromDIP(38), FromDIP(24)));
1574 m_bitmap_vcamera_img->Hide();
1575
1576 m_setting_button = new CameraItem(m_panel_monitoring_title, "camera_setting", "camera_setting_hover");
1577 m_setting_button->SetMinSize(wxSize(FromDIP(38), FromDIP(24)));
1578 m_setting_button->SetBackgroundColour(STATUS_TITLE_BG);
1579
1580 // m_camera_switch_button = new wxStaticBitmap(m_panel_monitoring_title, wxID_ANY, wxNullBitmap, wxDefaultPosition, wxSize(FromDIP(38), FromDIP(24)), 0);
1581 // m_camera_switch_button->SetMinSize(wxSize(FromDIP(38), FromDIP(24)));
1582 // m_camera_switch_button->SetBackgroundColour(STATUS_TITLE_BG);
1583 // m_camera_switch_button->SetBitmap(m_bitmap_switch_camera.bmp());
1584 // m_camera_switch_button->Bind(wxEVT_RIGHT_DOWN, [this](auto& e) {
1585 // const std::string js_request_pip = R"(
1586 // document.querySelector('video').requestPictureInPicture();
1587 // )";
1588 // m_custom_camera_view->RunScript(js_request_pip);
1589 // });
1590 // m_camera_switch_button->Hide();
1591
1592 m_bitmap_sdcard_img->SetToolTip(_L("Storage"));
1593 m_bitmap_timelapse_img->SetToolTip(_L("Timelapse"));
1594 m_bitmap_recording_img->SetToolTip(_L("Video"));
1595 m_bitmap_vcamera_img->SetToolTip(_L("Go Live"));
1596 m_setting_button->SetToolTip(_L("Camera Setting"));
1597 // m_camera_switch_button->SetToolTip(_L("Switch Camera View"));
1598
1599 // bSizer_monitoring_title->Add(m_camera_switch_button, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1600 bSizer_monitoring_title->Add(m_bitmap_sdcard_img, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1601 bSizer_monitoring_title->Add(m_bitmap_timelapse_img, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1602 bSizer_monitoring_title->Add(m_bitmap_recording_img, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1603 bSizer_monitoring_title->Add(m_bitmap_vcamera_img, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1604 bSizer_monitoring_title->Add(m_setting_button, 0, wxALIGN_CENTER_VERTICAL | wxALL, FromDIP(5));
1605
1606 bSizer_monitoring_title->Add(FromDIP(13), 0, 0);
1607
1608 m_panel_monitoring_title->SetSizer(bSizer_monitoring_title);
1609 m_panel_monitoring_title->Layout();
1610 bSizer_monitoring_title->Fit(m_panel_monitoring_title);
1611 sizer->Add(m_panel_monitoring_title, 0, wxEXPAND | wxALL, 0);
1612
1613// media_ctrl_panel = new wxPanel(this, wxID_ANY, wxDefaultPosition, wxDefaultSize);
1614// media_ctrl_panel->SetBackgroundColour(*wxBLACK);
1615// wxBoxSizer *bSizer_monitoring = new wxBoxSizer(wxVERTICAL);
1616 m_media_ctrl = new wxMediaCtrl3(this);
1617 m_media_ctrl->SetMinSize(wxSize(PAGE_MIN_WIDTH, FromDIP(288)));
1618
1619 m_custom_camera_view = WebView::CreateWebView(this, wxEmptyString);
1620 m_custom_camera_view->EnableContextMenu(false);
1621 m_web_media_controller = std::make_unique<WebMediaController>(m_custom_camera_view);
1622
1623 m_media_play_ctrl = new MediaPlayCtrl(this, m_media_ctrl, wxDefaultPosition, wxSize(-1, FromDIP(40)));
1624 m_media_play_ctrl->SetWebMediaController(m_web_media_controller.get());
1625 m_custom_camera_view->Hide();
1626
1627 sizer->Add(m_media_ctrl, 1, wxEXPAND | wxALL, 0);
1628 sizer->Add(m_custom_camera_view, 1, wxEXPAND | wxALL, 0);
1629 sizer->Add(m_media_play_ctrl, 0, wxEXPAND | wxALL, 0);
1630// media_ctrl_panel->SetSizer(bSizer_monitoring);
1631// media_ctrl_panel->Layout();
1632//
1633// sizer->Add(media_ctrl_panel, 1, wxEXPAND | wxALL, 1);
1634
1635 return sizer;
1636}
#define SWITCH_BUTTON_SIZE
Definition StatusPanel.cpp:180
#define PAGE_MIN_WIDTH
Definition StatusPanel.cpp:177
wxStaticText * m_staticText_timelapse
Definition StatusPanel.hpp:458
wxStaticBitmap * m_bitmap_sdcard_img
Definition StatusPanel.hpp:467
CameraItem * m_setting_button
Definition StatusPanel.hpp:435
SwitchButton * m_bmToggleBtn_timelapse
Definition StatusPanel.hpp:459
wxPanel * m_panel_monitoring_title
Definition StatusPanel.hpp:451
wxStaticBitmap * m_bitmap_recording_img
Definition StatusPanel.hpp:464
wxStaticText * m_mqtt_source
Definition StatusPanel.hpp:461
wxMediaCtrl3 * m_media_ctrl
Definition StatusPanel.hpp:473
wxStaticBitmap * m_bitmap_timelapse_img
Definition StatusPanel.hpp:465
std::unique_ptr< WebMediaController > m_web_media_controller
Definition StatusPanel.hpp:492
wxStaticBitmap * m_bitmap_vcamera_img
Definition StatusPanel.hpp:466
Label * m_staticText_monitoring
Definition StatusPanel.hpp:457
static wxWebView * CreateWebView(wxWindow *parent, wxString const &url)
Definition WebView.cpp:313

References _L, _L_CONTEXT, WebView::CreateWebView(), m_bitmap_recording_img, m_bitmap_sdcard_img, m_bitmap_timelapse_img, m_bitmap_vcamera_img, m_bmToggleBtn_timelapse, m_custom_camera_view, m_media_ctrl, m_media_play_ctrl, m_mqtt_source, m_panel_monitoring_title, m_setting_button, m_staticText_monitoring, m_staticText_timelapse, m_web_media_controller, PAGE_MIN_WIDTH, Slic3r::GUI::PAGE_TITLE_FONT_COL, PAGE_TITLE_HEIGHT, PAGE_TITLE_LEFT_MARGIN, Slic3r::GUI::STATUS_TITLE_BG, SWITCH_BUTTON_SIZE, and wxStaticText.

Referenced by StatusBasePanel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_settings_group()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_settings_group ( wxWindow * parent)

◆ create_temp_axis_group()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_temp_axis_group ( wxWindow * parent)
1720{
1721 auto sizer = new wxBoxSizer(wxVERTICAL);
1722 auto box = new StaticBox(parent);
1723
1724 StateColor box_colour(std::pair<wxColour, int>(*wxWHITE, StateColor::Normal));
1725 StateColor box_border_colour(std::pair<wxColour, int>(STATUS_PANEL_BG, StateColor::Normal));
1726
1727 box->SetBackgroundColor(box_colour);
1728 box->SetBorderColor(box_border_colour);
1729 box->SetCornerRadius(5);
1730
1731 box->SetMinSize(wxSize(FromDIP(586), -1));
1732 box->SetMaxSize(wxSize(FromDIP(586), -1));
1733
1734 wxBoxSizer *content_sizer = new wxBoxSizer(wxHORIZONTAL);
1735 wxBoxSizer *m_temp_ctrl = create_temp_control(box);
1736
1737
1738 m_temp_temp_line = new wxPanel(box);
1739 m_temp_temp_line->SetMaxSize(wxSize(FromDIP(1), -1));
1740 m_temp_temp_line->SetMinSize(wxSize(FromDIP(1), -1));
1741 m_temp_temp_line->SetBackgroundColour(STATIC_BOX_LINE_COL);
1742
1743
1744 auto m_axis_sizer = create_axis_control(box);
1745 auto bedPanel = create_bed_control(box);
1746
1747 wxBoxSizer *extruder_sizer = create_extruder_control(box);
1748 wxBoxSizer* axis_and_bed_control_sizer = new wxBoxSizer(wxVERTICAL);
1749 axis_and_bed_control_sizer->Add(m_axis_sizer, 0, wxEXPAND | wxALL, 0);
1750 axis_and_bed_control_sizer->Add(bedPanel, 0, wxALIGN_CENTER, 0);
1751
1752 content_sizer->Add(m_temp_ctrl, 0, wxEXPAND | wxALL, FromDIP(5));
1753 content_sizer->Add(m_temp_temp_line, 0, wxEXPAND, 1);
1754 //content_sizer->Add(FromDIP(9), 0, 0, wxEXPAND, 1);
1755 /*content_sizer->Add(0, 0, 0, wxLEFT, FromDIP(18));
1756 content_sizer->Add(m_axis_sizer, 0, wxALIGN_CENTER_VERTICAL | wxALL, 0);
1757 content_sizer->Add(0, 0, 0, wxLEFT, FromDIP(18));
1758 content_sizer->Add(bed_sizer, 0, wxEXPAND | wxLEFT | wxTOP | wxBOTTOM, FromDIP(12));*/
1759 content_sizer->Add(axis_and_bed_control_sizer, 1, wxALIGN_CENTER, 0);
1760 //content_sizer->Add(0, 0, 0, wxLEFT, FromDIP(18));
1761
1762 m_temp_extruder_line = new wxPanel(box);
1763 m_temp_extruder_line->SetMaxSize(wxSize(FromDIP(1), -1));
1764 m_temp_extruder_line->SetMinSize(wxSize(FromDIP(1), -1));
1765 m_temp_extruder_line->SetBackgroundColour(STATIC_BOX_LINE_COL);
1766
1767 content_sizer->Add(m_temp_extruder_line, 0, wxEXPAND, 1);
1768 content_sizer->Add(extruder_sizer, 0, wxEXPAND | wxTOP | wxBOTTOM, FromDIP(12));
1769 content_sizer->Add(0, 0, 0, wxRIGHT, FromDIP(3));
1770
1771 box->SetSizer(content_sizer);
1772 sizer->Add(box, 0, wxEXPAND | wxALL, FromDIP(9));
1773 return sizer;
1774}
wxPanel * m_temp_temp_line
Definition StatusPanel.hpp:544
wxBoxSizer * create_temp_control(wxWindow *parent)
Definition StatusPanel.cpp:1776
wxBoxSizer * create_axis_control(wxWindow *parent)
Definition StatusPanel.cpp:1965
wxBoxSizer * create_extruder_control(wxWindow *parent)
Definition StatusPanel.cpp:2047
wxPanel * m_temp_extruder_line
Definition StatusPanel.hpp:545
wxPanel * create_bed_control(wxWindow *parent)
Definition StatusPanel.cpp:1979

References create_axis_control(), create_bed_control(), create_extruder_control(), create_temp_control(), m_temp_extruder_line, m_temp_temp_line, StateColor::Normal, Slic3r::GUI::STATIC_BOX_LINE_COL, and Slic3r::GUI::STATUS_PANEL_BG.

Referenced by create_machine_control_page().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ create_temp_control()

wxBoxSizer * Slic3r::GUI::StatusBasePanel::create_temp_control ( wxWindow * parent)
1777{
1778 auto sizer = new wxBoxSizer(wxVERTICAL);
1779
1780 wxWindowID nozzle_id = wxWindow::NewControlId();
1781 m_tempCtrl_nozzle = new TempInput(parent, nozzle_id, TEMP_BLANK_STR, TempInputType::TEMP_OF_NORMAL_TYPE, TEMP_BLANK_STR, wxString("monitor_nozzle_temp"),
1782 wxString("monitor_nozzle_temp_active"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER);
1784 m_tempCtrl_nozzle->AddTemp(0); // zero is default temp
1785 m_tempCtrl_nozzle->SetMinTemp(20);
1786 m_tempCtrl_nozzle->SetMaxTemp(300);
1787 m_tempCtrl_nozzle->SetBorderWidth(FromDIP(2));
1788
1789 StateColor tempinput_text_colour(std::make_pair(DISCONNECT_TEXT_COL, (int) StateColor::Disabled), std::make_pair(NORMAL_TEXT_COL, (int) StateColor::Normal));
1790 StateColor tempinput_border_colour(std::make_pair(*wxWHITE, (int)StateColor::Disabled), std::make_pair(BUTTON_HOVER_COL, (int)StateColor::Focused),
1791 std::make_pair(BUTTON_HOVER_COL, (int)StateColor::Hovered), std::make_pair(*wxWHITE, (int)StateColor::Normal));
1792
1793 m_tempCtrl_nozzle->SetTextColor(tempinput_text_colour);
1794 m_tempCtrl_nozzle->SetBorderColor(tempinput_border_colour);
1795
1796 m_tempCtrl_nozzle_deputy = new TempInput(parent, nozzle_id, TEMP_BLANK_STR, TempInputType::TEMP_OF_NORMAL_TYPE, TEMP_BLANK_STR, wxString("monitor_nozzle_temp"), wxString("monitor_nozzle_temp_active"),
1797 wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER);
1799 m_tempCtrl_nozzle_deputy->AddTemp(0); // zero is default temp
1800 m_tempCtrl_nozzle_deputy->SetMinTemp(20);
1801 m_tempCtrl_nozzle_deputy->SetMaxTemp(300);
1802 m_tempCtrl_nozzle_deputy->SetBorderWidth(FromDIP(2));
1803
1804 m_tempCtrl_nozzle_deputy->SetTextColor(tempinput_text_colour);
1805 m_tempCtrl_nozzle_deputy->SetBorderColor(tempinput_border_colour);
1806
1807 sizer->Add(m_tempCtrl_nozzle_deputy, 0, wxEXPAND | wxALL, 1);
1808 sizer->Add(m_tempCtrl_nozzle, 0, wxEXPAND | wxALL, 1);
1810
1811 m_line_nozzle = new StaticLine(parent);
1812 m_line_nozzle->SetLineColour(STATIC_BOX_LINE_COL);
1813 m_line_nozzle->SetSize(wxSize(FromDIP(1), -1));
1814 sizer->Add(m_line_nozzle, 0, wxEXPAND | wxLEFT | wxRIGHT, 12);
1815
1816 wxWindowID bed_id = wxWindow::NewControlId();
1817 m_tempCtrl_bed = new TempInput(parent, bed_id, TEMP_BLANK_STR, TempInputType::TEMP_OF_NORMAL_TYPE, TEMP_BLANK_STR, wxString("monitor_bed_temp"),
1818 wxString("monitor_bed_temp_active"), wxDefaultPosition,wxDefaultSize, wxALIGN_CENTER);
1819 m_tempCtrl_bed->AddTemp(0); // zero is default temp
1820 m_tempCtrl_bed->SetMinTemp(bed_temp_range[0]);
1821 m_tempCtrl_bed->SetMaxTemp(bed_temp_range[1]);
1823 m_tempCtrl_bed->SetBorderWidth(FromDIP(2));
1824 m_tempCtrl_bed->SetTextColor(tempinput_text_colour);
1825 m_tempCtrl_bed->SetBorderColor(tempinput_border_colour);
1826 sizer->Add(m_tempCtrl_bed, 0, wxEXPAND | wxALL, 1);
1827
1828 auto line = new StaticLine(parent);
1829 line->SetLineColour(STATIC_BOX_LINE_COL);
1830 sizer->Add(line, 0, wxEXPAND | wxLEFT | wxRIGHT, 12);
1831
1832 wxWindowID frame_id = wxWindow::NewControlId();
1833 m_tempCtrl_chamber = new TempInput(parent, frame_id, TEMP_BLANK_STR, TempInputType::TEMP_OF_NORMAL_TYPE, TEMP_BLANK_STR, wxString("monitor_frame_temp"),
1834 wxString("monitor_frame_temp_active"), wxDefaultPosition, wxDefaultSize, wxALIGN_CENTER);
1835 m_tempCtrl_chamber->AddTemp(0); // zero is default temp
1836 m_tempCtrl_chamber->SetReadOnly(true);
1840 m_tempCtrl_chamber->SetBorderWidth(FromDIP(2));
1841 m_tempCtrl_chamber->SetTextColor(tempinput_text_colour);
1842 m_tempCtrl_chamber->SetBorderColor(tempinput_border_colour);
1843 sizer->Add(m_tempCtrl_chamber, 0, wxEXPAND | wxALL, 1);
1844
1846 sizer->Add(m_misc_ctrl_sizer, 0, wxEXPAND, 0);
1847 return sizer;
1848}
#define TEMP_CTRL_MIN_SIZE_ALIGN_TWO_ICON
Definition StatusPanel.cpp:190
#define TEMP_CTRL_MIN_SIZE_ALIGN_ONE_ICON
Definition StatusPanel.cpp:189
@ TEMP_OF_NORMAL_TYPE
Definition TempInput.hpp:31
TempInput * m_tempCtrl_bed
Definition StatusPanel.hpp:514
TempInput * m_tempCtrl_nozzle
Definition StatusPanel.hpp:510
wxBoxSizer * create_misc_control(wxWindow *parent)
Definition StatusPanel.cpp:1850
TempInput * m_tempCtrl_nozzle_deputy
Definition StatusPanel.hpp:512
TempInput * m_tempCtrl_chamber
Definition StatusPanel.hpp:516
wxBoxSizer * m_misc_ctrl_sizer
Definition StatusPanel.hpp:507
StaticLine * m_line_nozzle
Definition StatusPanel.hpp:509
@ Focused
Definition StateColor.hpp:19
static const int bed_temp_range[2]
Definition StatusPanel.cpp:134
static const int default_champer_temp_max
Definition StatusPanel.cpp:136
static const wxString TEMP_BLANK_STR
Definition StatusPanel.cpp:130
static const int default_champer_temp_min
Definition StatusPanel.cpp:135

References Slic3r::GUI::bed_temp_range, Slic3r::GUI::BUTTON_HOVER_COL, create_misc_control(), Slic3r::GUI::default_champer_temp_max, Slic3r::GUI::default_champer_temp_min, StateColor::Disabled, Slic3r::GUI::DISCONNECT_TEXT_COL, StateColor::Focused, StateColor::Hovered, m_line_nozzle, m_misc_ctrl_sizer, m_tempCtrl_bed, m_tempCtrl_chamber, m_tempCtrl_nozzle, m_tempCtrl_nozzle_deputy, StateColor::Normal, Slic3r::GUI::NORMAL_TEXT_COL, Slic3r::GUI::STATIC_BOX_LINE_COL, Slic3r::GUI::TEMP_BLANK_STR, TEMP_CTRL_MIN_SIZE_ALIGN_ONE_ICON, TEMP_CTRL_MIN_SIZE_ALIGN_TWO_ICON, and TEMP_OF_NORMAL_TYPE.

Referenced by create_temp_axis_group().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ expand_filament_loading()

void Slic3r::GUI::StatusBasePanel::expand_filament_loading ( wxMouseEvent & e)

m_button_retry->Show(tag_show);

2239{
2240 auto tag_show = false;
2241 if (m_filament_load_box->IsShown()) {
2242 tag_show = false;
2243 m_img_filament_loading->SetBitmap(create_scaled_bitmap("filament_load_fold", this, 24));
2244 } else {
2245 tag_show = true;
2246 m_img_filament_loading->SetBitmap(create_scaled_bitmap("filament_load_expand", this, 24));
2247 }
2248
2249 if (obj)
2250 {
2251 static int load_img_size = 215;
2252 if (obj->is_series_n())
2253 {
2254 m_filament_load_img->SetBitmap(create_scaled_bitmap("filament_load_n_series", this, load_img_size));
2255 }
2256 else if (obj->is_series_x())
2257 {
2258 m_filament_load_img->SetBitmap(create_scaled_bitmap("filament_load_x_series", this, load_img_size));
2259 }
2260 else if (obj->is_series_p())
2261 {
2262 m_filament_load_img->SetBitmap(create_scaled_bitmap("filament_load_p_series", this, load_img_size));
2263 }
2264 else if (obj->is_series_o())
2265 {
2266 const auto& ext_system = obj->GetExtderSystem();
2267 // Prefer the config-driven filament-load image: H2C ships per-extruder bitmaps, and a printer
2268 // fitted with an induction hotend rack picks the rack-specific set (filament_load_image_nozzle_rack).
2269 // Printers whose profile carries no such key (e.g. H2D) get an empty name here and fall through to
2270 // the generic O-series bitmaps below, so their monitor page stays byte-identical. Rack-driven, so
2271 // there is no behavior change for any non-rack printer.
2272 int cur_ext_id = (ext_system && ext_system->GetTotalExtderCount() > 1) ? ext_system->GetCurrentExtderId() : 0;
2273 bool has_nozzle_rack = obj->GetNozzleSystem()->GetNozzleRack()->IsSupported();
2274 std::string img_name = DevPrinterConfigUtil::get_filament_load_img(obj->printer_type, cur_ext_id, has_nozzle_rack);
2275 if (!img_name.empty())
2276 {
2277 m_filament_load_img->SetBitmap(create_scaled_bitmap(img_name, this, load_img_size));
2278 }
2279 else if (ext_system->GetTotalExtderCount() == 2)
2280 {
2281 int cur_extder_id = ext_system->GetCurrentExtderId();
2282 if (cur_extder_id == MAIN_EXTRUDER_ID)
2283 {
2284 m_filament_load_img->SetBitmap(create_scaled_bitmap("filament_load_o_series_right", this, load_img_size));
2285 }
2286 else if (cur_extder_id == DEPUTY_EXTRUDER_ID)
2287 {
2288 m_filament_load_img->SetBitmap(create_scaled_bitmap("filament_load_o_series_left", this, load_img_size));
2289 }
2290 }
2291 else
2292 {
2293 m_filament_load_img->SetBitmap(create_scaled_bitmap("filament_load_o_series", this, load_img_size));
2294 }
2295 }
2296 }
2297
2298 m_filament_load_box->Show(tag_show);
2300 m_filament_step->Show(tag_show);
2301 Layout();
2302 Fit();
2303 if (MonitorPanel* monitor = MonitorPanel::if_built()) {
2304 monitor->get_status_panel()->Layout();
2305 monitor->Layout();
2306 }
2307}
#define DEPUTY_EXTRUDER_ID
Definition DevDefs.h:102
#define MAIN_EXTRUDER_ID
Definition DevDefs.h:101
static std::string get_filament_load_img(const std::string &type_str, int ext_id, bool has_nozzle_rack=false)
Definition DevConfigUtil.cpp:147
static MonitorPanel * if_built()
Definition Lazy.hpp:183

References create_scaled_bitmap(), DEPUTY_EXTRUDER_ID, Slic3r::DevPrinterConfigUtil::get_filament_load_img(), Slic3r::GUI::LazyInstance< MonitorPanel >::if_built(), m_filament_load_box, m_filament_load_img, m_filament_step, m_img_filament_loading, MAIN_EXTRUDER_ID, obj, and Slic3r::GUI::wxMouseEvent.

Referenced by create_filament_group().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ get_media_play_ctrl()

MediaPlayCtrl * Slic3r::GUI::StatusBasePanel::get_media_play_ctrl ( )
inline
642{return m_media_play_ctrl;};

References m_media_play_ctrl.

Referenced by Slic3r::GUI::MultiMachineItem::MultiMachineItem().

Here is the caller graph for this function:

◆ init_bitmaps()

void Slic3r::GUI::StatusBasePanel::init_bitmaps ( )
1477{
1478 static Slic3r::GUI::BitmapCache cache;
1479 m_bitmap_item_prediction = create_scaled_bitmap("monitor_item_prediction", nullptr, 16);
1480 m_bitmap_item_cost = create_scaled_bitmap("monitor_item_cost", nullptr, 16);
1481 m_bitmap_item_print = create_scaled_bitmap("monitor_item_print", nullptr, 18);
1482 m_bitmap_axis_home = ScalableBitmap(this, "monitor_axis_home", 32);
1483 m_bitmap_lamp_on = ScalableBitmap(this, "monitor_lamp_on", 24);
1484 m_bitmap_lamp_off = ScalableBitmap(this, "monitor_lamp_off", 24);
1485 m_bitmap_fan_on = ScalableBitmap(this, "monitor_fan_on", 22);
1486 m_bitmap_fan_off = ScalableBitmap(this, "monitor_fan_off", 22);
1487 m_bitmap_speed = ScalableBitmap(this, "monitor_speed", 24);
1488 m_bitmap_speed_active = ScalableBitmap(this, "monitor_speed_active", 24);
1489
1490 m_thumbnail_brokenimg = ScalableBitmap(this, "monitor_brokenimg", 120);
1491 m_thumbnail_sdcard = ScalableBitmap(this, "monitor_sdcard_thumbnail", 120);
1492 //m_bitmap_camera = create_scaled_bitmap("monitor_camera", nullptr, 18);
1493 m_bitmap_extruder_empty_load = *cache.load_png("monitor_extruder_empty_load", FromDIP(28), FromDIP(70), false, false);
1494 m_bitmap_extruder_filled_load = *cache.load_png("monitor_extruder_filled_load", FromDIP(28), FromDIP(70), false, false);
1495 m_bitmap_extruder_empty_unload = *cache.load_png("monitor_extruder_empty_unload", FromDIP(28), FromDIP(70), false, false);
1496 m_bitmap_extruder_filled_unload = *cache.load_png("monitor_extruder_filled_unload", FromDIP(28), FromDIP(70), false, false);
1497
1498 m_bitmap_sdcard_state_abnormal = ScalableBitmap(this, wxGetApp().dark_mode() ? "sdcard_state_abnormal_dark" : "sdcard_state_abnormal", 20);
1499 m_bitmap_sdcard_state_normal = ScalableBitmap(this, wxGetApp().dark_mode() ? "sdcard_state_normal_dark" : "sdcard_state_normal", 20);
1500 m_bitmap_sdcard_state_no = ScalableBitmap(this, wxGetApp().dark_mode() ? "sdcard_state_no_dark" : "sdcard_state_no", 20);
1501 m_bitmap_recording_on = ScalableBitmap(this, wxGetApp().dark_mode() ? "monitor_recording_on_dark" : "monitor_recording_on", 20);
1502 m_bitmap_recording_off = ScalableBitmap(this, wxGetApp().dark_mode() ? "monitor_recording_off_dark" : "monitor_recording_off", 20);
1503 m_bitmap_timelapse_on = ScalableBitmap(this, wxGetApp().dark_mode() ? "monitor_timelapse_on_dark" : "monitor_timelapse_on", 20);
1504 m_bitmap_timelapse_off = ScalableBitmap(this, wxGetApp().dark_mode() ? "monitor_timelapse_off_dark" : "monitor_timelapse_off", 20);
1505 m_bitmap_vcamera_on = ScalableBitmap(this, wxGetApp().dark_mode() ? "monitor_vcamera_on_dark" : "monitor_vcamera_on", 20);
1506 m_bitmap_vcamera_off = ScalableBitmap(this, wxGetApp().dark_mode() ? "monitor_vcamera_off_dark" : "monitor_vcamera_off", 20);
1507 m_bitmap_switch_camera = ScalableBitmap(this, wxGetApp().dark_mode() ? "camera_switch_dark" : "camera_switch", 20);
1508
1509}
wxBitmap * load_png(const std::string &bitmap_key, unsigned width=0, unsigned height=0, const bool grayscale=false, const float scale_in_center=0.f)
Definition BitmapCache.cpp:250
ScalableBitmap m_thumbnail_brokenimg
Definition StatusPanel.hpp:411
wxBitmap m_bitmap_item_cost
Definition StatusPanel.hpp:414
ScalableBitmap m_bitmap_recording_off
Definition StatusPanel.hpp:442
wxBitmap m_bitmap_extruder_filled_load
Definition StatusPanel.hpp:426
ScalableBitmap m_bitmap_switch_camera
Definition StatusPanel.hpp:447
ScalableBitmap m_bitmap_sdcard_state_no
Definition StatusPanel.hpp:440
wxBitmap m_bitmap_item_prediction
Definition StatusPanel.hpp:413
ScalableBitmap m_bitmap_sdcard_state_abnormal
Definition StatusPanel.hpp:439
ScalableBitmap m_bitmap_vcamera_off
Definition StatusPanel.hpp:446
wxBitmap m_bitmap_extruder_empty_unload
Definition StatusPanel.hpp:427
ScalableBitmap m_thumbnail_sdcard
Definition StatusPanel.hpp:412
wxBitmap m_bitmap_extruder_empty_load
Definition StatusPanel.hpp:425
ScalableBitmap m_bitmap_timelapse_off
Definition StatusPanel.hpp:444
ScalableBitmap m_bitmap_sdcard_state_normal
Definition StatusPanel.hpp:438
ScalableBitmap m_bitmap_timelapse_on
Definition StatusPanel.hpp:443
wxBitmap m_bitmap_item_print
Definition StatusPanel.hpp:415
ScalableBitmap m_bitmap_recording_on
Definition StatusPanel.hpp:441
wxBitmap m_bitmap_extruder_filled_unload
Definition StatusPanel.hpp:428
ScalableBitmap m_bitmap_vcamera_on
Definition StatusPanel.hpp:445

References create_scaled_bitmap(), Slic3r::GUI::BitmapCache::load_png(), m_bitmap_axis_home, m_bitmap_extruder_empty_load, m_bitmap_extruder_empty_unload, m_bitmap_extruder_filled_load, m_bitmap_extruder_filled_unload, m_bitmap_fan_off, m_bitmap_fan_on, m_bitmap_item_cost, m_bitmap_item_prediction, m_bitmap_item_print, m_bitmap_lamp_off, m_bitmap_lamp_on, m_bitmap_recording_off, m_bitmap_recording_on, m_bitmap_sdcard_state_abnormal, m_bitmap_sdcard_state_no, m_bitmap_sdcard_state_normal, m_bitmap_speed, m_bitmap_speed_active, m_bitmap_switch_camera, m_bitmap_timelapse_off, m_bitmap_timelapse_on, m_bitmap_vcamera_off, m_bitmap_vcamera_on, m_thumbnail_brokenimg, and m_thumbnail_sdcard.

Referenced by StatusBasePanel(), and Slic3r::GUI::StatusPanel::msw_rescale().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ jump_to_Rack()

void Slic3r::GUI::StatusBasePanel::jump_to_Rack ( )
2364{
2365 if (obj && obj->GetNozzleSystem()->GetNozzleRack()->IsSupported()) {
2366 m_ams_rack_switch->updateState("right");
2367 m_ams_control_box->Show(false);
2368 m_panel_nozzle_rack->Show(true);
2369 Layout();
2370 }
2371}

References m_ams_control_box, m_ams_rack_switch, m_panel_nozzle_rack, and obj.

◆ on_ams_rack_switch()

void Slic3r::GUI::StatusBasePanel::on_ams_rack_switch ( wxCommandEvent & event)
private
2374{
2375 if (!m_ams_control_box->IsShown() && e.GetInt() == 1) {
2376 m_ams_control_box->Show(e.GetInt() == 1);
2377 m_panel_nozzle_rack->Show(e.GetInt() == 0);
2378 Layout();
2379 } else if (!m_panel_nozzle_rack->IsShown() && e.GetInt() == 0) {
2380 m_ams_control_box->Show(e.GetInt() == 1);
2381 m_panel_nozzle_rack->Show(e.GetInt() == 0);
2382 Layout();
2383 }
2384
2385 e.Skip();
2386}

References m_ams_control_box, and m_panel_nozzle_rack.

Referenced by create_machine_control_page().

Here is the caller graph for this function:

◆ on_axis_ctrl_e_down_10()

virtual void Slic3r::GUI::StatusBasePanel::on_axis_ctrl_e_down_10 ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

607{ event.Skip(); }

◆ on_axis_ctrl_e_up_10()

virtual void Slic3r::GUI::StatusBasePanel::on_axis_ctrl_e_up_10 ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

606{ event.Skip(); }

◆ on_axis_ctrl_z_down_1()

virtual void Slic3r::GUI::StatusBasePanel::on_axis_ctrl_z_down_1 ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

604{ event.Skip(); }

◆ on_axis_ctrl_z_down_10()

virtual void Slic3r::GUI::StatusBasePanel::on_axis_ctrl_z_down_10 ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

605{ event.Skip(); }

◆ on_axis_ctrl_z_up_1()

virtual void Slic3r::GUI::StatusBasePanel::on_axis_ctrl_z_up_1 ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

603{ event.Skip(); }

◆ on_axis_ctrl_z_up_10()

virtual void Slic3r::GUI::StatusBasePanel::on_axis_ctrl_z_up_10 ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

602{ event.Skip(); }

◆ on_bed_temp_kill_focus()

virtual void Slic3r::GUI::StatusBasePanel::on_bed_temp_kill_focus ( wxFocusEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

596{ event.Skip(); }

◆ on_bed_temp_set_focus()

virtual void Slic3r::GUI::StatusBasePanel::on_bed_temp_set_focus ( wxFocusEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

597{ event.Skip(); }

◆ on_lamp_switch()

virtual void Slic3r::GUI::StatusBasePanel::on_lamp_switch ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

595{ event.Skip(); }

◆ on_nozzle_fan_switch()

virtual void Slic3r::GUI::StatusBasePanel::on_nozzle_fan_switch ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

600{ event.Skip(); }

◆ on_nozzle_selected()

virtual void Slic3r::GUI::StatusBasePanel::on_nozzle_selected ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

608{ event.Skip(); }

◆ on_nozzle_temp_kill_focus()

virtual void Slic3r::GUI::StatusBasePanel::on_nozzle_temp_kill_focus ( wxFocusEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

598{ event.Skip(); }

◆ on_nozzle_temp_set_focus()

virtual void Slic3r::GUI::StatusBasePanel::on_nozzle_temp_set_focus ( wxFocusEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

599{ event.Skip(); }

◆ on_printing_fan_switch()

virtual void Slic3r::GUI::StatusBasePanel::on_printing_fan_switch ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

601{ event.Skip(); }

◆ on_subtask_abort()

virtual void Slic3r::GUI::StatusBasePanel::on_subtask_abort ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

594{ event.Skip(); }

◆ on_subtask_partskip()

virtual void Slic3r::GUI::StatusBasePanel::on_subtask_partskip ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

592{ event.Skip(); }

◆ on_subtask_pause_resume()

virtual void Slic3r::GUI::StatusBasePanel::on_subtask_pause_resume ( wxCommandEvent & event)
inlineprotectedvirtual

Reimplemented in Slic3r::GUI::StatusPanel.

593{ event.Skip(); }

◆ reset_temp_misc_control()

void Slic3r::GUI::StatusBasePanel::reset_temp_misc_control ( )
1932{
1933 // reset temp string
1934 m_tempCtrl_nozzle->SetIconNormal();
1936 m_tempCtrl_nozzle->GetTextCtrl()->SetValue(TEMP_BLANK_STR);
1937
1938 m_tempCtrl_nozzle_deputy->SetIconNormal();
1940 m_tempCtrl_nozzle_deputy->GetTextCtrl()->SetValue(TEMP_BLANK_STR);
1941
1942 m_tempCtrl_bed->SetIconNormal();
1943 m_tempCtrl_bed->SetLabel(TEMP_BLANK_STR);
1944 m_tempCtrl_bed->GetTextCtrl()->SetValue(TEMP_BLANK_STR);
1945
1946 m_tempCtrl_chamber->SetIconNormal();
1948 m_tempCtrl_chamber->GetTextCtrl()->SetValue(TEMP_BLANK_STR);
1949
1950 m_tempCtrl_nozzle->Enable(true);
1951 m_tempCtrl_nozzle_deputy->Enable(true);
1952 m_tempCtrl_chamber->Enable(true);
1953 m_tempCtrl_bed->Enable(true);
1954
1955 // reset misc control
1956 m_switch_speed->SetLabels("100%", "100%");
1957 m_switch_speed->SetValue(false);
1958 m_switch_lamp->SetLabels(_L("Lamp"), _L("Lamp"));
1959 m_switch_lamp->SetValue(false);
1960 /*m_switch_nozzle_fan->SetValue(false);
1961 m_switch_printing_fan->SetValue(false);
1962 m_switch_cham_fan->SetValue(false);*/
1963}

References _L, m_switch_lamp, m_switch_speed, m_tempCtrl_bed, m_tempCtrl_chamber, m_tempCtrl_nozzle, m_tempCtrl_nozzle_deputy, and Slic3r::GUI::TEMP_BLANK_STR.

Referenced by Slic3r::GUI::StatusPanel::set_default().

Here is the caller graph for this function:

◆ show_ams_group()

void Slic3r::GUI::StatusBasePanel::show_ams_group ( bool show = true)
2310{
2311 if (m_ams_control->IsShown() != show) {
2312 m_ams_control->Show(show);
2313 m_ams_control->Layout();
2314 m_ams_control->Fit();
2315 Layout();
2316 Fit();
2317 if (MonitorPanel* monitor = MonitorPanel::if_built())
2318 monitor->Layout();
2319 }
2320
2321 // On rack printers, don't clobber the rack view when the user has the switch on "Hotends".
2322 // Inert for every non-rack printer: the switch stays hidden, so this guard never triggers.
2323 if (show && m_ams_rack_switch->IsShown() && (m_ams_rack_switch->switch_left != true)) { return; }
2324
2325 if (m_ams_control_box->IsShown() != show) {
2326 m_ams_control_box->Show(show);
2327 m_ams_control->Layout();
2328 m_ams_control->Fit();
2329 Layout();
2330 Fit();
2331 if (MonitorPanel* monitor = MonitorPanel::if_built())
2332 monitor->Layout();
2333 }
2334}

References Slic3r::GUI::LazyInstance< MonitorPanel >::if_built(), m_ams_control, m_ams_control_box, and m_ams_rack_switch.

Referenced by Slic3r::GUI::StatusPanel::update_ams().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ show_filament_load_group()

void Slic3r::GUI::StatusBasePanel::show_filament_load_group ( bool show = true)
2337{
2338 if (m_scale_panel->IsShown() != show) {
2339 m_scale_panel->Show(show);
2340 if (!show) {
2341 m_img_filament_loading->SetBitmap(create_scaled_bitmap("filament_load_fold", this, 24));
2342 m_img_filament_loading->Refresh();
2343 }
2344
2345 // m_scale_panel control the display of m_filament_load_box
2346 if (!show && m_filament_load_box->IsShown()) {
2347 m_filament_load_box->Show(false);
2348 }
2349
2350 auto cur_ext = obj->GetExtderSystem()->GetCurrentExtder();
2351 m_filament_step->SetupSteps(obj, cur_ext ? cur_ext->HasFilamentInExt() : false);
2352
2353 Layout();
2354 Fit();
2355
2356 if (MonitorPanel* monitor = MonitorPanel::if_built()) {
2357 monitor->get_status_panel()->Layout();
2358 monitor->Layout();
2359 }
2360 }
2361}

References create_scaled_bitmap(), Slic3r::GUI::LazyInstance< MonitorPanel >::if_built(), m_filament_load_box, m_filament_step, m_img_filament_loading, m_scale_panel, and obj.

Referenced by Slic3r::GUI::StatusPanel::update_ams(), and Slic3r::GUI::StatusPanel::update_filament_loading_panel().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ unfinished_child()

StagedBuild * Slic3r::GUI::StagedBuild::unfinished_child ( ) const
inlineprivateinherited
52 {
53 auto it = std::find_if(m_children.begin(), m_children.end(), [](const StagedBuild* child) { return !child->built(); });
54 return it == m_children.end() ? nullptr : *it;
55 }

References m_children.

Referenced by build_step().

Here is the caller graph for this function:

Member Data Documentation

◆ before_error_code

int Slic3r::GUI::StatusBasePanel::before_error_code = 0

◆ m_ams_control

◆ m_ams_control_box

StaticBox* Slic3r::GUI::StatusBasePanel::m_ams_control_box
protected

◆ m_ams_debug

wxStaticText* Slic3r::GUI::StatusBasePanel::m_ams_debug
protected

Referenced by create_ams_group().

◆ m_ams_extruder_img

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_ams_extruder_img
protected

◆ m_ams_list

wxBoxSizer* Slic3r::GUI::StatusBasePanel::m_ams_list
protected

◆ m_ams_rack_switch

SwitchBoard* Slic3r::GUI::StatusBasePanel::m_ams_rack_switch { nullptr }
protected

◆ m_bitmap_axis_home

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_axis_home
protected

◆ m_bitmap_camera

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_camera
protected

◆ m_bitmap_camera_img

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_camera_img
protected

◆ m_bitmap_extruder_empty_load

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_extruder_empty_load
protected

Referenced by init_bitmaps().

◆ m_bitmap_extruder_empty_unload

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_extruder_empty_unload
protected

Referenced by init_bitmaps().

◆ m_bitmap_extruder_filled_load

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_extruder_filled_load
protected

Referenced by init_bitmaps().

◆ m_bitmap_extruder_filled_unload

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_extruder_filled_unload
protected

Referenced by init_bitmaps().

◆ m_bitmap_extruder_img

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_extruder_img
protected

◆ m_bitmap_extruder_now

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_extruder_now
protected

◆ m_bitmap_fan_off

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_fan_off
protected

◆ m_bitmap_fan_on

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_fan_on
protected

◆ m_bitmap_item_cost

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_item_cost
protected

Referenced by init_bitmaps().

◆ m_bitmap_item_prediction

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_item_prediction
protected

Referenced by init_bitmaps().

◆ m_bitmap_item_print

wxBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_item_print
protected

Referenced by init_bitmaps().

◆ m_bitmap_lamp_off

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_lamp_off
protected

◆ m_bitmap_lamp_on

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_lamp_on
protected

◆ m_bitmap_recording_img

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_recording_img
protected

◆ m_bitmap_recording_off

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_recording_off
protected

◆ m_bitmap_recording_on

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_recording_on
protected

◆ m_bitmap_sdcard_img

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_sdcard_img
protected

◆ m_bitmap_sdcard_state_abnormal

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_sdcard_state_abnormal
protected

◆ m_bitmap_sdcard_state_no

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_sdcard_state_no
protected

◆ m_bitmap_sdcard_state_normal

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_sdcard_state_normal
protected

◆ m_bitmap_speed

◆ m_bitmap_speed_active

◆ m_bitmap_static_use_time

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_static_use_time
protected

◆ m_bitmap_static_use_weight

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_static_use_weight
protected

◆ m_bitmap_switch_camera

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_switch_camera
protected

Referenced by init_bitmaps().

◆ m_bitmap_thumbnail

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_thumbnail
protected

◆ m_bitmap_timelapse_img

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_bitmap_timelapse_img
protected

◆ m_bitmap_timelapse_off

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_timelapse_off
protected

◆ m_bitmap_timelapse_on

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_timelapse_on
protected

◆ m_bitmap_use_time

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_use_time
protected

◆ m_bitmap_use_weight

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_use_weight
protected

◆ m_bitmap_vcamera_img

◆ m_bitmap_vcamera_off

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_vcamera_off
protected

◆ m_bitmap_vcamera_on

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_bitmap_vcamera_on
protected

◆ m_bmToggleBtn_timelapse

SwitchButton* Slic3r::GUI::StatusBasePanel::m_bmToggleBtn_timelapse
protected

◆ m_bpButton_e_10

◆ m_bpButton_e_down_10

◆ m_bpButton_xy

◆ m_bpButton_z_1

◆ m_bpButton_z_10

◆ m_bpButton_z_down_1

◆ m_bpButton_z_down_10

◆ m_button_abort

ScalableButton* Slic3r::GUI::StatusBasePanel::m_button_abort
protected

◆ m_button_clean

Button* Slic3r::GUI::StatusBasePanel::m_button_clean
protected

◆ m_button_partskip

Button* Slic3r::GUI::StatusBasePanel::m_button_partskip
protected

◆ m_button_pause_resume

ScalableButton* Slic3r::GUI::StatusBasePanel::m_button_pause_resume
protected

◆ m_button_report

Button* Slic3r::GUI::StatusBasePanel::m_button_report
protected

◆ m_button_retry

Button* Slic3r::GUI::StatusBasePanel::m_button_retry {nullptr}
protected
587{nullptr};

Referenced by create_filament_group().

◆ m_calibration_btn

◆ m_calibration_flow

StepIndicator* Slic3r::GUI::StatusBasePanel::m_calibration_flow
protected

◆ m_calibration_text

wxStaticText* Slic3r::GUI::StatusBasePanel::m_calibration_text
protected

◆ m_children

std::vector<StagedBuild*> Slic3r::GUI::StagedBuild::m_children
privateinherited

◆ m_current_nozzle_id

int Slic3r::GUI::StatusBasePanel::m_current_nozzle_id { 0 }
protected
527{ 0 };

◆ m_custom_camera_view

wxWebView* Slic3r::GUI::StatusBasePanel::m_custom_camera_view {nullptr}
protected

◆ m_error_text

Label* Slic3r::GUI::StatusBasePanel::m_error_text
protected

◆ m_extruder_book

wxSimplebook* Slic3r::GUI::StatusBasePanel::m_extruder_book
protected

◆ m_extruder_label

Label* Slic3r::GUI::StatusBasePanel::m_extruder_label
protected

◆ m_extruder_switching_status

◆ m_extruderImage

std::vector<ExtruderImage *> Slic3r::GUI::StatusBasePanel::m_extruderImage
protected

◆ m_fan_panel

StaticBox* Slic3r::GUI::StatusBasePanel::m_fan_panel
protected

◆ m_fila_change_abort

Button* Slic3r::GUI::StatusBasePanel::m_fila_change_abort {nullptr}
protected
588{nullptr}; // Orca: filament-change Stop button

Referenced by create_filament_group(), and Slic3r::GUI::StatusPanel::update_filament_loading_panel().

◆ m_filament_load_box

StaticBox* Slic3r::GUI::StatusBasePanel::m_filament_load_box
protected

◆ m_filament_load_img

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_filament_load_img
protected

◆ m_filament_step

◆ m_fixed_aspect_ratio

float Slic3r::GUI::StatusBasePanel::m_fixed_aspect_ratio {1.8}
protected
529{1.8};

◆ m_gauge_progress

ProgressBar* Slic3r::GUI::StatusBasePanel::m_gauge_progress
protected

◆ m_img_filament_loading

wxStaticBitmap* Slic3r::GUI::StatusBasePanel::m_img_filament_loading
protected

◆ m_item_placeholder

wxBitmap Slic3r::GUI::StatusBasePanel::m_item_placeholder
protected

◆ m_line_nozzle

StaticLine* Slic3r::GUI::StatusBasePanel::m_line_nozzle
protected

◆ m_machine_ctrl_panel

wxPanel* Slic3r::GUI::StatusBasePanel::m_machine_ctrl_panel
protected

Referenced by StatusBasePanel().

◆ m_media_ctrl

◆ m_media_play_ctrl

◆ m_misc_ctrl_sizer

wxBoxSizer* Slic3r::GUI::StatusBasePanel::m_misc_ctrl_sizer
protected

Referenced by create_temp_control().

◆ m_mqtt_source

wxStaticText* Slic3r::GUI::StatusBasePanel::m_mqtt_source
protected

◆ m_next_step

size_t Slic3r::GUI::StagedBuild::m_next_step { 0 }
privateinherited
59{ 0 };

Referenced by add_build_steps_of(), build_step(), and built().

◆ m_nozzle_btn_panel

◆ m_nozzle_num

int Slic3r::GUI::StatusBasePanel::m_nozzle_num { 0 }
protected

◆ m_options_btn

◆ m_panel_control_title

wxPanel* Slic3r::GUI::StatusBasePanel::m_panel_control_title
protected

◆ m_panel_error_txt

wxPanel* Slic3r::GUI::StatusBasePanel::m_panel_error_txt
protected

◆ m_panel_monitoring_title

wxPanel* Slic3r::GUI::StatusBasePanel::m_panel_monitoring_title
protected

◆ m_panel_nozzle_rack

◆ m_panel_printing_title

wxPanel* Slic3r::GUI::StatusBasePanel::m_panel_printing_title
protected

◆ m_panel_separator_right

wxPanel* Slic3r::GUI::StatusBasePanel::m_panel_separator_right
protected

Referenced by StatusBasePanel().

◆ m_panel_separotor_bottom

wxPanel* Slic3r::GUI::StatusBasePanel::m_panel_separotor_bottom
protected

Referenced by StatusBasePanel().

◆ m_parts_btn

◆ m_printing_sizer

wxBoxSizer* Slic3r::GUI::StatusBasePanel::m_printing_sizer
protected

◆ m_printing_stage_value

wxStaticText* Slic3r::GUI::StatusBasePanel::m_printing_stage_value
protected

◆ m_project_task_panel

◆ m_safety_btn

◆ m_scale_panel

wxPanel* Slic3r::GUI::StatusBasePanel::m_scale_panel
protected

◆ m_setting_button

◆ m_show_ams_group

bool Slic3r::GUI::StatusBasePanel::m_show_ams_group {false}
protected
548{false};

Referenced by Slic3r::GUI::StatusPanel::set_default().

◆ m_show_filament_group

bool Slic3r::GUI::StatusBasePanel::m_show_filament_group { false }
protected
549{ false };

Referenced by Slic3r::GUI::StatusPanel::set_default().

◆ m_state_recording

CameraRecordingStatus Slic3r::GUI::StatusBasePanel::m_state_recording {CameraRecordingStatus::RECORDING_NONE}
protected
@ RECORDING_NONE
Definition StatusPanel.hpp:83

◆ m_state_timelapse

CameraTimelapseStatus Slic3r::GUI::StatusBasePanel::m_state_timelapse {CameraTimelapseStatus::TIMELAPSE_NONE}
protected
@ TIMELAPSE_NONE
Definition StatusPanel.hpp:91

◆ m_staticline

wxPanel* Slic3r::GUI::StatusBasePanel::m_staticline
protected

◆ m_staticText_calibration_caption

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_calibration_caption
protected

◆ m_staticText_calibration_caption_top

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_calibration_caption_top
protected

◆ m_staticText_consumption_of_time

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_consumption_of_time
protected

◆ m_staticText_consumption_of_weight

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_consumption_of_weight
protected

◆ m_staticText_control

Label* Slic3r::GUI::StatusBasePanel::m_staticText_control
protected

◆ m_staticText_layers

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_layers
protected

◆ m_staticText_monitoring

Label* Slic3r::GUI::StatusBasePanel::m_staticText_monitoring
protected

Referenced by create_monitoring_page().

◆ m_staticText_printing

Label* Slic3r::GUI::StatusBasePanel::m_staticText_printing
protected

◆ m_staticText_profile_value

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_profile_value
protected

◆ m_staticText_progress_left

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_progress_left
protected

◆ m_staticText_progress_percent

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_progress_percent
protected

◆ m_staticText_progress_percent_icon

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_progress_percent_icon
protected

◆ m_staticText_subtask_value

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_subtask_value
protected

◆ m_staticText_timelapse

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_timelapse
protected

◆ m_staticText_z_tip

wxStaticText* Slic3r::GUI::StatusBasePanel::m_staticText_z_tip
protected

◆ m_steps

std::vector<std::function<void()> > Slic3r::GUI::StagedBuild::m_steps
privateinherited

◆ m_switch_block_fan

wxPanel* Slic3r::GUI::StatusBasePanel::m_switch_block_fan
protected

◆ m_switch_cham_fan

FanSwitchButton* Slic3r::GUI::StatusBasePanel::m_switch_cham_fan
protected

◆ m_switch_cham_fan_timeout

int Slic3r::GUI::StatusBasePanel::m_switch_cham_fan_timeout {0}
protected

◆ m_switch_fan

◆ m_switch_lamp

◆ m_switch_lamp_timeout

int Slic3r::GUI::StatusBasePanel::m_switch_lamp_timeout {0}
protected

◆ m_switch_nozzle_fan

FanSwitchButton* Slic3r::GUI::StatusBasePanel::m_switch_nozzle_fan
protected

◆ m_switch_nozzle_fan_timeout

int Slic3r::GUI::StatusBasePanel::m_switch_nozzle_fan_timeout {0}
protected

◆ m_switch_printing_fan

FanSwitchButton* Slic3r::GUI::StatusBasePanel::m_switch_printing_fan
protected

◆ m_switch_printing_fan_timeout

int Slic3r::GUI::StatusBasePanel::m_switch_printing_fan_timeout {0}
protected

◆ m_switch_speed

◆ m_tasklist_caption_sizer

wxBoxSizer* Slic3r::GUI::StatusBasePanel::m_tasklist_caption_sizer
protected

◆ m_tasklist_info_sizer

wxGridBagSizer* Slic3r::GUI::StatusBasePanel::m_tasklist_info_sizer {nullptr}
protected
563{nullptr};

◆ m_tasklist_sizer

wxBoxSizer* Slic3r::GUI::StatusBasePanel::m_tasklist_sizer
protected

◆ m_temp_bed_timeout

int Slic3r::GUI::StatusBasePanel::m_temp_bed_timeout {0}
protected

◆ m_temp_chamber_timeout

int Slic3r::GUI::StatusBasePanel::m_temp_chamber_timeout {0}
protected

◆ m_temp_extruder_line

wxPanel* Slic3r::GUI::StatusBasePanel::m_temp_extruder_line
protected

◆ m_temp_nozzle_deputy_timeout

int Slic3r::GUI::StatusBasePanel::m_temp_nozzle_deputy_timeout { 0 }
protected

◆ m_temp_nozzle_timeout

int Slic3r::GUI::StatusBasePanel::m_temp_nozzle_timeout { 0 }
protected

◆ m_temp_temp_line

wxPanel* Slic3r::GUI::StatusBasePanel::m_temp_temp_line
protected

Referenced by create_temp_axis_group().

◆ m_tempCtrl_bed

◆ m_tempCtrl_chamber

◆ m_tempCtrl_nozzle

◆ m_tempCtrl_nozzle_deputy

◆ m_text_tasklist_caption

wxStaticText* Slic3r::GUI::StatusBasePanel::m_text_tasklist_caption
protected

◆ m_thumbnail_brokenimg

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_thumbnail_brokenimg
protected

◆ m_thumbnail_placeholder

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_thumbnail_placeholder
protected

◆ m_thumbnail_sdcard

ScalableBitmap Slic3r::GUI::StatusBasePanel::m_thumbnail_sdcard
protected

◆ m_web_media_controller

std::unique_ptr<WebMediaController> Slic3r::GUI::StatusBasePanel::m_web_media_controller
protected

Referenced by create_monitoring_page().

◆ media_ctrl_panel

wxPanel* Slic3r::GUI::StatusBasePanel::media_ctrl_panel
protected

◆ obj

MachineObject* Slic3r::GUI::StatusBasePanel::obj {nullptr}
620{nullptr};

Referenced by StatusBasePanel(), Slic3r::GUI::StatusPanel::check_axis_z_at_home(), create_filament_group(), expand_filament_loading(), Slic3r::GUI::StatusPanel::is_stage_list_info_changed(), Slic3r::GUI::StatusPanel::is_task_changed(), jump_to_Rack(), Slic3r::GUI::StatusPanel::load_thumbnail_from_url(), Slic3r::GUI::StatusPanel::MonitorPanel, Slic3r::GUI::StatusPanel::msw_rescale(), Slic3r::GUI::StatusPanel::on_ams_filament_backup(), Slic3r::GUI::StatusPanel::on_ams_load_curr(), Slic3r::GUI::StatusPanel::on_ams_refresh_rfid(), Slic3r::GUI::StatusPanel::on_ams_retry(), Slic3r::GUI::StatusPanel::on_ams_selected(), Slic3r::GUI::StatusPanel::on_ams_setting_click(), Slic3r::GUI::StatusPanel::on_ams_switch(), Slic3r::GUI::StatusPanel::on_ams_unload(), Slic3r::GUI::StatusPanel::on_auto_leveling(), Slic3r::GUI::StatusPanel::on_axis_ctrl_e_down_10(), Slic3r::GUI::StatusPanel::on_axis_ctrl_e_up_10(), Slic3r::GUI::StatusPanel::on_axis_ctrl_xy(), Slic3r::GUI::StatusPanel::on_axis_ctrl_z_down_1(), Slic3r::GUI::StatusPanel::on_axis_ctrl_z_down_10(), Slic3r::GUI::StatusPanel::on_axis_ctrl_z_up_1(), Slic3r::GUI::StatusPanel::on_axis_ctrl_z_up_10(), Slic3r::GUI::StatusPanel::on_camera_enter(), Slic3r::GUI::StatusPanel::on_camera_leave(), Slic3r::GUI::StatusPanel::on_ext_spool_edit(), Slic3r::GUI::StatusPanel::on_filament_edit(), Slic3r::GUI::StatusPanel::on_filament_extrusion_cali(), Slic3r::GUI::StatusPanel::on_lamp_switch(), Slic3r::GUI::StatusPanel::on_market_retry(), Slic3r::GUI::StatusPanel::on_market_scoring(), Slic3r::GUI::StatusPanel::on_nozzle_fan_switch(), Slic3r::GUI::StatusPanel::on_nozzle_selected(), Slic3r::GUI::StatusPanel::on_print_error_clean(), Slic3r::GUI::StatusPanel::on_set_bed_temp(), Slic3r::GUI::StatusPanel::on_set_chamber_temp(), Slic3r::GUI::StatusPanel::on_set_nozzle_temp(), Slic3r::GUI::StatusPanel::on_show_parts_options(), Slic3r::GUI::StatusPanel::on_show_print_options(), Slic3r::GUI::StatusPanel::on_show_safety_options(), Slic3r::GUI::StatusPanel::on_start_calibration(), Slic3r::GUI::StatusPanel::on_subtask_abort(), Slic3r::GUI::StatusPanel::on_subtask_pause_resume(), Slic3r::GUI::StatusPanel::on_switch_speed(), Slic3r::GUI::StatusPanel::on_thumbnail_leave(), Slic3r::GUI::StatusPanel::on_webrequest_state(), Slic3r::GUI::StatusPanel::on_xyz_abs(), Slic3r::GUI::StatusPanel::refresh_thumbnail_webrequest(), Slic3r::GUI::StatusPanel::rescale_camera_icons(), Slic3r::GUI::StatusPanel::reset_printing_values(), Slic3r::GUI::StatusPanel::set_default(), show_filament_load_group(), Slic3r::GUI::StatusPanel::show_recenter_dialog(), Slic3r::GUI::CalibrationCaliPage::update(), Slic3r::GUI::StatusPanel::update(), Slic3r::GUI::StatusPanel::update_ams(), Slic3r::GUI::StatusPanel::update_ams_control_state(), Slic3r::GUI::StatusPanel::update_basic_print_data(), Slic3r::GUI::StatusPanel::update_cali(), Slic3r::GUI::StatusPanel::update_camera_state(), Slic3r::GUI::StatusPanel::update_cloud_subtask(), Slic3r::GUI::StatusPanel::update_error_message(), Slic3r::GUI::StatusPanel::update_extruder_status(), Slic3r::GUI::StatusPanel::update_filament_loading_panel(), Slic3r::GUI::StatusPanel::update_left_time(), Slic3r::GUI::StatusPanel::update_load_with_temp(), Slic3r::GUI::StatusPanel::update_misc_ctrl(), Slic3r::GUI::StatusPanel::update_model_info(), Slic3r::GUI::StatusPanel::update_partskip_button(), Slic3r::GUI::StatusPanel::update_partskip_subtask(), Slic3r::GUI::StatusPanel::update_rack(), Slic3r::GUI::StatusPanel::update_sdcard_subtask(), Slic3r::GUI::StatusPanel::update_subtask(), Slic3r::GUI::StatusPanel::update_tasklist_info(), Slic3r::GUI::StatusPanel::update_temp_ctrl(), and Slic3r::GUI::StatusPanel::wire_controls().

◆ skip_print_error

int Slic3r::GUI::StatusBasePanel::skip_print_error = 0

The documentation for this class was generated from the following files: