diff --git a/changes/2051.feature.rst b/changes/2051.feature.rst new file mode 100644 index 0000000000..49248b82c0 --- /dev/null +++ b/changes/2051.feature.rst @@ -0,0 +1 @@ +An implementation of Divider was added to the Web backend. diff --git a/docs/reference/data/widgets_by_platform.csv b/docs/reference/data/widgets_by_platform.csv index c0e8abb91e..66b770b9cf 100644 --- a/docs/reference/data/widgets_by_platform.csv +++ b/docs/reference/data/widgets_by_platform.csv @@ -7,7 +7,7 @@ Button,General Widget,:class:`~toga.Button`,Basic clickable Button,|y|,|y|,|y|,| Canvas,General Widget,:class:`~toga.Canvas`,Area you can draw on,|b|,|b|,|b|,|b|,, DateInput,General Widget,:class:`~toga.DateInput`,A widget to select a calendar date,,,|y|,,|y|, DetailedList,General Widget,:class:`~toga.DetailedList`,A list of complex content,|b|,|b|,,|b|,|b|, -Divider,General Widget,:class:`~toga.Divider`,A horizontal or vertical line,|y|,|y|,|y|,,, +Divider,General Widget,:class:`~toga.Divider`,A horizontal or vertical line,|y|,|y|,|y|,,,|b| ImageView,General Widget,:class:`~toga.ImageView`,A widget that displays an image,|y|,|y|,|y|,|y|,|y|, Label,General Widget,:class:`~toga.Label`,Text label,|y|,|y|,|y|,|y|,|y|,|b| MultilineTextInput,General Widget,:class:`~toga.MultilineTextInput`,Multi-line Text Input field,|y|,|y|,|y|,|y|,|y|, diff --git a/web/src/toga_web/factory.py b/web/src/toga_web/factory.py index be253f674f..640090d204 100644 --- a/web/src/toga_web/factory.py +++ b/web/src/toga_web/factory.py @@ -10,6 +10,7 @@ from .paths import Paths from .widgets.box import Box from .widgets.button import Button +from .widgets.divider import Divider # from .widgets.canvas import Canvas # from .widgets.detailedlist import DetailedList @@ -43,7 +44,8 @@ def not_implemented(feature): __all__ = [ "not_implemented", "App", - "MainWindow", # 'DocumentApp', + "MainWindow", + # 'DocumentApp', "Command", # 'Document', # # Resources @@ -56,6 +58,7 @@ def not_implemented(feature): "Box", "Button", # 'Canvas', + "Divider", # 'DetailedList', # 'ImageView', "Label", diff --git a/web/src/toga_web/widgets/divider.py b/web/src/toga_web/widgets/divider.py new file mode 100644 index 0000000000..9f01865058 --- /dev/null +++ b/web/src/toga_web/widgets/divider.py @@ -0,0 +1,17 @@ +from toga.constants import Direction + +from .base import Widget + + +class Divider(Widget): + def create(self): + self.native = self._create_native_widget("sl-divider") + + def get_direction(self): + return self.interface.direction + + def set_direction(self, value): + if value is Direction.VERTICAL: + self.native.setAttribute("vertical", "") + else: + self.native.removeAttribute("vertical")