Commit Graph

192 Commits

Author SHA1 Message Date
ocornut
b47aa46d81 Tables: TableSetupColumn() user id uses ImGuiID as intended (typedef ImU32). internals: added GetCurrentTable(), LeftMostEnabledColumn. Demo/docs tweaks. 2021-02-17 12:18:22 +01:00
ocornut
30b7545841 Version 1.82 WIP 2021-02-15 18:10:14 +01:00
ocornut
4df57136e9 Version 1.81 2021-02-10 21:16:58 +01:00
freddii
90a518c501 Fixed typos (#3782) 2021-02-03 12:37:32 +01:00
ocornut
929563c3a7 Log/Capture: Fixes for handling \n in strings. Improve the look of various widgets. Added LogSetNextTextDecoration helper. Fixup/amend dbaf74d75.
For now removed LogRenderedTextNewLine() - it is eventually desirable but currently carries too much ambiguities, so reverted until we have a better system and test suite.
2021-02-02 12:29:58 +01:00
ocornut
9d576a96a5 Tables: added internal TableSetColumnEnabled() helper. Comments. 2021-02-02 09:23:40 +01:00
ocornut
2ed47e5822 Version 1.81 WIP 2021-01-25 16:30:44 +01:00
ocornut
58075c4414 Version 1.80 2021-01-21 20:36:18 +01:00
ocornut
5178c3ce21 Tables: added ImGuiTableFlags_NoHostExtendX instead of using outer_size.x == 0.0f. Changed default outer_size to (0.0f, 0.0f). (#3605) 2021-01-21 16:20:31 +01:00
ocornut
3b409d2b68 BeginChild: half-fixed child window name longer than 255 conflicting, merely raised the limit by using our shared large buffer. Comments. 2021-01-21 12:36:47 +01:00
ocornut
ae0d2dd614 Tables: rework submission of content size and ideal content size to outer window (now using IdealMaxPos introduced in 6af92b0).
See Tests suite "table_reported_size_outer".
2021-01-20 11:38:46 +01:00
thedmd
f379dc28a3 ImBitArray: Rename ClearBits() to ClearAllBits() and add SetAllBits(). ImBitArraySetBitRange work on range [n..n2) instead of [n..n2] 2021-01-20 11:33:59 +01:00
ocornut
3fef132f62 Tables: Clear scroll value when reactivating scroll. Assert when passing width/weight to TableSetupColumn() without an explicit sizing policy at either table or column label.
Clearing scroll was initially made desirable by tests exhibiting side effects but generally feels saner.
table->UserOuterSize is poorly used in this commit but will be by subsequent commits.
2021-01-19 21:55:28 +01:00
ocornut
4d419d1211 Tables: fixed ColumnsAutoFitWidth for resizable fixed columns reporting ideal width. 2021-01-15 17:48:36 +01:00
ocornut
3e712631da Tables: more moving of code in EndTable(), should have no side-effect. 2021-01-15 14:20:24 +01:00
ocornut
626e3e2b3b Tables: fix reported inner-width for scrolling tables off by a small padding amount + moved code.
Makes not much difference for inner-scrolling but makes a difference when reported to outer-window.
2021-01-15 12:40:40 +01:00
ocornut
3edfc042ff Tables: Internals: Renaming, tweaks preparing ahead for trickier changes (should be all no-op). 2021-01-15 11:11:16 +01:00
ocornut
9e281c12a8 Tables: Fixed very small tables edge cases: inverted clip rect with freezing + scroll, missing borders. 2021-01-14 19:16:06 +01:00
ocornut
b0db741770 Demo tweaks. Moved Tabs to Widgets section. Added to Tables demo. Increased version following 00b35c08. 2021-01-14 11:59:33 +01:00
ocornut
00b35c081e Tables: (breaking) removed ImGuiTableColumnFlags_WidthAuto which now can be expressed as _Fixed + _NoResize. WidthRequest gets updated when RequestOutputMaskByIndex is set rather than Visible. 2021-01-13 18:42:02 +01:00
ocornut
8cea3e3ed3 Tables: fixed border straying out of rect when using ImGuiTableFlags_NoBordersInBody with small height. 2021-01-13 12:24:55 +01:00
ocornut
002ba1a69f Tables: comments, tweak. CollapsingHeader: comments. (#3715) 2021-01-13 10:07:59 +01:00
ocornut
31a2f0c164 Tables: fixed outer_width misreported to layout for use with SameLine when ScrollY is set but not ScrollX (#3704, #3414) 2021-01-11 11:31:50 +01:00
ocornut
e18abe3619 Tables: (Breaking) Added ImGuiTableFlags_SizingFixedSame, ImGuiTableFlags_SizingStretchProp. Removed ImGuiTableFlags_SameWidths.
Simplified some code and clariffied that currently non-resizable = always revert to default (while waiting to untangle Fixed vs Auto and programmatic override not going through TableSetupColumn)
Whereas ImGuiTableFlags_SameWidths has some unusual handling of mixed Fixed/Stretch columns, we know treat them separately.
2021-01-08 18:40:52 +01:00
ocornut
0e3ba37e6d Tables: Tidying up. Shuffle some columns fields to facilitate debugging + comments + demo tweaks + metrics highlight. 2021-01-08 18:32:18 +01:00
ocornut
414f82254b Tables: (Breaking) rename ImGuiTableFlags_SizingPolicyFixed > ImGuiTableFlags_SizingFixedFit, ImGuiTableFlags_SizingPolicyStretch > ImGuiTableFlags_SizingStretchSame in prevision for new policies. 2021-01-08 18:10:55 +01:00
ocornut
8b5f3798e0 Tables: Moved demo chunks. Made right-most non-resizable same-width column hidden to alleviate the issue where they are off by 1 pixel. 2021-01-07 17:11:18 +01:00
ocornut
0a5f399805 Tables: Fix hiding column right after the frozen line. Fix hovering/resising column delimiter scrolled under frozen columns. (#3678) 2021-01-03 15:45:56 +01:00
ocornut
eb88fee052 Tables: internal tidying up, calculate WidthAuto in first loop of layout + TableSetupColumn() with unspecified stretch weight leaves it at -1.0f (unset) rather than overrding default. Amend 3b3503e.
Both changes are intended to have no side-effects. Committed separately from upcoming commit for easier future bissecting.
Small demo fix.
2020-12-25 16:30:44 +01:00
ocornut
68faa16e1d Tables: report auto-fit width in EndTable(), extracted TableGetColumnWidthAuto(). fix minor flickering with IsPreserveWidthAuto (which is a debug feature still), moved some code. 2020-12-25 15:52:42 +01:00
ocornut
3573195112 Tables: (breaking) rename ImGuiTableFlags_ColumnsWidthStretch > ImGuiTableFlags_SizingPolicyStretch, ImGuiTableFlags_ColumnsWidthFixed > ImGuiTableFlags_SizingPolicyFixed in prevision for other policies. 2020-12-24 18:32:27 +01:00
ocornut
3fbb928c9f Tables: explicit/custom width in TableSetupColumn() is reapplied when table or column becomes not resizable. Comments. 2020-12-23 12:14:55 +01:00
ocornut
956435768f Tables: (breaking) renamed ImGuiTableColumnFlags_WidthAutoResize to _WidthAuto., default to WidthFixed policy when host window has auto-resize.
Fix edge case with TableSetColumnWidth on small windows (amend 972ca816)
2020-12-23 11:39:15 +01:00
ocornut
d497f112e7 Tables: simplified and tidying up TableSetColumnWidth(), fixes resizing a fixed column surrounded by stretch column (manually or via auto-fit menu). TableHeader() showing highlighted when held. 2020-12-22 17:13:11 +01:00
ocornut
972ca8166f Tables: extracted code for TableGetMaxColumnWidth(), fixing "stuck" resize being lossy as it used an older calculation for it and didn't honor e.g. _NoKeepColumnsVisible 2020-12-22 16:40:52 +01:00
ocornut
1aa59f90d0 Minor API comments and tweaks, standardize index used in imgui.h. Tables: tweaked TableSetupColumn() assert to use IM_ASSERT_USER_ERROR(). 2020-12-22 15:30:26 +01:00
ocornut
2e48c2da81 Removed redirecting functions/enums names that were marked obsolete in 1.63 (August 2018) + tables tweaks. 2020-12-21 19:42:37 +01:00
ocornut
ae63d56426 Tables: remove ImGuiTableFlags_NoHeadersWidth since it is so rarely used and can be specified on a per-column basis. 2020-12-18 19:03:47 +01:00
ocornut
532aa5a69b Tables: (breaking) change outer_size.x default value to -FLT_MIN, make outer_size.x == 0.0f act as ImGuiTableFlags_NoHostExtendX (#3605, ad83976b) when no scrolling and no stretch column. Which is more consistent.
Demo: moved "Compact table" to "Padding" section, makes more sense. Tweaked demo.
2020-12-18 17:51:50 +01:00
ocornut
22ace4438c Tables: clarify assumption that rendering of bg/borders in bg0/bg1 are cpu-clipped allowing frozen/unfrozen to share drawcmd + remove offset on outer borders of scrolling tables. 2020-12-18 14:33:16 +01:00
ocornut
30468829c2 Tables: Internal: Maintain InnerRect to further clarify some code. Renamed Bg1 fields to Bg2 (used by Selectable) as the other handles Bg0+Bg1. 2020-12-18 14:32:51 +01:00
ocornut
ad83976b35 Tables: Added ImGuiTableFlags_NoHostExtendX (#3605) marked as WIP, will probably rename.
Moved some code from BeginTable() to TableUpdateLayout() to late latch some of the required data.
2020-12-18 14:32:51 +01:00
ocornut
c4dbab8f5e Tables: reset all width apply to hidden stretch columns. Comments. 2020-12-16 17:12:21 +01:00
ocornut
1fb26d18c4 Tables: fixed seemingly unnecessarily copy of ImGuiTableColumnFlags_NoDirectResize_ which broken resizing from W3| in a F1 W3 F2 setup. Header only allow overlap on hover, not when active (amend f2df804f)
Otherwise TableUpdateBorders() tends to override mouse cursor.
2020-12-16 15:43:51 +01:00
ocornut
892b48e2d6 Tables: Lock contents width while resizing down an horizontal scrolling table. Headers declare ideal width regardless of clipping. Misc comments. 2020-12-16 13:04:49 +01:00
ocornut
bd899efbd0 Tables: fixed "resize to default" of multiple stretch column (added 3b3503e, broken 7a61f340).
Fixed a warning.
Storing RightMostStretchedColumn column for resizing code.
Avoid clearing RightMostEnabledColumn in BeginTable() so resizing code can potentially use it.
(Added regression tests for resize all to default imgui_dev)
2020-12-14 15:49:20 +01:00
ocornut
f2df804fcc Tables: four small fixes.
Fixed last item flags leaking to disabled column, affecting IsItemHovered(). (#3651).
Validate and fix invalid DisplayOrder data from ini file.
Allow TableHeaderRows() to function will missing TableSetupColumn() calls.
Made TableHeader() use AllowItemOverlap mode to allow submit subsequent item in same cell, since it covers the whole cell area.
2020-12-13 19:57:19 +01:00
ocornut
738606a294 Tables: added ImGuiTableFlags_SortTristate. Renamed ImGuiTableFlags_MultiSortable to ImGuiTableFlags_SortMulti. Removed now unused FlagsIn storage. 2020-12-11 23:01:09 +01:00
ocornut
cad8935bfd Tables: revert setting colum cliprect.max.x to WorkMax.x instead of Max.x at it complicates header code. Fix clipped sort arrow. (amend 17536f9a) 2020-12-11 21:31:55 +01:00
ocornut
bff1836922 Internals: added facility to hide windows from render without interfering with the HiddenFramesCanSkipItems/HiddenFramesCannotSkipItems fields which have effects on layout. Compact some fields.
Ideally we'd have a simpler system but it's not easy to make the capture system change to hook at the right spot. Will rework.
2020-12-11 14:37:58 +01:00