Simple mode: Emboss related improvements:

* Deleted "Add text part/negative volume" items from context menu
* Disable menu item "Split to parts" for object's context menu
* "T"-key doesn't cause an adding of the text-part
* Load 3mf by DnD: Add info dialog for a case of "Load geometry"
  + Change No button to Cancel
This commit is contained in:
YuSanka 2023-01-17 15:02:24 +01:00
parent 402affb035
commit 70ec644ad4
4 changed files with 11 additions and 7 deletions

View File

@ -555,8 +555,8 @@ void MenuFactory::append_menu_items_add_volume(wxMenu* menu)
menu->Destroy(range_id); menu->Destroy(range_id);
if (wxGetApp().get_mode() == comSimple) { if (wxGetApp().get_mode() == comSimple) {
append_menu_item_add_text(menu, ModelVolumeType::MODEL_PART, false); //append_menu_item_add_text(menu, ModelVolumeType::MODEL_PART, false);
append_menu_item_add_text(menu, ModelVolumeType::NEGATIVE_VOLUME, false); //append_menu_item_add_text(menu, ModelVolumeType::NEGATIVE_VOLUME, false);
append_menu_item(menu, wxID_ANY, _(ADD_VOLUME_MENU_ITEMS[int(ModelVolumeType::SUPPORT_ENFORCER)].first), "", append_menu_item(menu, wxID_ANY, _(ADD_VOLUME_MENU_ITEMS[int(ModelVolumeType::SUPPORT_ENFORCER)].first), "",
[](wxCommandEvent&) { obj_list()->load_generic_subobject(L("Box"), ModelVolumeType::SUPPORT_ENFORCER); }, [](wxCommandEvent&) { obj_list()->load_generic_subobject(L("Box"), ModelVolumeType::SUPPORT_ENFORCER); },

View File

@ -2480,6 +2480,9 @@ bool ObjectList::is_splittable(bool to_objects)
return false; return false;
} }
if (wxGetApp().get_mode() == comSimple)
return false; // suppress to split to parts for simple mode
ModelVolume* volume; ModelVolume* volume;
if (!get_volume_by_item(item, volume) || !volume) if (!get_volume_by_item(item, volume) || !volume)
return false; return false;

View File

@ -861,6 +861,9 @@ void GLGizmoEmboss::on_set_state()
if (m_volume == nullptr) { if (m_volume == nullptr) {
// reopen gizmo when new object is created // reopen gizmo when new object is created
GLGizmoBase::m_state = GLGizmoBase::Off; GLGizmoBase::m_state = GLGizmoBase::Off;
if (wxGetApp().get_mode() == comSimple)
// It's impossible to add a part in simple mode
return;
// start creating new object // start creating new object
create_volume(ModelVolumeType::MODEL_PART); create_volume(ModelVolumeType::MODEL_PART);
} }

View File

@ -2641,7 +2641,6 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
} }
if (model.looks_like_multipart_object()) { if (model.looks_like_multipart_object()) {
//wxMessageDialog msg_dlg(q, _L(
MessageDialog msg_dlg(q, _L( MessageDialog msg_dlg(q, _L(
"This file contains several objects positioned at multiple heights.\n" "This file contains several objects positioned at multiple heights.\n"
"Instead of considering them as multiple objects, should \n" "Instead of considering them as multiple objects, should \n"
@ -2652,10 +2651,9 @@ std::vector<size_t> Plater::priv::load_files(const std::vector<fs::path>& input_
} }
} }
} }
else if ((wxGetApp().get_mode() == comSimple) && (type_3mf || type_any_amf) && model_has_advanced_features(model)) { if ((wxGetApp().get_mode() == comSimple) && (type_3mf || type_any_amf) && model_has_advanced_features(model)) {
//wxMessageDialog msg_dlg(q, _L("This file cannot be loaded in a simple mode. Do you want to switch to an advanced mode?")+"\n",
MessageDialog msg_dlg(q, _L("This file cannot be loaded in a simple mode. Do you want to switch to an advanced mode?")+"\n", MessageDialog msg_dlg(q, _L("This file cannot be loaded in a simple mode. Do you want to switch to an advanced mode?")+"\n",
_L("Detected advanced data"), wxICON_WARNING | wxYES | wxNO); _L("Detected advanced data"), wxICON_WARNING | wxYES | wxCANCEL);
if (msg_dlg.ShowModal() == wxID_YES) { if (msg_dlg.ShowModal() == wxID_YES) {
Slic3r::GUI::wxGetApp().save_mode(comAdvanced); Slic3r::GUI::wxGetApp().save_mode(comAdvanced);
view3D->set_as_dirty(); view3D->set_as_dirty();
@ -6156,7 +6154,7 @@ bool Plater::load_files(const wxArrayString& filenames, bool delete_after_load/*
break; break;
} }
case ProjectDropDialog::LoadType::LoadGeometry: { case ProjectDropDialog::LoadType::LoadGeometry: {
Plater::TakeSnapshot snapshot(this, _L("Import Object")); // Plater::TakeSnapshot snapshot(this, _L("Import Object"));
load_files({ *it }, true, false); load_files({ *it }, true, false);
break; break;
} }