FIX: ObjectSetting changed when search plate
JIRA: STUDIO-5095 Signed-off-by: Kunlong Ma <kunlong.ma@bambulab.com> Change-Id: I39b1ad997d51ac4224ff5ad2b3555f56da4bd911
This commit is contained in:
parent
23b2edda34
commit
8e246b4165
|
@ -212,10 +212,13 @@ bool ObjectSettings::update_settings_list()
|
||||||
if (type == itPlate) {
|
if (type == itPlate) {
|
||||||
is_plate_settings = true;
|
is_plate_settings = true;
|
||||||
|
|
||||||
|
int plate_id = objects_model->GetPlateIdByItem(item);
|
||||||
|
assert(plate_id >= 0);
|
||||||
|
|
||||||
static ModelConfig cfg;
|
static ModelConfig cfg;
|
||||||
auto plate = wxGetApp().plater()->get_partplate_list().get_curr_plate();
|
PartPlateList& ppl = wxGetApp().plater()->get_partplate_list();
|
||||||
cfg.assign_config(*plate->config());
|
cfg.assign_config(*ppl.get_plate(plate_id)->config());
|
||||||
plate_configs.emplace(plate, &cfg);
|
plate_configs.emplace(ppl.get_plate(plate_id), &cfg);
|
||||||
}
|
}
|
||||||
if (type != itObject && type != itVolume && type != itLayerRoot && type != itLayer) {
|
if (type != itObject && type != itVolume && type != itLayerRoot && type != itLayer) {
|
||||||
continue;
|
continue;
|
||||||
|
|
|
@ -1364,6 +1364,19 @@ int ObjectDataViewModel::GetIdByItem(const wxDataViewItem& item) const
|
||||||
return it - m_objects.begin();
|
return it - m_objects.begin();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int ObjectDataViewModel::GetPlateIdByItem(const wxDataViewItem& item) const
|
||||||
|
{
|
||||||
|
if (!item.IsOk())
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
ObjectDataViewModelNode* node = static_cast<ObjectDataViewModelNode*>(item.GetID());
|
||||||
|
auto it = find(m_plates.begin(), m_plates.end(), node);
|
||||||
|
if (it == m_plates.end())
|
||||||
|
return -1;
|
||||||
|
|
||||||
|
return it - m_plates.begin();
|
||||||
|
}
|
||||||
|
|
||||||
int ObjectDataViewModel::GetIdByItemAndType(const wxDataViewItem& item, const ItemType type) const
|
int ObjectDataViewModel::GetIdByItemAndType(const wxDataViewItem& item, const ItemType type) const
|
||||||
{
|
{
|
||||||
wxASSERT(item.IsOk());
|
wxASSERT(item.IsOk());
|
||||||
|
|
|
@ -370,6 +370,7 @@ public:
|
||||||
wxDataViewItem GetItemByLayerRange(const int obj_idx, const t_layer_height_range& layer_range);
|
wxDataViewItem GetItemByLayerRange(const int obj_idx, const t_layer_height_range& layer_range);
|
||||||
int GetItemIdByLayerRange(const int obj_idx, const t_layer_height_range& layer_range);
|
int GetItemIdByLayerRange(const int obj_idx, const t_layer_height_range& layer_range);
|
||||||
int GetIdByItem(const wxDataViewItem& item) const;
|
int GetIdByItem(const wxDataViewItem& item) const;
|
||||||
|
int GetPlateIdByItem(const wxDataViewItem& item) const;
|
||||||
int GetIdByItemAndType(const wxDataViewItem& item, const ItemType type) const;
|
int GetIdByItemAndType(const wxDataViewItem& item, const ItemType type) const;
|
||||||
int GetObjectIdByItem(const wxDataViewItem& item) const;
|
int GetObjectIdByItem(const wxDataViewItem& item) const;
|
||||||
int GetVolumeIdByItem(const wxDataViewItem& item) const;
|
int GetVolumeIdByItem(const wxDataViewItem& item) const;
|
||||||
|
|
Loading…
Reference in New Issue