e26dc83071 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) RequestSetRange's parameter are RangeFirstItem...RangeLastItem (which was always ordered unlike RangeSrcItem...RangeDstItme). Removed RangeDstItem. Removed RangeDirection.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								4db4912d35 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: clear selection when leaving a scope with a nav directional request.  
							
							... 
							
							
 
							
							May need to clarify how to depends on actions being performed (e.g. click doesn't).
May become optional? 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								17b1bf2c5c 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Tweak debug log to print decimal+hex values for item data.  
							
							... 
							
							
 
							
							Struggled to get standard PRIX64 to work on CI. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								9b778ae71e 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: move HasSelectionData to ImGuiItemFlags to facilitate copying around in standardized fieds.  
							
							... 
							
							
 
							
							Required/motivated to simplify support for ImGuiTreeNodeFlags_NavLeftJumpsBackHere (bc3c0ce 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								d0f6c7a9ce 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Use ImGuiSelectionUserData (= ImS64) instead of void* for selection user data.  
							
							... 
							
							
 
							
							Less confusing for most users, less casting. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								27300e95e5 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Comments, tweaks.  
							
							... 
							
							
 
							
							+ Alignment to reduce noise on next commit. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								ec228c2c71 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Fix + Rename ImGuiMultiSelectFlags_NoMultiSelect to ImGuiMultiSelectFlags_SingleSelect as it seems easier to grasp.  
							
							... 
							
							
 
							
							Feature was broken by "Tidying up..." June 30 commit. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								ecba972102 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Cleanup unused comments/code.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								1c7f3590a2 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								4141d6fba6 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Delete items from menu.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								3d962dd5a5 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Further simplication of user code to support Deletion.  
							
							... 
							
							
 
							
							Provide standard RequestFocusItem storage. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								a1d829eaf7 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Maintain NavIdSelected for user. Simplify deletion demo.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								1392cd3b9d 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) BeginMultiSelect() doesn't need two last params maintained by users. Moving some storage from user to core. Proper deletion demo.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								2e38a62a63 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: first-draft of user-side deletion idioms.  
							
							... 
							
							
 
							
							(will need support from lib) 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								4ba6dc2a3f 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Clarify and better enforce lifetime of BeginMultiSelect() value.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								8a31490921 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Tidying up/simpllifying MultiSelectItemFooter().  
							
							... 
							
							
 
							
							Intended to be entirely a no-op, merely a transform of source code for simplification. But committing separatey from behavior change in previous change. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								59971d5aed 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Remove the need for using IsItemToggledSelection(). Update comments.  
							
							... 
							
							
 
							
							This is the simple version that past our tests. MultiSelectItemFooter() is in need of a cleanup. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								107ea818de 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Remove ImGuiMultiSelectFlags_NoUnselect because I currently can't find use for this specific design.  
							
							... 
							
							
 
							
							And/or it seem partly broken. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								11a6d47b38 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Renamed 'RangeValue' -> 'RangeSelected' + amend comments.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								8790b8136d 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Renamed 'RangeSrc -> 'RangeSrcItem', "RangeDst' -> 'RangeDstItem'  
							
							... 
							
							
 
							
							This is necessary to have consistent names in upcoming fields (NavIdItem etc.) 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								de974955e6 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Internals rename of IO fields to avoid ambiguity with io/rw concepts + memset constructors, tweaks.  
							
							... 
							
							
 
							
							debug 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								20e46d4180 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo tweak. Removed multi-scope from Advanced (too messy), made it a seperate mini-demo.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								507790eeaa 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Rename ImGuiMultiSelectData to ImGuiMultiSelectIO.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								826b23fa5f 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: refactor before introducing persistant state pool and to facilitate adding recursion + debug log calls.  
							
							... 
							
							
 
							
							This is mostly the noisy/shallow stuff committed here, to get this out of the way. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								7c81fc8bab 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: removed DragDropActive/preserve_existing_selection logic which seems unused + comments.  
							
							... 
							
							
 
							
							Can't find trace of early prototype for range-select but I couldn't find way to trigger this anymore. May be wrong. Will find out. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								ebbca15bde 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Enter can alter selection if current item is not selected.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								94adf6b2ba 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: made SetNextItemSelectionData() optional to allow disjoint selection (e.g. with a CollapsingHeader between items). Amend demo.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								85a7202129 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fixed needing to set RangeSrcPassedBy when not using clipper.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								aca7304ab5 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Shallow tweaks/refactors.  
							
							... 
							
							
 
							
							Including moving IsFocused back internally for now. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								72e5526676 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Enter doesn't alter selection (unlike Space).  
							
							... 
							
							
 
							
							Fix for changes done in 5606. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								7762093e40 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_ClearOnClickWindowVoid. + Demo: showcase multiple selection scopes in same window.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								e401194989 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Added pointer indirection and indent level.  
							
							... 
							
							
 
							
							This is to reduce noise for upcoming commits, ahead of adding a loop here. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								b08f438669 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_ClearOnEscape (unsure of best design), expose IsFocused for custom shortcuts.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								3e91dc82a0 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Add a simpler version.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								3953aae1ec 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fixed issue with Ctrl+click on TreeNode + amend demo to test drag and drop.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								21b2691e55 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Temporary fix/work-around for child/popup to not inherit MultiSelectEnabled flag, until we make mulit-select data stackable.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								25f49eaf42 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fix testing key mods from after the nav request (remove need to hold the mod longer)  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								b295efc68f 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fix Selectable() ambiguous return value, clarify need to use IsItemToggledSelection().  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								4b78376f45 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Comments. Tweak demo.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								09e193bc13 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fixed CTRL+A not testing focus scope id. Fixed CTRL+A not testing active id. Added demo code.  
							
							... 
							
							
 
							
							Comments. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								99b033666e 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fix for TreeNode following merge of  011d4755. Demo: basic test for tree nodes.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								5528bc2369 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Transition to use FocusScope bits merged in master.  
							
							... 
							
							
 
							
							Preserve ability to shift+arrow into an item that is part of FocusScope but doesn't carry a selection without breaking selection. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								ef3c860ae3 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Renamed SetNextItemMultiSelectData() to SetNextItemSelectionData()  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								ad31d369c3 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo sharing selection helper code. Fixed static analyzer warnings.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								4e5d65bc07 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Added IMGUI_HAS_MULTI_SELECT define. Fixed right-click toggling selection without clearing active id, could lead to MarkItemEdited() asserting. Fixed demo.  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								1480619c41 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Removed SelectableSpacing as I'm not sure it is of use for now (history insert)  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								e8ae391bc4 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: WIP range-select (ref 1861) [rebased]  
							
							... 
							
							
 
							
							Internals: Rename ImGuiSelectableFlags_PressedOnXXX to ImGuiSelectableFlags_SelectOnXXX, ImGuiButtonFlags_NoHoveredOnNav to ImGuiButtonFlags_NoHoveredOnFocus.
Rebased 2023/05/20 (reworked demo locations), 2023/05/23 (rename some local to reduce noise in future commits)
Major rebase 2023/09/12 since master added ImGuiSelectionUserData + SetNextItemSelectionUserData() + add ImGuiItemFlags_IsMultiSelect. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								8caf7afbad 
								
							
								 
							
						 
						
							
							
								
								Internals: made ImLowerBound() accessible in internals + take a span. + rearrange child/popup/tooltips section.  
							
							... 
							
							
 
							
							Because upcoming rework of ImGuiSelectionBasicStorage will want to do a lower bound on a span. 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								22d65c7949 
								
							
								 
							
						 
						
							
							
								
								Removed old nested structure: renaming ImGuiStorage::ImGuiStoragePair type to ImGuiStoragePair (simpler for many languages).  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
				
					
						
							
							
								 
						
							
							
								7538ca6f40 
								
							
								 
							
						 
						
							
							
								
								Examples: SDL+Vulkan: handle swap chain resize even without Vulkan returning VK_SUBOPTIMAL_KHR ( #7671 )  
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)