Cut WIP: Added shortcuts for "Edit connectors" ImGuiDialog
+ Added processing for the Ctrl+A ("Select All connectors")
This commit is contained in:
parent
e990254d52
commit
27f7a8da0f
7 changed files with 60 additions and 2 deletions
resources/icons
src
13
resources/icons/collapse_btn.svg
Normal file
13
resources/icons/collapse_btn.svg
Normal file
|
@ -0,0 +1,13 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
||||
<g id="expand">
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="4" y1="8" x2="8" y2="4"/></g>
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="8" y1="4" x2="12" y2="8"/></g>
|
||||
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="4" y1="12" x2="8" y2="8"/></g>
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="8" y1="8" x2="12" y2="12"/></g>
|
||||
|
||||
</g>
|
||||
</svg>
|
After (image error) Size: 919 B |
12
resources/icons/expand_btn.svg
Normal file
12
resources/icons/expand_btn.svg
Normal file
|
@ -0,0 +1,12 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 23.0.3, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.0" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 16 16" enable-background="new 0 0 16 16" xml:space="preserve">
|
||||
<g id="expand">
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="4" y1="4" x2="8" y2="8"/></g>
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="8" y1="8" x2="12" y2="4"/></g>
|
||||
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="4" y1="8" x2="8" y2="12"/></g>
|
||||
<g><line fill="none" stroke="#FFFFFF" stroke-width="1" stroke-linecap="round" stroke-miterlimit="10" x1="8" y1="12" x2="12" y2="8"/></g>
|
||||
</g>
|
||||
</svg>
|
After (image error) Size: 915 B |
|
@ -170,6 +170,8 @@ namespace ImGui
|
|||
const wchar_t LegendShells = 0x2616;
|
||||
const wchar_t LegendToolMarker = 0x2617;
|
||||
const wchar_t WarningMarkerSmall = 0x2618;
|
||||
const wchar_t ExpandBtn = 0x2619;
|
||||
const wchar_t CollapseBtn = 0x2620;
|
||||
|
||||
// void MyFunction(const char* name, const MyMatrix44& v);
|
||||
}
|
||||
|
|
|
@ -783,6 +783,17 @@ bool GLGizmoCut3D::on_init()
|
|||
m_grabbers.emplace_back();
|
||||
m_shortcut_key = WXK_CONTROL_C;
|
||||
|
||||
// initiate info shortcuts
|
||||
const wxString ctrl = GUI::shortkey_ctrl_prefix();
|
||||
const wxString alt = GUI::shortkey_alt_prefix();
|
||||
|
||||
m_shortcuts.push_back(std::make_pair(_L("Left click"), _L("Add connector")));
|
||||
m_shortcuts.push_back(std::make_pair(_L("Right click"), _L("Remove connector")));
|
||||
m_shortcuts.push_back(std::make_pair(_L("Drag"), _L("Move connector")));
|
||||
m_shortcuts.push_back(std::make_pair(ctrl + _L("Left click"), _L("Add connector to selection")));
|
||||
m_shortcuts.push_back(std::make_pair(alt + _L("Left click"), _L("Remove connector from selection")));
|
||||
m_shortcuts.push_back(std::make_pair(ctrl + "A", _L("Select all connectors")));
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -1258,7 +1269,18 @@ void GLGizmoCut3D::on_render_input_window(float x, float y, float bottom_limit)
|
|||
if (m_imgui->button(_L("Add/Edit connectors")))
|
||||
m_connectors_editing = true;
|
||||
m_imgui->disabled_end();
|
||||
} else { // connectors mode
|
||||
}
|
||||
else { // connectors mode
|
||||
if (m_imgui->button("? " + (m_show_shortcuts ? wxString(ImGui::CollapseBtn) : wxString(ImGui::ExpandBtn))))
|
||||
m_show_shortcuts = !m_show_shortcuts;
|
||||
|
||||
if (m_show_shortcuts)
|
||||
for (const auto& shortcut : m_shortcuts ){
|
||||
m_imgui->text_colored(ImGuiWrapper::COL_ORANGE_LIGHT, shortcut.first);
|
||||
ImGui::SameLine(m_label_width);
|
||||
m_imgui->text(shortcut.second);
|
||||
}
|
||||
|
||||
m_imgui->disabled_begin(!m_keep_lower || !m_keep_upper);
|
||||
// Connectors section
|
||||
ImGui::Separator();
|
||||
|
@ -1778,6 +1800,10 @@ bool GLGizmoCut3D::gizmo_event(SLAGizmoEventType action, const Vec2d& mouse_posi
|
|||
|
||||
return true;
|
||||
}
|
||||
else if (action == SLAGizmoEventType::SelectAll) {
|
||||
std::fill(m_selected.begin(), m_selected.end(), true);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
|
|
|
@ -98,6 +98,9 @@ class GLGizmoCut3D : public GLGizmoBase
|
|||
Matrix3d m_rotation_matrix;
|
||||
Vec3d m_rotations{ Vec3d::Zero() };
|
||||
|
||||
bool m_show_shortcuts{ false };
|
||||
std::vector<std::pair<wxString, wxString>> m_shortcuts;
|
||||
|
||||
enum class CutMode {
|
||||
cutPlanar
|
||||
, cutGrig
|
||||
|
|
|
@ -505,7 +505,7 @@ bool GLGizmosManager::on_char(wxKeyEvent& evt)
|
|||
#endif /* __APPLE__ */
|
||||
{
|
||||
// Sla gizmo selects all support points
|
||||
if ((m_current == SlaSupports || m_current == Hollow) && gizmo_event(SLAGizmoEventType::SelectAll))
|
||||
if ((m_current == SlaSupports || m_current == Hollow || m_current == Cut) && gizmo_event(SLAGizmoEventType::SelectAll))
|
||||
processed = true;
|
||||
|
||||
break;
|
||||
|
|
|
@ -76,6 +76,8 @@ static const std::map<const wchar_t, std::string> font_icons = {
|
|||
#endif // ENABLE_LEGEND_TOOLBAR_ICONS
|
||||
{ImGui::RevertButton , "undo" },
|
||||
{ImGui::WarningMarkerSmall , "notification_warning" },
|
||||
{ImGui::ExpandBtn , "expand_btn" },
|
||||
{ImGui::CollapseBtn , "collapse_btn" },
|
||||
};
|
||||
|
||||
static const std::map<const wchar_t, std::string> font_icons_large = {
|
||||
|
|
Loading…
Reference in a new issue