11681 Commits

Author SHA1 Message Date
ocornut
bbd0af7256 Multi-Select: Box-Select+Tables: fixed using BeginMultiSelect() before table layout is locked. (#8250) 2026-04-13 16:19:45 +02:00
ocornut
f83a378d62 TabBar: changed edge's TabItem ClipRect to not pass an inverted PushClipRect().
While not currently a problem, it would be if ImRect::Overlaps() is changed to use <= instead of < (cc: #3976 which deal with Contains but sort of similar topic).
Changing ImDrawList::PushClipRect()'s intersect_with_current_clip_rect path to use ClipRectFull() would also fix this, but it may ambiguous there which behavior would be correct.
Amend 1ec464eb9.
2026-04-13 14:11:19 +02:00
Flyinghead
84b4b35902 Fonts: rework UpdateCurrentFontSize() check. (#9364)
Consistent with line above.
2026-04-13 10:06:59 +02:00
ocornut
2dc64f99bc Minor optimization: reduce redudant label scanning in common widgets.
Missing stuff from 11de9df.
The 6 remaining use of CalcTextSize(...,true) don't need this.
2026-04-10 18:37:08 +02:00
ocornut
5da7eb0a84 DrawList: remove/strip old FixRectCornerFlags() code.
Amend 44a6b493e
2026-04-10 17:42:13 +02:00
ocornut
d55608a5bb Viewports: added opaque void* PlatformIconData storage in viewport and ImGuiWindowClass to allow passing icon information to a custom backend or hook. (#2715) 2026-04-09 23:47:32 +02:00
ocornut
f678c91617 Multi-Select: disable MultiSelectAddSetRange() attempt at merging consecutive requests submitted from box-selection.
Essentially reverts 79b77d91c, f904a6646c which did the initial span merging.
Amend and disable change done for f08b33f.
2026-04-09 23:13:15 +02:00
ocornut
6ce4b44547 Mulit-Select: Box-Select: fixed an issue using in a table while relying on the TableNextColumn() return value to perform coarse clipping. (#7994)
This is presumably not sufficient as MultiSelectAddSetRange() is also deficient there.
2026-04-09 23:13:12 +02:00
ocornut
f08b33fd0c Multi-Select: Box-Select: fixed an issue where items out of horizontal view would sometimes lead to incorrect merging of sequential selection requests. (#7994, #1861, #6518)
SetNextItemSelectionUserData() could use g.NextItemData.SelectionUserData if we could guarantee if would be valid when nesting multi-select blocks.
But it doesn't make much of a difference as whole ImGuiMultiSelectTempData fits in 2 cache lines.
2026-04-09 22:16:47 +02:00
ocornut
b444694b3d Multi-Select: Box-Select: fixed an issue using ImGuiMultiSelectFlags_BoxSelect2d mode, where items out of view wouldn't be properly selected. (#7994, #1861, #6518)
Because BoxSelectRectPrev and BoxSelectRectCurr were clamped to scope boundaries, dragging mouse outside of the scope would usually keep one axis unchanged.
Amend 15391762dd
2026-04-09 21:40:29 +02:00
ocornut
24677c561e Multi-Select: Box-Select: add compile-time debug options. (#7994, #1861, #6518) 2026-04-09 21:40:13 +02:00
ocornut
01a4ad3a50 Docs: update legacy TODO list. 2026-04-09 15:01:40 +02:00
ocornut
f4ed421a88 InputText: CharFilter callback event sets CursorPos/SelectionStart/SelectionEnd. (#816) 2026-04-09 14:54:09 +02:00
ocornut
11de9df44c Minor optimization: reduce redudant label scanning in common widgets. 2026-04-09 14:25:34 +02:00
ocornut
c2565fe642 Update ignore list
Add .claude
2026-04-09 13:59:45 +02:00
ocornut
95bd1577d6 Windows: Child windows with only ImGuiChildFlags_AutoResizeY flag keep using the proportional default ItemWidth. (#9355)
+ Removed Tooltip flag check, it's from 8c4fcf1359 (!) where AlwaysAutoReszie was added after Tooltip. Nowadays Tooltips sets ImGuiChildFlags_AlwaysAutoResize.
2026-04-09 13:11:16 +02:00
ocornut
bbcc83e999 Merge branch 'master' into docking
# Conflicts:
#	backends/imgui_impl_metal.mm
#	imgui.cpp
2026-04-08 21:40:40 +02:00
ocornut
dd17495a42 Detect and report error when calling End() instead of EndPopup() on a popup. (#9351) 2026-04-08 21:40:05 +02:00
ocornut
1870a779e1 Windows: fixed a single-axis auto-resizing feedback loop issue with nested containers and varying scrollbar visibility. (#9352) 2026-04-08 21:26:16 +02:00
ocornut
a9bd173d89 Windows: shallow renames (should be no-op). 2026-04-08 20:40:35 +02:00
ocornut
bccec3eabc Tables: fixed IdealMaxPos.y/CursorMaxPos.y computation being wrong when vertically scrolling. (#9352, #7651)
See ""table_reported_size_outer" test amends (0f9d1e02b0).
2026-04-08 20:01:00 +02:00
ocornut
d946c6932b InputText: fixed a crash toggling ReadOnly flag while active. (#9354) 2026-04-08 15:56:59 +02:00
ocornut
4d38508c6b Tables: fixed an issue reporting ideal size to parent window/container when both scrollbars are visible but only one of ScrollX/ScrollY was explicitly requested. (#9352, #7651)
Since ScrollX de-facto also enables ScrollY we can't gate accounting for ScrollbarSizes.x based on explicit ScrollY.
Amend a31aa683f
2026-04-08 15:07:11 +02:00
ocornut
c0e6580b62 Reword code in CalcWindowAutoFitSize() to match the order used in size_desired calculation.
Should be no-op. Toward (#9352)
2026-04-08 14:31:11 +02:00
ocornut
6985925244 Clipper, Tables: Improved error reporting when misusing the clipper inside a table + made the assert a better recoverable error. (#9350)
Amend 20e040c8
2026-04-07 19:19:40 +02:00
ocornut
7cb0baeb77 imgui_freetype: add FreeType headers & compiled version number in the 'About Dear ImGui' user facing string. 2026-04-07 17:18:16 +02:00
hunam
49df3116bc Backends: Metal: avoid redundant vertex buffer bind in SetupRenderState. (#9343) 2026-04-03 19:14:23 +02:00
ocornut
03a0b00a34 InputTextMultiline: fixed an issue processing deactivation logic when an active multi-line edit is clipped due to being out of view. 2026-04-03 16:25:57 +02:00
ocornut
4a61188322 Version 1.92.8 WIP 2026-04-03 16:15:46 +02:00
ocornut
f5f6ca07be Docs: minor Changelog amends. 2026-04-02 20:05:19 +02:00
ocornut
b1bcb12a62 Merge branch 'master' into docking
# Conflicts:
#	docs/CHANGELOG.txt
v1.92.7-docking
2026-04-02 19:25:58 +02:00
ocornut
dac07199cf Version 1.92.7 v1.92.7 2026-04-02 19:22:53 +02:00
ocornut
45866bea47 Tables: fixes not releasing ReorderColumn caused by 38f5e5a. Which could break clicking on header to sort. (#9312) 2026-04-02 18:59:23 +02:00
ocornut
65ebca8157 Fonts: fixed an issue introduced in 1.92.6 where style.FontBaseSize would be cleared during the first frame if no fonts was explicitely added before.
Amend 3aba95060e
2026-04-02 18:35:24 +02:00
ocornut
9e9fdc97bb InputText: rename Edited->EditedThisFrame, add EditedBefore. (#701) + Comments + About box clipboard blurb include a comment. 2026-04-02 15:48:49 +02:00
ocornut
02e9b8cacd Tables: columns freeze doesn't enforce a particular order + rework changelog for clarity. (#9312) 2026-04-02 14:01:10 +02:00
ocornut
fc5e421cb9 Tables: columns freeze doesn't enforce a particular order + rework changelog for clarity. (#9312) 2026-04-02 13:59:41 +02:00
ocornut
39d1be05e8 Tables: fixed FrozenColumns issue introduced by 505bc9a.
cc #9312
2026-04-01 21:36:08 +02:00
ocornut
b7bdea3215 Tables: fixed FrozenColumns issue introduced by 505bc9a.
cc #9312
2026-04-01 21:35:55 +02:00
ocornut
757fd2f57b Merge branch 'master' into docking 2026-04-01 21:01:48 +02:00
ocornut
bf10275aa7 Tables: allow reordering columns by dragging them in the context menu. (#9312) 2026-04-01 20:08:34 +02:00
ocornut
0867f6113a Tables: reorder allowed check sweep through columns, checks _NoOrder barrier, and reworked to be easy to use from context menu. (#9312)
The sweep doesn't make a difference for reordering with headers as reordering is currently done 1 by 1. But menu ordering will change that.
2026-04-01 20:08:31 +02:00
ocornut
836278db6c Tables: context menu now present columns in display order. (#9312) 2026-04-01 20:08:29 +02:00
ocornut
505bc9a312 Tables: clarify FrozenColumns order to be in order space not in visible space.
+ Removed LeftMostUnfrozenOrder + Angled Headers comments.
While not strictly part of #9312, presenting a suitable reordering menu was made difficult by the old behavior.
2026-04-01 20:08:26 +02:00
ocornut
07acc8bc87 Tables: Angled Headers: angled section for column being reordered via the regular headers stay highlighted during reordering.
Easily possible thanks to 6603cde.
2026-04-01 20:05:34 +02:00
ocornut
6603cdef98 Tables: fixed dragging a header to reorder outside of visible bounds (due to horizontal scrolling) from losing active id. 2026-04-01 20:03:30 +02:00
ocornut
9df0d38d45 Tables: amend 2ac782f bad WIP merge broken reorder. (#9312) 2026-04-01 18:30:29 +02:00
ocornut
2ac782fbed Revert "Tables: rework TableSetColumnDisplayOrder() to take src_order. (#9312)"
This reverts commit 7be8076e9b.
Not a good idea as it's easier to reason and persist column index.
+ clear ReorderColumnDstOrder properly in reinit.
2026-04-01 17:57:13 +02:00
ocornut
9fedea83f0 Tables: TableQueueSetColumnDisplayOrder() enforce handling ImGuiTableColumnFlags_NoReorder as advertised: can't reorder through them. (#9312)
This would never using interactive reordering as reordering from headers was done on a 1 by 1 basis which was already covered in the test.
Hard to tell what's a sensible design for this tbh. Expecting _NoOrder columns to be sequential and leading/trailing anyhow.
2026-04-01 16:03:32 +02:00
ocornut
ed4cffece7 Tables: store LeftMostUnfrozenOrder and amend TableQueueSetColumnDisplayOrder(). (#9312) 2026-04-01 16:02:41 +02:00