| 
						
						
							
								
							
						
						
					 | 
					 | 
					@ -1105,19 +1105,11 @@ void ImGui::TableUpdateLayout(ImGuiTable* table) | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    table->IsUsingHeaders = false; | 
					 | 
					 | 
					 | 
					    table->IsUsingHeaders = false; | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // [Part 11] Context menu
 | 
					 | 
					 | 
					 | 
					    // [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); | 
					 | 
					 | 
					 | 
					        TableDrawContextMenu(table); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        EndPopup(); | 
					 | 
					 | 
					 | 
					        EndPopup(); | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					    } | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        else | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        { | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					            table->IsContextPopupOpen = false; | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					        } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    } | 
					 | 
					 | 
					 | 
					 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					
 | 
					 | 
					 | 
					 | 
					
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // [Part 13] Sanitize and build sort specs before we have a change to use them for display.
 | 
					 | 
					 | 
					 | 
					    // [Part 13] Sanitize and build sort specs before we have a change to use them for display.
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					    // This path will only be exercised when sort specs are modified before header rows (e.g. init or visibility change)
 | 
					 | 
					 | 
					 | 
					    // This path will only be exercised when sort specs are modified before header rows (e.g. init or visibility change)
 | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
							
								
							
						
						
					 | 
					 | 
					@ -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)
 | 
					 | 
					 | 
					 | 
					// 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?
 | 
					 | 
					 | 
					 | 
					// FIXME-TABLE: Ideally this should be writable by the user. Full programmatic access to that data?
 | 
				
			
			
		
	
		
		
			
				
					
					 | 
					 | 
					 | 
					void ImGui::TableDrawContextMenu(ImGuiTable* table) | 
					 | 
					 | 
					 | 
					void ImGui::TableDrawContextMenu(ImGuiTable* table) | 
				
			
			
		
	
	
		
		
			
				
					| 
						
							
								
							
						
						
						
					 | 
					 | 
					
  |