mirror of
https://github.com/SoftFever/OrcaSlicer.git
synced 2025-07-16 11:17:51 -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
|
class Bed_2D : public wxPanel
|
||||||
{
|
{
|
||||||
bool m_user_drawn_background = false;
|
bool m_user_drawn_background = true;
|
||||||
|
|
||||||
bool m_painted = false;
|
bool m_painted = false;
|
||||||
bool m_interactive = false;
|
bool m_interactive = false;
|
||||||
|
@ -26,7 +26,9 @@ public:
|
||||||
{
|
{
|
||||||
Create(parent, wxID_ANY, wxDefaultPosition, wxSize(250, -1), wxTAB_TRAVERSAL);
|
Create(parent, wxID_ANY, wxDefaultPosition, wxSize(250, -1), wxTAB_TRAVERSAL);
|
||||||
// m_user_drawn_background = $^O ne 'darwin';
|
// 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(); }));
|
Bind(wxEVT_PAINT, ([this](wxPaintEvent e) { repaint(); }));
|
||||||
// EVT_ERASE_BACKGROUND($self, sub{}) if $self->{user_drawn_background};
|
// EVT_ERASE_BACKGROUND($self, sub{}) if $self->{user_drawn_background};
|
||||||
// Bind(EVT_MOUSE_EVENTS, ([this](wxMouseEvent event){/*mouse_event()*/; }));
|
// Bind(EVT_MOUSE_EVENTS, ([this](wxMouseEvent event){/*mouse_event()*/; }));
|
||||||
|
|
|
@ -531,16 +531,44 @@ void PresetCollection::update_tab_ui(wxBitmapComboBox *ui, bool show_incompatibl
|
||||||
return;
|
return;
|
||||||
ui->Freeze();
|
ui->Freeze();
|
||||||
ui->Clear();
|
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) {
|
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];
|
const Preset &preset = this->m_presets[i];
|
||||||
if (! preset.is_visible || (! show_incompatible && ! preset.is_compatible && i != m_idx_selected))
|
if (! preset.is_visible || (! show_incompatible && ! preset.is_compatible && i != m_idx_selected))
|
||||||
continue;
|
continue;
|
||||||
const wxBitmap *bmp = preset.is_compatible ? m_bitmap_compatible : m_bitmap_incompatible;
|
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()),
|
// 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);
|
// (bmp == 0) ? (m_bitmap_main_frame ? *m_bitmap_main_frame : wxNullBitmap) : *bmp);
|
||||||
if (i == m_idx_selected)
|
// if (i == m_idx_selected)
|
||||||
ui->SetSelection(ui->GetCount() - 1);
|
// 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();
|
ui->Thaw();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue