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.
ago%!(EXTRA string=4 years)
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.
ago%!(EXTRA string=4 years)
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.
ago%!(EXTRA string=4 years)
ocornut
0b14dd9e55
Tables: fixed propagation of line height from outside the table. Added outer-width demo.
ago%!(EXTRA string=4 years)
ocornut
6e38026627
Tables: changelog. removed TableGetHoveredColumn() from public API in favor of using TableGetColumnFlags(). renamed ImGuiTableSortSpecsColumn to ImGuiTableColumnSortSpecs.
ago%!(EXTRA string=4 years)
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)
ago%!(EXTRA string=4 years)
ocornut
b194df413c
Tables: exposed status flags via TableGetColumnFlags(), removed TableGetColumnIsSorted()
...
Scoped width auto calc.
ago%!(EXTRA string=4 years)
ocornut
984c4cb5f8
Tables: distinguishing per-column IsVisible from IsRequestOutput which is returned to user. Clarified clipping rules/requirements. Comments.
ago%!(EXTRA string=4 years)
ocornut
f70bf69e3b
Tables: comments and tweaks on TableUpdateLayout(). changed "apply final width" loop to use natural column order.
ago%!(EXTRA string=4 years)
ocornut
155b8bb816
Tables: Shared menu item id for "Size all" variations. Avoid allocation on single sort specs. Fix TableGetColumnIsEnabled(). Massage TableHeaderRows().
ago%!(EXTRA string=4 years)
ocornut
e126a64782
Tables: using a typedef in internal code to specify column/draw channel index storage.
ago%!(EXTRA string=4 years)
ocornut
6aa8388e9f
Tables: index tweaks, fixed some inconsistent spacings.
ago%!(EXTRA string=4 years)
ocornut
5180025de5
Tables: moved + renamed TableSetupDrawChannels(), TableMergeDrawChannels() to their own section.
ago%!(EXTRA string=4 years)
ocornut
b7c83e4bac
Tables: moved TableGetSortSpecs(), TableGetColumnIsSorted(), TableFixColumnSortDirection(), TableSetColumnSortDirection() to their own section.
ago%!(EXTRA string=4 years)
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.
ago%!(EXTRA string=4 years)
ocornut
79c9eaa78e
Tables: Internals: renamed Visible to Enabled to avoid confusion with visibility checks.
ago%!(EXTRA string=4 years)
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
ago%!(EXTRA string=4 years)
ocornut
e09454aec4
Tables: removed TableGetColumnIsVisible from public api, re-specced as TableGetColumnIsHidden() returning same flag as setter, clipper increase CurrentRow.
ago%!(EXTRA string=4 years)
ocornut
0c9ab0acdd
Tables: setup and maintain ItemWidth per column.
ago%!(EXTRA string=4 years)
ocornut
3b3503e60f
Tables: decent support for auto-resize of stretch columns (trickier than it sounds)
...
Four cases:
1. visible columns are all stretch, resize all : "size all to default" reset to default weight
2. visible columns are all stretch, resize one: "size one to fit" set weight, reapply weight (todo: improve weight redistribution in case of >1 siblings)
3. visible columns are mixed, resize all: "size all to fit/default" reset stretchs to default weight, set fixed to auto width
4. visible columns are mixed, resize one: "size one to fit", redistribute weight the same way as a manual resize
+ TableSetupColumn() more consistently clear AutoFitQueue.
+ zero-clear RowCellData buffer.
ago%!(EXTRA string=4 years)
ocornut
197e9c085b
Tables: separate bg0 and bg1 draw channels, selectable above bg color + will facilitate drawing of borders in EndTable().
...
+ unused code to strip out dummy draw channel calls.
ago%!(EXTRA string=4 years)
ocornut
52f24df668
Tables: comments, tweaks, added internal TableSetColumnVisible(), merged the two TableSetColumnWidth().
ago%!(EXTRA string=4 years)
ocornut
bf197c74f6
Tables: storing WorkMaxX, made offset_x == MinX to be clearer, clip rect merge uses ClipRect.max.x directly, removed unused ShrinkWidth code, metrics.
ago%!(EXTRA string=4 years)
ocornut
10db896813
Tables: store RawData in a simple void* pointer, rename ContentMinX > WorkMinX, misc tidying up.
...
Removed unnecessary casts when using CheckboxFlags().
ago%!(EXTRA string=4 years)
ocornut
82cf41d804
Tables: tooltip on clipped TableHeader() (amended)
ago%!(EXTRA string=4 years)
ocornut
507db499e4
Tables: work on background draw channel handling (amend "create a separate background draw channel") + Selectable disable spacing when spanning.
ago%!(EXTRA string=4 years)
ocornut
fe6131168a
Tables: Additionally commentary about clipper in the demo + minor padding tweak.
ago%!(EXTRA string=4 years)
ocornut
24a7c45b02
Tables: Fix for 64 columns (maximum of 131 temporary draw channels).
ago%!(EXTRA string=4 years)
ocornut
e5a5256971
Tables: Garbage collection to relieve draw splitter buffers + for test engine: compact settings, remove table.
ago%!(EXTRA string=4 years)
ocornut
f80097ca96
Tables: Fix applying WorkRect in non-scrolling tables. Fix inverted BackgroundClipRect being passed to ImDrawCmd.
ago%!(EXTRA string=4 years)
ocornut
557253e776
Tables: create a separate background draw channel for rows below the frozen line.
ago%!(EXTRA string=4 years)
ocornut
d3222086f0
Tables: Moved TableSetupScrollFreeze(), TableUpdateDrawChannels() lower in more adequate spots.
...
+ rename IsFreezeRowsPassed to IsUnfrozen.
ago%!(EXTRA string=4 years)
ocornut
51abdd53e3
Tables: renamed somehow-duplicate ContentWidth members (implicitly == Max - Min), renamed StartX to ContentMinX for consistency.
ago%!(EXTRA string=4 years)
ocornut
1731ae5a09
Tables: Reworked padding/spacing/width.
...
All widths are stored without padding.
Decorelate padding from presence of border.
Added ImGuiTableFlags_Pad/NoPad flags.
Added demo.
Merge StartXHeaders and StartXRows into StartX.
Distinguish CellSpacingX1 and CellSpacingX2 for clarity and to avoid loss of width on non-even spacing values.
ago%!(EXTRA string=4 years)
ocornut
ac5b1648e6
Tables: Various internal renaming + merge StartXHeaders/StartXRows into StartX.
ago%!(EXTRA string=4 years)
ocornut
2ee20fdb7c
Tables: Frozen rows/columns in nav menu layer, fixed conflict between column id and holding child id.
ago%!(EXTRA string=4 years)
ocornut
e66b28693a
Tables: Added ImGuiTableFlags_ContextMenuInBody flag.
...
Worked to get TableOpenContextMenu() in public API but kept it internal.
ago%!(EXTRA string=4 years)
ocornut
cc12ea084b
Tables: Added TableSetColumnSortDirection() + added in default context menu code (disabled, feels unnecessary, but work is done to ensure programmatic access)
ago%!(EXTRA string=4 years)
omar
8ec05fc034
Tables: Fixed holding on table pointers accross resize/invalidation of the pool buffer.
ago%!(EXTRA string=4 years)
omar
931829f701
Tables: (Breaking change) Sorting: Made it users responsability to clear SpecsDirty back to false, so TableGetSortSpecs() doesn't have side-effect any more. + comments
ago%!(EXTRA string=4 years)
omar
8e97cdf8e8
Tables: Fix for calling TableSetBgColor(ImGuiTableBgTarget_CellBg) multiple times on the same cell.
ago%!(EXTRA string=4 years)
ocornut
45a80716b1
Tables: Fixed three bugs + metrics tweaks.
...
- Fixed bug when ending a table within another (outer table column offset was overwritten instead of restored).
- Fixed assert when settings data has mismatching column count.
- Fixed restoring g.CurrentTable when calling EndChild() from inside table inner window.
- Made inactive tables grey in metrics.
- Fix warning.
(amended twice)
ago%!(EXTRA string=4 years)
omar
eb18636e02
Tables: Fix settings not being saved in child window (issue 3367) + fix for change in master.
ago%!(EXTRA string=4 years)
omar
9d8b40414a
Tables: Added TableSetBgColor() api with color for RowBg and CellBg colors.
ago%!(EXTRA string=4 years)
omar
0847373b98
Tables: Comments on Sizing Policies + Rename border V/H flags HInner -> InnerH + offset every flags by two.
ago%!(EXTRA string=4 years)
omar
c96c84b6dc
Tables: Store submitted column width and avoid saving default default widths.
ago%!(EXTRA string=4 years)
ocornut
798aed729a
Tables: Added TableGetHoveredColumn(), extracted some context menu code out, simplifying TableAutoHeaders() toward aim of it being a user-land function.
ago%!(EXTRA string=4 years)
ocornut
4c4882ffe4
Tables: Fixed channel merge when resizing columns with headers. Disable unnecessary and broken merge when using _NoClipX.
ago%!(EXTRA string=4 years)
omar
363eae94e6
Tables: Further fix #3293 , #3163 + fixed for row unfreezing border not always showing due to unset clip rect.
ago%!(EXTRA string=4 years)
ocornut
58411f27cb
Tables: Avoid TableGetSortSpecs() having a side-effect on sort specs sanitization.
ago%!(EXTRA string=4 years)