From 9701810bc36577d443422b2894ba1a580faef13b Mon Sep 17 00:00:00 2001 From: ocornut Date: Mon, 7 Apr 2025 11:41:21 +0200 Subject: [PATCH] TreeNode: adding ImGuiTreeNodeFlags_NoNavFocus in imgui_internal.h (#8551) --- imgui_internal.h | 1 + imgui_widgets.cpp | 2 ++ 2 files changed, 3 insertions(+) diff --git a/imgui_internal.h b/imgui_internal.h index ff1a8d8ac..a5bb47e03 100644 --- a/imgui_internal.h +++ b/imgui_internal.h @@ -994,6 +994,7 @@ enum ImGuiSelectableFlagsPrivate_ // Extend ImGuiTreeNodeFlags_ enum ImGuiTreeNodeFlagsPrivate_ { + ImGuiTreeNodeFlags_NoNavFocus = 1 << 27,// Don't claim nav focus when interacting with this item (#8551) ImGuiTreeNodeFlags_ClipLabelForTrailingButton = 1 << 28,// FIXME-WIP: Hard-coded for CollapsingHeader() ImGuiTreeNodeFlags_UpsideDownArrow = 1 << 29,// FIXME-WIP: Turn Down arrow into an Up arrow, for reversed trees (#6517) ImGuiTreeNodeFlags_OpenOnMask_ = ImGuiTreeNodeFlags_OpenOnDoubleClick | ImGuiTreeNodeFlags_OpenOnArrow, diff --git a/imgui_widgets.cpp b/imgui_widgets.cpp index 883a2648d..e882d85ee 100644 --- a/imgui_widgets.cpp +++ b/imgui_widgets.cpp @@ -6691,6 +6691,8 @@ bool ImGui::TreeNodeBehavior(ImGuiID id, ImGuiTreeNodeFlags flags, const char* l button_flags |= ImGuiButtonFlags_PressedOnClickRelease | ImGuiButtonFlags_PressedOnDoubleClick; else button_flags |= ImGuiButtonFlags_PressedOnClickRelease; + if (flags & ImGuiTreeNodeFlags_NoNavFocus) + button_flags |= ImGuiButtonFlags_NoNavFocus; bool selected = (flags & ImGuiTreeNodeFlags_Selected) != 0; const bool was_selected = selected;