FIX: cannot input hotkey chars in 3D Text tool

Signed-off-by: yifan.wu <yifan.wu@bambulab.com>
Change-Id: Ie28fc3943ddcde1e2fa1f607fe9e8d0125399a74
This commit is contained in:
yifan.wu 2022-12-02 22:14:44 +08:00 committed by Lane.Wei
parent 0ad9cd3ff7
commit 98686a708f
3 changed files with 18 additions and 3 deletions

View file

@ -2926,6 +2926,13 @@ void GLCanvas3D::on_char(wxKeyEvent& evt)
break;
// BBS
#ifdef __APPLE__
case 'E':
case 'e':
#else /* __APPLE__ */
case WXK_CONTROL_E:
#endif /* __APPLE__ */
{ m_labels.show(!m_labels.is_shown()); m_dirty = true; break; }
case '0': {
select_view("plate");
zoom_to_bed();
@ -3022,8 +3029,6 @@ void GLCanvas3D::on_char(wxKeyEvent& evt)
case 'C':
case 'c': { m_gcode_viewer.toggle_gcode_window_visibility(); m_dirty = true; request_extra_frame(); break; }
#endif
case 'E':
case 'e': { m_labels.show(!m_labels.is_shown()); m_dirty = true; break; }
//case 'G':
//case 'g': {
// if ((evt.GetModifiers() & shiftMask) != 0) {

View file

@ -1029,6 +1029,14 @@ bool GLGizmosManager::on_char(wxKeyEvent& evt)
//break;
//}
// BBS: Skip all keys when in gizmo. This is necessary for 3D text tool.
default:
{
if (is_running() && m_current == EType::Text) {
processed = true;
}
break;
}
}
}

View file

@ -2151,10 +2151,12 @@ void MainFrame::init_menubar_as_editor()
append_menu_item(editMenu, wxID_ANY, _L("Paste") + "\tCtrl+V",
_L("Paste clipboard"), [this](wxCommandEvent&) { m_plater->paste_from_clipboard(); },
"", nullptr, [this](){return m_plater->can_paste_from_clipboard(); }, this);
#if 0
// BBS Delete selected
append_menu_item(editMenu, wxID_ANY, _L("Delete selected") + "\tBackSpace",
_L("Deletes the current selection"),[this](wxCommandEvent&) { m_plater->remove_selected(); },
"", nullptr, [this](){return can_delete(); }, this);
#endif
//BBS: delete all
append_menu_item(editMenu, wxID_ANY, _L("Delete all") + "\tCtrl+D",
_L("Deletes all objects"),[this](wxCommandEvent&) { m_plater->delete_all_objects_from_model(); },
@ -2229,7 +2231,7 @@ void MainFrame::init_menubar_as_editor()
viewMenu->Check(wxID_CAMERA_ORTHOGONAL + camera_id_base, true);
viewMenu->AppendSeparator();
append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Labels") + "\tE", _L("Show object labels in 3D scene"),
append_menu_check_item(viewMenu, wxID_ANY, _L("Show &Labels") + "\tCtrl+E", _L("Show object labels in 3D scene"),
[this](wxCommandEvent&) { m_plater->show_view3D_labels(!m_plater->are_view3D_labels_shown()); m_plater->get_current_canvas3D()->post_event(SimpleEvent(wxEVT_PAINT)); }, this,
[this]() { return m_plater->is_view3D_shown(); }, [this]() { return m_plater->are_view3D_labels_shown(); }, this);