NEW: refresh task thumbnail with brokenimg
Change-Id: I39393a43c681ba954f9d3975b35df4551b314ef2
This commit is contained in:
parent
75ddeb7572
commit
6133ceac20
Binary file not shown.
After Width: | Height: | Size: 11 KiB |
|
@ -180,6 +180,7 @@ void StatusBasePanel::init_bitmaps()
|
|||
m_bitmap_use_time = ScalableBitmap(this, "print_info_time", 16);
|
||||
m_bitmap_use_weight = ScalableBitmap(this, "print_info_weight", 16);
|
||||
m_thumbnail_placeholder = ScalableBitmap(this, "monitor_placeholder", 120);
|
||||
m_thumbnail_brokenimg = ScalableBitmap(this, "monitor_brokenimg", 120);
|
||||
m_thumbnail_sdcard = ScalableBitmap(this, "monitor_sdcard_thumbnail", 120);
|
||||
//m_bitmap_camera = create_scaled_bitmap("monitor_camera", nullptr, 18);
|
||||
m_bitmap_extruder_empty_load = *cache.load_png("monitor_extruder_empty_load", FromDIP(28), FromDIP(70), false, false);
|
||||
|
@ -1130,6 +1131,7 @@ StatusPanel::StatusPanel(wxWindow *parent, wxWindowID id, const wxPoint &pos, co
|
|||
// Connect Events
|
||||
//m_bitmap_thumbnail->Connect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(StatusPanel::on_thumbnail_enter), NULL, this);
|
||||
//m_bitmap_thumbnail->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(StatusPanel::on_thumbnail_leave), NULL, this);
|
||||
m_bitmap_thumbnail->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::refresh_thumbnail_webrequest), NULL, this);
|
||||
m_setting_button->Connect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::on_camera_enter), NULL, this);
|
||||
m_project_task_panel->Connect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(StatusPanel::on_thumbnail_leave), NULL, this);
|
||||
m_button_pause_resume->Connect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_subtask_pause_resume), NULL, this);
|
||||
|
@ -1169,6 +1171,7 @@ StatusPanel::~StatusPanel()
|
|||
// Disconnect Events
|
||||
//m_bitmap_thumbnail->Disconnect(wxEVT_ENTER_WINDOW, wxMouseEventHandler(StatusPanel::on_thumbnail_enter), NULL, this);
|
||||
//m_bitmap_thumbnail->Disconnect(wxEVT_LEAVE_WINDOW, wxMouseEventHandler(StatusPanel::on_thumbnail_leave), NULL, this);
|
||||
m_bitmap_thumbnail->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::refresh_thumbnail_webrequest), NULL, this);
|
||||
m_setting_button->Disconnect(wxEVT_LEFT_DOWN, wxMouseEventHandler(StatusPanel::on_camera_enter), NULL, this);
|
||||
m_button_pause_resume->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_subtask_pause_resume), NULL, this);
|
||||
m_button_abort->Disconnect(wxEVT_COMMAND_BUTTON_CLICKED, wxCommandEventHandler(StatusPanel::on_subtask_abort), NULL, this);
|
||||
|
@ -1329,13 +1332,16 @@ void StatusPanel::on_webrequest_state(wxWebRequestEvent &evt)
|
|||
img_list.insert(std::make_pair(m_request_url, img));
|
||||
wxImage resize_img = img.Scale(m_bitmap_thumbnail->GetSize().x, m_bitmap_thumbnail->GetSize().y, wxIMAGE_QUALITY_HIGH);
|
||||
m_bitmap_thumbnail->SetBitmap(resize_img);
|
||||
task_thumbnail_state = ThumbnailState::TASK_THUMBNAIL;
|
||||
break;
|
||||
}
|
||||
case wxWebRequest::State_Failed: {
|
||||
break;
|
||||
}
|
||||
case wxWebRequest::State_Failed:
|
||||
case wxWebRequest::State_Cancelled:
|
||||
case wxWebRequest::State_Unauthorized:
|
||||
case wxWebRequest::State_Unauthorized: {
|
||||
m_bitmap_thumbnail->SetBitmap(m_thumbnail_brokenimg.bmp());
|
||||
task_thumbnail_state = ThumbnailState::BROKEN_IMG;
|
||||
break;
|
||||
}
|
||||
case wxWebRequest::State_Active:
|
||||
case wxWebRequest::State_Idle: break;
|
||||
default: break;
|
||||
|
@ -2062,9 +2068,10 @@ void StatusPanel::update_cloud_subtask(MachineObject *obj)
|
|||
img = it->second;
|
||||
wxImage resize_img = img.Scale(m_bitmap_thumbnail->GetSize().x, m_bitmap_thumbnail->GetSize().y);
|
||||
m_bitmap_thumbnail->SetBitmap(resize_img);
|
||||
task_thumbnail_state == ThumbnailState::TASK_THUMBNAIL;
|
||||
} else {
|
||||
web_request = wxWebSession::GetDefault().CreateRequest(this, m_request_url);
|
||||
BOOST_LOG_TRIVIAL(trace) << "monitor: start reqeust thumbnail, url = " << m_request_url;
|
||||
BOOST_LOG_TRIVIAL(trace) << "monitor: start request thumbnail, url = " << m_request_url;
|
||||
web_request.Start();
|
||||
m_start_loading_thumbnail = false;
|
||||
}
|
||||
|
@ -2079,6 +2086,7 @@ void StatusPanel::update_sdcard_subtask(MachineObject *obj)
|
|||
|
||||
if (!m_load_sdcard_thumbnail) {
|
||||
m_bitmap_thumbnail->SetBitmap(m_thumbnail_sdcard.bmp());
|
||||
task_thumbnail_state = ThumbnailState::SDCARD_THUMBNAIL;
|
||||
m_load_sdcard_thumbnail = true;
|
||||
}
|
||||
}
|
||||
|
@ -2099,6 +2107,7 @@ void StatusPanel::reset_printing_values()
|
|||
m_staticText_progress_percent->SetLabelText(NA_STR);
|
||||
m_staticText_progress_percent_icon->SetLabelText(wxEmptyString);
|
||||
m_bitmap_thumbnail->SetBitmap(m_thumbnail_placeholder.bmp());
|
||||
task_thumbnail_state = ThumbnailState::PLACE_HOLDER;
|
||||
m_start_loading_thumbnail = false;
|
||||
m_load_sdcard_thumbnail = false;
|
||||
skip_print_error = 0;
|
||||
|
@ -2624,6 +2633,23 @@ void StatusPanel::on_thumbnail_leave(wxMouseEvent &event)
|
|||
}
|
||||
}
|
||||
|
||||
void StatusPanel::refresh_thumbnail_webrequest(wxMouseEvent &event)
|
||||
{
|
||||
if (!obj) return;
|
||||
if (task_thumbnail_state != ThumbnailState::BROKEN_IMG) return;
|
||||
|
||||
if (obj->slice_info) {
|
||||
m_request_url = wxString(obj->slice_info->thumbnail_url);
|
||||
if (!m_request_url.IsEmpty()) {
|
||||
web_request = wxWebSession::GetDefault().CreateRequest(this, m_request_url);
|
||||
BOOST_LOG_TRIVIAL(trace) << "monitor: create new webrequest, state = " << web_request.GetState() << ", url = " << m_request_url;
|
||||
if (web_request.GetState() == wxWebRequest::State_Idle)
|
||||
web_request.Start();
|
||||
BOOST_LOG_TRIVIAL(trace) << "monitor: start new webrequest, state = " << web_request.GetState() << ", url = "<< m_request_url;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void StatusPanel::on_switch_vcamera(wxMouseEvent &event)
|
||||
{
|
||||
//if (!obj) return;
|
||||
|
|
|
@ -68,6 +68,7 @@ class StatusBasePanel : public wxScrolledWindow
|
|||
protected:
|
||||
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;
|
||||
|
@ -329,6 +330,7 @@ protected:
|
|||
void on_nozzle_fan_switch(wxCommandEvent &event);
|
||||
void on_thumbnail_enter(wxMouseEvent &event);
|
||||
void on_thumbnail_leave(wxMouseEvent &event);
|
||||
void refresh_thumbnail_webrequest(wxMouseEvent& event);
|
||||
void on_switch_vcamera(wxMouseEvent &event);
|
||||
void on_camera_enter(wxMouseEvent &event);
|
||||
void on_camera_leave(wxMouseEvent& event);
|
||||
|
@ -374,6 +376,14 @@ public:
|
|||
const wxString &name = wxEmptyString);
|
||||
~StatusPanel();
|
||||
|
||||
enum ThumbnailState {
|
||||
PLACE_HOLDER = 0,
|
||||
BROKEN_IMG = 1,
|
||||
TASK_THUMBNAIL = 2,
|
||||
SDCARD_THUMBNAIL = 3,
|
||||
STATE_COUNT = 4
|
||||
};
|
||||
|
||||
MachineObject *obj {nullptr};
|
||||
BBLSubTask * last_subtask{nullptr};
|
||||
std::string last_profile_id;
|
||||
|
@ -385,6 +395,7 @@ public:
|
|||
long last_reading_bits { -1 };
|
||||
long last_ams_version { -1 };
|
||||
|
||||
enum ThumbnailState task_thumbnail_state {ThumbnailState::PLACE_HOLDER};
|
||||
std::vector<int> last_stage_list_info;
|
||||
|
||||
bool is_stage_list_info_changed(MachineObject* obj);
|
||||
|
|
Loading…
Reference in New Issue