ocornut
0c9ab0acdd
Tables: setup and maintain ItemWidth per column.
2020-12-04 19:15:26 +01:00
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.
2020-12-04 19:15:25 +01:00
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.
2020-12-04 19:15:25 +01:00
ocornut
52f24df668
Tables: comments, tweaks, added internal TableSetColumnVisible(), merged the two TableSetColumnWidth().
2020-12-04 19:15:25 +01:00
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.
2020-12-04 19:15:25 +01:00
ocornut
10db896813
Tables: store RawData in a simple void* pointer, rename ContentMinX > WorkMinX, misc tidying up.
...
Removed unnecessary casts when using CheckboxFlags().
2020-12-04 19:15:25 +01:00
ocornut
82cf41d804
Tables: tooltip on clipped TableHeader() (amended)
2020-12-04 19:15:25 +01:00
ocornut
507db499e4
Tables: work on background draw channel handling (amend "create a separate background draw channel") + Selectable disable spacing when spanning.
2020-12-04 19:15:25 +01:00
ocornut
fe6131168a
Tables: Additionally commentary about clipper in the demo + minor padding tweak.
2020-12-04 19:15:25 +01:00
ocornut
24a7c45b02
Tables: Fix for 64 columns (maximum of 131 temporary draw channels).
2020-12-04 19:15:25 +01:00
ocornut
e5a5256971
Tables: Garbage collection to relieve draw splitter buffers + for test engine: compact settings, remove table.
2020-12-04 19:15:25 +01:00
ocornut
f80097ca96
Tables: Fix applying WorkRect in non-scrolling tables. Fix inverted BackgroundClipRect being passed to ImDrawCmd.
2020-12-04 19:15:25 +01:00
ocornut
557253e776
Tables: create a separate background draw channel for rows below the frozen line.
2020-12-04 19:15:24 +01:00
ocornut
d3222086f0
Tables: Moved TableSetupScrollFreeze(), TableUpdateDrawChannels() lower in more adequate spots.
...
+ rename IsFreezeRowsPassed to IsUnfrozen.
2020-12-04 19:15:24 +01:00
ocornut
51abdd53e3
Tables: renamed somehow-duplicate ContentWidth members (implicitly == Max - Min), renamed StartX to ContentMinX for consistency.
2020-12-04 19:15:24 +01:00
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.
2020-12-04 19:15:24 +01:00
ocornut
ac5b1648e6
Tables: Various internal renaming + merge StartXHeaders/StartXRows into StartX.
2020-12-04 19:15:24 +01:00
ocornut
2ee20fdb7c
Tables: Frozen rows/columns in nav menu layer, fixed conflict between column id and holding child id.
2020-12-04 19:15:24 +01:00
ocornut
e66b28693a
Tables: Added ImGuiTableFlags_ContextMenuInBody flag.
...
Worked to get TableOpenContextMenu() in public API but kept it internal.
2020-12-04 19:15:24 +01:00
ocornut
cc12ea084b
Tables: Added TableSetColumnSortDirection() + added in default context menu code (disabled, feels unnecessary, but work is done to ensure programmatic access)
2020-12-04 19:15:23 +01:00
omar
8ec05fc034
Tables: Fixed holding on table pointers accross resize/invalidation of the pool buffer.
2020-12-04 19:15:23 +01:00
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
2020-12-04 19:15:23 +01:00
omar
8e97cdf8e8
Tables: Fix for calling TableSetBgColor(ImGuiTableBgTarget_CellBg) multiple times on the same cell.
2020-12-04 19:15:23 +01:00
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)
2020-12-04 19:15:23 +01:00
omar
eb18636e02
Tables: Fix settings not being saved in child window (issue 3367) + fix for change in master.
2020-12-04 19:15:23 +01:00
omar
9d8b40414a
Tables: Added TableSetBgColor() api with color for RowBg and CellBg colors.
2020-12-04 19:15:23 +01:00
omar
0847373b98
Tables: Comments on Sizing Policies + Rename border V/H flags HInner -> InnerH + offset every flags by two.
2020-12-04 19:15:23 +01:00
omar
c96c84b6dc
Tables: Store submitted column width and avoid saving default default widths.
2020-12-04 19:15:22 +01:00
ocornut
798aed729a
Tables: Added TableGetHoveredColumn(), extracted some context menu code out, simplifying TableAutoHeaders() toward aim of it being a user-land function.
2020-12-04 19:15:22 +01:00
ocornut
4c4882ffe4
Tables: Fixed channel merge when resizing columns with headers. Disable unnecessary and broken merge when using _NoClipX.
2020-12-04 19:15:22 +01:00
omar
363eae94e6
Tables: Further fix #3293 , #3163 + fixed for row unfreezing border not always showing due to unset clip rect.
2020-12-04 19:15:22 +01:00
ocornut
58411f27cb
Tables: Avoid TableGetSortSpecs() having a side-effect on sort specs sanitization.
2020-12-04 19:15:22 +01:00
ocornut
af992d1321
Tables: Tweak settings functions to more prominently clarify the two levels of function.
2020-12-04 19:15:22 +01:00
omar
fec9d7d226
Tables: Rescale fixed widths when font size change to support varying dpi scale at runtime and on .ini reload.
2020-12-04 19:15:21 +01:00
omar
6bc0bbccf3
Tables: Restore width/weight saving/loading code. Non-weighted width currently not font/DPI change friendly.
2020-12-04 19:15:21 +01:00
omar
af52a0cea2
Tables: Resizing weighted column preserve sum of weights. Fix ResizedColumn init leading to undesirable TableSetColumnWidth() on first run. Rework TableSettingsHandler_ReadLine() structure to allow other types of line.
2020-12-04 19:15:21 +01:00
omar
bc170e7325
Tables: Renamed ResizeWeight->WidthStretchWeight, WidthRequested->WidthFixedRequest, clarififications, comments.
2020-12-04 19:15:21 +01:00
omar
23c60b2814
Tables: Renamed internal fields: Active->Visible, Visible->VisibleUnclipped to be less misleading.
2020-12-04 19:15:21 +01:00
omar
dff26191bd
Tables: Try to report contents width to outer window, generally better auto-fit.
2020-12-04 19:15:21 +01:00
omar
95c273618e
Tables: Allow hot-reload of settings (merge policy), tidying up settings code
2020-12-04 19:15:21 +01:00
omar
9b6d0fdb7a
Tables: Fixed ignoring DefaultHide or DefaultSort data from flags when loading settings that don't have them.
2020-12-04 19:15:21 +01:00
omar
9f43aae226
Tables: Calculating ideal total width, some renaming, comments. Clarify that inner_width is unused with ScrollX=0. Clip many comments to 120 columns.
2020-12-04 19:15:21 +01:00
omar
b7ff85d9ad
Tables: Browse settings list in Metrics (outside of Table entry).
2020-12-04 19:15:21 +01:00
omar
8eb1c925f0
Tables: Internals: Added FindTableByID(), removing trailing spaces.
...
# Conflicts:
# imgui_internal.h
2020-12-04 19:15:21 +01:00
omar
e60b5a3f75
Tables: Internals: Added TableGetColumnResizeID(), renamed InstanceNo > InstanceCurrent.
2020-12-04 19:15:21 +01:00
omar
104b11051f
Tables: Added ImGuiTableColumnFlags_NoReorder.
2020-12-04 19:15:21 +01:00
omar
b7fa96679e
Tables: Locking IndentX per-row so multiple columns with IndentEnabled don't get indent shearing.
2020-12-04 19:15:21 +01:00
omar
5ffc9e0846
Tables: Renaming Table's DisplayOrder[] -> DisplayOrderToIndex[], Columns's IndexDisplayOrder -> DisplayOrder
2020-12-04 19:15:21 +01:00
omar
a956629b40
Tables: Using same allocation for our Columns and DisplayOrder array. Mostly designed to facilitate adding new arrays.
2020-12-04 19:15:21 +01:00
omar
6dff061309
Internals: added ImSpanAllocator<> helper.
2020-12-04 19:15:20 +01:00