Fix hierarchy rename field behavior

This commit is contained in:
2026-03-30 00:49:10 +08:00
parent 7aca8199be
commit 416aa72194
3 changed files with 101 additions and 45 deletions

View File

@@ -210,6 +210,9 @@ inline InlineRenameFieldResult DrawInlineRenameField(
ImGuiInputTextFlags flags = ImGuiInputTextFlags_EnterReturnsTrue | ImGuiInputTextFlags_AutoSelectAll) {
ImGui::PushStyleVar(ImGuiStyleVar_FramePadding, InlineRenameFieldFramePadding());
ImGui::PushStyleVar(ImGuiStyleVar_FrameRounding, InlineRenameFieldRounding());
ImGui::PushStyleColor(ImGuiCol_FrameBg, InlineRenameFieldBackgroundColor());
ImGui::PushStyleColor(ImGuiCol_FrameBgHovered, InlineRenameFieldHoveredColor());
ImGui::PushStyleColor(ImGuiCol_FrameBgActive, InlineRenameFieldActiveColor());
ImGui::SetNextItemWidth(width);
if (requestFocus) {
ImGui::SetKeyboardFocusHere();
@@ -219,6 +222,7 @@ inline InlineRenameFieldResult DrawInlineRenameField(
const bool active = ImGui::IsItemActive();
const bool deactivated = ImGui::IsItemDeactivated();
const bool cancelRequested = active && ImGui::IsKeyPressed(ImGuiKey_Escape);
ImGui::PopStyleColor(3);
ImGui::PopStyleVar(2);
return InlineRenameFieldResult{ submitted, cancelRequested, deactivated, active };