ocornut
e82b49d2d4
MultiSelect: (Breaking) Use ImGuiSelectionUserData (= ImS64) instead of void* for selection user data.
...
Less confusing for most users, less casting.
2024-07-18 18:19:15 +02:00
ocornut
140a2f0565
MultiSelect: Comments, tweaks.
...
+ Alignment to reduce noise on next commit.
2024-07-18 18:19:15 +02:00
ocornut
847b1dde8c
MultiSelect: (Breaking) Fix + Rename ImGuiMultiSelectFlags_NoMultiSelect to ImGuiMultiSelectFlags_SingleSelect as it seems easier to grasp.
...
Feature was broken by "Tidying up..." June 30 commit.
2024-07-18 18:19:15 +02:00
ocornut
0cf376348b
MultiSelect: Cleanup unused comments/code.
2024-07-18 18:19:14 +02:00
ocornut
ab9326f4ae
MultiSelect: Fixed right-click handling in MultiSelectItemFooter() when not focused.
2024-07-18 18:19:14 +02:00
ocornut
e3616e151f
MultiSelect: Demo: Delete items from menu.
2024-07-18 18:19:14 +02:00
ocornut
c0035705ca
MultiSelect: Further simplication of user code to support Deletion.
...
Provide standard RequestFocusItem storage.
2024-07-18 18:19:14 +02:00
ocornut
df1eeb9a20
MultiSelect: Maintain NavIdSelected for user. Simplify deletion demo.
2024-07-18 18:19:14 +02:00
ocornut
9223ffc255
MultiSelect: (Breaking) BeginMultiSelect() doesn't need two last params maintained by users. Moving some storage from user to core. Proper deletion demo.
2024-07-18 18:19:14 +02:00
ocornut
564dde0ee3
MultiSelect: Demo: first-draft of user-side deletion idioms.
...
(will need support from lib)
2024-07-18 18:19:14 +02:00
ocornut
387fc13894
MultiSelect: Clarify and better enforce lifetime of BeginMultiSelect() value.
2024-07-18 18:19:14 +02:00
ocornut
961b81c362
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.
2024-07-18 18:19:14 +02:00
ocornut
1ea9ca748c
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.
2024-07-18 18:19:14 +02:00
ocornut
6ef70a97fd
MultiSelect: Remove ImGuiMultiSelectFlags_NoUnselect because I currently can't find use for this specific design.
...
And/or it seem partly broken.
2024-07-18 18:19:14 +02:00
ocornut
ccf43d6a96
MultiSelect: (Breaking) Renamed 'RangeValue' -> 'RangeSelected' + amend comments.
2024-07-18 18:19:14 +02:00
ocornut
a83326bc52
MultiSelect: (Breaking) Renamed 'RangeSrc -> 'RangeSrcItem', "RangeDst' -> 'RangeDstItem'
...
This is necessary to have consistent names in upcoming fields (NavIdItem etc.)
2024-07-18 18:19:13 +02:00
ocornut
a39f9e7661
MultiSelect: Internals rename of IO fields to avoid ambiguity with io/rw concepts + memset constructors, tweaks.
...
debug
2024-07-18 18:19:13 +02:00
ocornut
c61ada200f
MultiSelect: Demo tweak. Removed multi-scope from Advanced (too messy), made it a seperate mini-demo.
2024-07-18 18:19:13 +02:00
ocornut
35b5ebc9b5
MultiSelect: (Breaking) Rename ImGuiMultiSelectData to ImGuiMultiSelectIO.
2024-07-18 18:19:13 +02:00
ocornut
11bcae1ebd
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.
2024-07-18 18:19:13 +02:00
ocornut
5d71314f71
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.
2024-07-18 18:19:13 +02:00
ocornut
85954c845e
MultiSelect: Enter can alter selection if current item is not selected.
2024-07-18 18:19:13 +02:00
ocornut
d2f208a30c
MultiSelect: made SetNextItemSelectionData() optional to allow disjoint selection (e.g. with a CollapsingHeader between items). Amend demo.
2024-07-18 18:19:13 +02:00
ocornut
815c61b82e
MultiSelect: Fixed needing to set RangeSrcPassedBy when not using clipper.
2024-07-18 18:19:13 +02:00
ocornut
78cb1661cb
MultiSelect: Shallow tweaks/refactors.
...
Including moving IsFocused back internally for now.
2024-07-18 18:19:13 +02:00
ocornut
a05700e327
MultiSelect: Enter doesn't alter selection (unlike Space).
...
Fix for changes done in 5606.
2024-07-18 18:19:13 +02:00
ocornut
35bbadcf0c
MultiSelect: Added ImGuiMultiSelectFlags_ClearOnClickWindowVoid. + Demo: showcase multiple selection scopes in same window.
2024-07-18 18:19:13 +02:00
ocornut
b91ae122e1
MultiSelect: Demo: Added pointer indirection and indent level.
...
This is to reduce noise for upcoming commits, ahead of adding a loop here.
2024-07-18 18:19:12 +02:00
ocornut
19086c1c48
MultiSelect: Added ImGuiMultiSelectFlags_ClearOnEscape (unsure of best design), expose IsFocused for custom shortcuts.
2024-07-18 18:19:12 +02:00
ocornut
919cac1482
MultiSelect: Demo: Add a simpler version.
2024-07-18 18:19:12 +02:00
ocornut
ad5d3c9bff
MultiSelect: Fixed issue with Ctrl+click on TreeNode + amend demo to test drag and drop.
2024-07-18 18:19:12 +02:00
ocornut
b9721c1ed7
MultiSelect: Temporary fix/work-around for child/popup to not inherit MultiSelectEnabled flag, until we make mulit-select data stackable.
2024-07-18 18:19:12 +02:00
omar
00c4b8f2a3
MultiSelect: Fix testing key mods from after the nav request (remove need to hold the mod longer)
2024-07-18 18:19:12 +02:00
omar
3ba3f0d905
MultiSelect: Fix Selectable() ambiguous return value, clarify need to use IsItemToggledSelection().
2024-07-18 18:19:12 +02:00
omar
0479b188d0
MultiSelect: Comments. Tweak demo.
2024-07-18 18:19:12 +02:00
omar
9aeebd24f7
MultiSelect: Fixed CTRL+A not testing focus scope id. Fixed CTRL+A not testing active id. Added demo code.
...
Comments.
2024-07-18 18:19:12 +02:00
ocornut
7abda179af
MultiSelect: Fix for TreeNode following merge of 011d4755. Demo: basic test for tree nodes.
2024-07-18 18:19:12 +02:00
omar
9c7183dd04
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.
2024-07-18 18:19:12 +02:00
omar
4afbfd5e71
MultiSelect: Renamed SetNextItemMultiSelectData() to SetNextItemSelectionUserData()
2024-07-18 18:19:12 +02:00
omar
17c4c2154a
MultiSelect: Demo sharing selection helper code. Fixed static analyzer warnings.
2024-07-18 18:19:12 +02:00
omar
57da88093f
MultiSelect: Added IMGUI_HAS_MULTI_SELECT define. Fixed right-click toggling selection without clearing active id, could lead to MarkItemEdited() asserting. Fixed demo.
2024-07-18 18:19:11 +02:00
ocornut
8947c35fa1
MultiSelect: Removed SelectableSpacing as I'm not sure it is of use for now (history insert)
2024-07-18 18:19:11 +02:00
omar
554db6bc0f
MultiSelect: WIP range-select ( #1861 ) (rebased six millions times)
2024-07-18 18:19:11 +02:00
ocornut
c2d21ab04f
Backends: SDL3: Update for API changes: SDL_GetClipboardText() string ownership change. ( #7801 )
2024-07-18 14:02:27 +02:00
ocornut
070c046cd1
Internals: rename recently added TreeNodeIsOpen() -> TreeNodeGetOpen(). ( #7553 , #1131 , #2958 , #2079 , #722 )
...
Amend ac7d6fb
2024-07-17 20:01:55 +02:00
ocornut
7c6d4ff28d
TreeNode: Internals: facilitate dissociating item ID from storage ID (useful for 1861)
2024-07-17 19:20:39 +02:00
ocornut
8bab3eab6a
Clipper: added SeekCursorForItem() function, for use when using ImGuiListClipper::Begin(INT_MAX). ( #1311 )
...
Tagging #3609 just in case we made a mistake introducing a regression (but tests are passing and have been extended).
2024-07-17 18:16:06 +02:00
ocornut
74a1854db9
Nav, Demo: comments.
2024-07-17 17:03:22 +02:00
ocornut
669021be4c
Style: close button and collapse/window-menu button hover highlight made rectangular instead of round.
...
The reason they were round in the first place was to work better with rounded windows/frames.
However since the 4a8142449 rework #6749 we can naturally use a tigher bounding box and it seems to work ok either way.
2024-07-17 15:56:34 +02:00
ocornut
67e9aa4d3d
Demo: Property Editor: add basic filter.
2024-07-17 14:01:02 +02:00
ocornut
4247f190c2
Demo: Property Editor: rearrange code + replace use of bool to proper ImGuiChildFlags.
...
Amend 46691d1
2024-07-17 13:52:30 +02:00
ocornut
9c1f922b02
Fixed pvs-studio warning.
2024-07-16 17:19:12 +02:00
ocornut
0e4dcfa552
Obsoleted PushTabStop()/PopTabStop() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_NoTabStop.
2024-07-15 18:57:46 +02:00
ocornut
3de75138d1
(Breaking) Renamed ImGuiSelectableFlags_DontClosePopups to ImGuiSelectableFlags_NoAutoClosePopups. ( #1379 , #1468 , #2200 , #4936 , #5216 , #7302 , #7573 )
2024-07-15 18:46:34 +02:00
ocornut
0de88a928d
Added ImGuiItemFlags_AutoClosePopups as a replacement for internal's ImGuiItemFlags_SelectableDontClosePopup. ( #1379 , #1468 , #2200 , #4936 , #5216 , #7302 , #7573 )
2024-07-15 18:46:34 +02:00
ocornut
b4ca869c40
(Breaking) Obsoleted PushButtonRepeat()/PopButtonRepeat() in favor of using new PushItemFlag()/PopItemFlag() with ImGuiItemFlags_ButtonRepeat.
2024-07-15 18:38:18 +02:00
ocornut
7e0800e718
Added PushItemFlag(), PopItemFlag(), ImGuiItemFlags.
2024-07-15 18:38:18 +02:00
ocornut
46691d172e
Demo: Reworked "Property Editor" demo in a manner that more ressemble the tree data and struct description data that a real application would want to use.
2024-07-15 17:14:01 +02:00
ocornut
bc9e5b62b6
Added ImGuiDataType_Bool for convenience.
2024-07-15 16:49:35 +02:00
ocornut
ac7d6fb5ca
Internals: Added TreeNodeIsOpen() to facilitate discoverability. ( #7553 , #1131 , #2958 , #2079 , #722 )
2024-07-15 11:31:00 +02:00
ocornut
9c2f6003e4
Backends: SDL3: fixed typo leading to PlatformHandleRaw not being set leading to SHOWNA path not working for multi-viewports.
2024-07-15 11:17:21 +02:00
ocornut
c3c90b49e0
Examples: SDL3+OpenGL: Update for API changes: SDL_GL_DeleteContext() renamed to SDL_GL_DestroyContext().
2024-07-11 18:13:42 +02:00
ocornut
a8e96ae21a
Backends: GLFW+Emscripten: Fixed build ( #7647 )
2024-07-08 22:26:14 +02:00
ocornut
2d0baaabe6
TreeNode: rename/rework ImGuiNavTreeNodeData system to be usable by more features. ( #2920 , #1131 , #7553 )
...
Reworked to it is easier during TreeNode code to request extra data to be stored.
2024-07-03 18:59:26 +02:00
ocornut
0a73c6ec3f
Misc tweaks, comments.
2024-07-03 18:02:59 +02:00
ocornut
0ebf49b4c1
IO: amend PlatformOpenInShellFn specs to return a bool. ( #7660 )
...
Amend 8f36798
2024-07-02 19:03:40 +02:00
ocornut
380b3559c6
Backends: GLFW,SDL2: Added ioPlatformOpenInShellFn handler for web/Emscripten versions. ( #7660 )
2024-07-02 18:06:19 +02:00
ocornut
05a4f28059
Internals: added FontScale storage (amend 0f63d3e).
2024-07-02 17:45:12 +02:00
ocornut
5496050f5f
Added TextLink(), TextLinkOpenURL() hyperlink widgets. ( #7660 )
2024-07-02 17:21:44 +02:00
ocornut
0f63d3e916
Internals: added FontScale storage.
2024-07-02 17:21:10 +02:00
ocornut
dadf9cd039
IO: disable default io.PlatformOpenInShellFn() implementation on iPhone, as compiler errors that system() is not available on iOS.
2024-07-02 16:23:46 +02:00
ocornut
43925b9fa4
Build fix for non Windows platforms.
2024-07-02 16:10:54 +02:00
ocornut
ddd4c9d6b9
Commented out obsolete ImGuiModFlags and ImGuiModFlags_XXX values (renamed to ImGuiKeyChord and ImGuiMod_XXX in 1.89). ( #4921 , #456 )
2024-07-02 16:03:18 +02:00
ocornut
fb799bba7f
(Breaking) IO, IME: renamed platform IME hook io.SetPlatformImeDataFn() -> io.PlatformSetImeDataFn() and added explicit context.
2024-07-02 15:48:32 +02:00
ocornut
8f36798035
IO: added io.PlatformOpenInShellFn handler to open a link/folder/file in OS shell, added IMGUI_DISABLE_DEFAULT_SHELL_FUNCTIONS. ( #7660 )
2024-07-02 15:36:08 +02:00
ocornut
0250dc903e
Demo: changed style editor inline block to its own window.
2024-07-02 14:38:44 +02:00
ocornut
ae708e3bcd
Backends: SDL3: add default case to fix warnings. ( #7763 )
2024-07-02 12:12:25 +02:00
ocornut
7e0b3b9caf
Debug Log: Added "Configure Outputs.." button. ( #5855 )
2024-07-02 12:10:33 +02:00
ocornut
a62794359a
Debug Tools: Added IMGUI_DEBUG_LOG(), ImGui::DebugLog() in public API. ( #5855 )
2024-07-02 12:00:55 +02:00
ocornut
a489585f84
Backends: SDL3: Updated comments (IME seems fixed in SDL3). Added SDL3 examples to Visual Studio solution.
2024-07-02 11:37:18 +02:00
ocornut
12f92518bc
Backends: SDL3: Update for API changes: SDLK_x renames and SDLK_KP_x removals ( #7761 , #7762 )
...
Also updated function signature in SDL2 backend to match and because it is expected we will use that data (as per #7672 )
2024-07-02 11:36:13 +02:00
ocornut
84cc72f372
Version 1.91.0 WIP
2024-07-01 19:02:42 +02:00
ocornut
cb16be3a3f
Version 1.90.9
2024-07-01 17:03:21 +02:00
ocornut
c554c402d3
IO: do not claim io.WantCaptureMouse=true on the mouse release frame of a button which was pressed over void. ( #1392 )
2024-07-01 16:13:38 +02:00
ocornut
50a0f18e6a
imgui_freetype: fixed divide by zero while handling FT_PIXEL_MODE_BGRA glyphs. ( #7267 , #3369 )
2024-07-01 14:58:35 +02:00
ocornut
dd5c30d2d7
Disabled: Reworked 1.90.8 behavior of Begin() not inheriting current BeginDisabled() state. Only tooltip are clearing that state. ( #211 , #7640 )
2024-07-01 14:32:11 +02:00
ocornut
67216910fb
Examples: SDL3: Remove use of SDL_HINT_IME_NATIVE_UI.
2024-07-01 12:10:54 +02:00
ocornut
751bbf38ba
Backends: SDLRenderer3: Update for SDL_RenderGeometryRaw() API changes.
2024-07-01 12:07:59 +02:00
ocornut
c47928ffc0
Checkbox: minor tidying up to simplify work on multi-select branch.
2024-06-28 18:33:57 +02:00
ocornut
0403096a9d
Drags: added ImGuisliderFlags_WrapAround flag for DragInt(), DragFloat() etc. ( #7749 )
2024-06-28 15:59:36 +02:00
ocornut
c7df9c7121
Backends: Win32: Fixed warning with old MinGW/GCC versions.
2024-06-28 15:48:08 +02:00
ocornut
404af57004
Backends: OpenGL2, OpenGL3: ImGui_ImplOpenGL3_NewFrame() recreates font texture if it has been destroyed by ImGui_ImplOpenGL3_DestroyFontsTexture(). ( #7748 )
...
Analogous to change to Vulkan backend in 1.90.
2024-06-28 15:08:54 +02:00
ocornut
0582f7678a
Nav: store NavJustMovedToIsTabbing + shuffle a few nav related fields.
...
(for usage by multi-select)
2024-06-28 11:35:09 +02:00
ocornut
77d582fa37
Windows: BeginChild(): fixed a glitch when during a resize of a child window which is tightly close to the boundaries of its parent. ( #7706 )
2024-06-27 18:04:24 +02:00
ocornut
953d40c929
Tables: moved TableGetHoveredColumn() to public API. ( #7715 , #3740 )
2024-06-27 17:17:54 +02:00
ocornut
fbb903e158
Inputs: fixed using Shortcut() or SetNextItemShortcut() within a disabled block bypassing the disabled state. ( #7726 )
2024-06-27 16:37:33 +02:00
ocornut
dbffb702f8
ImGuiStorage: tweak impl for BuildSortByKey().
2024-06-26 18:57:14 +02:00
ocornut
0c2650e833
Backends: OSX: build fix. Amend 32f9dfc
2024-06-26 16:23:42 +02:00
ocornut
22b36bef9e
Examples: undo adding SDL3 example to Visual Studio sln.
2024-06-26 14:59:00 +02:00
ocornut
7c2476986b
Backends: SDL3: Update for SDL_StartTextInput()/SDL_StopTextInput() API changes. ( #7735 )
2024-06-26 14:45:25 +02:00