mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 04:31:15 -06:00 
			
		
		
		
	Fixed sidebar layouting after a creation of the App
This commit is contained in:
		
							parent
							
								
									f07aba73cb
								
							
						
					
					
						commit
						6044be7793
					
				
					 1 changed files with 13 additions and 26 deletions
				
			
		|  | @ -147,28 +147,27 @@ bool GUI_App::OnInit() | ||||||
|         wxImage::AddHandler(new wxPNGHandler()); |         wxImage::AddHandler(new wxPNGHandler()); | ||||||
|     mainframe = new MainFrame(); |     mainframe = new MainFrame(); | ||||||
|     sidebar().obj_list()->init_objects(); // propagate model objects to object list
 |     sidebar().obj_list()->init_objects(); // propagate model objects to object list
 | ||||||
| //     update_mode(); // do that later
 | //     update_mode(); // !!! do that later
 | ||||||
|     SetTopWindow(mainframe); |     SetTopWindow(mainframe); | ||||||
| 
 | 
 | ||||||
|     m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); |     m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); | ||||||
| 
 | 
 | ||||||
|     CallAfter([this]() { |  | ||||||
|         // temporary workaround for the correct behavior of the Scrolled sidebar panel 
 |  | ||||||
|         auto& panel = sidebar(); |  | ||||||
|         if (panel.obj_list()->GetMinHeight() > 200) { |  | ||||||
|             wxWindowUpdateLocker noUpdates_sidebar(&panel); |  | ||||||
|             panel.obj_list()->SetMinSize(wxSize(-1, 200)); |  | ||||||
| //          panel.Layout();
 |  | ||||||
|         } |  | ||||||
|         update_mode(); // update view mode after fix of the object_list size 
 |  | ||||||
|                        // to correct later layouts
 |  | ||||||
|     }); |  | ||||||
| 
 |  | ||||||
|     Bind(wxEVT_IDLE, [this](wxIdleEvent& event) |     Bind(wxEVT_IDLE, [this](wxIdleEvent& event) | ||||||
|     { |     { | ||||||
|         if (app_config->dirty()) |         if (app_config->dirty()) | ||||||
|             app_config->save(); |             app_config->save(); | ||||||
| 
 | 
 | ||||||
|  |         // ! Temporary workaround for the correct behavior of the Scrolled sidebar panel 
 | ||||||
|  |         // Do this "manipulations" only once ( after (re)create of the application )
 | ||||||
|  |         if (sidebar().obj_list()->GetMinHeight() > 200)  | ||||||
|  |         { | ||||||
|  |             wxWindowUpdateLocker noUpdates_sidebar(&sidebar()); | ||||||
|  |             sidebar().obj_list()->SetMinSize(wxSize(-1, 200)); | ||||||
|  | 
 | ||||||
|  |             // !!! to correct later layouts
 | ||||||
|  |             update_mode(); // update view mode after fix of the object_list size
 | ||||||
|  |         } | ||||||
|  | 
 | ||||||
| #if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION | #if !ENABLE_IMPROVED_SIDEBAR_OBJECTS_MANIPULATION | ||||||
|         if (this->plater() != nullptr) |         if (this->plater() != nullptr) | ||||||
|             this->obj_manipul()->update_if_dirty(); |             this->obj_manipul()->update_if_dirty(); | ||||||
|  | @ -278,7 +277,7 @@ void GUI_App::recreate_GUI() | ||||||
|     MainFrame* topwindow = dynamic_cast<MainFrame*>(GetTopWindow()); |     MainFrame* topwindow = dynamic_cast<MainFrame*>(GetTopWindow()); | ||||||
|     mainframe = new MainFrame(); |     mainframe = new MainFrame(); | ||||||
|     sidebar().obj_list()->init_objects(); // propagate model objects to object list
 |     sidebar().obj_list()->init_objects(); // propagate model objects to object list
 | ||||||
| //     update_mode(); // do that later
 | 
 | ||||||
|     if (topwindow) { |     if (topwindow) { | ||||||
|         SetTopWindow(mainframe); |         SetTopWindow(mainframe); | ||||||
|         topwindow->Destroy(); |         topwindow->Destroy(); | ||||||
|  | @ -286,18 +285,6 @@ void GUI_App::recreate_GUI() | ||||||
| 
 | 
 | ||||||
|     m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); |     m_printhost_job_queue.reset(new PrintHostJobQueue(mainframe->printhost_queue_dlg())); | ||||||
| 
 | 
 | ||||||
|     CallAfter([this]() { |  | ||||||
|         // temporary workaround for the correct behavior of the Scrolled sidebar panel
 |  | ||||||
|         auto& panel = sidebar(); |  | ||||||
|         if (panel.obj_list()->GetMinHeight() > 200) { |  | ||||||
|             wxWindowUpdateLocker noUpdates_sidebar(&panel); |  | ||||||
|             panel.obj_list()->SetMinSize(wxSize(-1, 200)); |  | ||||||
| //             panel.Layout();
 |  | ||||||
|         } |  | ||||||
|         update_mode(); // update view mode after fix of the object_list size 
 |  | ||||||
|         			   // to correct later layouts
 |  | ||||||
|     }); |  | ||||||
|   |  | ||||||
|     mainframe->Show(true); |     mainframe->Show(true); | ||||||
| 
 | 
 | ||||||
|     // On OSX the UI was not initialized correctly if the wizard was called
 |     // On OSX the UI was not initialized correctly if the wizard was called
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 YuSanka
						YuSanka