|
|
|
@ -1105,18 +1105,10 @@ void ImGui::TableUpdateLayout(ImGuiTable* table) |
|
|
|
|
table->IsUsingHeaders = false; |
|
|
|
|
|
|
|
|
|
// [Part 11] Context menu
|
|
|
|
|
if (table->IsContextPopupOpen && table->InstanceCurrent == table->InstanceInteracted) |
|
|
|
|
if (TableBeginContextMenuPopup(table)) |
|
|
|
|
{ |
|
|
|
|
const ImGuiID context_menu_id = ImHashStr("##ContextMenu", 0, table->ID); |
|
|
|
|
if (BeginPopupEx(context_menu_id, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoSavedSettings)) |
|
|
|
|
{ |
|
|
|
|
TableDrawContextMenu(table); |
|
|
|
|
EndPopup(); |
|
|
|
|
} |
|
|
|
|
else |
|
|
|
|
{ |
|
|
|
|
table->IsContextPopupOpen = false; |
|
|
|
|
} |
|
|
|
|
TableDrawContextMenu(table); |
|
|
|
|
EndPopup(); |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// [Part 13] Sanitize and build sort specs before we have a change to use them for display.
|
|
|
|
@ -3035,6 +3027,17 @@ void ImGui::TableOpenContextMenu(int column_n) |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
bool ImGui::TableBeginContextMenuPopup(ImGuiTable* table) |
|
|
|
|
{ |
|
|
|
|
if (!table->IsContextPopupOpen || table->InstanceCurrent != table->InstanceInteracted) |
|
|
|
|
return false; |
|
|
|
|
const ImGuiID context_menu_id = ImHashStr("##ContextMenu", 0, table->ID); |
|
|
|
|
if (BeginPopupEx(context_menu_id, ImGuiWindowFlags_AlwaysAutoResize | ImGuiWindowFlags_NoTitleBar | ImGuiWindowFlags_NoSavedSettings)) |
|
|
|
|
return true; |
|
|
|
|
table->IsContextPopupOpen = false; |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// Output context menu into current window (generally a popup)
|
|
|
|
|
// FIXME-TABLE: Ideally this should be writable by the user. Full programmatic access to that data?
|
|
|
|
|
void ImGui::TableDrawContextMenu(ImGuiTable* table) |
|
|
|
|