PgBiel
8045c72d28
switch to only snapshotting for orphan prevention
2025-04-30 21:10:33 -03:00
PgBiel
09e7062b38
create RowState abstraction
...
nicer to use than what that was before
store temp values during row layout
2025-04-30 02:44:56 -03:00
PgBiel
6c42f67b3d
only flush orphans outside of headers and footers
2025-04-30 02:14:47 -03:00
PgBiel
3ef2137619
flush orphans and pending headers at the same time (broken)
...
Goal is to ensure pending headers are flushed before a region break, else non-repeating headers will appear more than once
Must not be called while laying out headers, however, so it's broken
2025-04-30 01:49:43 -03:00
PgBiel
ab852a5151
some additional docs
2025-04-30 01:46:47 -03:00
PgBiel
9c49bd507a
remove redundant check for short-lived footers
...
Now it is all handled at the resolving stage.
2025-04-20 19:22:19 -03:00
PgBiel
03118678b5
tests for short-lived footer
2025-04-20 19:18:48 -03:00
PgBiel
63b34cfe0a
make footer short-lived when there are no regular cells
2025-04-20 19:18:18 -03:00
PgBiel
71ae276071
add Deref to Repeatable
...
honestly, all the unwrapping was just generating noise.
2025-04-20 15:20:07 -03:00
PgBiel
9a01b9bfe8
remove unnecessary short lived header check
2025-04-20 13:38:45 -03:00
PgBiel
6e21eae3eb
mark headers as short-lived during resolve
2025-04-20 13:13:20 -03:00
PgBiel
af0c27cb98
adjust Current visibility
2025-04-19 22:34:58 -03:00
PgBiel
5e572a56f3
rename a few Current fields
2025-04-19 21:16:18 -03:00
PgBiel
9b5c77a3a3
move per-region state to Current
2025-04-19 20:42:41 -03:00
PgBiel
1e3719a9ba
add non-repeating subheader tests
2025-04-18 19:37:54 -03:00
PgBiel
fe75a29488
use vector of maybe repeatable headers when resolving
2025-04-18 19:37:21 -03:00
PgBiel
13b4677270
initial gutter tests
2025-04-17 15:14:32 -03:00
PgBiel
cc19b80449
add several footer tests
2025-04-17 14:37:57 -03:00
PgBiel
e76ea64cb0
add test for orphan prevention of alone subheaders
...
Consecutive subheaders can be broken apart in special cases
2025-04-17 03:00:03 -03:00
PgBiel
e9e37a313a
allow breaking apart consecutive subheaders on pathological cases
...
- at the end of grid
- right before footer
2025-04-17 03:00:03 -03:00
PgBiel
3f10218b4a
add subheaders demo test
2025-04-11 19:30:46 -03:00
PgBiel
6833ea321a
grid header single replacement tests
2025-04-11 14:54:08 -03:00
PgBiel
3ae46a94cd
add orphan prevention tests
2025-04-11 14:54:08 -03:00
PgBiel
e0bfe90e12
restore orphan snapshot after pending header relayout
2025-04-11 14:35:50 -03:00
PgBiel
fc6a0074d8
add short lived header test
2025-04-11 14:18:41 -03:00
PgBiel
f6bc7f8d45
use exclusively snapshots for pending header orphan prevention
...
- delete current_header_rows
2025-04-11 14:16:49 -03:00
PgBiel
daac9bba76
rename and make grid-subheaders test smaller
2025-04-11 02:54:19 -03:00
PgBiel
14a4714604
add edge case tests for subheaders
2025-04-11 02:45:52 -03:00
PgBiel
e4bbe471a7
set snapshot when laying out new headers
...
- Still need to detect when this doesn't make sense, e.g. in the last region, or right before a footer...
2025-04-09 14:55:41 -03:00
PgBiel
40bc08291d
create lrows orphan snapshot
...
- Indicate some rows at the end cannot be orphans
2025-04-09 14:52:58 -03:00
PgBiel
f81560af47
fix wrong region skipping
2025-04-09 14:20:11 -03:00
PgBiel
4a83d05625
switch to active header layout in finish_region
2025-04-09 14:01:47 -03:00
PgBiel
cefa7fc72c
separate layout_active_headers and new_headers
...
- Active headers will push empty regions when skipping regions, whereas new_headers may be called from a non-empty region, so we need to finish the region in full. The code separation also makes it all clearer.
2025-04-09 14:00:58 -03:00
PgBiel
fe957e804a
a dangerous missing plus
2025-04-08 19:17:53 -03:00
PgBiel
553bf2476e
multiple level replace test
2025-04-08 18:45:36 -03:00
PgBiel
b06f469ad6
these tests now pass
2025-04-08 00:01:54 -03:00
PgBiel
9331ae8e4b
fix measuring range
...
that was stupid.
fixes header which never fits.
2025-04-08 00:00:50 -03:00
PgBiel
3361b3714d
use different disambiguators when skipping region
2025-04-07 23:49:32 -03:00
PgBiel
ce41113d9c
initial subheader tests
2025-04-07 21:54:18 -03:00
PgBiel
e142bb4e8f
grid header multiple fixed
2025-04-07 21:41:42 -03:00
PgBiel
f3ae293042
proper region progress check for headers
2025-04-07 21:34:22 -03:00
PgBiel
62c5b551f1
rename 'in_last_with_offset' to 'may_progress_with_offset'
2025-04-07 21:30:49 -03:00
PgBiel
05d4af43b6
only match consecutive conflicting headers
2025-04-07 21:20:53 -03:00
PgBiel
8e50df544d
update tests with non-top header
2025-04-07 21:19:30 -03:00
PgBiel
5e2241ab65
initial subheader resolving and api
2025-04-06 15:55:36 -03:00
PgBiel
48d0a07ef4
formatting
2025-04-06 15:31:32 -03:00
PgBiel
c90ec3c4da
listen to clippy
2025-04-06 15:24:21 -03:00
PgBiel
fa45bf8b55
fix row group indices with gutter in resolve
2025-04-06 15:04:53 -03:00
PgBiel
6b133dca3f
fix gutter popping edge case
...
- With a header at the end, decrease the header row count for orphan prevention.
2025-04-06 15:01:39 -03:00
PgBiel
0c6fae92f0
fix orphan prevention
...
- Include new headers at the start as part of the region's header rows
- Check if header rows are all rows
2025-04-06 14:14:16 -03:00