Skip to content

Commit 568152a

Browse files
committed
comments
1 parent 5bdf1e4 commit 568152a

File tree

7 files changed

+233
-217
lines changed

7 files changed

+233
-217
lines changed

poetry.lock

Lines changed: 203 additions & 209 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/textual/content.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,8 +137,9 @@ def from_rich_text(
137137
if isinstance(text, str):
138138
text = Text.from_markup(text)
139139

140+
ansi_theme: TerminalTheme | None = None
141+
140142
if text._spans:
141-
ansi_theme: TerminalTheme | None
142143
try:
143144
ansi_theme = active_app.get().ansi_theme
144145
except LookupError:
@@ -166,6 +167,10 @@ def from_rich_text(
166167
ellipsis=ellipsis,
167168
)
168169
if text.style:
170+
try:
171+
ansi_theme = active_app.get().ansi_theme
172+
except LookupError:
173+
ansi_theme = None
169174
content = content.stylize_before(
170175
text.style
171176
if isinstance(text.style, str)

src/textual/renderables/text_opacity.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def process_segments(
5858
Returns:
5959
Segments with applied opacity.
6060
"""
61+
6162
_Segment = Segment
6263
_from_color = Style.from_color
6364
if opacity == 0:

src/textual/screen.py

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -645,6 +645,11 @@ def clear_selection(self) -> None:
645645
self._select_end = None
646646

647647
def _select_all_in_widget(self, widget: Widget) -> None:
648+
"""Select a widget and all it's children.
649+
650+
Args:
651+
widget: Widget to select.
652+
"""
648653
select_all = SELECT_ALL
649654
self.selections = {
650655
widget: select_all,
@@ -1503,7 +1508,7 @@ def _forward_event(self, event: events.Event) -> None:
15031508
self._selecting = False
15041509

15051510
elif isinstance(event, events.MouseMove):
1506-
event.style = self.get_style_at(event.x, event.y)
1511+
event.style = self.get_style_at(event.screen_x, event.screen_y)
15071512
self._handle_mouse_move(event)
15081513

15091514
if self._selecting:

src/textual/visual.py

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,14 @@ def from_styles(cls, styles: StylesBase) -> Style:
207207

208208
@classmethod
209209
def from_meta(cls, meta: dict[str, object]) -> Style:
210+
"""Create a Visual Style containing meta information.
211+
212+
Args:
213+
meta: A dictionary of meta information.
214+
215+
Returns:
216+
A new Style.
217+
"""
210218
return Style(_meta=dumps(meta))
211219

212220
@cached_property

src/textual/widget.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2317,6 +2317,11 @@ def link_style_hover(self) -> Style:
23172317

23182318
@property
23192319
def scrollable_container(self) -> Widget:
2320+
"""The widget's (user) scrollable container.
2321+
2322+
Returns:
2323+
A container widgets.
2324+
"""
23202325
container: Widget = self
23212326
for widget in self.ancestors:
23222327
if isinstance(widget, Widget) and widget.is_scrollable:
@@ -4193,6 +4198,7 @@ def release_mouse(self) -> None:
41934198
self.app.capture_mouse(None)
41944199

41954200
def select_all(self) -> None:
4201+
"""Select the entire widget."""
41964202
self.screen._select_all_in_widget(self)
41974203

41984204
def begin_capture_print(self, stdout: bool = True, stderr: bool = True) -> None:

tests/test_widget.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@
77
from textual._node_list import DuplicateIds
88
from textual.app import App, ComposeResult
99
from textual.containers import Container
10+
from textual.content import Content
1011
from textual.css.errors import StyleValueError
1112
from textual.css.query import NoMatches
1213
from textual.geometry import Offset, Size
1314
from textual.message import Message
14-
from textual.visual import RichVisual
1515
from textual.widget import BadWidgetName, MountError, PseudoClasses, Widget
1616
from textual.widgets import (
1717
Button,
@@ -532,11 +532,8 @@ def render(self) -> str:
532532

533533
widget = SimpleWidget()
534534
render_result = widget._render()
535-
assert isinstance(render_result, RichVisual)
536-
renderable = render_result._renderable
537-
assert isinstance(renderable, Text)
538-
539-
assert renderable.plain == "Hello World!"
535+
assert isinstance(render_result, Content)
536+
assert render_result.plain == "Hello World!"
540537

541538

542539
async def test_sort_children() -> None:

0 commit comments

Comments
 (0)