docstrings

This commit is contained in:
Will McGugan
2022-01-11 09:48:06 +00:00
parent 4abfb77517
commit c611fd84ff
4 changed files with 17 additions and 0 deletions

View File

@@ -240,6 +240,11 @@ class App(DOMNode):
self.view.refresh(layout=True)
def update_styles(self) -> None:
"""Request update of styles.
Should be called whenever CSS classes / pseudo classes change.
"""
self.post_message_no_wait(messages.RefreshStyles(self))
def mount(self, *anon_widgets: Widget, **widgets: Widget) -> None:

View File

@@ -65,6 +65,11 @@ class Selector:
}
def _add_pseudo_class(self, pseudo_class: str) -> None:
"""Adds a pseudo class and updates specificity.
Args:
pseudo_class (str): Name of pseudo class.
"""
self.pseudo_classes.append(pseudo_class)
specificity1, specificity2, specificity3 = self.specificity
self.specificity = (specificity1, specificity2 + 1, specificity3)

View File

@@ -188,6 +188,11 @@ class DOMNode(MessagePump):
return tree
def get_pseudo_classes(self) -> Iterable[str]:
"""Get any pseudo classes applicable to this Node, e.g. hover, focus.
Returns:
Iterable[str]: Iterable of strings, such as a generator.
"""
return ()
def reset_styles(self) -> None:

View File

@@ -103,8 +103,10 @@ class Widget(DOMNode):
return renderable
def get_pseudo_classes(self) -> Iterable[str]:
"""Pseudo classes for a widget"""
if self._mouse_over:
yield "hover"
# TODO: focus
def get_child_by_id(self, id: str) -> Widget:
"""Get a child with a given id.