mirror of
https://github.com/OrcaSlicer/OrcaSlicer.git
synced 2026-05-20 03:43:52 +00:00
Fix AMS update
This commit is contained in:
@@ -123,8 +123,8 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||||||
m_sizer_cans->Add(m_simplebook_ams, 0, wxLEFT | wxLEFT, FromDIP(10));
|
m_sizer_cans->Add(m_simplebook_ams, 0, wxLEFT | wxLEFT, FromDIP(10));
|
||||||
|
|
||||||
// ams mode
|
// ams mode
|
||||||
m_simplebook_generic_cans = new wxSimplebook(m_simplebook_ams, wxID_ANY, wxDefaultPosition, AMS_CANS_WINDOW_SIZE, 0);
|
m_simplebook_generic_ams = new wxSimplebook(m_simplebook_ams, wxID_ANY, wxDefaultPosition, AMS_CANS_WINDOW_SIZE, 0);
|
||||||
m_simplebook_generic_cans->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
m_simplebook_generic_ams->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||||
|
|
||||||
// none ams mode
|
// none ams mode
|
||||||
m_none_ams_panel = new wxPanel(m_simplebook_ams, wxID_ANY, wxDefaultPosition, AMS_CANS_WINDOW_SIZE, 0);
|
m_none_ams_panel = new wxPanel(m_simplebook_ams, wxID_ANY, wxDefaultPosition, AMS_CANS_WINDOW_SIZE, 0);
|
||||||
@@ -145,12 +145,12 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||||||
m_none_ams_panel->Layout();
|
m_none_ams_panel->Layout();
|
||||||
|
|
||||||
//extra ams mode
|
//extra ams mode
|
||||||
m_simplebook_extra_cans = new wxSimplebook(m_simplebook_ams, wxID_ANY, wxDefaultPosition, AMS_CANS_WINDOW_SIZE, 0);
|
m_simplebook_extra_ams = new wxSimplebook(m_simplebook_ams, wxID_ANY, wxDefaultPosition, AMS_CANS_WINDOW_SIZE, 0);
|
||||||
m_simplebook_extra_cans->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
m_simplebook_extra_ams->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
||||||
|
|
||||||
m_simplebook_ams->AddPage(m_none_ams_panel, wxEmptyString, false);
|
m_simplebook_ams->AddPage(m_none_ams_panel, wxEmptyString, false);
|
||||||
m_simplebook_ams->AddPage(m_simplebook_generic_cans, wxEmptyString, false);
|
m_simplebook_ams->AddPage(m_simplebook_generic_ams, wxEmptyString, false);
|
||||||
m_simplebook_ams->AddPage(m_simplebook_extra_cans, wxEmptyString, false);
|
m_simplebook_ams->AddPage(m_simplebook_extra_ams, wxEmptyString, false);
|
||||||
|
|
||||||
m_panel_can->SetSizer(m_sizer_cans);
|
m_panel_can->SetSizer(m_sizer_cans);
|
||||||
m_panel_can->Layout();
|
m_panel_can->Layout();
|
||||||
@@ -594,8 +594,6 @@ AMSControl::AMSControl(wxWindow *parent, wxWindowID id, const wxPoint &pos, cons
|
|||||||
post_event(wxCommandEvent(EVT_AMS_RETRY));
|
post_event(wxCommandEvent(EVT_AMS_RETRY));
|
||||||
});
|
});
|
||||||
|
|
||||||
CreateAms();
|
|
||||||
SetSelection(0);
|
|
||||||
EnterNoneAMSMode();
|
EnterNoneAMSMode();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -905,24 +903,52 @@ void AMSControl::CreateAms()
|
|||||||
Thaw();
|
Thaw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void AMSControl::ClearAms() {
|
||||||
|
m_simplebook_generic_ams->DeleteAllPages();
|
||||||
|
m_simplebook_extra_ams->DeleteAllPages();
|
||||||
|
m_simplebook_generic_ams->DestroyChildren();
|
||||||
|
m_simplebook_extra_ams->DestroyChildren();
|
||||||
|
m_simplebook_generic_ams->Layout();
|
||||||
|
m_simplebook_extra_ams->Layout();
|
||||||
|
m_simplebook_generic_ams->Refresh();
|
||||||
|
m_simplebook_extra_ams->Refresh();
|
||||||
|
|
||||||
|
for (auto it : m_ams_preview_list) {
|
||||||
|
delete it.second;
|
||||||
|
}
|
||||||
|
m_ams_preview_list.clear();
|
||||||
|
|
||||||
|
m_current_show_ams = "";
|
||||||
|
m_current_ams = "";
|
||||||
|
m_current_select = "";
|
||||||
|
|
||||||
|
m_ams_item_list.clear();
|
||||||
|
m_sizer_prv->Clear();
|
||||||
|
}
|
||||||
|
|
||||||
|
void AMSControl::CreateAmsSingleNozzle()
|
||||||
|
{
|
||||||
|
//add ams data
|
||||||
|
for (auto ams_info = m_ams_info.begin(); ams_info != m_ams_info.end(); ams_info++) {
|
||||||
|
if (ams_info->cans.size() == GENERIC_AMS_SLOT_NUM) {
|
||||||
|
AddAmsPreview(*ams_info);
|
||||||
|
AddAms(*ams_info);
|
||||||
|
AddExtraAms(*ams_info);
|
||||||
|
}
|
||||||
|
else if (ams_info->cans.size() == 1) {
|
||||||
|
AddAmsPreview(*ams_info);
|
||||||
|
AddAms(*ams_info);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
void AMSControl::Reset()
|
void AMSControl::Reset()
|
||||||
{
|
{
|
||||||
auto caninfo0_0 = Caninfo{"0", "", *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE};
|
m_ams_info.clear();
|
||||||
auto caninfo0_1 = Caninfo{"1", "", *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE};
|
ClearAms();
|
||||||
auto caninfo0_2 = Caninfo{"2", "", *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE};
|
|
||||||
auto caninfo0_3 = Caninfo{"3", "", *wxWHITE, AMSCanType::AMS_CAN_TYPE_NONE};
|
|
||||||
|
|
||||||
AMSinfo ams1 = AMSinfo{"0", std::vector<Caninfo>{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}};
|
Layout();
|
||||||
AMSinfo ams2 = AMSinfo{"1", std::vector<Caninfo>{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}};
|
|
||||||
AMSinfo ams3 = AMSinfo{"2", std::vector<Caninfo>{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}};
|
|
||||||
AMSinfo ams4 = AMSinfo{"3", std::vector<Caninfo>{caninfo0_0, caninfo0_1, caninfo0_2, caninfo0_3}};
|
|
||||||
|
|
||||||
std::vector<AMSinfo> ams_info{ams1, ams2, ams3, ams4};
|
|
||||||
std::vector<AMSinfo>::iterator it;
|
|
||||||
UpdateAms(ams_info, true);
|
|
||||||
m_current_show_ams = "";
|
|
||||||
m_current_ams = "";
|
|
||||||
m_current_select = "";
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMSControl::show_noams_mode()
|
void AMSControl::show_noams_mode()
|
||||||
@@ -1007,79 +1033,102 @@ void AMSControl::reset_vams()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void AMSControl::UpdateAms(std::vector<AMSinfo> info, bool is_reset)
|
void AMSControl::UpdateAms(std::vector<AMSinfo> ams_info, bool is_reset)
|
||||||
{
|
{
|
||||||
std::string curr_ams_id = GetCurentAms();
|
|
||||||
std::string curr_can_id = GetCurrentCan(curr_ams_id);
|
|
||||||
|
|
||||||
m_button_area->Layout();
|
m_button_area->Layout();
|
||||||
m_button_area->Fit();
|
m_button_area->Fit();
|
||||||
|
|
||||||
// update item
|
/*if (!test)*/{
|
||||||
m_ams_info = info;
|
// update item
|
||||||
if (m_ams_model == AMSModel::GENERIC_AMS){
|
bool fresh = false;
|
||||||
m_ams_item_list = m_ams_generic_item_list;
|
|
||||||
}
|
|
||||||
else if (m_ams_model == AMSModel::AMS_LITE) {
|
|
||||||
m_ams_item_list = m_ams_extra_item_list;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (info.size() > 1) {
|
// basic check
|
||||||
m_simplebook_amsprvs->Show();
|
if (m_ams_info.size() == ams_info.size() ) {
|
||||||
m_amswin->Layout();
|
for (int i = 0; i < m_ams_info.size(); i++){
|
||||||
m_amswin->Fit();
|
if (m_ams_info[i].ams_id != ams_info[i].ams_id){
|
||||||
SetSize(m_amswin->GetSize());
|
fresh = true;
|
||||||
SetMinSize(m_amswin->GetSize());
|
}
|
||||||
} else {
|
|
||||||
m_simplebook_amsprvs->Hide();
|
|
||||||
m_amswin->Layout();
|
|
||||||
m_amswin->Fit();
|
|
||||||
SetSize(m_amswin->GetSize());
|
|
||||||
SetMinSize(m_amswin->GetSize());
|
|
||||||
}
|
|
||||||
|
|
||||||
size_t i = 0;
|
|
||||||
for (auto prv_it : m_ams_preview_list) {
|
|
||||||
AMSPreview* prv = prv_it.second;
|
|
||||||
if (i < info.size() && info.size() > 1) {
|
|
||||||
prv->Update(m_ams_info[i]);
|
|
||||||
prv->Open();
|
|
||||||
} else {
|
|
||||||
prv->Close();
|
|
||||||
}
|
|
||||||
i++;
|
|
||||||
}
|
|
||||||
|
|
||||||
// update cans
|
|
||||||
for (auto ams_item : m_ams_item_list) {
|
|
||||||
if (ams_item.second == nullptr) {
|
|
||||||
continue;
|
|
||||||
}
|
|
||||||
std::string ams_id = ams_item.second->get_ams_id();
|
|
||||||
AmsItem* cans = ams_item.second;
|
|
||||||
for (auto ifo : m_ams_info) {
|
|
||||||
if (ifo.ams_id == ams_id) {
|
|
||||||
cans->Update(ifo);
|
|
||||||
cans->show_sn_value(m_ams_model == AMSModel::AMS_LITE?false:true);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
else{
|
||||||
|
fresh = true;
|
||||||
if ( m_current_show_ams.empty() && !is_reset ) {
|
|
||||||
if (info.size() > 0) {
|
|
||||||
SwitchAms(info[0].ams_id);
|
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
if (m_ams_model == AMSModel::EXT_AMS && !m_vams_lib->is_selected()) {
|
m_ams_info.clear();
|
||||||
m_vams_lib->OnSelected();
|
m_ams_info = ams_info;
|
||||||
|
if (fresh){
|
||||||
|
ClearAms();
|
||||||
|
//if (m_extder_data.total_extder_count >= 2){
|
||||||
|
// CreateAmsDoubleNozzle(series_name, printer_type);
|
||||||
|
//}else{
|
||||||
|
CreateAmsSingleNozzle();
|
||||||
|
//}
|
||||||
|
SetSize(wxSize(FromDIP(578), -1));
|
||||||
|
SetMinSize(wxSize(FromDIP(578), -1));
|
||||||
|
Layout();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_ams_model == AMSModel::GENERIC_AMS){
|
||||||
|
m_ams_item_list = m_ams_generic_item_list;
|
||||||
|
}
|
||||||
|
else if (m_ams_model == AMSModel::AMS_LITE) {
|
||||||
|
m_ams_item_list = m_ams_extra_item_list;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ams_info.size() > 1) {
|
||||||
|
m_simplebook_amsprvs->Show();
|
||||||
|
m_amswin->Layout();
|
||||||
|
m_amswin->Fit();
|
||||||
|
SetSize(m_amswin->GetSize());
|
||||||
|
SetMinSize(m_amswin->GetSize());
|
||||||
|
} else {
|
||||||
|
m_simplebook_amsprvs->Hide();
|
||||||
|
m_amswin->Layout();
|
||||||
|
m_amswin->Fit();
|
||||||
|
SetSize(m_amswin->GetSize());
|
||||||
|
SetMinSize(m_amswin->GetSize());
|
||||||
|
}
|
||||||
|
|
||||||
|
// update cans
|
||||||
|
|
||||||
|
for (auto ams_item : m_ams_item_list) {
|
||||||
|
if (ams_item.second == nullptr){
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
std::string ams_id = ams_item.second->get_ams_id();
|
||||||
|
AmsItem* cans = ams_item.second;
|
||||||
|
for (auto ifo : m_ams_info) {
|
||||||
|
if (ifo.ams_id == ams_id) {
|
||||||
|
cans->Update(ifo);
|
||||||
|
cans->show_sn_value(m_ams_model == AMSModel::AMS_LITE?false:true);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
for (auto ams_prv : m_ams_preview_list) {
|
||||||
|
std::string id = ams_prv.second->get_ams_id();
|
||||||
|
auto item = m_ams_item_list.find(id);
|
||||||
|
if (item != m_ams_item_list.end())
|
||||||
|
{ ams_prv.second->Update(item->second->get_ams_info());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ( m_current_show_ams.empty() && !is_reset ) {
|
||||||
|
if (ams_info.size() > 0) {
|
||||||
|
SwitchAms(ams_info[0].ams_id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (m_ams_model == AMSModel::EXT_AMS && !m_vams_lib->is_selected()) {
|
||||||
|
m_vams_lib->OnSelected();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*update humidity popup*/
|
/*update humidity popup*/
|
||||||
if (m_percent_humidity_dry_popup->IsShown())
|
if (m_percent_humidity_dry_popup->IsShown())
|
||||||
{
|
{
|
||||||
string target_id = m_percent_humidity_dry_popup->get_owner_ams_id();
|
string target_id = m_percent_humidity_dry_popup->get_owner_ams_id();
|
||||||
for (const auto& the_info : info)
|
for (const auto& the_info : ams_info)
|
||||||
{
|
{
|
||||||
if (target_id == the_info.ams_id)
|
if (target_id == the_info.ams_id)
|
||||||
{
|
{
|
||||||
@@ -1110,18 +1159,18 @@ void AMSControl::AddAmsPreview(AMSinfo info)
|
|||||||
|
|
||||||
void AMSControl::AddAms(AMSinfo info)
|
void AMSControl::AddAms(AMSinfo info)
|
||||||
{
|
{
|
||||||
auto ams_item = new AmsItem(m_simplebook_generic_cans, info, AMSModel::GENERIC_AMS);
|
auto ams_item = new AmsItem(m_simplebook_generic_ams, info, AMSModel::GENERIC_AMS);
|
||||||
m_simplebook_generic_cans->AddPage(ams_item, wxEmptyString, false);
|
m_simplebook_generic_ams->AddPage(ams_item, wxEmptyString, false);
|
||||||
ams_item->set_selection(m_simplebook_generic_cans->GetPageCount() - 1);
|
ams_item->set_selection(m_simplebook_generic_ams->GetPageCount() - 1);
|
||||||
|
|
||||||
m_ams_generic_item_list[info.ams_id] = ams_item;
|
m_ams_generic_item_list[info.ams_id] = ams_item;
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMSControl::AddExtraAms(AMSinfo info)
|
void AMSControl::AddExtraAms(AMSinfo info)
|
||||||
{
|
{
|
||||||
auto ams_item = new AmsItem(m_simplebook_extra_cans, info, AMSModel::AMS_LITE);
|
auto ams_item = new AmsItem(m_simplebook_extra_ams, info, AMSModel::AMS_LITE);
|
||||||
m_simplebook_extra_cans->AddPage(ams_item, wxEmptyString, false);
|
m_simplebook_extra_ams->AddPage(ams_item, wxEmptyString, false);
|
||||||
ams_item->set_selection(m_simplebook_extra_cans->GetPageCount() - 1);
|
ams_item->set_selection(m_simplebook_extra_ams->GetPageCount() - 1);
|
||||||
|
|
||||||
m_ams_extra_item_list[info.ams_id] = ams_item;
|
m_ams_extra_item_list[info.ams_id] = ams_item;
|
||||||
}
|
}
|
||||||
@@ -1177,10 +1226,10 @@ void AMSControl::SwitchAms(std::string ams_id)
|
|||||||
if (item->get_ams_id() == ams_id) {
|
if (item->get_ams_id() == ams_id) {
|
||||||
|
|
||||||
if (m_ams_model == AMSModel::GENERIC_AMS) {
|
if (m_ams_model == AMSModel::GENERIC_AMS) {
|
||||||
m_simplebook_generic_cans->SetSelection(item->get_selection());
|
m_simplebook_generic_ams->SetSelection(item->get_selection());
|
||||||
}
|
}
|
||||||
else if (m_ams_model == AMSModel::AMS_LITE) {
|
else if (m_ams_model == AMSModel::AMS_LITE) {
|
||||||
m_simplebook_extra_cans->SetSelection(item->get_selection());
|
m_simplebook_extra_ams->SetSelection(item->get_selection());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -48,9 +48,8 @@ protected:
|
|||||||
wxSimplebook *m_simplebook_calibration = {nullptr};
|
wxSimplebook *m_simplebook_calibration = {nullptr};
|
||||||
wxSimplebook *m_simplebook_amsprvs = {nullptr};
|
wxSimplebook *m_simplebook_amsprvs = {nullptr};
|
||||||
wxSimplebook *m_simplebook_ams = {nullptr};
|
wxSimplebook *m_simplebook_ams = {nullptr};
|
||||||
|
wxSimplebook* m_simplebook_generic_ams = {nullptr};
|
||||||
wxSimplebook *m_simplebook_generic_cans= {nullptr};
|
wxSimplebook* m_simplebook_extra_ams = {nullptr};
|
||||||
wxSimplebook *m_simplebook_extra_cans = {nullptr};
|
|
||||||
|
|
||||||
wxSimplebook *m_simplebook_bottom = {nullptr};
|
wxSimplebook *m_simplebook_bottom = {nullptr};
|
||||||
|
|
||||||
@@ -133,6 +132,8 @@ public:
|
|||||||
|
|
||||||
void UpdateStepCtrl(bool is_extrusion_exist);
|
void UpdateStepCtrl(bool is_extrusion_exist);
|
||||||
void CreateAms();
|
void CreateAms();
|
||||||
|
void CreateAmsSingleNozzle();
|
||||||
|
void ClearAms();
|
||||||
void UpdateAms(std::vector<AMSinfo> info, bool is_reset = true);
|
void UpdateAms(std::vector<AMSinfo> info, bool is_reset = true);
|
||||||
void AddAms(AMSinfo info);
|
void AddAms(AMSinfo info);
|
||||||
void AddAmsPreview(AMSinfo info);
|
void AddAmsPreview(AMSinfo info);
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ AMSrefresh::AMSrefresh(wxWindow *parent, int number, Caninfo info, const wxPoint
|
|||||||
void AMSrefresh::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size)
|
void AMSrefresh::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size)
|
||||||
{
|
{
|
||||||
wxWindow::Create(parent, id, pos, size, wxBORDER_NONE);
|
wxWindow::Create(parent, id, pos, size, wxBORDER_NONE);
|
||||||
SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
||||||
|
|
||||||
Bind(wxEVT_TIMER, &AMSrefresh::on_timer, this);
|
Bind(wxEVT_TIMER, &AMSrefresh::on_timer, this);
|
||||||
Bind(wxEVT_PAINT, &AMSrefresh::paintEvent, this);
|
Bind(wxEVT_PAINT, &AMSrefresh::paintEvent, this);
|
||||||
@@ -249,7 +249,7 @@ void AMSrefresh::paintEvent(wxPaintEvent &evt)
|
|||||||
wxPaintDC dc(this);
|
wxPaintDC dc(this);
|
||||||
|
|
||||||
auto colour = StateColor::darkModeColorFor(AMS_CONTROL_GRAY700);
|
auto colour = StateColor::darkModeColorFor(AMS_CONTROL_GRAY700);
|
||||||
if (!wxWindow::IsEnabled()) { colour = AMS_CONTROL_GRAY500; }
|
if (!wxWindow::IsEnabled()) { colour = StateColor::darkModeColorFor(AMS_CONTROL_GRAY500); }
|
||||||
|
|
||||||
auto pot = wxPoint((size.x - m_bitmap_selected.GetBmpSize().x) / 2, (size.y - m_bitmap_selected.GetBmpSize().y) / 2);
|
auto pot = wxPoint((size.x - m_bitmap_selected.GetBmpSize().x) / 2, (size.y - m_bitmap_selected.GetBmpSize().y) / 2);
|
||||||
|
|
||||||
@@ -277,6 +277,7 @@ void AMSrefresh::paintEvent(wxPaintEvent &evt)
|
|||||||
dc.SetPen(wxPen(colour));
|
dc.SetPen(wxPen(colour));
|
||||||
dc.SetBrush(wxBrush(colour));
|
dc.SetBrush(wxBrush(colour));
|
||||||
dc.SetFont(Label::Body_11);
|
dc.SetFont(Label::Body_11);
|
||||||
|
//dc.SetTextForeground(StateColor::darkModeColorFor(AMS_CONTROL_BLACK_COLOUR));
|
||||||
dc.SetTextForeground(colour);
|
dc.SetTextForeground(colour);
|
||||||
auto tsize = dc.GetTextExtent(m_refresh_id);
|
auto tsize = dc.GetTextExtent(m_refresh_id);
|
||||||
pot = wxPoint((size.x - tsize.x) / 2, (size.y - tsize.y) / 2);
|
pot = wxPoint((size.x - tsize.x) / 2, (size.y - tsize.y) / 2);
|
||||||
@@ -388,7 +389,7 @@ void AMSextruderImage::doRender(wxDC &dc)
|
|||||||
AMSextruderImage::AMSextruderImage(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size)
|
AMSextruderImage::AMSextruderImage(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size)
|
||||||
{
|
{
|
||||||
wxWindow::Create(parent, id, pos, AMS_EXTRUDER_BITMAP_SIZE);
|
wxWindow::Create(parent, id, pos, AMS_EXTRUDER_BITMAP_SIZE);
|
||||||
SetBackgroundColour(*wxWHITE);
|
SetBackgroundColour(StateColor::darkModeColorFor(*wxWHITE));
|
||||||
|
|
||||||
m_ams_extruder = ScalableBitmap(this, "monitor_ams_extruder",55);
|
m_ams_extruder = ScalableBitmap(this, "monitor_ams_extruder",55);
|
||||||
SetSize(AMS_EXTRUDER_BITMAP_SIZE);
|
SetSize(AMS_EXTRUDER_BITMAP_SIZE);
|
||||||
@@ -568,7 +569,7 @@ void AMSVirtualRoad::OnVamsLoading(bool load, wxColour col)
|
|||||||
void AMSVirtualRoad::create(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size)
|
void AMSVirtualRoad::create(wxWindow* parent, wxWindowID id, const wxPoint& pos, const wxSize& size)
|
||||||
{
|
{
|
||||||
wxWindow::Create(parent, id, pos, wxDefaultSize, wxBORDER_NONE);
|
wxWindow::Create(parent, id, pos, wxDefaultSize, wxBORDER_NONE);
|
||||||
SetBackgroundColour(AMS_CONTROL_WHITE_COLOUR);
|
SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_WHITE_COLOUR));
|
||||||
Layout();
|
Layout();
|
||||||
Bind(wxEVT_PAINT, &AMSVirtualRoad::paintEvent, this);
|
Bind(wxEVT_PAINT, &AMSVirtualRoad::paintEvent, this);
|
||||||
}
|
}
|
||||||
@@ -638,7 +639,7 @@ AMSLib::AMSLib(wxWindow *parent, std::string ams_idx, Caninfo info)
|
|||||||
{
|
{
|
||||||
m_border_color = (wxColour(130, 130, 128));
|
m_border_color = (wxColour(130, 130, 128));
|
||||||
m_road_def_color = AMS_CONTROL_GRAY500;
|
m_road_def_color = AMS_CONTROL_GRAY500;
|
||||||
wxWindow::SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
wxWindow::SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
||||||
create(parent);
|
create(parent);
|
||||||
|
|
||||||
Bind(wxEVT_PAINT, &AMSLib::paintEvent, this);
|
Bind(wxEVT_PAINT, &AMSLib::paintEvent, this);
|
||||||
@@ -1024,7 +1025,7 @@ void AMSLib::render_lite_lib(wxDC& dc)
|
|||||||
|
|
||||||
//draw def background
|
//draw def background
|
||||||
dc.SetPen(wxPen(*wxTRANSPARENT_PEN));
|
dc.SetPen(wxPen(*wxTRANSPARENT_PEN));
|
||||||
dc.SetBrush(wxBrush(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
dc.SetBrush(wxBrush(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR)));
|
||||||
dc.DrawRoundedRectangle(FromDIP(10), FromDIP(10), size.x - FromDIP(20), size.y - FromDIP(20), 0);
|
dc.DrawRoundedRectangle(FromDIP(10), FromDIP(10), size.x - FromDIP(20), size.y - FromDIP(20), 0);
|
||||||
|
|
||||||
if (tmp_lib_colour.GetLuminance() < 0.6) {
|
if (tmp_lib_colour.GetLuminance() < 0.6) {
|
||||||
@@ -1421,7 +1422,7 @@ AMSRoad::AMSRoad(wxWindow *parent, wxWindowID id, Caninfo info, int canindex, in
|
|||||||
}
|
}
|
||||||
|
|
||||||
Bind(wxEVT_PAINT, &AMSRoad::paintEvent, this);
|
Bind(wxEVT_PAINT, &AMSRoad::paintEvent, this);
|
||||||
wxWindow::SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
wxWindow::SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
||||||
}
|
}
|
||||||
|
|
||||||
void AMSRoad::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size) { wxWindow::Create(parent, id, pos, size); }
|
void AMSRoad::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, const wxSize &size) { wxWindow::Create(parent, id, pos, size); }
|
||||||
@@ -1659,7 +1660,7 @@ void AMSPreview::create(wxWindow *parent, wxWindowID id, const wxPoint &pos, con
|
|||||||
wxWindow::Create(parent, id, pos, size);
|
wxWindow::Create(parent, id, pos, size);
|
||||||
SetMinSize(AMS_ITEM_SIZE);
|
SetMinSize(AMS_ITEM_SIZE);
|
||||||
SetMaxSize(AMS_ITEM_SIZE);
|
SetMaxSize(AMS_ITEM_SIZE);
|
||||||
SetBackgroundColour(AMS_CONTROL_WHITE_COLOUR);
|
SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_WHITE_COLOUR));
|
||||||
Refresh();
|
Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -2042,14 +2043,13 @@ AmsItem::AmsItem(wxWindow *parent,AMSinfo info, AMSModel model) : AmsItem()
|
|||||||
|
|
||||||
create(parent);
|
create(parent);
|
||||||
|
|
||||||
|
SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
||||||
Bind(wxEVT_PAINT, &AmsItem::paintEvent, this);
|
Bind(wxEVT_PAINT, &AmsItem::paintEvent, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void AmsItem::create(wxWindow *parent)
|
void AmsItem::create(wxWindow *parent)
|
||||||
{
|
{
|
||||||
Freeze();
|
Freeze();
|
||||||
SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
|
||||||
|
|
||||||
if (m_ams_model == AMSModel::GENERIC_AMS || m_ams_model == AMSModel::N3F_AMS || m_ams_model == AMSModel::N3S_AMS) {
|
if (m_ams_model == AMSModel::GENERIC_AMS || m_ams_model == AMSModel::N3F_AMS || m_ams_model == AMSModel::N3S_AMS) {
|
||||||
sizer_can = new wxBoxSizer(wxHORIZONTAL);
|
sizer_can = new wxBoxSizer(wxHORIZONTAL);
|
||||||
sizer_item = new wxBoxSizer(wxVERTICAL);
|
sizer_item = new wxBoxSizer(wxVERTICAL);
|
||||||
@@ -2106,7 +2106,7 @@ void AmsItem::AddCan(Caninfo caninfo, int canindex, int maxcan, wxBoxSizer* size
|
|||||||
{
|
{
|
||||||
auto amscan = new wxWindow(this, wxID_ANY);
|
auto amscan = new wxWindow(this, wxID_ANY);
|
||||||
|
|
||||||
amscan->SetBackgroundColour(AMS_CONTROL_DEF_LIB_BK_COLOUR);
|
amscan->SetBackgroundColour(StateColor::darkModeColorFor(AMS_CONTROL_DEF_LIB_BK_COLOUR));
|
||||||
|
|
||||||
wxBoxSizer* m_sizer_ams = new wxBoxSizer(wxVERTICAL);
|
wxBoxSizer* m_sizer_ams = new wxBoxSizer(wxVERTICAL);
|
||||||
|
|
||||||
|
|||||||
@@ -137,6 +137,7 @@ enum FilamentStepType {
|
|||||||
#define AMS_HUMIDITY_NO_PERCENT_SIZE wxSize(FromDIP(60), FromDIP(26))
|
#define AMS_HUMIDITY_NO_PERCENT_SIZE wxSize(FromDIP(60), FromDIP(26))
|
||||||
#define AMS_HUMIDITY_DRY_WIDTH FromDIP(35)
|
#define AMS_HUMIDITY_DRY_WIDTH FromDIP(35)
|
||||||
|
|
||||||
|
#define GENERIC_AMS_SLOT_NUM 4
|
||||||
|
|
||||||
struct Caninfo
|
struct Caninfo
|
||||||
{
|
{
|
||||||
@@ -575,6 +576,8 @@ public:
|
|||||||
std::string GetCurrentCan();
|
std::string GetCurrentCan();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
AMSinfo get_ams_info() const { return m_info; };
|
||||||
|
|
||||||
std::string get_ams_id() const { return m_info.ams_id; };
|
std::string get_ams_id() const { return m_info.ams_id; };
|
||||||
|
|
||||||
std::map<std::string, AMSLib*> get_can_lib_list() const { return m_can_lib_list; };
|
std::map<std::string, AMSLib*> get_can_lib_list() const { return m_can_lib_list; };
|
||||||
|
|||||||
Reference in New Issue
Block a user