ocornut
							
						 
						
							 
							
							
							
								
							
								4fb97db4af 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: Further refactor to extra mode code away from multi-select function into box-select funcitons.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								3c20d552da 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: Fixed scrolling on high framerates.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								a2c287ce58 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: Refactor: Renames.  
							
							 
							
							... 
							
							
 
							
							Split into two commits to facilite looking into previous one if needed. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								a5d6cf872e 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: Refactor into its own structure, designed for single-instance but closer to being reusable outside Multi-Select.  
							
							 
							
							... 
							
							
 
							
							Kept same member names. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								44bab4ab28 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: Added ImGuiMultiSelectFlags_BoxSelect2d support. Enabled in Asset Browser. Selectable() supports it.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								08d540fc5c 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: Fixed holes when using with clipper (in 1D list.)  
							
							 
							
							... 
							
							
 
							
							Clipper accounts for Selectable() layout oddity as BoxSelect is sensitive to it.
Also tweaked scroll triggering region inward.
Rename ImGuiMultiSelectFlags_NoBoxSelectScroll to ImGuiMultiSelectFlags_BoxSelectNoScroll.
Fixed use with ImGuiMultiSelectFlags_SinglaSelect. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								7d9c448cfb 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Assets Browser: track scrolling target so we can roughly land on hovered item.  
							
							 
							
							... 
							
							
 
							
							It's impossible to do this perfectly without some form of locking on item because as the hovered item X position changes it's easy to drift. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								c2a09cb30a 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: Assets Browser: added deletion support. Store ID in selection. Moved QueueDeletion to local var to emphasis that this is a user extension.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								0ce1418295 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: reworked comments in imgui.h now that we have our own section.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								4d4d30510b 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: move demo's ExampleSelection to main api as a convenient ImGuiSelectionBasicStorage for basic users.  
							
							 
							
							... 
							
							
 
							
							FIXME-WIP: Less comments in imgui. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								b066d839e8 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: remove ImGuiSelectionRequest/ImGuiMultiSelectIO details from public api to reduce confusion + comments.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								4a11a9b0b9 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: support for nested/stacked BeginMultiSelect().  
							
							 
							
							... 
							
							
 
							
							Mimicking table logic, reusing buffers. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								40c274ee35 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Demo: rework and move selection adapter inside ExampleSelection.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								de8a6d0722 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: added scroll support.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								b642c88a30 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: Box-Select: added support for ImGuiMultiSelectFlags_BoxSelect.  
							
							 
							
							... 
							
							
 
							
							(v11)
FIXME: broken on clipping demo. 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								fd6d5d6703 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: (breaking) renamed ImGuiMultiSelectFlags_ClearOnClickWindowVoid -> ImGuiMultiSelectFlags_ClearOnClickVoid. Added ImGuiMultiSelectFlags_ScopeWindow, ImGuiMultiSelectFlags_ScopeRect.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								3a8a88c8f5 
								
							
								 
							
						 
						
							
							
								
								Demo: Assets Browser: add hit spacing, requierd for box-select patterns.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								ocornut
							
						 
						
							 
							
							
							
								
							
								f5fac870e1 
								
							
								 
							
						 
						
							
							
								
								RangeSelect/MultiSelect: simplify clearing ImGuiMultiSelectTempData.  
							
							 
							
							
 
							
						 
						
							ago%!(EXTRA string=1 year)  
						
					 
				
					
						
							
							
								 
								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)