mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-10-19 23:01:22 -06:00
ENH:optimize the logic related to the virtual tray
Change-Id: I4d3b78f86191a4f3760d16234006b3aa603dd09e
This commit is contained in:
parent
c63326b721
commit
14c5215b48
4 changed files with 99 additions and 77 deletions
|
@ -1471,11 +1471,10 @@ void AmsCans::PlayRridLoading(wxString canid)
|
|||
|
||||
std::string AmsCans::GetCurrentCan()
|
||||
{
|
||||
if (m_canlib_selection > -1 && m_canlib_selection < m_can_lib_list.size()) {
|
||||
CanLibs *lib = m_can_lib_list[m_canlib_selection];
|
||||
return lib->canLib->m_info.can_id;
|
||||
}
|
||||
return "";
|
||||
if (m_canlib_selection < 0)
|
||||
return "";
|
||||
|
||||
return wxString::Format("%d", m_canlib_selection).ToStdString();
|
||||
}
|
||||
|
||||
void AmsCans::StopRridLoading(wxString canid)
|
||||
|
@ -2028,48 +2027,16 @@ wxColour AMSControl::GetCanColour(std::string amsid, std::string canid)
|
|||
return col;
|
||||
}
|
||||
|
||||
void AMSControl::SetActionState(AMSAction action, bool support_virtual_tray)
|
||||
void AMSControl::SetActionState(bool button_status[])
|
||||
{
|
||||
m_button_area->Layout();
|
||||
m_button_area->Fit();
|
||||
if (button_status[ActionButton::ACTION_BTN_CALI]) m_button_extrusion_cali->Enable();
|
||||
else m_button_extrusion_cali->Disable();
|
||||
|
||||
switch (action) {
|
||||
case Slic3r::GUI::AMSAction::AMS_ACTION_NONE: break;
|
||||
case Slic3r::GUI::AMSAction::AMS_ACTION_LOAD:
|
||||
m_button_extrusion_cali->Enable();
|
||||
m_button_extruder_feed->Enable();
|
||||
m_button_extruder_back->Disable();
|
||||
break;
|
||||
case Slic3r::GUI::AMSAction::AMS_ACTION_UNLOAD:
|
||||
m_button_extrusion_cali->Enable();
|
||||
m_button_extruder_feed->Disable();
|
||||
m_button_extruder_back->Enable();
|
||||
break;
|
||||
case Slic3r::GUI::AMSAction::AMS_ACTION_PRINTING:
|
||||
m_button_extrusion_cali->Disable();
|
||||
m_button_extruder_feed->Disable();
|
||||
m_button_extruder_back->Disable();
|
||||
break;
|
||||
case Slic3r::GUI::AMSAction::AMS_ACTION_NORMAL:
|
||||
m_button_extrusion_cali->Enable();
|
||||
m_button_extruder_feed->Enable();
|
||||
m_button_extruder_back->Enable();
|
||||
break;
|
||||
case Slic3r::GUI::AMSAction::AMS_ACTION_CALI:
|
||||
m_button_extrusion_cali->Enable();
|
||||
m_button_extruder_feed->Disable();
|
||||
m_button_extruder_back->Disable();
|
||||
break;
|
||||
case Slic3r::GUI::AMSAction::AMS_ACTION_NOAMS:
|
||||
if (support_virtual_tray)
|
||||
m_button_extrusion_cali->Enable();
|
||||
else
|
||||
m_button_extrusion_cali->Disable();
|
||||
m_button_extruder_feed->Enable();
|
||||
m_button_extruder_back->Enable();
|
||||
break;
|
||||
default: break;
|
||||
}
|
||||
if (button_status[ActionButton::ACTION_BTN_LOAD]) m_button_extruder_feed->Enable();
|
||||
else m_button_extruder_feed->Disable();
|
||||
|
||||
if (button_status[ActionButton::ACTION_BTN_UNLOAD]) m_button_extruder_back->Enable();
|
||||
else m_button_extruder_back->Disable();
|
||||
}
|
||||
|
||||
void AMSControl::EnterNoneAMSMode(bool support_vt_load)
|
||||
|
|
|
@ -35,6 +35,13 @@
|
|||
|
||||
namespace Slic3r { namespace GUI {
|
||||
|
||||
enum ActionButton {
|
||||
ACTION_BTN_CALI = 0,
|
||||
ACTION_BTN_LOAD = 1,
|
||||
ACTION_BTN_UNLOAD = 2,
|
||||
ACTION_BTN_COUNT = 3
|
||||
};
|
||||
|
||||
enum class AMSRoadMode : int {
|
||||
AMS_ROAD_MODE_LEFT,
|
||||
AMS_ROAD_MODE_LEFT_RIGHT,
|
||||
|
@ -524,7 +531,7 @@ public:
|
|||
wxColour GetCanColour(std::string amsid, std::string canid);
|
||||
|
||||
bool m_is_none_ams_mode{false};
|
||||
void SetActionState(AMSAction action, bool support_virtual_tray = true);
|
||||
void SetActionState(bool button_status[]);
|
||||
void EnterNoneAMSMode(bool support_vt_load = false);
|
||||
void ExitNoneAMSMode();
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue