mirror of
https://github.com/Textualize/textual.git
synced 2025-10-17 02:38:12 +03:00
fix scrollbar refresh
This commit is contained in:
@@ -605,8 +605,5 @@ class Compositor:
|
|||||||
update_region = region.intersection(clip)
|
update_region = region.intersection(clip)
|
||||||
if update_region:
|
if update_region:
|
||||||
add_region(update_region)
|
add_region(update_region)
|
||||||
print("UPDATE_WIDGET")
|
|
||||||
print(widgets)
|
|
||||||
print(regions)
|
|
||||||
update = self.render(regions or None)
|
update = self.render(regions or None)
|
||||||
return update
|
return update
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from pathlib import Path, PurePath
|
|||||||
from typing import cast, Iterable
|
from typing import cast, Iterable
|
||||||
|
|
||||||
import rich.repr
|
import rich.repr
|
||||||
from rich.console import RenderableType, Console, ConsoleOptions
|
from rich.console import RenderableType, RenderResult, Console, ConsoleOptions
|
||||||
from rich.highlighter import ReprHighlighter
|
from rich.highlighter import ReprHighlighter
|
||||||
from rich.markup import render
|
from rich.markup import render
|
||||||
from rich.padding import Padding
|
from rich.padding import Padding
|
||||||
@@ -68,10 +68,10 @@ class StylesheetErrors:
|
|||||||
|
|
||||||
def __rich_console__(
|
def __rich_console__(
|
||||||
self, console: Console, options: ConsoleOptions
|
self, console: Console, options: ConsoleOptions
|
||||||
) -> RenderableType:
|
) -> RenderResult:
|
||||||
error_count = 0
|
error_count = 0
|
||||||
for rule in self.rules:
|
for rule in self.rules:
|
||||||
for is_last, (token, message) in loop_last(rule.errors):
|
for token, message in rule.errors:
|
||||||
error_count += 1
|
error_count += 1
|
||||||
|
|
||||||
if token.path:
|
if token.path:
|
||||||
@@ -297,7 +297,6 @@ class Stylesheet:
|
|||||||
for name, specificity_rules in rule_attributes.items()
|
for name, specificity_rules in rule_attributes.items()
|
||||||
},
|
},
|
||||||
)
|
)
|
||||||
|
|
||||||
self.replace_rules(node, node_rules, animate=animate)
|
self.replace_rules(node, node_rules, animate=animate)
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
@@ -363,8 +362,9 @@ class Stylesheet:
|
|||||||
setattr(base_styles, key, new_value)
|
setattr(base_styles, key, new_value)
|
||||||
else:
|
else:
|
||||||
# Not animated, so we apply the rules directly
|
# Not animated, so we apply the rules directly
|
||||||
|
get_rule = rules.get
|
||||||
for key in modified_rule_keys:
|
for key in modified_rule_keys:
|
||||||
setattr(base_styles, key, rules.get(key))
|
setattr(base_styles, key, get_rule(key))
|
||||||
|
|
||||||
def update(self, root: DOMNode, animate: bool = False) -> None:
|
def update(self, root: DOMNode, animate: bool = False) -> None:
|
||||||
"""Update a node and its children."""
|
"""Update a node and its children."""
|
||||||
|
|||||||
@@ -668,7 +668,6 @@ class Widget(DOMNode):
|
|||||||
|
|
||||||
def watch_mouse_over(self, value: bool) -> None:
|
def watch_mouse_over(self, value: bool) -> None:
|
||||||
"""Update from CSS if mouse over state changes."""
|
"""Update from CSS if mouse over state changes."""
|
||||||
return
|
|
||||||
self.app.update_styles()
|
self.app.update_styles()
|
||||||
|
|
||||||
def watch_has_focus(self, value: bool) -> None:
|
def watch_has_focus(self, value: bool) -> None:
|
||||||
@@ -728,8 +727,10 @@ class Widget(DOMNode):
|
|||||||
if self._dirty_regions:
|
if self._dirty_regions:
|
||||||
self._render_lines()
|
self._render_lines()
|
||||||
if self.is_container:
|
if self.is_container:
|
||||||
self.horizontal_scrollbar.refresh()
|
if self.show_horizontal_scrollbar:
|
||||||
self.vertical_scrollbar.refresh()
|
self.horizontal_scrollbar.refresh()
|
||||||
|
if self.show_vertical_scrollbar:
|
||||||
|
self.vertical_scrollbar.refresh()
|
||||||
lines = self._render_cache.lines[start:end]
|
lines = self._render_cache.lines[start:end]
|
||||||
return lines
|
return lines
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user