ocornut
984c4cb5f8
Tables: distinguishing per-column IsVisible from IsRequestOutput which is returned to user. Clarified clipping rules/requirements. Comments.
4 years ago
ocornut
f70bf69e3b
Tables: comments and tweaks on TableUpdateLayout(). changed "apply final width" loop to use natural column order.
4 years ago
ocornut
155b8bb816
Tables: Shared menu item id for "Size all" variations. Avoid allocation on single sort specs. Fix TableGetColumnIsEnabled(). Massage TableHeaderRows().
4 years ago
ocornut
e126a64782
Tables: using a typedef in internal code to specify column/draw channel index storage.
4 years ago
ocornut
6aa8388e9f
Tables: index tweaks, fixed some inconsistent spacings.
4 years ago
ocornut
5877b9d722
Tables: moved TablePushBackgroundChannel(), TablePopBackgroundChannel(), TableDrawBorders() to their own section.
4 years ago
ocornut
5180025de5
Tables: moved + renamed TableSetupDrawChannels(), TableMergeDrawChannels() to their own section.
4 years ago
ocornut
b7c83e4bac
Tables: moved TableGetSortSpecs(), TableGetColumnIsSorted(), TableFixColumnSortDirection(), TableSetColumnSortDirection() to their own section.
4 years ago
ocornut
d6b1f0d13d
Tables: moved TableHeadersRow(), TableHeader() to their own section.
4 years ago
ocornut
592fc69054
Tables: moved TableDrawContextMenu(), TableOpenContextMenu() to their own section.
4 years ago
ocornut
7aed4b152b
Tables: improve index, file structure tweaks.
4 years ago
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.
4 years ago
ocornut
79c9eaa78e
Tables: Internals: renamed Visible to Enabled to avoid confusion with visibility checks.
4 years ago
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
4 years ago
ocornut
e09454aec4
Tables: removed TableGetColumnIsVisible from public api, re-specced as TableGetColumnIsHidden() returning same flag as setter, clipper increase CurrentRow.
4 years ago
ocornut
a70c6aae9f
Tables: demo synced tables + fix resizing indented synced tables.
4 years ago
ocornut
0c9ab0acdd
Tables: setup and maintain ItemWidth per column.
4 years ago
ocornut
8f126d5d95
Tables: rename ImGuiTableFlags_SizingPolicyStretchX to ImGuiTableFlags_ColumnsWidthStretch, ImGuiTableFlags_SizingPolicyFixedX to ImGuiTableFlags_ColumnsWidthFixed.
4 years ago
ocornut
41f89e0f59
Tables: added ImGuiTableFlags_SameWidths, used in demo. Reordered columns flags and exposed them all in Columns Flags section.
4 years ago
ocornut
3a2f0bfc04
Tables: demo inner_size + scrollx + stretch, added TableGetRowIndex(), renamed _WidthAlwaysAutoResize to _WidthAutoResize.
4 years ago
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.
4 years ago
ocornut
c5dcf2fde1
Tables: rework keep-visible/max-width code to be less incorrect, but right-most column may effectively has few pixels less of visible cliprect width.
...
See table_width_distrib and table_width_keep_visible tests.
+ fix minor left-side clipping on post-frozen column
+ made TableHeader() use reliable column->MaxX
4 years ago
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.
4 years ago
ocornut
52f24df668
Tables: comments, tweaks, added internal TableSetColumnVisible(), merged the two TableSetColumnWidth().
4 years ago
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.
4 years ago
ocornut
5465d30d67
Tables: added ImGuiTableFlags_PreciseStretchWidths.
4 years ago
ocornut
10db896813
Tables: store RawData in a simple void* pointer, rename ContentMinX > WorkMinX, misc tidying up.
...
Removed unnecessary casts when using CheckboxFlags().
4 years ago
ocornut
82cf41d804
Tables: tooltip on clipped TableHeader() (amended)
4 years ago
ocornut
507db499e4
Tables: work on background draw channel handling (amend "create a separate background draw channel") + Selectable disable spacing when spanning.
4 years ago
ocornut
fe6131168a
Tables: Additionally commentary about clipper in the demo + minor padding tweak.
4 years ago
ocornut
94d99f9d0b
Tables: Fixed crash when increaasing columns count with bound settings.
4 years ago
ocornut
24a7c45b02
Tables: Fix for 64 columns (maximum of 131 temporary draw channels).
4 years ago
ocornut
e5a5256971
Tables: Garbage collection to relieve draw splitter buffers + for test engine: compact settings, remove table.
4 years ago
ocornut
f80097ca96
Tables: Fix applying WorkRect in non-scrolling tables. Fix inverted BackgroundClipRect being passed to ImDrawCmd.
4 years ago
ocornut
557253e776
Tables: create a separate background draw channel for rows below the frozen line.
4 years ago
ocornut
fae362fd0b
Tables: fixed auto-fitting columns not marking settings as dirty + fixed CellBg fill not narrow clipping on ScrollX + freeze.
4 years ago
ocornut
9918b2f147
Tables: Shuffled ordering of draw channels merge group so vertically unfrozen ones come, allowing us to split background channels in two.
4 years ago
ocornut
d3222086f0
Tables: Moved TableSetupScrollFreeze(), TableUpdateDrawChannels() lower in more adequate spots.
...
+ rename IsFreezeRowsPassed to IsUnfrozen.
4 years ago
ocornut
d9ca3939e1
Tables: Tidy up comments. Replaced some Columns by Tables in demo. Removed ImGuiTableFlags_Scroll (combining ScrollX/ScrollY) because each axis inccur different requirements/constraints.
4 years ago
ocornut
51abdd53e3
Tables: renamed somehow-duplicate ContentWidth members (implicitly == Max - Min), renamed StartX to ContentMinX for consistency.
4 years ago
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.
4 years ago
ocornut
75c5f534e8
Tables: Avoid allocating into ColumnsName for empty strings, changed TableGetColumnName() to return "" on missing name, generally more friendly.
4 years ago
ocornut
f4800db178
Tables: Extracted parts of BeginTable() into TableFixFlags() and TableBeginInitMemory().
4 years ago
ocornut
ac5b1648e6
Tables: Various internal renaming + merge StartXHeaders/StartXRows into StartX.
4 years ago
ocornut
77e561aaf3
Tables: Made demo options consistently compact, replaced constants with font-based sizes, added comments on memory allocations.
4 years ago
ocornut
02b27b75a4
Tables: Added ImGuiTableFlags_NoBordersInBody, ImGuiTableFlags_NoBordersInBodyUntilResize, removed ImGuiTableFlags_BordersFullHeightV.
4 years ago
ocornut
172704c079
Tables: Add demo code. Remove dead code + seemingly duplicate border in TableDrawBorders().
4 years ago
ocornut
2ee20fdb7c
Tables: Frozen rows/columns in nav menu layer, fixed conflict between column id and holding child id.
4 years ago
ocornut
e66b28693a
Tables: Added ImGuiTableFlags_ContextMenuInBody flag.
...
Worked to get TableOpenContextMenu() in public API but kept it internal.
4 years ago
ocornut
6182973bde
Tables: (Breaking) Rename TableNextCell() to TableNextColumn(), made TableNextRow() NOT enter into first column.
4 years ago
ocornut
b1ebf964f5
Tables: Moved TableSetColumnIndex() next to TableNextCell() since they are so similar + made NextCell() crash proof.
4 years ago
ocornut
248960d64c
Tables: Fix ImGuiTableColumnFlags_WidthAlwaysAutoResize columns when clipped (which would be default behavior without _Resizable and when clipping/scrolling)
4 years ago
omar
25b5cc2f95
Tables: Fixes to support any number of frozen rows (over modifications to clipper code in master) + make clipper run eval after clipect update
4 years ago
ocornut
cc12ea084b
Tables: Added TableSetColumnSortDirection() + added in default context menu code (disabled, feels unnecessary, but work is done to ensure programmatic access)
4 years ago
ocornut
9b37087fbe
Tables: (Breaking) Rename TableAutoHeaders() to TableHeadersRow() + added TableGetColumnCount().
4 years ago
ocornut
3021608392
Tables: (Breaking) Add TableSetupScrollFreeze() api, remove ImGuiTableFlags_ScrollFreezeXXX flags, tweak comments, move columns block.
...
Avoid awkwardly named ScrollFreeze flags, raise limit over 3, and will allow for future api maybe freezing bottom/right side.
4 years ago
ocornut
36b2f3b4f1
Tables: renamed ImGuiTableFlags_NoClipX to ImGuiTableFlags_NoClip, clarified purpose, moved lower in the list as it doesn't need to be so prominent.
4 years ago
omar
8ec05fc034
Tables: Fixed holding on table pointers accross resize/invalidation of the pool buffer.
4 years ago
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
4 years ago
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
4 years ago
ocornut
3d573103b6
Tables: Fixed lower clipping when using ImGuiTableFlags_NoHostExtendY.
4 years ago
omar
8e97cdf8e8
Tables: Fix for calling TableSetBgColor(ImGuiTableBgTarget_CellBg) multiple times on the same cell.
4 years ago
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)
4 years ago
omar
eb18636e02
Tables: Fix settings not being saved in child window (issue 3367) + fix for change in master.
4 years ago
omar
9d8b40414a
Tables: Added TableSetBgColor() api with color for RowBg and CellBg colors.
4 years ago
omar
b6405a291d
Tables: Fixed TableHeader() not declaring its height properly. Do NOT declare width.
4 years ago
omar
0847373b98
Tables: Comments on Sizing Policies + Rename border V/H flags HInner -> InnerH + offset every flags by two.
4 years ago
omar
30e21eb280
Tables: non-resizable columns also submit their requested width for auto-fit,
4 years ago
omar
a0e6aa1766
Tables: Fix calculation of auto-fit (remove padding). Demo setting a width in columns setup + ImGuiTableFlags_NoKeepColumnsVisible.
4 years ago
omar
c96c84b6dc
Tables: Store submitted column width and avoid saving default default widths.
4 years ago
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.
4 years ago
omar
fcdfde2bc6
Tables: Extracted border size into a named variable.
4 years ago
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.
4 years ago
omar
745d8cdb49
Tables: Made TableHeader() responsible for opening per-column context menu to move responsibility away from TableAutoHeaders().
4 years ago
ocornut
27e779b3ef
Tables: Removed dubious window->SkipItem assignment in TableAutoHeaders().
4 years ago
ocornut
7ca70dcb81
Tables: Using same seed ID regardless of when using a child window or not.
4 years ago
ocornut
798aed729a
Tables: Added TableGetHoveredColumn(), extracted some context menu code out, simplifying TableAutoHeaders() toward aim of it being a user-land function.
4 years ago
ocornut
4c4882ffe4
Tables: Fixed channel merge when resizing columns with headers. Disable unnecessary and broken merge when using _NoClipX.
4 years ago
omar
8530b6af3d
Tables: Not flagging whole column as SkipItems based on clipping visibility (breaks layout)
4 years ago
omar
363eae94e6
Tables: Further fix #3293 , #3163 + fixed for row unfreezing border not always showing due to unset clip rect.
4 years ago
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
4 years ago
ocornut
58411f27cb
Tables: Avoid TableGetSortSpecs() having a side-effect on sort specs sanitization.
4 years ago
ocornut
dc915c86ca
Tables: Fixed a manual resize path not marking settings as dirty, TableSortSpecsSanitize() doesn't need to test table->IsInitializing
4 years ago
Rokas Kupstys
8690d1f9ce
Tables: Fix sort specs sometimes incorrectly reporting sort spec count when table loses _MultiSortable flag during runtime.
4 years ago
ocornut
af992d1321
Tables: Tweak settings functions to more prominently clarify the two levels of function.
4 years ago
omar
7513842284
Tables: Fix assert/crash when a visible column is clipped in a multi clip group situation.
4 years ago
omar
e41fc7b5b0
Tables: Fix TableDrawMergeChannels() mistakenly merging unfrozen columns cliprect with host cliprect. Comments, debug.
4 years ago
omar
fec9d7d226
Tables: Rescale fixed widths when font size change to support varying dpi scale at runtime and on .ini reload.
4 years ago
omar
6bc0bbccf3
Tables: Restore width/weight saving/loading code. Non-weighted width currently not font/DPI change friendly.
4 years ago
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.
4 years ago
omar
bc170e7325
Tables: Renamed ResizeWeight->WidthStretchWeight, WidthRequested->WidthFixedRequest, clarififications, comments.
4 years ago
omar
23c60b2814
Tables: Renamed internal fields: Active->Visible, Visible->VisibleUnclipped to be less misleading.
4 years ago
omar
dff26191bd
Tables: Try to report contents width to outer window, generally better auto-fit.
4 years ago
omar
466b6e619a
Tables: Fixed incorrect application of CursorMaxPos.x (3162)
4 years ago
omar
95c273618e
Tables: Allow hot-reload of settings (merge policy), tidying up settings code
4 years ago
omar
9b6d0fdb7a
Tables: Fixed ignoring DefaultHide or DefaultSort data from flags when loading settings that don't have them.
4 years ago
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.
4 years ago
omar
b7ff85d9ad
Tables: Browse settings list in Metrics (outside of Table entry).
4 years ago
omar
8eb1c925f0
Tables: Internals: Added FindTableByID(), removing trailing spaces.
...
# Conflicts:
# imgui_internal.h
4 years ago
omar
e60b5a3f75
Tables: Internals: Added TableGetColumnResizeID(), renamed InstanceNo > InstanceCurrent.
4 years ago
omar
104b11051f
Tables: Added ImGuiTableColumnFlags_NoReorder.
4 years ago
omar
b7fa96679e
Tables: Locking IndentX per-row so multiple columns with IndentEnabled don't get indent shearing.
4 years ago
omar
5ffc9e0846
Tables: Renaming Table's DisplayOrder[] -> DisplayOrderToIndex[], Columns's IndexDisplayOrder -> DisplayOrder
4 years ago
omar
a956629b40
Tables: Using same allocation for our Columns and DisplayOrder array. Mostly designed to facilitate adding new arrays.
4 years ago
ocornut
054c67079a
Tables: Fix scrolling with more than 32 columns (3058). Fix limit of 63 columms instead of 64. Added BitArray.
4 years ago
ocornut
d37cef40f2
Tables: Tidying up TableDrawMergeChannels() with a struct. (3058)
4 years ago
ocornut
7277ab6530
Tables: Comments, renamed merge_set_xxx to merge_group_xxx. Removed unused array and incorrect assert, replaced with earlier correct assert. (3058)
4 years ago
ocornut
0190b619cf
Tables: Fixed demo layout when clipped. Fixed warnings.
4 years ago
ocornut
f130db51ae
Tables: Added TableSetColumnWidth() api variant aimed at becoming public facing.
4 years ago
Omar
ae6fc48f60
Tables: Fix sort direction (issue 3023). Remove SortOrder from ImGuiTableSortSpecsColumn. Made sort arrow smaller. Added debug stuff in metrics.
4 years ago
omar
643cf6fc8c
Tables: Added ImGuiTableFlags_NoKeepColumnsVisible wip flag useful for layout purpose. (WIP)
4 years ago
omar
104ec408a8
Tables: Fixed content size calculation creating feedback loops. Fixed handling of _DefaultSort with _PreferSortXXXflags (@parbo). Comments.
4 years ago
omar
787a309445
Tables: Fixed headers closing popups.
4 years ago
omar
f5eee210a0
Tables: TableHeader() uses provided row min header rather than incremental one to allow multi-item multi-line in header cells. Demo TableHeader() - will caveat, comments.
4 years ago
omar
5431cbd3f0
Tables: Honor width/weight passed to TableSetupColumn() after .ini load since we don't actually restore that data currently.
...
Demo: Remove filter from Advanced Table demo since it's breaking with clipping.
4 years ago
omar
0e7b3f2f2f
Tables: Made only first column honor Indent by default (like Columns api) and exposed flags. Added simple Tree demo.
4 years ago
omar
2958e37310
Tables: Storing per-column SkipItems as a shortcut. Comments, Spacings.
...
# Conflicts:
# imgui_internal.h
4 years ago
omar
31de161066
Tables: Fix for hiding first column (fix fcceff5c + reading PrevLineTextBaseOffset in EndCell of inactive column).
4 years ago
omar
164caa2db7
Tables: Support for multi-line columns name. Renaming of some fields from BackupXXX to HostXXX. Comments.
4 years ago
omar
e85c226da4
Tables: Fix reordering across hidden columns. Fix for frozen columns to never be larger than scrolling visible rect width.
4 years ago
omar
416e9bb38d
Tables: Clarify internal calculations of row height so that TableGetCellRect() include expected paddings. Add demo code. Comments.
...
Remove misleading commented-out flags for now.
4 years ago
omar
325b4c69ba
Tables: Moved border colors to the Style (maybe temporarily?) instead of hardcoding them.
4 years ago
omar
17578e215a
Tables: Separating inner/outer borders flags per axis so it is possible to remove outer vertical borders to mimic old columns.
...
VInner or VOuter only don't have correct padding/spacing.
4 years ago
omar
1db8d421cf
Tables: Fix scroll when releasing resize for multi-instances. Comments. Renaming.
4 years ago
omar
78b12068d9
Tables: Disable initial output prior to NextRow call to avoid misleading users.
...
Fixed some inconsistency with BeginTable/EndTable without row.
Move some of the TableBegin() code in TableBeginUpdateColumns().
Allow to submit multiple header lines.
4 years ago
omar
046fad01f1
Tables: Return false when window is Collapsed (consistent + helpful for doc) + Fix empty context menu.
4 years ago
omar
81453ac42c
Tables: Comments, better assert, moved some internal flags out of the way.
4 years ago
omar
0c3d7bb154
Tables: Double-clicking on fixed column to resize. Extracted code BeginTableEx().
...
# Conflicts:
# imgui_internal.h
4 years ago
omar
883c236eda
Tables: Handle columns clipped due to host rect
...
Return false in user functions, set SkipItems in window, redirect to dummy draw channel.
4 years ago
omar
eee82e0451
Tables: Columns with no policy in a scrolling table will default to WidthFixed instead of WidthAlwaysAutoResize if an explicit value is passed to TableSetupColumn()
4 years ago
omar
e06a36ab12
Tables: Support for multiple Tables using same id where most settings are synced.
...
(some minor one-frame lack of sync when e.g. toggling visibility in context menu)
4 years ago
omar
8da7d3c3e5
Tables: Initial commit. [Squashed 123+5 commits from tables_wip/]
4 years ago
ocornut
818e1a4eb4
Tables: Moving legacy Columns code
4 years ago
omar
9c8671e7b0
Tables: Add empty file, skeleton.
4 years ago