mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-09 07:56:24 -06:00
ENH: preview slider behavior
1.add pauseprint will not cause preview page refresh 2.fix add custom Gcode window and jump to layer window cannot input after reslice Change-Id: I4f75457b6d6172080715393c975169c8f16464b9
This commit is contained in:
parent
3d48e2dc55
commit
b27a9e27ce
5 changed files with 11 additions and 4 deletions
|
@ -4258,6 +4258,10 @@ void GLCanvas3D::on_paint(wxPaintEvent& evt)
|
||||||
this->render();
|
this->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void GLCanvas3D::force_set_focus() {
|
||||||
|
m_canvas->SetFocus();
|
||||||
|
};
|
||||||
|
|
||||||
void GLCanvas3D::on_set_focus(wxFocusEvent& evt)
|
void GLCanvas3D::on_set_focus(wxFocusEvent& evt)
|
||||||
{
|
{
|
||||||
m_tooltip_enabled = false;
|
m_tooltip_enabled = false;
|
||||||
|
|
|
@ -894,6 +894,7 @@ public:
|
||||||
void on_gesture(wxGestureEvent& evt);
|
void on_gesture(wxGestureEvent& evt);
|
||||||
void on_paint(wxPaintEvent& evt);
|
void on_paint(wxPaintEvent& evt);
|
||||||
void on_set_focus(wxFocusEvent& evt);
|
void on_set_focus(wxFocusEvent& evt);
|
||||||
|
void force_set_focus();
|
||||||
|
|
||||||
Size get_canvas_size() const;
|
Size get_canvas_size() const;
|
||||||
Vec2d get_local_mouse_position() const;
|
Vec2d get_local_mouse_position() const;
|
||||||
|
|
|
@ -385,9 +385,9 @@ void Preview::sys_color_changed()
|
||||||
|
|
||||||
void Preview::on_tick_changed(Type type)
|
void Preview::on_tick_changed(Type type)
|
||||||
{
|
{
|
||||||
if (type == Type::PausePrint) {
|
//if (type == Type::PausePrint) {
|
||||||
m_schedule_background_process();
|
// m_schedule_background_process();
|
||||||
}
|
//}
|
||||||
m_keep_current_preview_type = false;
|
m_keep_current_preview_type = false;
|
||||||
reload_print(false);
|
reload_print(false);
|
||||||
}
|
}
|
||||||
|
|
|
@ -1306,6 +1306,7 @@ void IMSlider::render_input_custom_gcode()
|
||||||
set_focus = false;
|
set_focus = false;
|
||||||
}
|
}
|
||||||
if (set_focus && !ImGui::IsAnyItemActive() && !ImGui::IsMouseClicked(0)) {
|
if (set_focus && !ImGui::IsAnyItemActive() && !ImGui::IsMouseClicked(0)) {
|
||||||
|
wxGetApp().plater()->get_current_canvas3D()->force_set_focus();
|
||||||
ImGui::SetKeyboardFocusHere(0);
|
ImGui::SetKeyboardFocusHere(0);
|
||||||
}
|
}
|
||||||
const int text_height = 6;
|
const int text_height = 6;
|
||||||
|
@ -1385,6 +1386,7 @@ void IMSlider::render_go_to_layer_dialog()
|
||||||
set_focus = false;
|
set_focus = false;
|
||||||
}
|
}
|
||||||
if (set_focus && !ImGui::IsAnyItemActive() && !ImGui::IsMouseClicked(0)) {
|
if (set_focus && !ImGui::IsAnyItemActive() && !ImGui::IsMouseClicked(0)) {
|
||||||
|
wxGetApp().plater()->get_current_canvas3D()->force_set_focus();
|
||||||
ImGui::SetKeyboardFocusHere(0);
|
ImGui::SetKeyboardFocusHere(0);
|
||||||
}
|
}
|
||||||
ImGui::InputText("##input_layer_number", m_layer_number, sizeof(m_layer_number));
|
ImGui::InputText("##input_layer_number", m_layer_number, sizeof(m_layer_number));
|
||||||
|
|
|
@ -2400,7 +2400,7 @@ Plater::priv::priv(Plater *q, MainFrame *main_frame)
|
||||||
preview->on_tick_changed(tick_event_type);
|
preview->on_tick_changed(tick_event_type);
|
||||||
|
|
||||||
// BBS set to invalid state only
|
// BBS set to invalid state only
|
||||||
if (tick_event_type == Type::ToolChange || tick_event_type == Type::Custom || tick_event_type == Type::Template) {
|
if (tick_event_type == Type::ToolChange || tick_event_type == Type::Custom || tick_event_type == Type::Template || tick_event_type == Type::PausePrint) {
|
||||||
PartPlate *plate = this->q->get_partplate_list().get_curr_plate();
|
PartPlate *plate = this->q->get_partplate_list().get_curr_plate();
|
||||||
if (plate) {
|
if (plate) {
|
||||||
plate->update_slice_result_valid_state(false);
|
plate->update_slice_result_valid_state(false);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue