mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
simplify
This commit is contained in:
@@ -244,10 +244,11 @@ class GridLayout(Layout):
|
|||||||
if repeat:
|
if repeat:
|
||||||
tracks = cycle(tracks)
|
tracks = cycle(tracks)
|
||||||
total = 0
|
total = 0
|
||||||
|
edge_count = len(edges)
|
||||||
for index, track in enumerate(tracks):
|
for index, track in enumerate(tracks):
|
||||||
yield total, total + track - gap if total + track < size else total + track
|
yield total, total + track - gap if total + track < size else total + track
|
||||||
total += track
|
total += track
|
||||||
if total >= size and index >= len(edges):
|
if total >= size and index >= edge_count:
|
||||||
break
|
break
|
||||||
|
|
||||||
def resolve_tracks(
|
def resolve_tracks(
|
||||||
@@ -261,15 +262,19 @@ class GridLayout(Layout):
|
|||||||
max_size = 0
|
max_size = 0
|
||||||
tracks: dict[str, tuple[int, int]] = {}
|
tracks: dict[str, tuple[int, int]] = {}
|
||||||
counts = defaultdict(int)
|
counts = defaultdict(int)
|
||||||
for index, (name, (start, end)) in enumerate(spans):
|
if repeat:
|
||||||
max_size = max(max_size, end)
|
for index, (name, (start, end)) in enumerate(spans):
|
||||||
counts[name] += 1
|
max_size = max(max_size, end)
|
||||||
count = counts[name]
|
counts[name] += 1
|
||||||
tracks[f"{name}-start"] = (index, start)
|
count = counts[name]
|
||||||
tracks[f"{name}-end"] = (index, end)
|
|
||||||
if repeat:
|
|
||||||
tracks[f"{name}-{count}-start"] = (index, start)
|
tracks[f"{name}-{count}-start"] = (index, start)
|
||||||
tracks[f"{name}-{count}-end"] = (index, end)
|
tracks[f"{name}-{count}-end"] = (index, end)
|
||||||
|
else:
|
||||||
|
for index, (name, (start, end)) in enumerate(spans):
|
||||||
|
max_size = max(max_size, end)
|
||||||
|
tracks[f"{name}-start"] = (index, start)
|
||||||
|
tracks[f"{name}-end"] = (index, end)
|
||||||
|
|
||||||
return names, tracks, len(spans), max_size
|
return names, tracks, len(spans), max_size
|
||||||
|
|
||||||
container = Dimensions(
|
container = Dimensions(
|
||||||
@@ -330,7 +335,7 @@ class GridLayout(Layout):
|
|||||||
for slot in product(range(column_count), range(row_count))
|
for slot in product(range(column_count), range(row_count))
|
||||||
if slot in free_slots
|
if slot in free_slots
|
||||||
),
|
),
|
||||||
key=itemgetter(1, 0),
|
key=itemgetter(1, 0), # TODO: other orders
|
||||||
)
|
)
|
||||||
|
|
||||||
for widget, (col, row) in zip(auto_widgets, grid_slots):
|
for widget, (col, row) in zip(auto_widgets, grid_slots):
|
||||||
|
|||||||
Reference in New Issue
Block a user