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
4d8e839ddf
Renamed ImDrawList::AddBezierCurve() to ImDrawList::AddBezierCubic(), ImDrawList::PathBezierCurveTo() to ImDrawList::PathBezierCubicCurveTo(). ( #3127 , #3664 , #3665 )
...
Renamed corresponding internal functions as well.
2020-12-21 17:13:36 +01:00
ocornut
550bfcfc59
Amend defce31
Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() ( #3127 , #3664 , #3665 )
2020-12-21 16:30:10 +01:00
Aiekick
defce31c2e
Add ImDrawList::AddQuadBezierCurve(), ImDrawList::PathQuadBezierCurveTo() ( #3127 , #3664 , #3665 )
2020-12-21 16:25:14 +01:00
nyorain
a640698123
Clipper: Fixed incorrect end-list positioning when using ImGuiListClipper with 1 item (bug in 1.79). ( #3663 )
2020-12-21 15:53:42 +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
ocornut
1ad5502f18
Tables: Closer to zero-clear constructor. Lazily clearing name offsets to avoid an iteration in BeginTable(). Removed unused TableSetColumnIsEnabled(), signature went faulty anyway.
2020-12-10 19:45:20 +01:00
ocornut
76964a27ce
Tables: moved TableNextRow(), TableBeginRow(), TableEndRow(), TableNextColumn(), TableBeginCell(), TableEndCell() to their own section.
2020-12-10 18:39:37 +01:00
ocornut
e6b875c09b
Tables: Ditch old columns flags/setting if not called again. Displaying right-most border when using _SameWidths. Moving Width-related functions to their own section.
...
Effectively removed the TableFixColumnFlags() in first loop of TableUpdateLayout() to replace it with similar one but only when column not declared. I think this should be the right thing.
2020-12-10 18:33:33 +01:00
ocornut
3346544cf5
Examples: Fix batch files (amend b1a18d82
, #3513 ), standardize them + DirectX12: Move ImGui::Render() call above the first barrier to clarify its lack of effect on the graphics pipe.
2020-12-09 18:28:02 +01:00
ocornut
17536f9add
Tables: more consistent use of CellPadding.x*2 and clip-rect on right-most side of non-bordered column + fix cellbg for standalone TableHeader call.
...
Using CellPadding.x on both sides when BorderV is off, generally most consistent and with default value (4,2) promotes at-glance visible spacing between non-bordered columns. Effectively double horizontal padding on non-bordered columns.
Made ClipRect.Max.x matches WorkMaxX which is where we'd like to go for windows themselves.
TableHeader() submit single cell bg color if not already submitted as a full header row.
Misc comments/docs updates.
2020-12-09 15:13:09 +01:00
ocornut
9874077fc0
Merge branch 'tables'
2020-12-04 19:17:13 +01:00
ocornut
0b14dd9e55
Tables: fixed propagation of line height from outside the table. Added outer-width demo.
2020-12-04 19:15:27 +01:00
ocornut
6e38026627
Tables: changelog. removed TableGetHoveredColumn() from public API in favor of using TableGetColumnFlags(). renamed ImGuiTableSortSpecsColumn to ImGuiTableColumnSortSpecs.
2020-12-04 19:15:27 +01:00
ocornut
7a61f3407b
Tables: support internal TableResetSettings(), clarify lifetime, fixed missing auto-fit on column unhidden after first run, fixed resize assert when changing column sizing policy to stretch mid-frame (before of -1.0f weight)
2020-12-04 19:15:27 +01:00
ocornut
b194df413c
Tables: exposed status flags via TableGetColumnFlags(), removed TableGetColumnIsSorted()
...
Scoped width auto calc.
2020-12-04 19:15:27 +01:00
ocornut
984c4cb5f8
Tables: distinguishing per-column IsVisible from IsRequestOutput which is returned to user. Clarified clipping rules/requirements. Comments.
2020-12-04 19:15:27 +01:00
ocornut
f70bf69e3b
Tables: comments and tweaks on TableUpdateLayout(). changed "apply final width" loop to use natural column order.
2020-12-04 19:15:26 +01:00
ocornut
155b8bb816
Tables: Shared menu item id for "Size all" variations. Avoid allocation on single sort specs. Fix TableGetColumnIsEnabled(). Massage TableHeaderRows().
2020-12-04 19:15:26 +01:00
ocornut
e126a64782
Tables: using a typedef in internal code to specify column/draw channel index storage.
2020-12-04 19:15:26 +01:00
ocornut
6aa8388e9f
Tables: index tweaks, fixed some inconsistent spacings.
2020-12-04 19:15:26 +01:00
ocornut
5877b9d722
Tables: moved TablePushBackgroundChannel(), TablePopBackgroundChannel(), TableDrawBorders() to their own section.
2020-12-04 19:15:26 +01:00
ocornut
5180025de5
Tables: moved + renamed TableSetupDrawChannels(), TableMergeDrawChannels() to their own section.
2020-12-04 19:15:26 +01:00
ocornut
b7c83e4bac
Tables: moved TableGetSortSpecs(), TableGetColumnIsSorted(), TableFixColumnSortDirection(), TableSetColumnSortDirection() to their own section.
2020-12-04 19:15:26 +01:00
ocornut
d6b1f0d13d
Tables: moved TableHeadersRow(), TableHeader() to their own section.
2020-12-04 19:15:26 +01:00
ocornut
592fc69054
Tables: moved TableDrawContextMenu(), TableOpenContextMenu() to their own section.
2020-12-04 19:15:26 +01:00
ocornut
7aed4b152b
Tables: improve index, file structure tweaks.
2020-12-04 19:15:26 +01:00
ocornut
082f1d10d0
Tables: renamed TableBeginUpdateColumns to TableBeginApplyRequests, moved code to TableUpdateLayout, in order to ensure that enable state is not inconsistent due to TableSetupColumn column hiding requests.
...
All the fields moved from TableBeginUpdateColumns to TableUpdateLayout are not used before.
2020-12-04 19:15:26 +01:00
ocornut
79c9eaa78e
Tables: Internals: renamed Visible to Enabled to avoid confusion with visibility checks.
2020-12-04 19:15:26 +01:00
ocornut
5ef7b831c2
Tables: removed ImGuiTableSortSpecs::ColumnsMask because it needlessly exposes our 64-columns limitation which we'd eventually would like to lift
...
+ shuffle declarations in internals
2020-12-04 19:15:26 +01:00
ocornut
e09454aec4
Tables: removed TableGetColumnIsVisible from public api, re-specced as TableGetColumnIsHidden() returning same flag as setter, clipper increase CurrentRow.
2020-12-04 19:15:26 +01:00
ocornut
a70c6aae9f
Tables: demo synced tables + fix resizing indented synced tables.
2020-12-04 19:15:26 +01:00
ocornut
0c9ab0acdd
Tables: setup and maintain ItemWidth per column.
2020-12-04 19:15:26 +01:00
ocornut
8f126d5d95
Tables: rename ImGuiTableFlags_SizingPolicyStretchX to ImGuiTableFlags_ColumnsWidthStretch, ImGuiTableFlags_SizingPolicyFixedX to ImGuiTableFlags_ColumnsWidthFixed.
2020-12-04 19:15:26 +01:00
ocornut
41f89e0f59
Tables: added ImGuiTableFlags_SameWidths, used in demo. Reordered columns flags and exposed them all in Columns Flags section.
2020-12-04 19:15:26 +01:00
ocornut
3a2f0bfc04
Tables: demo inner_size + scrollx + stretch, added TableGetRowIndex(), renamed _WidthAlwaysAutoResize to _WidthAutoResize.
2020-12-04 19:15:25 +01:00