mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-30 20:21:12 -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
	
	 liz.li
						liz.li