Commit Graph

7819 Commits

Author SHA1 Message Date
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
ocornut
f6800e9d3b Tables: Extend outer-most clip limits to match those of host when merging draw calls.
Generally clarify/simplify ClipRect extending/merging code in TableReorderDrawChannelsForMerge().
Amend/fix Sep 23
2020-12-04 19:15:23 +01:00
ocornut
3d573103b6 Tables: Fixed lower clipping when using ImGuiTableFlags_NoHostExtendY. 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
ocornut
9372601322 Tables: Fixed stacked popups incorrectly accessing g.CurrentTable of parent-in-stack windows. 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
b6405a291d Tables: Fixed TableHeader() not declaring its height properly. Do NOT declare width. 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
30e21eb280 Tables: non-resizable columns also submit their requested width for auto-fit, 2020-12-04 19:15:22 +01:00
omar
a0e6aa1766 Tables: Fix calculation of auto-fit (remove padding). Demo setting a width in columns setup + ImGuiTableFlags_NoKeepColumnsVisible. 2020-12-04 19:15:22 +01:00
omar
c96c84b6dc Tables: Store submitted column width and avoid saving default default widths. 2020-12-04 19:15:22 +01:00
omar
57916b891b Tables: Simplified TableHeader() and not relying on Selectable(), fixed various padding issues. Added work-around for CellRect.Min.x offset by CellSpacing.x. 2020-12-04 19:15:22 +01:00
omar
fcdfde2bc6 Tables: Extracted border size into a named variable. 2020-12-04 19:15:22 +01:00
omar
03c8bfaf23 Tables: Removed extra +1.0f pixels initially allocated to make right-most column visible, fix visible padding asymmetry. Tweaked debug code in demo.
Seems visible enough without. Whole thing is/was fishy, may return to it but right cleaning up seems viable.
2020-12-04 19:15:22 +01:00
omar
353bb68e90 Tables: Demo custom per-popup popups, demonstrate TableGetHoveredColumn() and ImGuiPopupFlags_NoOpenOverExistingPopup. 2020-12-04 19:15:22 +01:00
omar
745d8cdb49 Tables: Made TableHeader() responsible for opening per-column context menu to move responsibility away from TableAutoHeaders(). 2020-12-04 19:15:22 +01:00
ocornut
27e779b3ef Tables: Removed dubious window->SkipItem assignment in TableAutoHeaders(). 2020-12-04 19:15:22 +01:00
ocornut
7ca70dcb81 Tables: Using same seed ID regardless of when using a child window or not. 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
8530b6af3d Tables: Not flagging whole column as SkipItems based on clipping visibility (breaks layout) 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
omar
b741639468 Tables: Fix rendering of row bg and line separators (#3293, broken by fixes #3163, code was accidently relying on SetCurrentChannel not updating rectangle)
+ Used shortcut in PushTableBackground/PopTableBackground
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
dc915c86ca Tables: Fixed a manual resize path not marking settings as dirty, TableSortSpecsSanitize() doesn't need to test table->IsInitializing 2020-12-04 19:15:22 +01:00
Rokas Kupstys
8690d1f9ce Tables: Fix sort specs sometimes incorrectly reporting sort spec count when table loses _MultiSortable flag during runtime. 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
7513842284 Tables: Fix assert/crash when a visible column is clipped in a multi clip group situation. 2020-12-04 19:15:22 +01:00
omar
e41fc7b5b0 Tables: Fix TableDrawMergeChannels() mistakenly merging unfrozen columns cliprect with host cliprect. Comments, debug. 2020-12-04 19:15:21 +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
466b6e619a Tables: Fixed incorrect application of CursorMaxPos.x (3162) 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
omar
182115409a Internals: added ImSpan helper structure + 2020/10/01 stricter bound checking 2020-12-04 19:15:20 +01:00