From 07acc8bc87aeb95708a52fb6ccf3f73b0efe59c9 Mon Sep 17 00:00:00 2001 From: ocornut Date: Wed, 1 Apr 2026 20:05:17 +0200 Subject: [PATCH] Tables: Angled Headers: angled section for column being reordered via the regular headers stay highlighted during reordering. Easily possible thanks to 6603cde. --- docs/CHANGELOG.txt | 2 ++ imgui_tables.cpp | 2 +- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/docs/CHANGELOG.txt b/docs/CHANGELOG.txt index d71ed5b5c..9dcb1b286 100644 --- a/docs/CHANGELOG.txt +++ b/docs/CHANGELOG.txt @@ -95,6 +95,8 @@ Other Changes: - Tables: - Fixed dragging a header to reorder outside of visible bounds (due to horizontal scrolling) from losing active id. + - Angled Headers: angled section for column being reordered via the regular headers + stays highlighted during reordering. - Style: - Border sizes are now scaled (and rounded) by ScaleAllSizes(). - When using large values with ScallAllSizes(), the following items thickness diff --git a/imgui_tables.cpp b/imgui_tables.cpp index a64f4c053..3d6ac81fd 100644 --- a/imgui_tables.cpp +++ b/imgui_tables.cpp @@ -3308,7 +3308,7 @@ void ImGui::TableAngledHeadersRow() // Which column needs highlight? const ImGuiID row_id = GetID("##AngledHeaders"); ImGuiTableInstanceData* table_instance = TableGetInstanceData(table, table->InstanceCurrent); - int highlight_column_n = table->HighlightColumnHeader; + int highlight_column_n = (table->LastHeldHeaderColumn != -1) ? table->LastHeldHeaderColumn : table->HighlightColumnHeader; if (highlight_column_n == -1 && table->HoveredColumnBody != -1) if (table_instance->HoveredRowLast == 0 && table->HoveredColumnBorder == -1 && (g.ActiveId == 0 || g.ActiveId == row_id || (table->IsActiveIdInTable || g.DragDropActive))) highlight_column_n = table->HoveredColumnBody;