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
omar
182115409a
Internals: added ImSpan helper structure + 2020/10/01 stricter bound checking
2020-12-04 19:15:20 +01:00
ocornut
054c67079a
Tables: Fix scrolling with more than 32 columns (3058). Fix limit of 63 columms instead of 64. Added BitArray.
2020-12-04 19:15:20 +01:00
ocornut
f130db51ae
Tables: Added TableSetColumnWidth() api variant aimed at becoming public facing.
2020-12-04 19:15:20 +01:00
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.
2020-12-04 19:15:20 +01:00
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.
2020-12-04 19:15:20 +01:00
omar
0e7b3f2f2f
Tables: Made only first column honor Indent by default (like Columns api) and exposed flags. Added simple Tree demo.
2020-12-04 19:15:20 +01:00
omar
2958e37310
Tables: Storing per-column SkipItems as a shortcut. Comments, Spacings.
...
# Conflicts:
# imgui_internal.h
2020-12-04 19:15:20 +01:00
omar
164caa2db7
Tables: Support for multi-line columns name. Renaming of some fields from BackupXXX to HostXXX. Comments.
2020-12-04 19:15:20 +01:00
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.
2020-12-04 19:15:19 +01:00
omar
1db8d421cf
Tables: Fix scroll when releasing resize for multi-instances. Comments. Renaming.
2020-12-04 19:15:19 +01:00
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.
2020-12-04 19:15:19 +01:00
omar
81453ac42c
Tables: Comments, better assert, moved some internal flags out of the way.
2020-12-04 19:15:19 +01:00
omar
0c3d7bb154
Tables: Double-clicking on fixed column to resize. Extracted code BeginTableEx().
...
# Conflicts:
# imgui_internal.h
2020-12-04 19:15:19 +01:00
omar
883c236eda
Tables: Handle columns clipped due to host rect
...
Return false in user functions, set SkipItems in window, redirect to dummy draw channel.
2020-12-04 19:15:19 +01:00
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)
2020-12-04 19:15:19 +01:00
omar
8da7d3c3e5
Tables: Initial commit. [Squashed 123+5 commits from tables_wip/]
2020-12-04 19:15:19 +01:00
ocornut
ae3e2406ec
Misc tweaks/fixes (see details).
...
Combo: ultra minor fix for popup positioning policy mismatch depending on ImGuiComboFlags_PopupAlignLeft flag.
Made ImHashXXX functions return ImGuiID.
IsWindowNavFocusable use !WasActive.. it worked because it was only called in NewFrame()->NavUpdate() before the transition loop + EndFrame() only.
Fix unused variable warning.
2020-11-30 12:47:14 +01:00
ocornut
97265602c4
Internals: added IsWindowAbove() for use for modal/viewport bugfix.
2020-11-19 16:59:21 +01:00
ocornut
9712bff0bb
Internals: added experimental ErrorCheckEndFrameRecover() to unroll/end/pop. ( #1651 , #3600 )
2020-11-19 15:43:42 +01:00
ocornut
c0ac4fb788
Columns/Internals: (Breaking): Renamed data structures. ( #125 , #513 , #913 , #1204 , #1444 , #2142 , #2707 )
2020-11-18 23:42:44 +01:00
ocornut
72de6f3360
Columns/Internals: (Breaking) renamed ImGuiColumnsFlags_* to ImGuiOldColumnFlags_*. ( #125 , #513 , #913 , #1204 , #1444 , #2142 , #2707 )
...
Affected: ImGuiColumnsFlags_None, ImGuiColumnsFlags_NoBorder, ImGuiColumnsFlags_NoResize, ImGuiColumnsFlags_NoPreserveWidths, ImGuiColumnsFlags_NoForceWithinWindow, ImGuiColumnsFlags_GrowParentContentsSize. Added redirection enums. Did not add redirection type.
2020-11-18 23:02:14 +01:00
Borislav Stanimirov
fcc2b71724
CI: Fix testing for Windows DLL builds + fix broken DLL build. ( #3603 , #3601 )
2020-11-18 22:45:44 +01:00
ocornut
2e64ee050d
Removed duplicate typedef for ImGuiButtonFlags
...
https://github.com/cimgui/cimgui/issues/166
2020-11-18 19:28:30 +01:00
ocornut
71cc636696
Metrics: Rebranded as "Dear ImGui Metrics/Debugger". Fix Show Window Rectangle. Fix Clang OSX warnings. Amend #3592 for Mingw only.
2020-11-13 21:30:19 +01:00
ocornut
8119759329
Internals: extracted stack checking code into a ImGuiStackSizes helper struct + added test for FocusScope
...
+ renamed g.ColorModifiers > g.ColorStack, g.StyleModifiers > g.StyleVarStack
2020-11-13 16:33:33 +01:00
ocornut
6e94013a3d
Made ItemFlagsStack and GroupStack shared stacks.
2020-11-13 16:33:33 +01:00
ocornut
12ba6f4606
Fix PushFocusScopeID() + using shared stack. Renamed GetFocusScopeID() to GetFocusedFocusScope() - the two existing functions name are very error prone.
2020-11-13 16:26:59 +01:00
Rokas Kupstys
a3e8dc3f34
CI: Fix deployment of PVS-Studio license + fix reported error.
2020-11-13 12:51:55 +01:00
ocornut
a138855d56
Hotfix for PushFocusScope() being utterly wrong (until we split the stacks), Added asserts on PopID to help catch bugs, Added GC trigger.
2020-11-12 22:59:05 +01:00
ocornut
78f1d2d319
ImDrawListSplitter: create first draw cmd on demand + Internals: fix incorrect ImBitArraySetBitRange() (only used by tables)
...
Make it cheaper to allocate unused draw cmd, can't measure perf difference other our stress tests.
2020-11-12 18:17:17 +01:00
ocornut
13258f5957
Internals: zero-clearing ImGuiWindow / ImGuiWindowTempData for simplicity. (amend)
...
All the non-zero fields previously initialized in ImGuiWindowTempData() are in fact setup in Begin: FocusCounterRegular, FocusCounterTabStop, TextWrapPos, LayoutType, ParentLayoutType
2020-11-12 12:19:50 +01:00
ocornut
5789e69a62
Checkbox: Added CheckboxFlags() helper with int* type. Demo: removed extraneous casts.
2020-11-05 21:32:05 +01:00
ocornut
5f97809cab
Misc tidying up (zero-clear structures, more unused default in ClipRetFullscreen, NavApplyItemToResult() coding style fix)
...
Zero-clearing more structures
Remove arbitrary default ClipRetFullscreen value in ImDrawListSharedData.
Nav extracted NavApplyItemToResult() function.
Coding style fixes in OSX Backends.
2020-11-05 13:24:27 +01:00
ocornut
d6a2f7e95e
Reduced padding + unused storage in ImDrawList (224->192 bytes) + zero-init ImDrawListSplitter and ImDrawList
...
+ Readme tweak
2020-11-04 13:56:04 +01:00
ocornut
047d4c4500
Metrics: Extracted most functions.
...
+ avoid using full namesapce prefix
2020-10-30 23:48:58 +01:00
ocornut
e6b99a420b
Tab Bar: Do not display a tooltip if the name already fits over a given tab. ( #3521 )
2020-10-19 15:01:24 +02:00
ocornut
fbe74ed50c
Tab Bar: zero clear more structures.
2020-10-19 12:10:31 +02:00
ocornut
8c9b3c9013
Tab Bar: Fixed using more than 128 tabs in a tab bar.
...
Using ImS16 consistently + some better packing to avoid struct growing size.
2020-10-19 12:01:15 +02:00
ocornut
748bd1ba9c
Tab Bar: Restore cursor position in EndTabBar() when amending (amend f2f32602
) + made LastTabItemIdx consistent ImS8 as other tab storage relies on same type
2020-10-19 11:49:37 +02:00
ocornut
f2f326024c
Tab Bar: Made it possible to append to an existing tab bar by calling BeginTabBar()/EndTabBar() again.
2020-10-14 18:34:33 +02:00
ocornut
04de5ef819
Version 1.80 WIP
2020-10-12 13:04:34 +02:00
ocornut
a38c6dfcc8
Internals: Added support for context hooks (for test engine or other extensions)
2020-10-09 17:13:03 +02:00
ocornut
e5cb04b132
Version 1.79
...
+ Update readme and mission statement.
Removed "Minimize screen reel-estate usage", removed details on memory consumption (still very valid, just too much noise in a mission statement)
2020-10-08 16:01:59 +02:00
ocornut
4fd43a8b64
Internals: removed NavLayerCurrentMask (redundant, add extra shift in ItemAdd().
2020-10-05 14:52:18 +02:00
ocornut
1ec464eb9a
Tab Bar: Further simplification of section/clip rect handling. ( #3291 )
2020-09-22 16:43:40 +02:00
ocornut
6b76781c66
Tab Bar: Tidying up. Rework ShrinkWidths to allow marking tabs as not shrinkable (unused yet) + don't unnecessarily move data within ShrinkWidthBuffer. ( #3291 )
2020-09-22 16:43:39 +02:00
ocornut
205874f5b1
Tab Bar: Fix reorderable tab bars. Fix misleading use of tab_max_width in TabBarLayout(). Misc amends, shortening. ( #3291 )
2020-09-22 16:43:39 +02:00
Louis Schnellbach
3422cb1308
Tab Bar: Various fixes. Tried to reduce code complexity. ( #3291 )
2020-09-22 16:43:39 +02:00
ocornut
5e5f25e2dd
Tab Bar: Rename named sections members into array. Various tidying up. ( #3291 )
2020-09-22 16:43:39 +02:00
Louis Schnellbach
7ac16c02cc
Tab Bar: Fix multiple width and position computation issue. ( #3291 )
2020-09-22 16:43:38 +02:00
ocornut
f23c39c395
Tab Bar: Fixed handling of scrolling policy with leading/trailing tabs. + warning fixes + bunch of renaming. ( #3291 )
...
Demo tweaks.
2020-09-22 16:43:38 +02:00
Louis Schnellbach
4a57a982be
Tab Bar: Added TabItemButton(), ImGuiTabItemFlags_Leading, ImGuiTabItemFlags_Trailing + demo. ( #3291 )
...
(squashed various commits by 2 authors)
2020-09-22 16:43:38 +02:00
ocornut
29836412e1
Internals, CollapsingHeader, TabItem: Standardized using a #CLOSE id prefix for TabItem and ColllapsingHeader (same as window)
2020-09-22 15:49:47 +02:00
ocornut
c47bcb25ed
Fix popup and tooltip positioning when not fitting in the screen. Amend fa42ccea8.
...
# Conflicts:
# docs/CHANGELOG.txt
2020-09-17 11:02:04 +02:00
Rokas Kupstys
b2039aac67
Slider: Fixed to reach maximum value with inverted integer min/max ranges, both with signed and unsigned types. Added reverse Sliders to Demo. ( #3432 , #3449 )
2020-09-07 17:57:23 +02:00
ocornut
70289ab42c
Scrolling: Fixed edge snapping being applied prior to knowing ContentSize. ( #3452 )
...
Fix 473a01adb
.
2020-09-03 17:38:51 +02:00
ocornut
8db94cd992
Internals: Scroll related, comments & shallow tweaks.
2020-09-03 17:07:03 +02:00
ocornut
f4d062fa11
Nav: Added debug logging, extract bits of code into NavUpdateInitResult().
2020-09-01 18:45:39 +02:00
ocornut
ce230fc370
Internals: TabBar renaming and shuffling stuff around.
...
+ sneaking a readme change
2020-08-31 17:49:18 +02:00