Tables: Request user to submit contents when outer host-window is requesting auto-resize. (#6510)

This commit is contained in:
ocornut 2023-09-11 17:16:01 +02:00
parent da21b74313
commit 3aceb61059
2 changed files with 7 additions and 4 deletions

View File

@ -56,6 +56,8 @@ Other changes:
- Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set. - Nav: Tabbing always enable nav highlight when ImGuiConfigFlags_NavEnableKeyboard is set.
Previously was inconsistent and only enabled when stepping through a non-input item. Previously was inconsistent and only enabled when stepping through a non-input item.
(#6802, #3092, #5759, #787) (#6802, #3092, #5759, #787)
- Tables: Request user to submit contents when outer host-window is requesting auto-resize,
so a scrolling table can contribute to initial window size. (#6510)
- Tables: Fixed subtle drawing overlap between borders in some situations. - Tables: Fixed subtle drawing overlap between borders in some situations.
- Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752) [@v-ein] - Tables: Fixed bottom-most and right-most outer border offset by one. (#6765, #3752) [@v-ein]
- Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong - Tables: Fixed top-most outer border being drawn with both TableBorderLight and TableBorderStrong

View File

@ -322,10 +322,11 @@ bool ImGui::BeginTableEx(const char* name, ImGuiID id, int columns_count, ImG
ImVec2 actual_outer_size = CalcItemSize(outer_size, ImMax(avail_size.x, 1.0f), use_child_window ? ImMax(avail_size.y, 1.0f) : 0.0f); ImVec2 actual_outer_size = CalcItemSize(outer_size, ImMax(avail_size.x, 1.0f), use_child_window ? ImMax(avail_size.y, 1.0f) : 0.0f);
ImRect outer_rect(outer_window->DC.CursorPos, outer_window->DC.CursorPos + actual_outer_size); ImRect outer_rect(outer_window->DC.CursorPos, outer_window->DC.CursorPos + actual_outer_size);
if (use_child_window && IsClippedEx(outer_rect, 0)) if (use_child_window && IsClippedEx(outer_rect, 0))
{ if (outer_window->AutoFitFramesX <= 0 && outer_window->AutoFitFramesY <= 0)
ItemSize(outer_rect); {
return false; ItemSize(outer_rect);
} return false;
}
// Acquire storage for the table // Acquire storage for the table
ImGuiTable* table = g.Tables.GetOrAddByKey(id); ImGuiTable* table = g.Tables.GetOrAddByKey(id);