mirror of
				https://github.com/SoftFever/OrcaSlicer.git
				synced 2025-10-31 20:51:12 -06:00 
			
		
		
		
	Added preset grouping to PresetCollection::update_tab_ui
This commit is contained in:
		
							parent
							
								
									0cca7bb5e7
								
							
						
					
					
						commit
						fa4462514b
					
				
					 2 changed files with 36 additions and 6 deletions
				
			
		|  | @ -6,7 +6,7 @@ namespace GUI { | |||
| 
 | ||||
| class Bed_2D : public wxPanel | ||||
| { | ||||
| 	bool		m_user_drawn_background = false; | ||||
| 	bool		m_user_drawn_background = true; | ||||
| 
 | ||||
| 	bool		m_painted = false; | ||||
| 	bool		m_interactive = false; | ||||
|  | @ -26,7 +26,9 @@ public: | |||
| 	{ | ||||
| 		Create(parent, wxID_ANY, wxDefaultPosition, wxSize(250, -1), wxTAB_TRAVERSAL); | ||||
| //		m_user_drawn_background = $^O ne 'darwin';
 | ||||
| 		m_user_drawn_background = true; | ||||
| #ifdef __APPLE__ | ||||
| 		m_user_drawn_background = false; | ||||
| #endif /*__APPLE__*/ | ||||
| 		Bind(wxEVT_PAINT, ([this](wxPaintEvent e) { repaint(); })); | ||||
| //		EVT_ERASE_BACKGROUND($self, sub{}) if $self->{user_drawn_background};
 | ||||
| //		Bind(EVT_MOUSE_EVENTS, ([this](wxMouseEvent  event){/*mouse_event()*/; }));
 | ||||
|  |  | |||
|  | @ -531,16 +531,44 @@ void PresetCollection::update_tab_ui(wxBitmapComboBox *ui, bool show_incompatibl | |||
|         return; | ||||
|     ui->Freeze(); | ||||
|     ui->Clear(); | ||||
| 	std::map<wxString, bool> nonsys_presets; | ||||
| 	wxString selected = ""; | ||||
|     for (size_t i = this->m_presets.front().is_visible ? 0 : 1; i < this->m_presets.size(); ++ i) { | ||||
|         const Preset &preset = this->m_presets[i]; | ||||
|         if (! preset.is_visible || (! show_incompatible && ! preset.is_compatible && i != m_idx_selected)) | ||||
|             continue; | ||||
|         const wxBitmap *bmp = preset.is_compatible ? m_bitmap_compatible : m_bitmap_incompatible; | ||||
|         ui->Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str()), | ||||
|             (bmp == 0) ? (m_bitmap_main_frame ? *m_bitmap_main_frame : wxNullBitmap) : *bmp); | ||||
| 		if (i == m_idx_selected) | ||||
|             ui->SetSelection(ui->GetCount() - 1); | ||||
| //         ui->Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str()),
 | ||||
| //             (bmp == 0) ? (m_bitmap_main_frame ? *m_bitmap_main_frame : wxNullBitmap) : *bmp);
 | ||||
| // 		if (i == m_idx_selected)
 | ||||
| //             ui->SetSelection(ui->GetCount() - 1);
 | ||||
| 
 | ||||
| 		if (preset.is_default || preset.is_system){ | ||||
| 			ui->Append(wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str()), | ||||
| 				(bmp == 0) ? (m_bitmap_main_frame ? *m_bitmap_main_frame : wxNullBitmap) : *bmp); | ||||
| 			if (i == m_idx_selected) | ||||
| 				ui->SetSelection(ui->GetCount() - 1); | ||||
| 		} | ||||
| 		else | ||||
| 		{ | ||||
| 			nonsys_presets.emplace(wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str()), preset.is_compatible); | ||||
| 			if (i == m_idx_selected) | ||||
| 				selected = wxString::FromUTF8((preset.name + (preset.is_dirty ? g_suffix_modified : "")).c_str()); | ||||
| 		} | ||||
| 		if (preset.is_default) | ||||
| 			ui->Append("______________________", wxNullBitmap); | ||||
|     } | ||||
| 	if (!nonsys_presets.empty()) | ||||
| 	{ | ||||
| 		ui->Append("______________________", wxNullBitmap); | ||||
| 		for (std::map<wxString, bool>::iterator it = nonsys_presets.begin(); it != nonsys_presets.end(); ++it) { | ||||
| 			const wxBitmap *bmp = it->second ? m_bitmap_compatible : m_bitmap_incompatible; | ||||
| 			ui->Append(it->first, | ||||
| 				(bmp == 0) ? (m_bitmap_main_frame ? *m_bitmap_main_frame : wxNullBitmap) : *bmp); | ||||
| 			if (it->first == selected) | ||||
| 				ui->SetSelection(ui->GetCount() - 1); | ||||
| 		} | ||||
| 	} | ||||
|     ui->Thaw(); | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 YuSanka
						YuSanka