1
0
mirror of https://github.com/ocornut/imgui.git synced 2024-12-01 02:37:24 +01:00
Commit Graph

1150 Commits

Author SHA1 Message Date
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
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
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
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
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
7e0800e718 Added PushItemFlag(), PopItemFlag(), ImGuiItemFlags. 2024-07-15 18:38:18 +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
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
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
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
c47928ffc0 Checkbox: minor tidying up to simplify work on multi-select branch. 2024-06-28 18:33:57 +02:00
Kevin Coghlan
372eebbeb2
Fix typo, rename ImGuisliderFlags_WrapAround flag to ImGuiSliderFlags_WrapAround. (#7752, #7749) 2024-06-28 18:06:16 +02:00
ocornut
0403096a9d Drags: added ImGuisliderFlags_WrapAround flag for DragInt(), DragFloat() etc. (#7749) 2024-06-28 15:59:36 +02:00
ocornut
21bda2ed99 TabBar, Style: added ImGuiTabBarFlags_DrawSelectedOverline and ImGuiCol_TabSelectedOverline, ImGuiCol_TabDimmedSelectedOverline. 2024-06-18 17:41:43 -07:00
ocornut
1b9593e889 Style: (Breaking) renamed ImGuiCol_TabActive -> ImGuiCol_TabSelected, ImGuiCol_TabUnfocused -> ImGuiCol_TabDimmed, ImGuiCol_TabUnfocusedActive -> ImGuiCol_TabDimmedSelected.
Amend #261, #351
2024-06-18 17:37:29 -07:00
ocornut
7260bb51cf Version 1.90.9 WIP 2024-06-07 16:57:01 +02:00
ocornut
6f7b5d0ee2 Version 1.90.8 2024-06-06 17:45:40 +02:00
ocornut
67d886fd63 Removed ImGuiButtonFlags_MouseButtonDefault_. 2024-06-06 17:25:16 +02:00
ocornut
f1eaf8d7c0 Internals: added SetNextItemRefVal(). (#7305) 2024-06-06 17:01:02 +02:00
ocornut
47db0698d2 InputScalar, InputInt, InputFloat: added ImGuiInputTextFlags_ParseEmptyRefVal, ImGuiInputTextFlags_DisplayEmptyRefVal. (#7305) 2024-06-06 16:51:15 +02:00
ocornut
3460014e05 Internals: avoid using bitfields in ImGuiNextItemData as it leads to extraneous packing. rename ImGuiDataTypeTempStorage to ImGuiDataTypeStorage. moved DataType section above Widgets. 2024-06-06 16:50:32 +02:00
ocornut
109a8632d7 Combo: simplified Combo() API uses a list clipper.
Wasn't as trivial before supporting IncludeItemByIndex().
2024-05-28 18:24:01 +02:00
ocornut
5cbc34a10c Scrollbar: clicking above or below the grab scrolls by one page, holding mouse button repeats scrolling. (#7328, #150)
Remove absolute seeking entirely. Amend f02108085.
2024-05-28 16:28:20 +02:00
ocornut
ed9eb880b5 Windows: Fixed altering FramePadding mid-frame not correctly affecting logic responsible for honoring io.ConfigWindowsMoveFromTitleBarOnly. (#7576, #899)
Latching TitleBarHeight, MenuBarHeight in window.
2024-05-28 15:35:36 +02:00
ocornut
7f5d5c80b2 Internals, Tabbar: fixed TabBarGetCurrentTab() with tab_idx == 0. (#7629)
Thanks @VerySmallRoach. Amend 3d8885cbb (#5853, #5997)
2024-05-28 10:11:01 +02:00
ocornut
1f9fc382c3 Version 1.90.8 WIP
Tidying up todo.txt
2024-05-28 10:09:31 +02:00
ocornut
00ad3c65bc Version 1.90.7 2024-05-27 15:47:04 +02:00
ocornut
85513de247 Internals, Inputs: *Breaking* Swapped parameter order of owner-aware versions of IsKeyPressed(), IsKeyChordPressed(), IsMouseClicked(). (#456)
For several reasons those changes makes sense. They are being made because making some of those API public.
Only past users of imgui_internal.h with the extra parameters will be affected.
Added asserts for valid flags in various functions to detect _some_ misuses, BUT NOT ALL.
Amend 4448d975 (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
2024-05-23 16:57:03 +02:00
ocornut
900b29055c Internals, Inputs: *Breaking* Swapped parameter order of Shortcut(). (#456)
Amend 4448d975 (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
2024-05-23 16:57:03 +02:00
ocornut
7747106647 Inputs: swap Ctrl and Cmd on macOS X, remove ImGuiMod_Shortcut. (#2343, #4084, #5923, #456) 2024-05-16 19:16:55 +02:00
Hubert Maier
07dbcf1f70 Fixed typos. (#7593) 2024-05-16 16:13:01 +02:00
ocornut
ac90e1bd5b Backends: Win32: replace bd != nullptr assert with early out. (#6275)
+ fixed inconsistent use of break vs return 0 in WndProcHandler (had no tangible effect).
2024-05-14 12:18:10 +02:00
ocornut
d06b8b58d8 Nav: fixed holding Ctrl or gamepad L1 from not slowing down keyboard/gamepad tweak speed.
Broken by 8b8a61bd + Comments (#7570)
2024-05-13 19:03:04 +02:00
ocornut
f48aae600a Version 1.90.7 WIP 2024-05-13 14:47:37 +02:00
ocornut
6ccc561a2a Version 1.90.6 2024-05-08 15:38:33 +02:00
ocornut
558c57a086 Fixed static analyzer warning "Pointer to local array 'overlay_buf' is stored outside the scope". Technically not used outside that scope, but best to play nice. 2024-04-30 11:00:57 +02:00
gan74
c895e987ad ProgressBar: added indeterminate mode by passing an animated negative value. (#5316, #5370, #1901) 2024-04-24 19:40:26 +02:00
diego.mateos
b8a44b198c TreeNode: added ImGuiTreeNodeFlags_SpanTextWidth. (#6937) 2024-04-24 19:00:58 +02:00
ocornut
da18fcb7ae Internals: ensure ButtonBehavior() is called with non 0 id. 2024-04-23 18:39:40 +02:00
ocornut
361432a0bb TreeNode: fixed layout so that TreeNode("") or TreeNode("##HiddenLabel") may properly be used with SameLine(0,0). (#7505, #282)
Also adjust some of the interact_bb padding, arbitrary interact padding not meaningful as empty label is likely to be followed by extra item. User likely to use ImGuiTreeNodeFlags_SpanAvailWidth.
2024-04-18 20:50:00 +02:00
ocornut
3caa79c8a5 Version 1.90.6 WIP 2024-04-15 11:27:07 +02:00
ocornut
f790d51665 Silent zealous/stupid warning introduced by Clang 16 (shipping with VS2022) with -Weverything. Pointers are now illegal! 2024-04-12 16:55:32 +02:00
ocornut
231cbee0fc Version 1.90.5 2024-04-11 15:54:39 +02:00
GamingMinds-DanielC
4f9ba19e52 Drags, Sliders, Inputs: Reactivated decimal point replacement for SliderScalar and DragScalar. (#7389, #6719, #2278)
Amend/fix 4a242644
2024-04-03 11:39:46 +09:00
ocornut
9a2b598ec1 ListBox: Fixed text-baseline offset when using SameLine()+Text() after a labeled ListBox().
Visible in demo->basic->listbox
2024-04-03 10:20:18 +09:00
ocornut
25a492f330 ProgressBar: Fixed passing fraction==NaN from leading to a crash. (#7451) 2024-03-29 19:09:55 +09:00
ocornut
286cd5bd41 Internals, InputText: removed ImGuiInputSource_Clipboard. (#4005)
Added by f08566b4d
2024-03-07 15:02:38 +01:00
ocornut
e46d1e69ac Version 1.90.5 WIP 2024-02-26 13:31:10 +01:00
ocornut
277ae93c41 Version 1.90.4 2024-02-22 19:56:39 +01:00
ocornut
8a14b71f22 Version 1.90.4 WIP 2024-02-15 16:51:57 +01:00
ocornut
5b6f03213d Version 1.90.3 2024-02-14 13:58:19 +01:00
ocornut
11d73f03ee Backends: Vulkan: Fix/amend 8901931 2024-02-12 17:18:52 +01:00
ocornut
915c6393ad Version 1.90.3 WIP 2024-02-12 14:54:48 +01:00
ocornut
536090303a Version 1.90.2 2024-02-09 16:59:31 +01:00
ocornut
70aa717a8e Combo: Fixed not reusing windows optimally when used inside a popup stack. 2024-02-09 15:23:43 +01:00
ocornut
7d67623d15 InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) fix accidental comment. 2024-02-08 15:46:17 +01:00
ocornut
a5e0e90c16 Nav: tweak RenderNavHighlight() syntax. ImGuiNavHighlightFlags_TypeThin -> ImGuiNavHighlightFlags_Compact. 2024-02-08 15:44:46 +01:00
ocornut
1e8fc01ddd InputText: Internal: ReloadUserBufXXX functions don't override revert value. (#2890) + rename 2024-02-08 15:25:04 +01:00
ocornut
a06dd7a27b OpenPopup(): Added ImGuiPopupFlags_NoReopen. Nav, Menus: Fixed click on a BeginMenu() followed by right-arrow. (#1497, #1533)
reopen
2024-02-08 15:02:22 +01:00
ocornut
06ce312745 InputText: Internal: added reload from user-buf feature. (#2890)
Very highly requested feature (#6962, #5219, #3290, #4627, #5054, #3878, #2881, #1506, #1216, #968).
Also useful for interactive completion/selection popups (#2057, #718)
Based on @kudaba PR. Design for Inputtext V2 should make this obsolete.
2024-02-07 22:04:18 +01:00
ocornut
a201af7354 Added SetNextItemShortcut() wip function. (#456)
Mark widget as hovered. Amend d10641b.
2024-01-22 18:38:54 +01:00
ocornut
4c2c09450a Nav: keyboard/gamepad activation feedback properly timed instead of frame buffer. (#456)
Amend d10641b
2024-01-22 18:26:45 +01:00
ocornut
7c3fa7d049 Refactor: moved section in imgui_internal.h 2024-01-22 17:42:00 +01:00
ocornut
1844f903d5 Nav: space/enter poll check ownership. InputText: declare ownership of Enter key as it doesn't go through Shortcut
InputText: no need to call SetShortcutRouting() directly.
Tangential to experiments for #7237
2024-01-19 16:22:45 +01:00
ocornut
33fabdf392 Scrollbar() doesn't forcefully mark itself as hovered when held.
Weirdly as old as when dinosaurs roamed earth, aka first commit (per-1.0).
+ Minor alignment in both sense of the term :) Reduce padding in ImGuiNextItemData.
2024-01-17 15:47:14 +01:00
ocornut
095665977f Nav: marking NavId as hovered in ButtonBehavior() doesn't check for ActiveId.
Aimed at allowing activating another item with a shortcut without losing NavId.
Initial logic from c2cb2a69, with minor amends db5f1b79c, cea78cc57.
2024-01-17 14:52:05 +01:00
ocornut
d10641b04a Nav: keyboard/gamepad activation mark widgets as held to give better visual feedback. 2024-01-17 14:02:07 +01:00
ocornut
29809d7220 Version 1.90.2 WIP 2024-01-11 14:37:13 +01:00
ocornut
d6cb3c923d Version 1.90.1 2024-01-10 18:00:57 +01:00
ocornut
788bb58b6b Metrics: Tweak, reorganize tools menu. 2024-01-10 15:12:24 +01:00
ocornut
7f9533b840 ColorPicker: Fixed saturation/value cursor radius not scaling properly.
+ Misc docs/comments.
2024-01-08 16:08:12 +01:00
ocornut
7938550d52 Comments and some extra line-wrapping in demo (#3193) 2024-01-04 11:50:38 +01:00
ocornut
4a2426449a Drags, Sliders, Inputs: removed all attempts to filter non-numerical characters during text editing. (#6810, #7096) 2023-12-22 19:51:49 +01:00
ocornut
036a6c875e ColorEdit4: Further tweaks for very small sizes. (#7120, #7121) 2023-12-20 11:06:22 +01:00
ocornut
0bd6489721 DragScalarN, SliderScalarN, InputScalarN, PushMultiItemsWidths: fixed multi-components width in tight space (#7120, #7121)
+ extra tweak color ColorEdit4() label. Amend 86512ea, 3464662
2023-12-19 20:50:17 +01:00
ocornut
e265610a0c Fixes for MSVC code analyzer. 2023-12-18 18:36:01 +01:00
ocornut
0d582dabf3 Fixed warning (amend 54c1bde) 2023-12-14 17:24:23 +01:00
ocornut
6cfe3ddf52 InputTextMultiline: Tabbing through a multi-line text editor using ImGuiInputTextFlags_AllowTabInput doesn't activate it. (#3092, #5759, #787) 2023-12-14 17:15:43 +01:00
ocornut
54c1bdeceb Internals: removed unused ImGuiItemStatusFlags_FocusedByTabbing. (#4449)
Amend 1a7526d
2023-12-14 16:45:40 +01:00
ocornut
4afffa36e9 InputTextMultiline: Fixed Tab character input not repeating
(1.89.4 regression)
2023-12-14 16:31:18 +01:00
Nahor
34646627aa
ColorEdit4: improve components width computation to better distribute the error (#7120) (#7123) 2023-12-12 11:07:01 +01:00
ocornut
9d8de45313 Image(): comment and minor refactor to resurface the fact that a border size may be added. (#2118)
Make more similar to ImageButton()
2023-12-07 16:07:50 +01:00
ocornut
c58d2c89c3 Tabs: Added ImGuiTabItemFlags_NoAssumedClosure to enable app to react on closure attempt. (#7084) 2023-12-07 14:20:35 +01:00
Johel Ernesto Guerrero Peña
1fd5ff7152 Avoid C++26 removed deprecated arithmetic conversion on enumerations. (#7088, #7089. #2983, #3040) 2023-12-05 12:13:08 +01:00
ocornut
5768de79e2 InputText, ColorEdit, ColorPicker: better support for undocumented ImGuiItemFlags_ReadOnly flag. (#7079, #211)
Amend fdc526e8f
2023-12-01 13:57:28 +01:00
ocornut
b112d73edb Menus: amend to clarify/fix static analyzer warning. (#6671, #6926) 2023-11-29 17:08:06 +01:00
ocornut
2ee40d3cf9 Menus: Tweaked hover slack logic, adding a timer to avoid situations where a slow vertical movements toward another parent BeginMenu() can keep the wrong child menu open. (#6671, #6926) 2023-11-29 16:46:21 +01:00
ocornut
bce4db00bc Drag and Drop: Fixed drop target highlight on items temporarily pushing a widened clip rect. (#7049, #4281, #3272) 2023-11-22 19:30:16 +01:00
ocornut
61b8197942 Misc: Renamed some defines in imstb_textedit.h to avoid conflicts when using unity/jumbo builds.
Bitting the bullet, as we rarely update this (and it is rarely updated) and it we may replace it anyhow.
2023-11-22 14:12:31 +01:00
ocornut
3d083dbe1a Version 1.90.1 WIP 2023-11-15 23:53:58 +01:00
ocornut
b81bd7ed98 Version 1.90.0
w/ Changelog tweaks.
2023-11-15 15:56:05 +01:00
ocornut
5de1312e1c SplitterBehavior: tweak to not assert due to floating point precision.
Not guaranting behavior: clamping makes output lossy, size_1+size_2 in theory may be instable but couldn't repro.
API probably needs rework anyhow (should redistribute from provided available space).
2023-11-14 15:34:30 +01:00
ocornut
44345c2108 Better documented the difference between BeginListBox() and BeginChild() w/ ImGuiChildFlags_FrameStyle.
BeginListBox() can't yet expose child flags because coarse clipping require query of stored size (same issue as with adding resize support to Tables).
2023-11-07 20:14:54 +01:00
ocornut
cdbc21a191 BeginChild(): Added ImGuiChildFlags_FrameStyle as a replacement for BeginChildFrame(). (#1666, #1496, #1395, #1710, #462, #503, #263)
Effectively allows us to avoid extending BeginChildFrame() api to mimic BeginChild() new parameters.
2023-11-07 18:50:32 +01:00
ocornut
7713c29258 BeginChild: Upgraded 'bool border = true' parameter to use a ImGuiChildFlags type and the ImGuiChildFlags_Border value. (toward #1666, #1496, #1395, #1710) 2023-11-02 17:26:05 +01:00
ocornut
88fec09715 ColorPicker4(): Fixed ImGuiColorEditFlags_NoTooltip when ImGuiColorEditFlags_NoSidePreview is also set. (#6957) 2023-10-26 15:45:45 +02:00
ocornut
feddcf3030 Combo: amends for ImGuiComboFlags_WidthFitPreview. (#6881)
Amend 112d8fc
2023-10-09 11:34:05 +02:00
mpv-enjoyer
112d8fc41d Combo: added ImGuiComboFlags_WidthFitPreview. (#6881) 2023-10-09 11:26:00 +02:00
ocornut
0312a29e4c ImageButton(): clarify purpose of size. (#6901, #5533, #4471, #2464, #1390).
Amend 4a2ae06ca
2023-10-05 18:51:45 +02:00
ocornut
2c07d581de TreeNode: Added ImGuiTreeNodeFlags_SpanAllColumns for use in tables. (#3151, #3565, #2451, #2438) 2023-10-05 15:05:58 +02:00
ocornut
28b237f94d Separator(): Altered end-points to use more standard boundaries. (#205, #4787, #1643, #759) 2023-10-03 15:26:35 +02:00
ocornut
330d763477 Separator: clarified setting the ImGuiSeparatorFlags_SpanAllColumns flag. (#759)
Technically a no-op.
2023-10-03 15:24:42 +02:00
ocornut
456aa3bc0a Menus: Fixed a bug where activating an item in a child-menu and dragging mouse over the parent-menu would erroneously close the child-menu. (#6869)
Regression from 0dec430
2023-09-27 16:34:31 +02:00
ocornut
94da5842ef Renamed ImFloor() to ImTrunc(). Renamed ImFloorSigned() to ImFloor(). (#6861) 2023-09-26 11:18:29 +02:00
ocornut
e5ca5351d5 TabBar: Fixed position of unsaved document marker (ImGuiTabItemFlags_UnsavedDocument) which was accidentally offset in 1.89.9. (#6862)
Amend 4a814244
2023-09-25 20:40:01 +02:00
ocornut
ef8ff1b5d8 TabBar, Style: added style.TabBarBorderSize and associated ImGuiStyleVar_TabBarBorderSize. (#6820, #4859, #5022, #5239)
Cherry-picked from docking's 64b1e44
2023-09-18 15:29:42 +02:00
ocornut
b101cf46b6 ListBox, Combo: Changed signature of "name getter" callback in old one-liner ListBox()/Combo() apis. 2023-09-15 18:43:04 +02:00
ocornut
8a2cd81091 TypingSelect: always enable nav highlight.
Otherwise in non multi-select contexts as nav dosn't automatically select result would not always be visible.
2023-09-15 16:58:06 +02:00
ocornut
223b19f116 Fixed warning when builidng with IMGUI_DISABLE_DEBUG_TOOLS. 2023-09-14 18:37:30 +02:00
ocornut
779568bb38 TypingSelect: tidy up some more + split ino functions to make reuse simpler. 2023-09-14 18:36:21 +02:00
ocornut
661a70fc79 TypingSelect: fast switch between characters in + debug, internal renames.
# Conflicts:
#	imgui.cpp
#	imgui_internal.h
2023-09-14 17:45:54 +02:00
ocornut
c86ce70968 Internal: Nav,MultiSelect: import ImGuiSelectionUserData, SetNextItemSelectionUserData() from MultiSelect. Track NavLastValidSelectionUserData as a convenience. 2023-09-12 20:29:36 +02:00
ocornut
f336e639e9 TypingSelect: rework GetTypingSelectRequest(), provide TypingSelectFindResult().
Amend 9714594
2023-09-12 16:36:54 +02:00
ocornut
0e1ce76ea8 InputTextMultiline: Fixed Tabbing cycle leading to a situation where Enter key wouldn't be accepted by the widget when navigation highlight is visible. (#6802, #3092, #5759, #787)
+ Added test in ImGuiTestSuite: "widgets_inputtext_multiline_enter"
2023-09-11 11:41:56 +02:00
ocornut
0962c9fb72 TypingSelect: Added first version of GetTypingSelectRequest() API.
# Conflicts:
#	imgui_internal.h
#	imgui_widgets.cpp
2023-09-08 17:20:03 +02:00
ocornut
fa2e5710ac MenuBar: Fixed an issue where layouting an item in the menu-bar would erroneously egister contents size. (#6789)
In dire need of removing BeginGroup()/EndGroup() from menu-bar code, fo r sanity.
2023-09-06 15:35:03 +02:00
ocornut
d8ef864b02 InputTextMultiline: Fixed a crash pressing Down on last empty line of a multiline buffer. (#6783, #6000)
Amend 57a5b73a4c
2023-09-06 11:28:14 +02:00
ocornut
cf1c4a0cb1 BeginListBox(): fixed not consuming SetNextWindowXXX data when returning false. 2023-09-05 16:47:00 +02:00
ocornut
fef3389157 Version 1.89.9 2023-09-04 14:30:32 +02:00
ocornut
3816d478df ImDrawList: small debug-mode optimization when calling AddRect() without rounding + Selectable: small debug-mode optimization.
# Conflicts:
#	imgui_widgets.cpp
2023-09-01 15:25:47 +02:00
ocornut
f93d0befaf Slider: fixed support for ImGuiItemFlags_ReadOnly/ImGuiSliderFlags_ReadOnly although it is technically unused/undocumented. (#6758)
Amend fdc526e8f
2023-08-29 12:19:15 +02:00
ocornut
33ea1e8b78 ColorEdit, ColorPicker: Manipulating options popup don't mark item as edited. (#6722) 2023-08-28 10:38:13 +02:00
ocornut
4a81424492 CloseButton, CollapseButton: don't include FramePadding into size. Use ItemInnerSpacing.x between title bar buttons. (#6749) 2023-08-25 14:14:34 +02:00
ocornut
b41811a68c CollapseButton: handle clipping better + align circle like in docking branch.
Amend 6c3697f6
2023-08-25 14:11:33 +02:00
ocornut
ba1fa904a9 IO: Exposed io.PlatformLocaleDecimalPoint to configure decimal point ('.' or ','). (#6719, #2278)
Amend 13f718337
2023-08-17 13:12:21 +02:00
ocornut
a1a7a1bc03 InputFloat, SliderFloat, DragFloat: always turn both '.' and ',' into the current decimal point character. (#6719, #2278) 2023-08-17 13:02:56 +02:00
ocornut
bc3c0ce772 Nav, TreeNode: Pressing Left with ImGuiTreeNodeFlags_NavLeftJumpsBackHere now goes through proper navigation logic: honor scrolling and selection. (#1079, #1131)
Added a stack for this purpose which other features might build on (e.g. #2920). However this is currently gated by many tests and not a performance concern, but making stack happen all the time may be undesirable.
2023-08-08 14:07:00 +02:00
Johannes Barthelmes
b7a7d673b9 Fixed an integer overflow and div-by-zero in SliderInt() when v_max is INT_MAX (#6675, #6679) 2023-08-03 20:13:31 +02:00
ocornut
d6d94d90bf Version 1.89.9 WIP
+ Minor typo fixes
2023-08-03 19:19:21 +02:00
ocornut
f7eea63872 Version v1.89.8 2023-08-01 12:53:57 +02:00
ocornut
79d6f4e211 Misc: Avoid stb_textedit.h reincluding string.h while in a namespace. (#6653, #4791) 2023-07-27 19:45:28 +02:00
ocornut
0e8eb8c48e Removed _MSC_VER <= 1500 checks for Visual Studio 2008 or earlier.
Our codebase requires VS2012+ since a while.
2023-07-13 12:38:16 +02:00
ocornut
b7cdb5a31e Scrollbar: layout needs to take account of window border size, so a border size will slightly reduce scrollbar size. (#2522)
Rework/revert intent of c1a61d25a.
2023-07-11 15:01:25 +02:00
ocornut
b32ef809c3 InputText: Fixed a case where deactivation frame would write to underlying buffer or call CallbackResize although unnecessary, in a frame where the return value was false. 2023-07-06 19:32:28 +02:00
ocornut
3349296370 InputText: Tweak ImGuiInputTextFlags_EscapeClearsAll handling so decision is taken on input buffer + Showcase a few more InputText() flags. (#5688, #2620)
This makes is more obvious that value_change==true when apply_new_text != NULL.
2023-07-06 19:32:01 +02:00
ocornut
3fe4319314 Version 1.89.8 WIP 2023-07-05 14:17:46 +02:00
ocornut
d4ddc46e77 InputText: Fixed a crash on deactivating a ReadOnly buffer. (#6570, #6292, #4714)
This will be part of 1.89.7 Tagged relase.
2023-07-04 16:20:51 +02:00
ocornut
cb9015e254 Version 1.89.7 2023-07-04 14:56:09 +02:00
ocornut
64172685d6 InputText: ImGuiInputTextCallbackData::InsertChars() accept (NULL,NULL) range, in order to conform to common idioms. (#6565, #6566, #3615) 2023-07-03 11:58:17 +02:00
ocornut
a02315e1c4 Combo: Made simple/legacy Combo() function not returns true when picking already selected item. (#1182) 2023-06-28 15:47:10 +02:00
ocornut
6137443d24 Overlap: moved ImGuiItemflags_AllowOverlap handling from ButtoBehavior() to ItemHoverable() now that it is possible. (#6512, #3909, #517)
This allows DragXXX, SliderXXX, PlotXXX etc to honor SetNextItemAllowOverlap().
2023-06-28 14:42:14 +02:00
ocornut
4dee919bc0 (Breaking) Internals: added ImGuiItemFlags param to ItemHoverable(), so it can be called from ButtonBehavior() not following an ItemAdd().
This also allow moving AllowOverlap logic from ButtonBehavior() to ItemHoverable(), allowing other widgets to honor it. (#6512, #3909, #517)
2023-06-28 14:42:14 +02:00
ocornut
8439a73645 Overlap: Added 'SetNextItemAllowOverlap()' as a replacement for 'SetItemAllowOverlap()'. (#6512, #3909, #517)
# Conflicts:
#	imgui.cpp
#	imgui_widgets.cpp
2023-06-28 14:40:47 +02:00
ocornut
a9a5cbf431 Overlap: Internals: add NextItemData.ItemFlags to facilitate implementation of SetNextItemAllowOverlap() + potentially remove extra_flags from ItemAdd(). (#6512, #3909) 2023-06-28 14:40:47 +02:00
ocornut
07e24b4058 ButtonBehavior: pull ImGuiButtonFlags_Repeat from ImGuiItemFlags_ButtonRepeat, matching ItemHoverable() logic. So more widgets can take advantage of Repeat logic. 2023-06-28 14:40:47 +02:00
ocornut
51f564eea6 (Breaking) Overlap: Renamed 'ImGuiTreeNodeFlags_AllowItemOverlap' to 'ImGuiTreeNodeFlags_AllowOverlap', 'ImGuiSelectableFlags_AllowItemOverlap' to 'ImGuiSelectableFlags_AllowOverlap'. Kept redirecting enums (will obsolete). (#6512, #3909, #517)
+ Internals: Renamed 'ImGuiButtonFlags_AllowItemOverlap' to 'ImGuiButtonFlags_AllowOverlap' without redirection.
2023-06-28 14:37:05 +02:00
ocornut
06f5b46133 Overlap: Fixed first frame of an overlap highlighting underlying item if previous frame didn't hover anything. (#6512, #3909, #517) 2023-06-27 15:46:35 +02:00
ocornut
d5d4d709c7 Drag and Drop: moved "drag souce doesn't report as hovered" from ButtonBehavior() to ItemHoverable().
Ensure DragXXX, SliderXXXX, InputText, PlotXXX follow same logic. Amend 251f178a6, a33f0d1f7
2023-06-27 14:44:39 +02:00
ocornut
a2f6581171 Selectable: Fixed bad manual cherry-pick/merge (fixes 3ec128c) 2023-06-27 10:57:08 +02:00
ocornut
3ec128c5fd Selectable, TreeNode: When using ImGuiSelectableFlags_AllowOverlap/ImGuiTreeNodeFlags_AllowOverlap and holding item held, overlapping widgets won't appear as hovered. (#6512, #3909)
Essentially we are going to remove calls to SetItemAllowOverlap() and standardize the fact that only 'HoveredId == id' test from it is performed.

# Conflicts:
#	imgui_widgets.cpp
2023-06-26 19:08:10 +02:00
ocornut
0a53b45858 CollapsingHeader/TreeNode: Fixed text padding when using _Framed+_Leaf flags. (#6549) 2023-06-26 11:15:55 +02:00
ocornut
94c46d7486 InputText: Fixed not returning true when buffer is cleared by ImGuiInputTextFlags_EscapeClearsAll. (#5688, #2620) 2023-06-21 14:20:13 +02:00
Krzysztof Adamek
959a9c79bd TreeNode: Added support for ImGuiTreeNodeFlags_UpsideDownArrow in frameless tree nodes (#6517, #6538) 2023-06-20 15:30:40 +02:00
ocornut
b60acfa87d Tooltips: Added SetItemTooltip(), BeginItemTooltip(). Improved Demo section. 2023-06-20 15:04:14 +02:00
ocornut
d96bbf0aae TreeNode: Added undocumented ImGuiTreeNodeFlags_UpsideDownArrow flag. (#6517)
+ Minor tweak comment/layout in ImGuiIO
2023-06-19 14:33:23 +02:00
ocornut
15d74bad1d Internals: Tooltips: renamed internal flags (expecting to expose later when we publish priority stuff). 2023-06-16 16:55:51 +02:00
ocornut
a134892a3d BeginComboPreview: fix when part of preview rect is clipped by parent window. (#6501, #1658) 2023-06-09 13:41:11 +02:00
ocornut
61ebb37843 Version 1.89.7 WIP 2023-06-01 11:22:43 +02:00
ocornut
5319d1cffa Version 1.89.6 2023-05-31 14:47:32 +02:00
ocornut
45c8c3b611 Listbox: commented out obsolete/redirecting functions that were marked obsolete more than two years ago: ListBoxHeader(), ListBoxFooter().
+ Added default parameter to SeparatorEx() amend 2c558d5
2023-05-22 10:09:20 +02:00
ocornut
2c558d5741 Internals: SeparatorEx(): expose thickness + add misc comments relating to Separators. 2023-05-20 16:25:14 +02:00
ocornut
6656553fa4 Nav: Record/restore preferred position on each given axis.
Tagging #6344 #6003 #2694 #1688 as it relates to scoring, however this doesn't technically fix any of them fully yet.
But e.g. once we restore axial path for #2694 this commit will allow going back and forth to initial location.
2023-05-09 17:26:27 +02:00
ocornut
6cdedf5834 Drag, Sliders: if the format string doesn't contain any %, when using CTRL+Click to input we use a default format. (#6405) 2023-05-09 12:04:04 +02:00
ocornut
d3ad2f357f Menus: Fixed an issue when opening a menu hierarchy in a given menu-bar would allow opening another via simple hovering. (#3496, #4797)
Amend 48f26333
2023-04-25 12:17:37 +02:00
ocornut
01ca196530 Focus: move focused child restore code in FocusWindow() with ImGuiFocusRequestFlags_RestoreFocusedChild flag. (#6357)
# Conflicts:
#	imgui.cpp
2023-04-21 19:07:08 +02:00
ocornut
30eceaf95f Focus: start moving modal check into FocusWindow(), add ImGuiFocusRequestFlags_UnlessBelowModal (currently opt-in, should try to make opt-out). (#6357, #4317) 2023-04-21 19:06:11 +02:00
ocornut
f0fe1957a8 Focus: merge extra param for FocusTopMostWindowUnderOne() from docking branch to facilitate merge. 2023-04-21 19:05:58 +02:00
lukaasm
0948cfc19e InputText: do not set WantTextInputNextFrame during the frame InputText is deactivated. (#6341) 2023-04-18 11:35:12 +02:00
ocornut
064153fca4 Version 1.89.6 WIP 2023-04-17 14:40:00 +02:00
ocornut
1ebb913827 Version 1.89.5 2023-04-13 16:17:49 +02:00
ocornut
47a07d8476 ButtonBehavior: Fixed an edge case where changing widget type/behavior while active and using same id could lead to an assert. (#6304)
+ Demo: use BeginDisabled() block in BackendFlags section.
I'd still consider this undefined behavior as some combination may not work properly, but let's fix things while we can as we encounter them.
2023-04-05 18:34:49 +02:00
ocornut
e8206db829 InputText: Fixed crash introduced by 5a2b1e848 (#6292, #4714) 2023-04-02 17:29:56 +02:00
ocornut
5f301914a0 TabBar: Tab-bars with ImGuiTabBarFlags_FittingPolicyScroll can be scrolled with horizontal mouse-wheel (or Shift + WheelY). (#2702) 2023-03-29 17:10:03 +02:00
AJ Weeks
821814b450 InputText: Reworked prev/next-word behavior . Include period as delimiter and tweak prev/next words logic. (#6067) 2023-03-22 20:48:47 +01:00
ocornut
c98bad042d ColorEdit, RadioButton, Windows: Using adaptative tesselation for preview circles. 2023-03-21 17:48:09 +01:00
PanForPancakes
9ac94ff001 ColorPicker: Fixed shading of S/V triangle in Hue Wheel mode. (#6254, #5200)
Amend f6460970
2023-03-21 17:47:56 +01:00
David Briscoe
cac76b2754 Slider, Drags: skip %+ and %# format flags for scanning. (#6259)
(There are two additional unhandled flags that only affect padding: '-' and ' '. Formatting flags don't make sense in a SliderInt's format string, so I've omitted them)
2023-03-21 12:09:38 +01:00
ocornut
5a2b1e8482 InputText: Fixed a tricky edge case, ensuring value is always written back on the frame where IsItemDeactivated() returns true (#4714)
Altered ItemAdd() clipping rule to keep previous-frame ActiveId unclipped to support that late commit.

Also, MarkItemEdited() may in theory need to do:
if (g.ActiveIdPreviousFrame == id)
        g.ActiveIdPreviousFrameHasBeenEditedBefore = true;
But this should already be set so not adding now.
2023-03-16 21:12:57 +01:00
ocornut
314e6443c9 Internals: removed ImGuiInputSource_Nav enum,
Essentially finishing the work of removing Nav a dual input source (with e.g. removal of NavInput[]).
2023-03-16 20:28:05 +01:00
ocornut
c501c2d4cd Internals: inverted a block in InputScalar() to facilitate reading/stepping in common case. 2023-03-16 15:15:12 +01:00
ocornut
24a44b9abe Version 1.89.5 WIP 2023-03-15 12:25:20 +01:00
ocornut
f3f6295d53 Version 1.89.4
Commented out obsolete enums/functions names: ImGuiSliderFlags_ClampOnInput, ImGuiInputTextFlags_AlwaysInsertMode, ImDrawList::AddBezierCurve(), ImDrawList::PathBezierCurveTo()()
2023-03-14 16:36:19 +01:00
ocornut
552969e33e BeginTooltip: correctly testing return value of BeginTooltipEx() even though it always return true in current code.
Amend 3b2f617
2023-03-14 14:28:41 +01:00
ocornut
a322122f74 InputText: Fixed not being able to use CTRL+Tab while an InputText() using Tab for completion or textinput is active.
(regresion from 1.89) + removed unnecessary if block in NavProcessItem()
2023-03-09 16:24:03 +01:00
Marc Delorme
c8ad25caa6 Make classes not depend on the implicit GImGui context (#5856, #6199): ImGuiWindow, ImGuiInputTextCallbackData, ImGuiListClipper, ImGuiStackSizes
This commit is a preparation toward adding ImGui apis with explicit context
and making ImGui applications being able to use multiple context at the same time
whatever their concurrency model.

This commit modifies ImGuiInputTextCallback, ImGuiListClipper and ImGuiStackSize so those classes do not to depend on GImGui context anymore.

About ImGuiInputTextCallback:
- ImGuiInputTextCallback depends on ImGuiContext because it has a
  `InsertChars` method adding character to `g.InputTextState`
- To make ImGuiInputTextCallback aware of which context to use, the
  appropriate context is given as argument of ImGuiInputTextCallback
  constructor.

About ImGuiListClipper:
- ImGuiListClipper apply to a context through its `Begin`, `End`, and `Step`
  method.
- To make ImGuiListClipper aware of which context to use, the
  appropriate context is given as argument of ImGuiListClipper
  constructor.
- Since the behavior is different than previously the class has been
  renamed ImGuiListClipperEx
- In order to preserve backward compatibility, a subclass of ImGuiListClipperEx
  named ImGuiListClipper has been defined and forward the implicit context
  to ImGuiListClipperEx parent.

About ImGuiTextFilter:
- ImGuiTextFilter depends on the implicit context because the Draw(..)
  method call ImGui::InputText(...)
- Instead from that commit the Draw(...) method takes an explicit context
  as first argument
- Since the behavior is different than previously the class has been
  renamed ImGuiTextFilterEx
- In order to preserve backward compatibility, a subclass of ImGuiTextFilterEx
  named ImGuiTextFilter has been defined. This subclass has a draw method
  override which and forward the implicit context to the parent class Draw(...)

About ImGuiStackSizes:
- ImGuiStackSizes was depending on ImGuiContext because of its
  `SetToCurrentState` and `CompareWithCurrentState` method
- ImGuiStackSizes is an helper object use
  for comparing state of context. It does not necessarily need to
  compare the same context. For that reason, as opposed to previous
  classes it takes the context it wants to compare to as argument of
  its method.
- For this occasion `SetToCurrentState` and `CompareWithCurrentState`
  have been renamed `SetToContextState` and `CompareWithContextState`
  to match the new method signature.

ImGuiListClipper

ImGuiInputTextCallbackData
2023-03-08 15:55:38 +01:00
ocornut
c9a53aa74d Nav: Made Enter key submit the same type of Activation event as Space key. (#5606)
Instead of adding NavActivateInputId support in ButtonBehavior() started untangling the mess.
2023-03-07 18:41:49 +01:00
ocornut
b6586bb06d TestEngine: update IMGUI_TEST_ENGINE_ITEM_ADD() hooks to support passing item in flags. 2023-03-06 18:10:04 +01:00
ocornut
696a533532 TestEngine: added ImGuiItemStatusFlags_Inputable flag report to facilitate fuzzing. 2023-02-16 12:15:06 +01:00
ocornut
a1b8457cb5 Moved the optional "courtesy maths operators" (#define IMGUI_DEFINE_MATH_OPERATORS) implementation from imgui_internal.h in imgui.h. (#6164, #6137, #5966, #2832) 2023-02-15 19:23:12 +01:00
ocornut
204cb4d226 Version 1.89.4 WIP 2023-02-15 15:35:56 +01:00
ocornut
458a109031 Version 1.89.3 2023-02-14 16:00:18 +01:00
ocornut
fa0852f9e5 ColorEdit, ColorPicker: Fixed hue/saturation preservation logic from interfering with the displayed value (but not stored value) of others widgets instances. (#6155)
Amend 30546bc0, accb0261b, 38d22bc4
2023-02-14 15:35:00 +01:00
ocornut
99c0bd65df Added SeparatorText() widget. (#1643) 2023-02-10 12:16:41 +01:00
ocornut
e816bc6723 Merge misc changes from docking branch to reduce small drift.
In particular:
- imgui.cpp : move UpdateInputEvents() higher in NewFrame() to match docking + update RenderMouseCursor() to match.
- imgui_draw.cpp: ImDrawList::_ResetForNewFrame() change from c807192ab
- Backends: SDL2. Add MouseWindowID + change SDL_CaptureMouse() test to match docking branch. Not strictly necessary but aimed at reducing drift because we go on and fork this file.
+ moved responsability of checking valid names to TabBarGetTabName() to simplify both branches.
2023-02-07 13:22:23 +01:00
Giuseppe Barbieri
c75410e72c
Debug: fix display order of InputText's data CurLenA/CurLenW (#6143) 2023-02-03 17:55:26 +01:00
ocornut
d719776460 Internals: added 'ImGuiButtonFlags flags' to ImageButtonEx(). (#6126) 2023-01-31 11:30:27 +01:00
ocornut
f142887088 Combo: Allow SetNextWindowSize() to alter combo popup size. (#6130)
Amend a5e939214
2023-01-31 11:23:24 +01:00
ocornut
27f2dd56d6 Internals: move "%s" skip-formatting logic to ImFormatStringToTempBuffer() function, meaning Text() and all the *V() functions can also benefit from it. (#3466)
Amend 645a6e0 and 23a785a.
2023-01-27 15:24:23 +01:00
ocornut
fc50532213 InputText: On OSX, inhibit usage of Alt key to toggle menu when active (used for work skip). 2023-01-25 21:44:30 +01:00
AJ Weeks
f4ef420c01 InputText: Added support for Ctrl+Delete to delete up to end of word. (#6067) 2023-01-25 14:41:38 +01:00
ocornut
3d8885cbbd TabBar: Internals: add GetCurrentTabBar(), TabBarFindTabByOrder(), TabBarGetCurrentTab(), TabBarGetTabOrder(), TabBarGetTabName(), TabBarQueueFocus() + clear LastTabItemIdx on EndTabBar(). (#5853, #5997)
ImGuiTabBar::GetTabOrder() -> TabBarGetTabOrder().
ImGuiTabBar::GetTabName() -> TabBarGetTabName()
2023-01-24 19:41:20 +01:00
ocornut
f6db9e2f39 Menus: Fixed layout of MenuItem()/BeginMenu() when label contains a '\n'. (#6116) 2023-01-24 16:11:38 +01:00
ocornut
51c97a41aa PlotHistogram, PlotLines: Passing negative sizes honor alignment like other widgets. 2023-01-18 15:13:23 +01:00
ocornut
ccf94e2e6e Strip seemingly unecessary tests, as UTF-8 decoder can not return null since 9cca1b2e9 2023-01-12 12:46:06 +01:00
ocornut
482ac70a0b Version 1.89.3 WIP 2023-01-11 15:52:30 +01:00
ocornut
d7c8516a4b Version 1.89.2 2023-01-05 15:49:29 +01:00
ocornut
83429abf4a Internals: simplify ButtonBehavior(), also to allow easily adding a mouse_button_down thing. 2023-01-05 12:19:37 +01:00
ocornut
03add24acf Selectable: Internals: removed unused ImGuiSelectableFlags_DrawHoveredWhenHeld flag.
Needlessly introduced in baae057a from WIP tables branch at the time, ended up unused by Tables.
A comment "I find it counter intuitive that hovering supersedes activation." in #3516 led me to this however this is not the cause of said issue.
2023-01-05 11:28:05 +01:00
ocornut
57a5b73a4c InputText: fixed cursor navigation when pressing Up Arrow on the last character of a multiline buffer which doesn't end with a carriage return. (#6000)
Simplify stb_textedit_find_charpos(). Leaving that to simmer for a while before attempting an upstream PR.
2023-01-04 17:58:07 +01:00
ocornut
59b63defe5 Misc shallow merge/sync from docking designed to faciliate cross-merging between docking and string_view. 2022-12-08 21:14:39 +01:00
Marc Delorme
a5e96ff99e Make ImGuiInputTextState not depend on the implicit GImGui context. (#5856)
This commit is a preparation toward adding ImGui apis with explicit context
and making ImGui applications being able to use multiple context at the same time
whatever their concurrency model.
--
Prior to this commit ImGuiInputTextState::OnKeyPressed was depending on the
global context to know which font and font size to use, and if it should
follow MacOSX behaviors or not (c.f ConfigMacOSXBehaviors).

Instead of using the global context, this commit store the context as
attribute of ImGuiInputTextState. Since this state is forwarded to most
of text edit related function, it possible to access font, font size and
ConfigMacOSXBehaviors from everywhere.

NOTE: I have noticed a bug prior to that commit: if the font or font size
change while editing the same widget, the ImGuiInputTextState become invalid
and there is no code to handle this invalidation. Fixing this bug is out
of scope of current pull request.

# Conflicts:
#	imgui_internal.h
2022-12-01 16:48:45 +01:00
ocornut
bd96f6eac4 Text: Fixed layouting of wrapped-text block when the last source line is above the clipping region. Regression added in 1.89. (#5720, #5919)
+ Update version marker
2022-11-28 14:59:13 +01:00
ocornut
a8df192df0 Version 1.89.1 2022-11-24 21:24:33 +01:00
ocornut
3a685749cb ColorEdit: fixed label overlapping when using style.ColorButtonPosition == ImGuiDir_Left. (#5912)
Amend 54fb051e5
+ Internals: added IsKeyboardKey(), IsMouseKey() helpers.
2022-11-23 15:00:50 +01:00
ocornut
5bb2874940 Version 1.89.1 WIP 2022-11-16 17:55:27 +01:00
ocornut
83cee9e091 InputText: replaced some uses of SetKeyOwner() + IsKeyPressed() with Shortcut()
Which makes it easier to hook/disable those keys from outside if needed.
2022-11-16 17:09:14 +01:00
ocornut
81160fee56 Version 1.89
+ fix warning from a582d92
2022-11-15 15:20:36 +01:00
ocornut
4d6a9ef93f Inputs: added routing priorities. (#456, #2637, #3724)
- and ImGuiInputFlags_RouteUnlessBgFocused
- will be useful for blind menu handlers.
2022-11-08 20:37:58 +01:00
ocornut
7ff2d3353c Inputs: added wip/experiment routing system: Shortcut(), RoutingFocused policy, SetShortcutRouting(). (#456, #2637, #3724)
- InputText() uses Shortcut().
2022-11-08 20:37:58 +01:00
ocornut
4448d975d1 Inputs: added wip/internal Input Owner system. (#456, #2637, #2620, #2891, #3370, #4828, #5108, #5242, #5641)
- Added SetKeyOwner(), SetItemKeyOwner(), TestKeyOwner().
- Added new IsKeyXXX IsMouseXXX functions with ImGuID owner_id and flags.
- Obsoleted SetItemUsingMouseWheel(). (#2891)
- Removed IsKeyPresseedEx() which was a recent internal addition 2022-07-08 deemed to be temporary exactly for this.
- Added ImGuiButtonFlags_NoSetKeyOwner, ImGuiButtonFlags_NoTestKeyOwner
- Added ImGuiSelectableFlags_NoSetKeyOwner.
- Added ImGuiInputFlags_LockThisFrame, ImGuiInputFlags_LockUntilRelease for for SetKeyOwner(), SetItemKeyOwner().
- Added ImGuiInputFlags_CondXXX values for SetItemKeyOwner().
2022-11-08 18:47:36 +01:00
ocornut
529cba19b0 Debug Tools: Added DebugLocateItem()/DebugLocateItemOnHover() to visually locate items when hovering a 0xXXXXXXXX value. (#5855, #2673, #4631) 2022-11-04 16:06:34 +01:00
ocornut
9f66a3a9ed Internals: rework FocusScope system, current scope doesn't need to be in window + child doesn't inherit.
Intended as part of work for input routing + blind menu processing shortcuts. Some of this commit will be stripped by next commit.
Intent was to sort windows along with focus scope to build a hierarchy, but for our needs we'd need a persistant one, so scrapping the idea. Not squashing this with next commit to keep a bit of history for future references.
2022-11-04 12:19:20 +01:00
ocornut
1eac0024c0 InputText: copy and select all shortcuts don't need repeat (tho it was harmless0 2022-11-03 18:33:43 +01:00
ocornut
431fc6a7f6 Internals: using ItemAdd() consistently for internal items: windows & tables resize grips/borders, ScrollbarEx().
This put an extra flag check in ItemAdd() but essentially reduce inconsistency with windows decorations not using this. Useful for debugging.
It however buries the info/blurs the line about what it means to not use ItemAdd() since they are now doing it much less.
2022-10-24 22:54:29 +02:00
ocornut
bc918404fe Internals: using ImToUpper() since std one does too many things.
As a bonus side-effect may remove reliance on ctype.h (will see if CI complains)
2022-10-21 16:13:52 +02:00
ocornut
9a35bfea39 Internals: added temporary ImGuiItemStatusFlags_Visible (used internally - please do not use).
Used by BeginMenu() as I'm experimenting with blind menus honoring shortcuts.
Extra comments about KeyMap and ImGuiKeys
2022-10-21 14:57:10 +02:00
ocornut
e3fa56ae05 BeginMenu(): Menus: Fixed a one-frame issue where SetNextWindowXXX data are not consumed by a BeginMenu().
+ Shallow tweaks to reduce diff of future branches. Removing early return also facilitate some changes.
2022-10-19 14:12:04 +02:00
ocornut
81176737f8 Menus: Fixed using IsItemHovered()/IsItemClicked() on BeginMenu(). (#5775) 2022-10-14 17:39:04 +02:00
ocornut
3e8d198133 Removed runtime patching of obsolete/invalid "%f"/"%.0f" types of format strings for DragInt()/SliderInt(). 2022-10-12 23:09:09 +02:00
ocornut
85a368b58d Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. (#5745)
+ TabBar: starts displaying the unsaved document marker with a frame delay to match how close button is processed, otherwise the transition would be noticeable.
2022-10-04 18:03:56 +02:00
ocornut
0749453355 Menus, Nav: Fixed not being able to close a menu with Left arrow when parent is not a popup. (#5730) 2022-09-29 19:51:54 +02:00
ocornut
bd2355a047 Menus, Nav: Fixed using left/right navigation when appending to an existing menu (multiple BeginMenu() call with same names). (#1207) 2022-09-29 19:25:26 +02:00
ocornut
3532ed1621 Menus, Nav: Fixed keyboard/gamepad navigation occasionally erroneously landing on menu-item in parent when the parent is not a popup. (#5730)
Replace BeginMenu/MenuItem swapping g.NavWindow with a more adequate ImGuiItemFlags_NoWindowHoverableCheck.
Expecting more subtle issues to stem from this.
Note that NoWindowHoverableCheck is not supported by IsItemHovered() but then IsItemHovered() on BeginMenu() never worked: fix should be easy in BeginMenu() + add test is IsItemHovered(), will do later
2022-09-29 18:44:19 +02:00
ocornut
d5d705069d Various comments
As it turns out, functions like IsItemHovered() won't work on an open BeginMenu() because LastItemData is overriden by BeginPopup(). Probably an easy fix.
2022-09-29 18:44:19 +02:00
ocornut
d17627b9c6 InputText: leave state->Flags uncleared for the purpose of backends emitting an on-screen keyboard for passwords. (#5724) 2022-09-28 17:38:41 +02:00
ocornut
04316bd223 ColorEdit3: fixed id collision leading to an assertion. (#5707) 2022-09-26 16:32:09 +02:00
ocornut
fd408c9790 Renamed and merged keyboard modifiers key enums and flags into a same set:. ImGuiKey_ModXXX -> ImGuiMod_XXX and ImGuiModFlags_XXX -> ImGuiMod_XXX. (#4921, #456)
Changed signature of GetKeyChordName() to use ImGuiKeyChord.
Additionally SetActiveIdUsingAllKeyboardKeys() doesn't set ImGuiKey_ModXXX but we never need/use those and the system will be changed in upcoming commits.
2022-09-26 10:43:26 +02:00
ocornut
85f327d8d3 InputText: added ImGuiInputTextFlags_EscapeClearsAll (#5688) 2022-09-21 16:23:44 +02:00
ocornut
60ab8a94a7 InputText: fixed minor one-frame selection glitch when reverting with Escape + disable cursor rendering on revert frame. (#3008)
Amend bdbb2b21, 83efdcec
2022-09-20 15:46:32 +02:00
ocornut
52d9ee0dc2 Tabs: Fixed ShrinkWidths() redistribution of remainder leading to infinite bug (second fix). (#5652, #5262)
Amend b137f31
2022-09-09 20:01:59 +02:00