optimize content height

This commit is contained in:
Will McGugan
2022-09-07 16:04:10 +01:00
parent 3053798056
commit 8b6605453b

View File

@@ -8,7 +8,7 @@ from rich.console import RenderableType
from rich.text import Text, TextType
from rich.tree import Tree
from ..geometry import Region
from ..geometry import Region, Size
from .. import events
from ..reactive import Reactive
from .._types import MessageTarget
@@ -265,6 +265,15 @@ class TreeControl(Generic[NodeDataType], Widget, can_focus=True):
cursor._tree.guide_style = self._highlight_guide_style
self.refresh()
def get_content_height(self, container: Size, viewport: Size, width: int) -> int:
def get_size(tree: Tree) -> int:
return 1 + sum(
get_size(child) if child.expanded else 1 for child in tree.children
)
size = get_size(self._tree)
return size
def add(
self,
node_id: NodeID,