FIX:frequent calls to _update_imgui_select_plate_toolbar
Jira: STUDIO-5488 Change-Id: I12e6f37c2fe94de004aa6da43421970d6df10f0f
This commit is contained in:
parent
1be42a1646
commit
7faa61c5dd
|
@ -6273,7 +6273,7 @@ void GLCanvas3D::_update_select_plate_toolbar_stats_item(bool force_selected) {
|
|||
bool GLCanvas3D::_update_imgui_select_plate_toolbar()
|
||||
{
|
||||
bool result = true;
|
||||
if (!m_sel_plate_toolbar.is_enabled()) return false;
|
||||
if (!m_sel_plate_toolbar.is_enabled() || m_sel_plate_toolbar.is_render_finish) return false;
|
||||
|
||||
_update_select_plate_toolbar_stats_item();
|
||||
|
||||
|
@ -7718,6 +7718,7 @@ void GLCanvas3D::_render_imgui_select_plate_toolbar()
|
|||
}
|
||||
|
||||
imgui.end();
|
||||
m_sel_plate_toolbar.is_render_finish = true;
|
||||
}
|
||||
|
||||
//BBS: GUI refactor: GLToolbar adjust
|
||||
|
|
|
@ -58,6 +58,13 @@ void IMToolbar::del_stats_item()
|
|||
m_all_plates_stats_item = nullptr;
|
||||
}
|
||||
|
||||
void IMToolbar::set_enabled(bool enable)
|
||||
{
|
||||
m_enabled = enable;
|
||||
if (!m_enabled)
|
||||
is_render_finish = false;
|
||||
}
|
||||
|
||||
bool IMReturnToolbar::init()
|
||||
{
|
||||
bool compress = false;
|
||||
|
|
|
@ -49,7 +49,7 @@ public:
|
|||
float icon_height;
|
||||
bool is_display_scrollbar;
|
||||
bool show_stats_item{ false };
|
||||
|
||||
bool is_render_finish{false};
|
||||
IMToolbar() {
|
||||
icon_width = DEFAULT_TOOLBAR_BUTTON_WIDTH;
|
||||
icon_height = DEFAULT_TOOLBAR_BUTTON_HEIGHT;
|
||||
|
@ -63,7 +63,7 @@ public:
|
|||
float fontScale;
|
||||
|
||||
bool is_enabled() const { return m_enabled; }
|
||||
void set_enabled(bool enable) { m_enabled = enable; }
|
||||
void set_enabled(bool enable);
|
||||
|
||||
void set_icon_size(float width, float height) {
|
||||
icon_width = width;
|
||||
|
|
|
@ -5778,15 +5778,18 @@ void Plater::priv::set_current_panel(wxPanel* panel, bool no_slice)
|
|||
};
|
||||
|
||||
//BBS: add the collapse logic
|
||||
if (panel == preview && q->only_gcode_mode()) {
|
||||
this->sidebar->collapse(true);
|
||||
preview->get_canvas3d()->enable_select_plate_toolbar(false);
|
||||
}
|
||||
else if (panel == preview && q->using_exported_file() && (q->m_valid_plates_count <= 1)) {
|
||||
preview->get_canvas3d()->enable_select_plate_toolbar(false);
|
||||
if (panel == preview) {
|
||||
if (q->only_gcode_mode()) {
|
||||
this->sidebar->collapse(true);
|
||||
preview->get_canvas3d()->enable_select_plate_toolbar(false);
|
||||
} else if (q->using_exported_file() && (q->m_valid_plates_count <= 1)) {
|
||||
preview->get_canvas3d()->enable_select_plate_toolbar(false);
|
||||
} else {
|
||||
preview->get_canvas3d()->enable_select_plate_toolbar(true);
|
||||
}
|
||||
}
|
||||
else {
|
||||
preview->get_canvas3d()->enable_select_plate_toolbar(true);
|
||||
preview->get_canvas3d()->enable_select_plate_toolbar(false);
|
||||
}
|
||||
|
||||
if (current_panel == panel)
|
||||
|
|
Loading…
Reference in New Issue