From fef36a931d8feed523c194c73e299a9633f87ec0 Mon Sep 17 00:00:00 2001 From: "chunmao.guo" Date: Mon, 26 Jun 2023 21:03:31 +0800 Subject: [PATCH] FIX: [STUDIO-3377] [STUDIO-3376] fix layer heigth ui Change-Id: If0ac1282c450432bb234325ca1c1b952dd33cb89 --- src/slic3r/GUI/GUI_ObjectLayers.cpp | 4 ++-- src/slic3r/GUI/GUI_ObjectList.cpp | 8 ++++++-- src/slic3r/GUI/ObjectDataViewModel.cpp | 4 ++++ src/slic3r/GUI/PartPlate.cpp | 3 ++- 4 files changed, 14 insertions(+), 5 deletions(-) diff --git a/src/slic3r/GUI/GUI_ObjectLayers.cpp b/src/slic3r/GUI/GUI_ObjectLayers.cpp index 5577ccc2c..0d2033646 100644 --- a/src/slic3r/GUI/GUI_ObjectLayers.cpp +++ b/src/slic3r/GUI/GUI_ObjectLayers.cpp @@ -44,8 +44,8 @@ void ObjectLayers::select_editor(LayerRangeEditor* editor, const bool is_last_ed #ifdef __WXOSX__ wxTheApp->CallAfter([editor]() { #endif - editor->SetFocus(); - editor->SelectAll(); + //editor->SetFocus(); + //editor->SelectAll(); #ifdef __WXOSX__ }); #endif diff --git a/src/slic3r/GUI/GUI_ObjectList.cpp b/src/slic3r/GUI/GUI_ObjectList.cpp index 9d8e84e6f..6b7512838 100644 --- a/src/slic3r/GUI/GUI_ObjectList.cpp +++ b/src/slic3r/GUI/GUI_ObjectList.cpp @@ -382,7 +382,8 @@ void ObjectList::create_objects_ctrl() return m_objects_model->GetDefaultExtruderIdx(GetSelection()); }); bmp_choice_renderer->set_has_default_extruder([this]() { - return m_objects_model->GetVolumeType(GetSelection()) == ModelVolumeType::PARAMETER_MODIFIER; + return m_objects_model->GetVolumeType(GetSelection()) == ModelVolumeType::PARAMETER_MODIFIER || + m_objects_model->GetItemType(GetSelection()) == itLayer; }); AppendColumn(new wxDataViewColumn(_L("Fila."), bmp_choice_renderer, colFilament, m_columns_width[colFilament] * em, wxALIGN_CENTER_HORIZONTAL, 0)); @@ -2968,7 +2969,7 @@ DynamicPrintConfig ObjectList::get_default_layer_config(const int obj_idx) int extruder = object(obj_idx)->config.has("extruder") ? object(obj_idx)->config.opt_int("extruder") : wxGetApp().preset_bundle->prints.get_edited_preset().config.opt_float("extruder"); - config.set_key_value("extruder", new ConfigOptionInt(extruder)); + config.set_key_value("extruder", new ConfigOptionInt(0)); return config; } @@ -5614,6 +5615,9 @@ void ObjectList::set_extruder_for_selected_items(const int extruder) } } + if (type & itLayerRoot) + continue; + ModelConfig& config = get_item_config(item); if (config.has("extruder")) config.set("extruder", extruder); diff --git a/src/slic3r/GUI/ObjectDataViewModel.cpp b/src/slic3r/GUI/ObjectDataViewModel.cpp index 61d80b107..6352c9253 100644 --- a/src/slic3r/GUI/ObjectDataViewModel.cpp +++ b/src/slic3r/GUI/ObjectDataViewModel.cpp @@ -375,6 +375,10 @@ void ObjectDataViewModelNode::UpdateExtruderAndColorIcon(wxString extruder /*= " m_extruder_bmp = *get_default_extruder_color_icon(); return; } + else if (m_type & itLayer) { + m_extruder_bmp = *get_default_extruder_color_icon(); + return; + } else { m_extruder_bmp = wxNullBitmap; return; diff --git a/src/slic3r/GUI/PartPlate.cpp b/src/slic3r/GUI/PartPlate.cpp index 62a2449f5..9fec20eba 100644 --- a/src/slic3r/GUI/PartPlate.cpp +++ b/src/slic3r/GUI/PartPlate.cpp @@ -1304,7 +1304,8 @@ std::vector PartPlate::get_extruders(bool conside_custom_gcode) const // layer range for (auto layer_range : mo->layer_config_ranges) { if (layer_range.second.has("extruder")) { - plate_extruders.push_back(layer_range.second.option("extruder")->getInt()); + if (auto id = layer_range.second.option("extruder")->getInt(); id > 0) + plate_extruders.push_back(id); } }