ocornut
							
						 
						
							 
							
							
							
								
							
								84600712d5 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: use a single ImGuiMultiSelectIO buffer.  
							
							 
							
							... 
							
							
 
							
							+ using local storage var in EndMultiSelect(), should be no-op. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								075e223a1d 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: added support for recovery in ErrorCheckEndWindowRecover().  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								2755c0f819 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: we don't need to ever write to EndIO.RangeSrcItem as this is not meant to be used.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								a882002c0b 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) io contains a ImVector<ImGuiSelectionRequest> list.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								5e2b4f3f43 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: added missing call on Shutdown(). Better reuse selection buffer.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								0416519d80 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: clarified purpose and use of IsItemToggledSelection(). Added assert. Moved to multi-selection section of imgui.h.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								084fdc054f 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: removed seemingly unnecessary block in BeginMultiSelect().  
							
							 
							
							... 
							
							
 
							
							- EndIO.RangeSelected always set along with EndIO.RequestSetRange
- Trying to assert for the assignment making a difference when EndIO.RequestSetRange is already set couldn't find a case (tests passing). 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								7c6b4f5892 
								
							
								 
							
						 
						
							
							
								
								Demo: Assets Browser: store items, sorting, type overlay.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								738af3ea80 
								
							
								 
							
						 
						
							
							
								
								Demo: Assets Browser: Added assets browser demo.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								c9d8068bbe 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Added ImGuiMultiSelectFlags_SelectOnClickRelease to allow dragging an unselected item without altering selection + update drag and drop demo.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								6f9d36c6f2 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: move shared logic to MultiSelectItemHeader().  
							
							 
							
							... 
							
							
 
							
							No logic change AFAIK but added an indent level in MultiSelectItemHeader(). Logic changes will come in next commit. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								4b15ee88a0 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: moved RequestClear output so it'll match request list version better. Use Storage->RangeSrcItem in EndMultiSelect().  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								79b3439fda 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: ImGuiMultiSelectIO's field are not used during loop anymore, stripping them out of comments.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								ea8d15cfa1 
								
							
								 
							
						 
						
							
							
								
								Demo: Dual List Box: Added a dual list box (6648)  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								7355e7c895 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Deletion: Various renames to clarify. Use adapter and item list in both ApplyDeletion functions.  
							
							 
							
							... 
							
							
 
							
							This also minify the patch for an alternative/wip attmept at redesgining pre/post deletion logic. But turns out current attempt may be easier to grasp. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								723973a8b3 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Deletion: Rework ApplyDeletionPreLoop to use adapter + fix PostLoop not using right value of RequestFocusItem.  
							
							 
							
							... 
							
							
 
							
							Recovery made it transparent visually but user side selection would be empty for a frame before recovery. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								c2ac70973e 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Make ExampleSelection use ImGuiID. More self-explanatory.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								7c44b46456 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Remove UserDataToIndex from ExampleSelectionAdapter.  
							
							 
							
							... 
							
							
 
							
							Seems to make a better demo this way. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								1fdb880118 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: rework ExampleSelection with an ExampleSelectionAdapter layer, allowing to share more code accross examples using different storage systems.  
							
							 
							
							... 
							
							
 
							
							Not ideal way to showcase this demo but this is really more flexible. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								157efbb7ad 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Removed RangeSrcPassedBy in favor of favoring user to call IncludeByIndex(RangeSrcItem) which is easier/simpler to honor.  
							
							 
							
							... 
							
							
 
							
							Especially as recent changes made it required to also update RangeSrcPassedBy after last clipper Step.
Should now be simpler. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								d55eb33491 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: added simpler demo using Clipper. Clarify RangeSrcPassedBy doc.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								f4644bce0e 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: rework ExampleSelection names to map better to typical user code + variety of Comments tweaks.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								9b778ae71e 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: move HasSelectionData to ImGuiItemFlags to facilitate copying around in standardized fieds.  
							
							 
							
							... 
							
							
 
							
							Required/motivated to simplify support for ImGuiTreeNodeFlags_NavLeftJumpsBackHere (bc3c0ce ) in this branch. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								27300e95e5 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Comments, tweaks.  
							
							 
							
							... 
							
							
 
							
							+ Alignment to reduce noise on next commit. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								ecba972102 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Cleanup unused comments/code.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								1c7f3590a2 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								4141d6fba6 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Delete items from menu.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								3d962dd5a5 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Further simplication of user code to support Deletion.  
							
							 
							
							... 
							
							
 
							
							Provide standard RequestFocusItem storage. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								a1d829eaf7 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Maintain NavIdSelected for user. Simplify deletion demo.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								2e38a62a63 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: first-draft of user-side deletion idioms.  
							
							 
							
							... 
							
							
 
							
							(will need support from lib) 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								4ba6dc2a3f 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Clarify and better enforce lifetime of BeginMultiSelect() value.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								11a6d47b38 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Renamed 'RangeValue' -> 'RangeSelected' + amend comments.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								de974955e6 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Internals rename of IO fields to avoid ambiguity with io/rw concepts + memset constructors, tweaks.  
							
							 
							
							... 
							
							
 
							
							debug 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								20e46d4180 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo tweak. Removed multi-scope from Advanced (too messy), made it a seperate mini-demo.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								507790eeaa 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (Breaking) Rename ImGuiMultiSelectData to ImGuiMultiSelectIO.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								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)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								ebbca15bde 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Enter can alter selection if current item is not selected.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								94adf6b2ba 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: made SetNextItemSelectionData() optional to allow disjoint selection (e.g. with a CollapsingHeader between items). Amend demo.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								85a7202129 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Fixed needing to set RangeSrcPassedBy when not using clipper.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)