mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
@@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/).
|
||||
- Breaking change: Added `toggle_button` attribute to RadioButton and Checkbox events, replaces `input` https://github.com/Textualize/textual/pull/1940
|
||||
- A percentage alpha can now be applied to a border https://github.com/Textualize/textual/issues/1863
|
||||
- Added `Color.multiply_alpha`.
|
||||
- Added `HorizontalScroll` https://github.com/Textualize/textual/issues/1957
|
||||
|
||||
### Fixed
|
||||
|
||||
|
||||
@@ -37,6 +37,18 @@ class Horizontal(Widget):
|
||||
"""
|
||||
|
||||
|
||||
class HorizontalScroll(Widget):
|
||||
"""A container widget which aligns children horizontally and overflows if needed."""
|
||||
|
||||
DEFAULT_CSS = """
|
||||
HorizontalScroll {
|
||||
height: 1fr;
|
||||
layout: horizontal;
|
||||
overflow-x: auto;
|
||||
}
|
||||
"""
|
||||
|
||||
|
||||
class Grid(Widget):
|
||||
"""A container widget with grid alignment."""
|
||||
|
||||
|
||||
34
tests/test_containers.py
Normal file
34
tests/test_containers.py
Normal file
@@ -0,0 +1,34 @@
|
||||
"""Test basic functioning of some containers."""
|
||||
|
||||
from textual.app import App, ComposeResult
|
||||
from textual.containers import Horizontal, HorizontalScroll
|
||||
from textual.widgets import Label
|
||||
|
||||
|
||||
async def test_horizontal_vs_horizontalscroll_scrolling():
|
||||
"""Check the default scrollbar behaviours for Horizontal and HorizontalScroll."""
|
||||
|
||||
class HorizontalsApp(App[None]):
|
||||
CSS = """
|
||||
Screen {
|
||||
layout: vertical;
|
||||
}
|
||||
"""
|
||||
|
||||
def compose(self) -> ComposeResult:
|
||||
with Horizontal():
|
||||
for _ in range(10):
|
||||
yield Label("How is life going? " * 3 + " | ")
|
||||
with HorizontalScroll():
|
||||
for _ in range(10):
|
||||
yield Label("How is life going? " * 3 + " | ")
|
||||
|
||||
WIDTH = 80
|
||||
HEIGHT = 24
|
||||
app = HorizontalsApp()
|
||||
async with app.run_test(size=(WIDTH, HEIGHT)):
|
||||
horizontal = app.query_one(Horizontal)
|
||||
horizontal_scroll = app.query_one(HorizontalScroll)
|
||||
assert horizontal.size.height == horizontal_scroll.size.height
|
||||
assert horizontal.scrollbars_enabled == (False, False)
|
||||
assert horizontal_scroll.scrollbars_enabled == (False, True)
|
||||
Reference in New Issue
Block a user