Merge branch 'fs_emboss' of https://github.com/Prusa-Development/PrusaSlicerPrivate into fs_emboss
This commit is contained in:
commit
dddeb94f5c
2 changed files with 28 additions and 11 deletions
src/slic3r/GUI
|
@ -963,24 +963,35 @@ void MenuFactory::append_menu_items_mirror(wxMenu* menu)
|
||||||
[]() { return plater()->can_mirror(); }, m_parent);
|
[]() { return plater()->can_mirror(); }, m_parent);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MenuFactory::append_menu_item_edit_text(wxMenu *menu) {
|
void MenuFactory::append_menu_item_edit_text(wxMenu *menu)
|
||||||
|
{
|
||||||
wxString name = _L("Edit text");
|
wxString name = _L("Edit text");
|
||||||
|
|
||||||
|
auto can_edit_text = []() {
|
||||||
|
const auto& sel = plater()->get_selection();
|
||||||
|
if (sel.volumes_count() != 1) return false;
|
||||||
|
auto cid = sel.get_volume(*sel.get_volume_idxs().begin());
|
||||||
|
const ModelVolume* vol = plater()->canvas3D()->get_model()
|
||||||
|
->objects[cid->object_idx()]->volumes[cid->volume_idx()];
|
||||||
|
return vol->text_configuration.has_value();
|
||||||
|
};
|
||||||
|
|
||||||
|
if (menu == &m_object_menu) {
|
||||||
|
auto menu_item_id = menu->FindItem(name);
|
||||||
|
if (menu_item_id != wxNOT_FOUND)
|
||||||
|
menu->Destroy(menu_item_id);
|
||||||
|
if (!can_edit_text())
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
wxString description = _L("Ability to change text, font, size, ...");
|
wxString description = _L("Ability to change text, font, size, ...");
|
||||||
std::string icon = "";
|
std::string icon = "";
|
||||||
append_menu_item(
|
append_menu_item(
|
||||||
menu, wxID_ANY, name, description,
|
menu, wxID_ANY, name, description,
|
||||||
[](wxCommandEvent &) {
|
[can_edit_text](wxCommandEvent &) {
|
||||||
plater()->canvas3D()->get_gizmos_manager().open_gizmo(GLGizmosManager::Emboss);
|
plater()->canvas3D()->get_gizmos_manager().open_gizmo(GLGizmosManager::Emboss);
|
||||||
},
|
},
|
||||||
icon, nullptr,
|
icon, nullptr, can_edit_text, m_parent);
|
||||||
[]() {
|
|
||||||
const auto& sel = plater()->get_selection();
|
|
||||||
if (sel.volumes_count() != 1) return false;
|
|
||||||
auto cid = sel.get_volume(*sel.get_volume_idxs().begin());
|
|
||||||
const ModelVolume *vol = plater()->canvas3D()->get_model()
|
|
||||||
->objects[cid->object_idx()]->volumes[cid->volume_idx()];
|
|
||||||
return vol->text_configuration.has_value();
|
|
||||||
}, m_parent);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuFactory::MenuFactory()
|
MenuFactory::MenuFactory()
|
||||||
|
@ -1139,6 +1150,7 @@ wxMenu* MenuFactory::object_menu()
|
||||||
append_menu_item_change_extruder(&m_object_menu);
|
append_menu_item_change_extruder(&m_object_menu);
|
||||||
update_menu_items_instance_manipulation(mtObjectFFF);
|
update_menu_items_instance_manipulation(mtObjectFFF);
|
||||||
append_menu_item_invalidate_cut_info(&m_object_menu);
|
append_menu_item_invalidate_cut_info(&m_object_menu);
|
||||||
|
append_menu_item_edit_text(&m_object_menu);
|
||||||
|
|
||||||
return &m_object_menu;
|
return &m_object_menu;
|
||||||
}
|
}
|
||||||
|
@ -1149,6 +1161,7 @@ wxMenu* MenuFactory::sla_object_menu()
|
||||||
append_menu_item_settings(&m_sla_object_menu);
|
append_menu_item_settings(&m_sla_object_menu);
|
||||||
update_menu_items_instance_manipulation(mtObjectSLA);
|
update_menu_items_instance_manipulation(mtObjectSLA);
|
||||||
append_menu_item_invalidate_cut_info(&m_sla_object_menu);
|
append_menu_item_invalidate_cut_info(&m_sla_object_menu);
|
||||||
|
append_menu_item_edit_text(&m_sla_object_menu);
|
||||||
|
|
||||||
return &m_sla_object_menu;
|
return &m_sla_object_menu;
|
||||||
}
|
}
|
||||||
|
|
|
@ -683,6 +683,10 @@ void ObjectList::update_name_in_list(int obj_idx, int vol_idx) const
|
||||||
return;
|
return;
|
||||||
|
|
||||||
m_objects_model->SetName(new_name, item);
|
m_objects_model->SetName(new_name, item);
|
||||||
|
|
||||||
|
// if object has just one volume, rename object too
|
||||||
|
if (ModelObject* obj = object(obj_idx); obj->volumes.size() == 1)
|
||||||
|
obj->name = obj->volumes.front()->name;
|
||||||
}
|
}
|
||||||
|
|
||||||
void ObjectList::selection_changed()
|
void ObjectList::selection_changed()
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue