ocornut
f0ad810553
Inputs: tweak comments, typos.
2022-11-08 22:41:45 +01:00
ocornut
4d5da74c79
Merge branch 'master' into docking
2022-11-08 20:44:04 +01:00
ocornut
637ddfce09
Inputs, Nav: made it possible to remap CTRL+Tab ( #4828 , #3255 , #5641 )
2022-11-08 20:38:49 +01:00
ocornut
6c9c4879d9
Inputs: made Shortcut() routing id defaults to current FocusScope ID. ( #456 , #2637 , #3724 )
...
One idea being that this value can be easily locked (for blind menus) or manipulated (for queries from outside).
2022-11-08 20:37:58 +01:00
ocornut
d576724bfd
Inputs: made ImGuiInputFlags_RouteFocused the default for Shortcut(). ( #456 , #2637 , #3724 )
2022-11-08 20:37:58 +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
c59ebb2d71
Inputs: added basic Shortcut() function - no routing yet. ( #456 )
2022-11-08 20:37:58 +01:00
ocornut
8c95c084cb
Inputs: changed specs of SetKeyOwner() to alter OwnerCurr immediately.
...
Note the removed comments (hence not squashing)
Amend 4448d97
(#456 , #2637 , #2620 , #2891 , #3370,, #4828 , #5108 , #5242 , #5641 )
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
5728f2e15f
Fix build with IMGUI_DISABLE_DEBUG_TOOLS
2022-11-04 16:47:04 +01:00
ocornut
44d98bfd6d
Fix build with IMGUI_DISABLE_DEBUG_TOOLS
2022-11-04 16:35:57 +01:00
ocornut
849c8052b7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_osx.mm
# backends/imgui_impl_win32.cpp
# imgui.cpp
# imgui_internal.h
2022-11-04 16:26:15 +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
7109f32f96
Internals: tidying up and stripping more of focus scope code.
2022-11-04 12:19:23 +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
90e9465fa5
Window: Fixed position not being clamped while auto-resizing ( #5843 )
2022-11-02 12:36:41 +01:00
ocornut
6e9dfe1de1
Window: Auto-fit size takes account of work rectangle (menu bars eating from viewport). ( #5843 )
2022-11-02 12:36:22 +01:00
cfillion
ced92d9c52
Inputs, Viewports: fix UpdateViewportsNewFrame() running before UpdateInputEvents(), leading to MouseViewport lagging by a frame on transitions. ( #5837 , #4921 )
...
Will merge the swap in master.
2022-10-31 12:08:23 +01:00
ocornut
22bcfca700
IO: Clear AppFocusLost in EndFrame() in order to allow backend or application code to poll and react to it
...
+ Amend a241dc7
with the same clearing of MouseDownDuration[] as keyboard ones.
2022-10-28 20:01:20 +02:00
ocornut
a241dc7990
IO: Fixed AddFocusEvent(false) to also clear MouseDown[] state. ( #4921 )
2022-10-27 20:17:19 +02:00
ocornut
a61bbdc239
Commented out redirecting OpenPopupContextItem() which was briefly the name of OpenPopupOnItemClick() from 1.77 to 1.79.
2022-10-26 22:22:53 +02:00
ocornut
baea25e657
Drag and Drop: extracted a RenderDragDropTargetRect() function ( #1603 )
2022-10-25 15:54:22 +02:00
ocornut
375ae5dce4
Merge branch 'master' into docking (incl glfw use of GLFW_VERSION_COMBINED)
...
Note switched from GLFW_VERSION_REVISION * 10 to GLFW_VERSION_REVISION * 1
2022-10-24 22:58:25 +02: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
178aee4b1c
Debug Tools: Debug Log: add and use ImGuiTextLineIndex.
...
This is needed for next commit where we want to parse hovered Debug Log line.
2022-10-24 21:23:59 +02:00
ocornut
50c4234aca
Docking: Further fixes for highlight of nested nodes. ( #5702 )
...
Amend fb0b9c71
, 8f43487
, 9764adc
, 24dfebf
Added more regression tests e.g "docking_focus_nodes_nested"
2022-10-24 20:34:03 +02:00
ocornut
5370b46c4e
Docking: Made spacing between dock nodes not a dropping gap.
2022-10-24 20:25:42 +02:00
ocornut
f6bd7c8e53
Debug Tools: Item Picker: remove IMGUI_DEBUG_TOOL_ITEM_PICKER_EX since it doesn't work on non-ItemHoverable() items anyway. ( #2673 )
...
Call stack difference not meaningful.
2022-10-21 18:32:40 +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
5ac94ad898
Window: Fixed an issue where uncollapsed a window would show a scrollbar for a frame.
...
Amend / fix regression from 6e8e2c0
2022-10-18 16:43:38 +02:00
ocornut
f87e891f18
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-10-14 18:50:40 +02:00
ocornut
08752b372e
Menus, Popups: Experimental fix for issue where clicking on an open BeginMenu() item called from a window which is neither a popup neither a menu used to incorrectly close and reopen the menu. ( #5775 )
...
This works by moving the ClosePopupsOverWindow() in FocusWindow() in the if() block which luckily solves our problem.
In our test suite I couldn't find situation where this had side-effect others than BeginMenu() using the 'menuset_is_open' trick.
It's difficult to tell if other side-effects are possible: a window being already focused should mean it doesn't have popups overit.
Effectively this means that clicking e.g. on the BeginMenu() item to close a menu in a menu-bar now relies on BeginMenu() logic for the closure rather than FocusWindow() triggerd by button behavior.
2022-10-14 18:47:00 +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
edf522b58a
Merge branch 'master' into docking + amends change to nullptr ( #5760 )
...
# Conflicts:
# backends/imgui_impl_dx10.cpp
# backends/imgui_impl_dx11.cpp
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_dx9.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_opengl2.cpp
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_vulkan.cpp
# backends/imgui_impl_win32.cpp
# imgui_internal.h
2022-10-11 15:59:23 +02:00
ocornut
8a44c31c95
Scrolling: Further reduce unrelease mouse-wheel locked window timer + misc refactor ( #2604 , #3795 , #4559 )
...
The refactor are designed to minimize the diff for changes needed for #3795
2022-10-06 20:17:28 +02:00
ocornut
cb04326b46
Fixed ImGuiWindowFlags_UnsavedDocument clipping label in docked windows with no close button. [changes for docking] ( #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:08:29 +02:00
ocornut
c7d3d22ae1
Scrolling: Mitigated issue where multi-axis mouse-wheel inputs (usually from touch pad events) are incorrectly locking scrolling in a parent window. ( #4559 , #3795 , #2604 )
2022-10-04 15:41:57 +02:00
ocornut
80a870a3e5
Scrolling: Tweak mouse-wheel locked window timer so it is shorter but also gets reset whenever scrolling again ( #2604 ) + small refactor
...
Somehow interesting for (#3795 , #4559 ). sorry this will break PR for 3795 but we got the info.
2022-10-04 15:34:17 +02:00
ocornut
fb0b9c7160
Docking: Fixed missing highlight when using dock node host window borders. ( #5702 )
...
Amend 8f434874
, 9764adc7b
, 24dfebf45
2022-10-03 14:55:22 +02:00
ocornut
f2a522d70d
ImDrawList: Not using alloca() anymore, lift single polygon size limits. ( #5704 , #1811 )
2022-09-30 15:58:55 +02:00
ocornut
69beaa1d0b
Viewports: Fix AddMouseViewportEvent() to honor AppAcceptingEvents, filter duplicate, add to debug log.
2022-09-29 22:03:21 +02:00
ocornut
d91211f9f2
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
# backends/imgui_impl_win32.cpp
2022-09-29 22:02:23 +02:00
ocornut
cc5058e5d7
IO: Filter duplicate input events during the AddXXX() calls. ( #5599 , #4921 )
2022-09-29 22:01:11 +02:00
ocornut
fac8295d6e
IO: remove ImGuiInputEvent::IgnoredAsSame (revert part of 839c3100
), will filter earlier in next commit. ( #5599 )
...
Making it a separate commit as this leads to much indentation change.
2022-09-29 22:00:38 +02:00
ocornut
9e7f460c09
Fixed GetKeyName() for ImGuiMod_XXX values, made invalid MousePos display in log nicer. ( #4921 , #456 )
...
Amend fd408c9
2022-09-29 22:00:35 +02:00
ocornut
9f6aae3bf2
Nav: Fixed race condition pressing Esc during popup opening frame causing crash.
2022-09-29 19:48:27 +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
a725db17b7
Comments for flags discoverability + add to debug log ( #3795 , #4559 )
2022-09-27 20:08:40 +02:00
ocornut
8f434874c0
Docking: Fixed incorrect focus highlight on docking node when focusing a menu. ( #5702 )
2022-09-26 15:56:54 +02:00
ocornut
1dc7d0e633
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_osx.mm
# backends/imgui_impl_sdl.cpp
# backends/imgui_impl_win32.cpp
# imgui.cpp
2022-09-26 11:08:49 +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
f359dca0dc
Misc input related changes to facilitate upcoming merges.
2022-09-22 19:00:30 +02:00
ocornut
4b522e145c
Experiment: ImGuiKey is now a typed enum, allowing ImGuiKey_XXX symbols to be named in debuggers. ( #4921 , #4537 )
...
May affect binding generators.
2022-09-20 12:42:29 +02:00
ocornut
3af9ac320d
Merge branch 'master' into docking
...
# Conflicts:
# examples/imgui_examples.sln
# imgui.cpp
# imgui.h
# imgui_demo.cpp
2022-09-17 00:25:42 +02:00
ocornut
1dd964f87d
Popups & Modals: Fix (amended) somehow undocumented Popup+Child behavior (useful for e.g. #718 , #4461 and probably other things)
...
(broken by 1c4066cd
)
2022-09-16 23:27:16 +02:00
ocornut
440f257688
Popups & Modals: fixed nested Begin() being erroneously input-inhibited. (useful for e.g. #718 , #4461 and probably other things)
2022-09-16 22:08:11 +02:00
tocic
2b1d8e3eaf
Fix more typos in sources and docs ( #5681 )
2022-09-14 20:36:45 +02:00
tocic
6c3c9cea7f
Fix typos in source comments ( #5675 )
2022-09-13 11:09:34 +02:00
ocornut
513c1ba996
Removed the bizarre legacy default argument for 'TreePush(const void* ptr = NULL)' ( #1057 )
...
Followup to e605f2179
2022-09-12 16:00:19 +02:00
ocornut
64b88da21b
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
2022-09-09 20:48:57 +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
ocornut
9e1ccf8fab
Commented out redirecting functions/enums names that were marked obsolete in 1.77 and 1.78 (June 2020): ( #3361 )
...
- DragScalar(), DragScalarN(), DragFloat(), DragFloat2(), DragFloat3(), DragFloat4() with signature ending with (..., float power = 1.0f)
- SliderScalar(), SliderScalarN(), SliderFloat(), SliderFloat2(), SliderFloat3(), SliderFloat4() with signatures ending with (..., float power = 1.0f)
- BeginPopupContextWindow(const char*, ImGuiMouseButton, bool)
2022-09-05 14:38:00 +02:00
ocornut
aceab9a877
Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. ( #5548 )
...
This incorrect pattern has been mentioned or suggested in: #4510 , #3355 , #1760 , #1490 , #4152 , #150
# Conflicts:
# imgui.cpp
2022-09-02 16:38:40 +02:00
ocornut
edcd5b113e
Obsoleted using SetCursorPos()/SetCursorScreenPos() to extend parent window/cell boundaries. ( #5548 )
...
This incorrect pattern has been mentioned or suggested in: #4510 , #3355 , #1760 , #1490 , #4152 , #150
2022-09-02 16:37:35 +02:00
ocornut
bc2002ab92
Merge branch 'master' into docking
2022-09-01 20:54:37 +02:00
Rokas Kupstys
b3ea01d86f
Menus: Fix sub-menu inhibition stopping working in some cases. (Amend WIP) ( #2517 , #5614 , noticed in #5546 )
...
Amend bda2cde6
Fixes the case where following menu hover sequence results in incorrect RestoreNavWindow (previously SourceWindow) pointing to opened sub-menu:
1. Hover "Menu -> Options" - Open ##Menu_01 window
2. Hover "Menu -> Colors" - SourceWindow incorrectly points to ##Menu_01 window
2022-09-01 17:02:46 +02:00
ocornut
7f25143972
Better error reporting for PopStyleColor()/PopStyleVar() + easier to recover. ( #1651 )
2022-09-01 10:54:00 +02:00
ocornut
747c9a7adf
IsKeyPressed(), IsMouseClicked(), GetKeyPressedAmount(): add a (normally unnecessary) test for ->Down next to ->DownDuration tests, facilitating the use of key eating mechanism.
...
Consider removing when we add support for input ownership.
2022-08-31 19:15:13 +02:00
ocornut
e13913ed57
IsItemHovered: Added ImGuiHoveredFlags_DelayNormal, ImGuiHoveredFlags_DelayShort, ImGuiHoveredFlags_NoSharedDelay. ( #1485 )
...
IsItemHovered() can't have a non-zero default, but higher-level tooltip helpers may enable a different default later.
2022-08-24 21:32:13 +02:00
ocornut
71a0701920
Nav: Fixed regression in e99c4fc
preventing CTR+Tab to work without NavEnableKeyboard ( #5504 , #4023 );
2022-08-24 15:49:03 +02:00
ocornut
b3b3a07133
Nav: Fixed regression in e99c4fc
preventing CTR+Tab to work without NavEnableKeyboard ( #5504 , #4023 );
2022-08-24 14:45:11 +02:00
ocornut
db798fd5be
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# imgui.cpp
# imgui_internal.h
2022-08-23 18:41:24 +02:00
ocornut
72096bf698
Clipper: simplify code and remove cases where true is returned with empty display range as an extra step.
2022-08-23 15:40:07 +02:00
ocornut
07b9999de9
Debug Log: added 'Clipper' events logging.
2022-08-23 15:40:07 +02:00
ocornut
4eb9066997
Clipper: extract code into a ImGuiListClipper_StepInternal() to facilitate debugging. Moved clipper End() call to outer layer, stopped heretic use of comma operator.
...
Removed obsolete comments in clipper Begin()
2022-08-23 15:40:06 +02:00
ocornut
b78738ff23
Internals: Docking: rename HoveredDockNode to DebugHoveredDockNode to clarify that it isn't usable for much other than debugging.
2022-08-22 19:18:06 +02:00
ocornut
d357e8504b
TestEngine: revert part of 5b0510c
as IMGUI_TEST_ENGINE_ITEM_ADD() woul see an erreneous hierarchy.
...
+ Fix typo (#5600 )
2022-08-22 14:36:32 +02:00
ocornut
5b0510c5b7
TestEngine: facilitate aiming at InputScalar() using wildcards + removed unnecessary IDStack.size hack (require TestEngine latest)
2022-08-20 22:55:51 +02:00
Rokas Kupstys
8cbd391f09
Docking: Add source dock node parameter DockContextCalcDropPosForDocking() to facilitate test engine (un)docking nodes before they are split out to their own window.
...
Metrics: Display dock_node->Windows in node metrics.
2022-08-08 15:33:19 +02:00
ocornut
a396233cb6
Platform IME: Windows: Revert 133bbafa
and 29a8ee08
as regression until new results comes. ( #2589 , #5535 , #5264 , #4972 )
2022-08-08 12:42:57 +02:00
ocornut
839c31006b
Debug Log: Added IO events logging.
2022-08-08 11:58:57 +02:00
ocornut
133bbafa3c
Platform IME: Windows: Fixed a call to ImmAssociateContextEx() leading to freeze on some setups. ( #2589 , #5535 , #5264 , #4972 )
...
+ misc comments
2022-08-08 11:31:48 +02:00
Rokas Kupstys
ff1567e240
Docking: Simplify logic of moving tabs between nodes. Amends 0abe7d. ( #5515 )
...
The idea is that in the absence of a tab bar, as new one gets created new tabs will be sorted based on window->DockOrder so this may work but we're not 100% sure.
2022-08-05 12:39:47 +02:00
Vlad Serebrennikov
c911901b5e
Fix ImGuiIO docs and default values ( #5540 )
2022-08-03 22:46:31 +02:00
ocornut
e9f50fb87c
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-08-03 22:04:03 +02:00
ocornut
0a4ddd7246
Fix being unable to mouse wheel while dragging a payload (fix 1480bc5
, #4921 , #2891 )
2022-08-03 22:02:00 +02:00
ocornut
4a2ae06ca4
Changed signature of ImageButton() function: Added 'const char* str_id' parameter + removed 'int frame_padding = -1' parameter. ( #5533 , #4471 , #2464 , #1390 ).
...
Also removed frame_padding parameter from ImageButtonEx(), amend e0ec69d8
.
2022-08-03 21:04:33 +02:00
Rokas Kupstys
f573ebf31a
Docking+Viewports: Fix undocking window node causing parent viewport to become unresponsive. ( #5503 )
...
Amend 67be485e
, Somehow ties to 58f5092c
+ 0eb45a05
(#4310 )
Unsure of exact chain of event but this caused a parent link msimatch between the time of the MouseMoving test in AddUpdateViewport() setting _NoInputs on the wrong parent., and the release clearing _NoInputs on the rght one.
2022-08-03 18:07:08 +02:00
ocornut
b12e056c21
Docking: Fixed amending into an existing tab bar from rendering invisible items. ( #5515 , amend b16f738d
#2700 , #2539 )
...
Commit b16f738d
left us with a "current" channel 0 which seems inadequate. Undoing that, assuming default is always 1, code filling bg color does a switch. Only DockContextEndFrame() leave it at 0 and it's not particularly necessary.
2022-08-03 17:00:59 +02:00
ocornut
0abe7d1cc5
Docking: Fixed splitting/docking into a node that has buttons amended into tab bar. Windows were not moved correctly. ( #5515 )
2022-08-03 16:11:39 +02:00
ocornut
e21f462f6f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
2022-08-03 15:29:04 +02:00
ocornut
28a123ca47
Internals: Docking: make DockContextFindNodeByID() more visible (instead of DockBuilderGetNode)
...
+ using defines for channel changes.
2022-08-03 15:22:19 +02:00
Rokas Kupstys
0e95cf0dec
Fix appending to windows causing a child window to be inserted to g.WindowsFocusOrder which eventually causes a crash. ( #5515 , #3496 , #4797 )
...
Amend a528398
2022-08-03 14:44:05 +02:00
ocornut
e99c4fc668
Nav: fixes keyboard/gamepad nav actions running without the corresponding config flags ( #5504 ). Fixes 8b8a61b
. #4921 , #4858 , #787 , #1599 , #323 )
...
NavUpdate() can now clears ImGuiInputSource_None.
2022-07-25 17:19:45 +02:00
ocornut
2d38bc99b3
Internals: renamed recently added ImGuiInputReadFlags to ImGuiInputFlags. (Amend 8b8a61b
)
2022-07-22 17:05:34 +02:00
Rokas Kupstys
cb8ead1f71
Docking: Fix docked window contents not rendering when switching with CTRL+Tab.
...
(regression from 8eb8689
).
2022-07-18 15:25:46 -07:00
ocornut
77637fd936
Docking, Nav: Fixed using gamepad/keyboard navigation not being able enter menu layer ( #5463 , #4792 )
...
Fix 37958ca
2022-07-12 10:51:14 +02:00
ocornut
1480bc5d4e
Added ImGuiKey_MouseXXX aliases. ( #4921 ) Reworked SetItemUsingMouseWheel() to use this for ActiveId. ( #2891 )
...
The rework of SetItemUsingMouseWheel() is half-complete since there's a HoveredIdUsingMouseWheel component. This will however be totally cleaned when we transtion to InputOwner system.
2022-07-08 18:32:25 +02:00
ocornut
105bb3ef8a
Legacy: clear g.ActiveIdUsingNavInputMask when active id is clear + Internals: added helpers GetKeyChordName(), ImGuiModFlags_All.
...
Amend 8b8a61b
2022-07-08 17:51:46 +02:00
ocornut
21fc57f2cf
Merge branch 'master' into docking
2022-07-08 16:09:30 +02:00
ocornut
8b8a61bdf9
Removed io.NavInputs[] and ImGuiNavInput enum. Kept inline redirection code. ( #4921 , #4858 , #787 , #1599 , #323 )
2022-07-08 16:02:07 +02:00
ocornut
a7a25ee19d
Tools: Item Picker: Mouse button can be changed by holding Ctrl+Shift. ( #2673 )
2022-07-07 14:18:08 +02:00
ocornut
4711b9b05a
Add trailing commas to enum (to simplify the diff/patch of further additions) ( #4537 )
...
Possible since we are now C++11 + fix warning in GetNavInputAmount().
2022-07-06 20:39:39 +02:00
ocornut
90ef327882
Reordered keys representing directions to follow a consistent L/R/U/D order everywhere. ( #2625 , #4921 , #3724 )
...
Amended to avoid static analysis false positive.
2022-07-06 17:48:01 +02:00
ocornut
f9ccdba352
Nav: Fix regression 93f02ee
+ Internals: Remove ImGuiNavReadMode_Pressed, ImGuiNavReadMode_Released.
...
Toward using keys.
2022-07-06 17:03:50 +02:00
ocornut
93f02ee0c6
Nav: Fixed moving window with gamepad or keyboard when running at very high framerate + removed ImGuiNavDirSourceFlags_RawKeyboard.
2022-07-06 16:46:57 +02:00
ocornut
5d0deebba4
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-06-30 20:17:48 +02:00
ocornut
24dfe6db8a
Version 1.89 WIP
2022-06-27 16:55:55 +02:00
ocornut
9cd9c2eff9
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui_widgets.cpp
2022-06-21 18:28:33 +02:00
ocornut
9aae45eb4a
Version 1.88
...
(fix "Show Debug Log" checkbox in Metrics window)
2022-06-21 18:11:50 +02:00
ocornut
d3fd2630b7
Sliders: An initial click within the knob/grab doesn't shift its position. ( #1946 , #5328 ) + Adjust default GrabMinSize.
2022-06-20 18:13:10 +02:00
ocornut
9764adc7bb
Docking: Amend 24dfebf
. Fixed incorrect focus highlight on docking node with nested hierarchies.
2022-06-17 17:11:23 +02:00
Rokas Kupstys
37a07858a9
Nav: Fixed inability to cancel nav in modal popups. ( #5400 )
2022-06-17 14:58:26 +02:00
ocornut
506717390f
Docking, Modal: Fixed a crash when opening popup from a parent which is being docked on the same frame. ( #5401 )
...
Ideally we should untangle the purpose of parent_window_in_stack / ParentWindowInBeginStack better.
2022-06-16 18:43:33 +02:00
ocornut
07efd7cc20
Renamed IMGUI_DISABLE_METRICS_WINDOW to IMGUI_DISABLE_DEBUG_TOOLS.
2022-06-15 16:02:55 +02:00
ocornut
e135cdbc24
Merge branch 'master' into docking + update for IMGUI_DEBUG_LOG calls.
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# imgui.cpp
# imgui_internal.h
2022-06-15 15:39:23 +02:00
ocornut
08572189f0
MovingWindow auto-cancelled if active id is stolen (instead of ill-defined bahavior + assert in docking).
...
Followup to 27343ef
2022-06-15 15:25:21 +02:00
ocornut
27343efb0b
Nav, Focus: Changed SetKeyboardFocusHere() to not behave if a drag or window moving is in progress + move KeepAliveID() call from Scrollbar() to ScrollbarEx()
2022-06-15 15:25:07 +02:00
ocornut
ddcff10343
Settings: Fixed some SetNextWindowPos/SetNextWindowSize API calls not marking settings as dirty.
2022-06-15 14:30:20 +02:00
ocornut
dd28500835
Debug: Add more log. Reworked IMGUI_DEBUG_PRINT IMGUI_DEBUG_PRINTF. Added internal IsDragDropActive() helper.
...
DebugLog() output to TTY by default.
Amend 1d6e34f
.
2022-06-15 11:31:19 +02:00
ocornut
24dfebf455
Docking: Fixed incorrect focus highlight on docking node when focusing empty central node or a child window which was manually injected into a dockspace window.
2022-06-13 20:19:33 +02:00
ocornut
2ed9e21eba
Nav, Internals: wrap changes to g.NavWindow into a helper function to help track/log changes.
...
Amend 076d8fc
. Eventually we should REALLY clean up the SetNavWindow SetNavID SetFocusID FocusWindow fiasco.
2022-06-13 19:05:55 +02:00
ocornut
1d6e34f3f9
Debug: Added ShowDebugLogWindow().
...
Internal: renamed old IMGUI_DEBUG_LOG() to IMGUI_DEBUG_PRINT().
Amended once.
2022-06-13 19:05:55 +02:00
ocornut
e900ca355e
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# imgui.cpp
# imgui.h
2022-06-10 19:29:17 +02:00
ocornut
076d8fc868
Nav: Fixed issues with nav request being transferred to another window when calling SetKeyboardFocusHere() and simultaneous changing window focus. ( #4449 )
2022-06-10 19:25:53 +02:00
Rokas Kupstys
0b1bcfcc20
Menus: Separate menu sets by nav layer. ( #3496 , #4797 ) + Demo: Remove incorrect and useless suggestion to use PushID().
...
Fixes a common case where opening menu in one nav layer and hovering a menu in another nav layer would open that menu without a click.
2022-06-08 17:17:54 +02:00
ocornut
23a785aeb3
Internals: wrapped used of g.TempBuffer into ImFormatStringToTempBuffer/ImFormatStringToTempBufferV helpers.
...
This leaves us room for growing the buffer if needed, and gives us a resizable buffer available for other work.
2022-06-07 19:20:03 +02:00
ocornut
64d6c30562
InputText: Fixed an undo-state corruption issue when editing buffer before reactivating item. ( #4947 ) + Metrics: Added "InputText" section.
2022-06-07 15:34:21 +02:00
Andrej Redeky
4789c7e485
Misc: Fix custom assertion macro failing to compile imgui.cpp ( #5378 )
2022-06-05 13:34:10 +02:00
ocornut
65c4c0a490
IO: Added SetAppAcceptingEvents() function ( #4921 , #4858 )
2022-06-02 16:56:00 +02:00
ocornut
7b5a8e4f2b
Merge branch 'master' into docking (wanted for #4468 , #3381 , #2981 , #4825 , #4832 , #5127 )
...
# Conflicts:
# backends/imgui_impl_opengl3.cpp
2022-05-30 15:26:12 +02:00
Quantum
e23c5edd5f
Settings: Fixed out-of-bounds read when .ini file on disk is empty. ( #5351 )
2022-05-29 21:58:39 +02:00
ocornut
7bf07d2526
Renamed CaptureMouseFromApp() and CaptureKeyboardFromApp() to SetNextFrameWantCaptureMouse() and SetNextFrameWantCaptureKeyboard(). Added demo. ( #5304 , #4831 , #4480 , #533 )
2022-05-23 11:22:46 +02:00
ocornut
cb56b0b238
Removed leftover KeepAliveID() call in GetIDWithSeed() variant. ( #5181 ) + doc tweaks.
2022-05-23 10:51:01 +02:00
Rokas Kupstys
250333d895
Docking: Fix unhiding tab bar regression. ( #5325 , #5181 )
...
Broken by 90386780
2022-05-19 16:59:39 +02:00
Rokas Kupstys
36055213c5
Docking: Fixed moving window being interrupted when undocing a window with "io.ConfigDockingAlwaysTabBar = true". ( #5324 )
...
Regression introduced in 6b7766817
2022-05-19 16:54:54 +02:00
ocornut
e346059eef
IO: Fixed input queue trickling of mouse wheel events. ( #4921 , #4821 )
2022-05-18 14:16:02 +02:00
ocornut
6b5a2426d7
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_metal.mm
# backends/imgui_impl_opengl3.cpp
# imgui.cpp
2022-05-17 11:59:32 +02:00
ocornut
9779cc2fe2
Internals: shallow changes to simplify diff of upcoming commits. Should have no side-effect.
2022-05-06 14:20:01 +02:00
ocornut
55f8989392
Docs update, binaries link + Backend: Allegro: fix warning ( #5281 )
2022-05-04 15:16:05 +02:00
ocornut
6d27fecce1
Debug: added DebugTextEncoding() to help diagnose between text encoding issues and font loading issues. Simplified code + extracted DebugNodeFontGlyph().
...
Helper to diagnose issues such as #4866 , #3558 , #3436 , #2233 , #1880 , #1780 , #905 , #832 , #762 , #726 , #609 , #565 , #307 )
2022-05-03 19:23:54 +02:00
Adrien LPN
e668890837
Debug: added encoding viewer in Metrics.
...
(reworked by omar from original/old commit)
2022-05-03 19:07:31 +02:00
ocornut
414165d23f
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_glfw.cpp
# imgui.cpp
2022-05-03 14:40:17 +02:00
stuartcarnie
e66fc22057
Backends: OSX: Removed ImGui_ImplOSX_HandleEvent() from backend API. Move event tracking (desktop only) to OSX backend. ( #4821 )
...
Fix using NSKeyUp (#5268 ).
2022-05-03 14:35:08 +02:00
ocornut
314c7bd12f
Internals: renamed ImGuiInputReadMode to ImGuiNavReadMode (internals) to avoid ambiguity with upcoming flags. + minor tweak
2022-04-28 17:29:47 +02:00
Dima Koltun
ec48681455
Windows: Fixed first-time windows appearing in negative coordinates. ( #5215 , #3414 )
...
Regression added in 6af92b05b
2022-04-22 20:26:40 +02:00
Dima Koltun
b5b704d376
Windows: Fixed first-time windows appearing in negative coordinates. ( #5215 , #3414 )
...
Regression added in 6af92b05b
2022-04-22 20:24:44 +02:00
ocornut
8dd5425182
Merge branch 'master' into docking
...
# Conflicts:
# docs/TODO.txt
2022-04-22 19:15:37 +02:00
ocornut
5b29d14783
Layout: Fixed mixing up SameLine() and SetCursorPos() together. SameLine() is a stateful.
...
+ minor unrelatedcomments.
2022-04-22 17:48:06 +02:00
ocornut
eda7792b15
Internals: swapped blocks in TextEx() to make it easier to step through common cases. Tweak demo.
2022-04-14 18:36:27 +02:00
ocornut
28b2089ee4
Internals: moved ItemSize() variant to inline + comment. + Tidying up todo list ( #5191 )
2022-04-13 21:48:21 +02:00
ocornut
088487a3d4
Nav: Fixed nav movement in a scope with only one disabled item from focusing the disabled item. ( #5189 )
2022-04-13 12:34:13 +02:00
ocornut
fc203c7d76
Minor fix to sastisfy PVS-Studio warning. (amend, 3nd attempt: this is a false positive from PVS studio)
2022-04-12 15:29:56 +02:00
ocornut
6d15a506fa
Internals: removed GetIDNoKeepAlive() now that it is the same as GetID(). ( #5181 )
...
Amend 9038678
2022-04-12 14:49:21 +02:00
ocornut
90386780e3
Misc: Fixed calling GetID("label") _before_ a widget emitting this item inside a group (such as InputInt()) from causing an assertion when closing the group. ( #5181 ).
2022-04-12 14:44:57 +02:00
ocornut
f7f30476d5
Added comments about requirement for bilinear filtering. ( #5156 , #3245 ) + Backends: SDL_Renderer: Explicitely call SDL_SetTextureScaleMode(). ( #4927 )
2022-04-07 14:28:08 +02:00
ocornut
505f19e3b0
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_internal.h
2022-04-05 17:55:53 +02:00
ocornut
2c03aac6d3
Renamed ImGuiKeyModFlags to ImGuiModFlags (Breaking but technically never advertised type)
2022-04-05 15:45:00 +02:00
ocornut
f5c5926fb9
Internals: remove obsolete variants of RenderArrow(), RenderBullet(), ImHash() + misc comments.
2022-03-29 15:43:47 +02:00
ocornut
1ba2905017
Update README, quote, mission statement
2022-03-25 15:40:29 +01:00
ocornut
3587ee492b
Viewports: store Viewport field in ImGuiWindow to facilitate using code accross branches + fix PVS warnings.
2022-03-25 15:40:20 +01:00
ocornut
16ddc1698d
Fixed creating multiple-context (regression in 28ba54a
). ( #5135 )
2022-03-24 11:01:46 +01:00
ocornut
377b864bb4
Merge branch 'master' into docking
...
# Conflicts:
# backends/imgui_impl_dx12.cpp
# backends/imgui_impl_glfw.cpp
# backends/imgui_impl_sdl.cpp
# imgui_internal.h
# imgui_widgets.cpp
2022-03-23 17:21:34 +01:00
ocornut
28ba54a32a
Internals: add AddSettingsHandler(), RemoveSettingsHandler().
2022-03-14 10:23:30 +07:00
ocornut
fd06ed833b
Misc: tweaks + fix warnings on backends withtout -wno-memaccess ( #4995 , #5104 )
2022-03-13 17:57:32 +07:00
jakubtomsu
3deb92c2c5
Add IMGUI_STB_SPRINTF_FILENAME to support custom stb_printf.h include path ( #5068 , #2954 )
2022-03-13 12:52:30 +07:00
ocornut
0f14933577
Tables: Fixed incorrect border height used for logic when resizing one of several synchronized instance of a same table ID, when instances have a different height. ( #3955 , #3565 )
2022-03-01 18:47:03 +01:00
ocornut
8639a2f9f8
Viewports: Fixed translating a host viewport from briefly altering the size of AlwaysAutoResize windows. ( #5057 )
2022-02-25 16:41:40 +01:00
ocornut
64519c6875
Docking: Fixed floating docked nodes not being clamped into viewport workrect to stay reachable when g.ConfigWindowsMoveFromTitleBarOnly is set and multi-viewports are disabled. ( #5044 )
2022-02-22 16:21:10 +01:00
ocornut
7b0d58c5e5
Merge branch 'master' into docking
2022-02-22 14:57:17 +01:00
ocornut
fa2b318dd6
IO: Fixed input queue trickling of interleaved keys/chars events when InputText() is not active. ( #4921 , #4858 )
2022-02-22 14:36:27 +01:00
ocornut
5659db5529
IO: Fixed backward-compatibility accesses to io.KeysDown[]. ( #4921 , #4858 )
...
+ Snuck in unrelated comments and removed the "fill once" comment (#5043 )
2022-02-21 21:31:01 +01:00
ocornut
dca527be1b
Clipper: Assert on extraneous calls to Step(). ( #4822 ) + Demo tweak.
2022-02-18 18:40:43 +01:00
ocornut
9948535118
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2022-02-17 18:47:43 +01:00
ocornut
29d462ebce
Set HoveredID even when g.NavDisableMouseHover is set by gamepad/keyboard navigation. This will facilitate the use of future InputOwner API based on HoveredID/ActiveID.
...
Note that this widen the small gap between polling g.HoveredID and using IsItemHovered() the later does various filtering.
Added IsItemHovered(ImGuiHoveredFlags_NoNavOverride) to disable that specific state redirect/filter.
Side-effect: fix EndGroup() use of combining HoveredId values when gamepad/keyboard nav is active. Unlikely to have user-visible side effect since IsItemHovered() would have filtered out anyway.
Side-effect: fix IsAnyItemHovered() when gamepad/keyboard is active (but this wasn't the primary intent of this change).
Side-effect: fix using SetItemUsingMouseWheel() while hovering an item and gamepad/keyboard is active. (#2891 )
2022-02-17 18:39:03 +01:00
ocornut
421e73e6db
Fix an assert in metrics.
2022-02-17 15:36:00 +01:00
ocornut
d9e60d29e1
Clipper: Fixed a regresssion when not calling End() + calling End() twice as well. ( #4822 )
2022-02-17 11:09:06 +01:00
ocornut
2dfa71fad5
Inputs: Fixed IsMouseClicked() repeat mode rate being half of keyboard repeat rate. Using KeyModAlt. Removed KeyModsPrev.
2022-02-16 20:08:58 +01:00
ocornut
5854da10e6
Declare other structures as constexpr ( #4995 ) + rename ImGuiInputEventType_Char to ImGuiInputEventType_Text for consistency with event structure.
2022-02-11 12:29:55 +01:00
ocornut
1e14cc5cae
Viewports: Fixed main viewport size not matching ImDrawData::DisplaySize for one frame during resize when multi-viewports are disabled. ( #4900 )
2022-02-10 18:50:28 +01:00
ocornut
aa79d0cd2f
Stack Tool: Added option to copy item path to clipboard. ( #4631 )
2022-02-08 16:36:54 +01:00
ocornut
88de982071
Version 1.88 WIP
2022-02-08 14:45:26 +01:00
ocornut
aa86800092
Internals: rework RenderMouseCursor() signature so we can use it in docking branch more naturally. (Merged from master+ rework for docking)
...
# Conflicts:
# imgui.cpp
# imgui_draw.cpp
2022-02-08 12:29:44 +01:00
ocornut
97b1abd6dd
Internals: rework RenderMouseCursor() signature so we can use it in docking branch more naturally.
2022-02-08 12:22:46 +01:00
ocornut
1ee252772a
Merge branch 'master' into docking
...
# Conflicts:
# docs/CHANGELOG.txt
2022-02-07 18:20:10 +01:00
ocornut
c71a50deb5
Version 1.87
2022-02-07 18:16:54 +01:00
ocornut
31762a8173
Docking: fixed potential crash if a passthrough dock node is submitted without a child intermediate (currently not possible via API)
2022-02-03 12:04:11 +01:00
ocornut
5017602752
Backends: SDL: Amend 08350e5
, multi-viewports mouse tracking works under Linux. ( #4960 ) + Reword tests to help static analysis.
2022-02-03 11:52:03 +01:00
ocornut
37958ca1b5
Docking: Fixed CTRL+TAB back into a docked window not selecting menu layer when no item are on main layer.
...
Could merge on master.
2022-02-03 00:19:31 +01:00
ocornut
8eb8689391
Docking: Tabs use their own identifier (in order to make window->ID refer to whole window in test engine). Also prevents Tab ID from clashing with "" which was common.
2022-02-02 23:23:13 +01:00
ocornut
c1ab3c406f
Docking: Fixed size constraints not working on single window holding on a dock id (still doesn't work on docked windows).
2022-02-02 23:10:14 +01:00
ocornut
d378e4088f
Merge branch 'master' into docking
...
# Conflicts:
# imgui.cpp
# imgui.h
# imgui_draw.cpp
2022-02-01 15:46:42 +01:00
ocornut
6f73dbea80
TestEngine: submit window data to item system.
2022-02-01 15:20:32 +01:00
Clownacy
422902dbda
Correct typos ( #4954 , #4955 ), use IM_STATIC_ASSERT now that old pre-C++11 macro has been obsoleted.
2022-01-31 11:58:33 +01:00
ocornut
27004aca70
Revert moving ImGuiKeyModFlags to internal.h (amendc906c65)
...
# Conflicts:
# imgui.cpp
2022-01-28 15:53:41 +01:00