From 45c9e3a7fac76008cc0eadc724bbc6edabe04211 Mon Sep 17 00:00:00 2001 From: Maic Siemering Date: Mon, 25 Mar 2024 23:22:25 +0100 Subject: [PATCH 1/4] GUI: Add UIView --- arcade/gui/view.py | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) create mode 100644 arcade/gui/view.py diff --git a/arcade/gui/view.py b/arcade/gui/view.py new file mode 100644 index 0000000000..2eb8b4a41e --- /dev/null +++ b/arcade/gui/view.py @@ -0,0 +1,23 @@ +from arcade import View +from arcade.gui import UIManager + + +class UIView(View): + """This view provides basic GUI setup. + + This is a convenience class, which adds the UIManager to the view under `self.ui`. + The UIManager is enabled when the view is shown and disabled when the view is hidden. + + If you override this class, don't forget to call super().on_show_view() and super().on_hide_view(). + + """ + + def __init__(self): + super().__init__() + self.ui = UIManager() + + def on_show_view(self): + self.ui.enable() + + def on_hide_view(self): + self.ui.disable() From b9999520bfc4c751a94f180ac950e5051d8c670a Mon Sep 17 00:00:00 2001 From: Maic Siemering Date: Sat, 30 Mar 2024 19:16:42 +0100 Subject: [PATCH 2/4] Fix docs --- arcade/gui/view.py | 3 ++- util/update_quick_index.py | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/arcade/gui/view.py b/arcade/gui/view.py index 2eb8b4a41e..75ad78bea8 100644 --- a/arcade/gui/view.py +++ b/arcade/gui/view.py @@ -8,7 +8,8 @@ class UIView(View): This is a convenience class, which adds the UIManager to the view under `self.ui`. The UIManager is enabled when the view is shown and disabled when the view is hidden. - If you override this class, don't forget to call super().on_show_view() and super().on_hide_view(). + If you override ``on_show_view`` or ``on_show_view``, + don't forget to call super().on_show_view() or super().on_hide_view(). """ diff --git a/util/update_quick_index.py b/util/update_quick_index.py index 807cd4b908..9b03b5c549 100644 --- a/util/update_quick_index.py +++ b/util/update_quick_index.py @@ -76,6 +76,7 @@ 'gui/surface.py': ['GUI', 'gui.rst'], 'gui/ui_manager.py': ['GUI', 'gui.rst'], 'gui/nine_patch.py': ['GUI', 'gui.rst'], + 'gui/view.py': ['GUI', 'gui.rst'], 'widgets/__init__.py': ['GUI Widgets', 'gui_widgets.rst'], 'widgets/buttons.py': ['GUI Widgets', 'gui_widgets.rst'], 'widgets/dropdown.py': ['GUI Widgets', 'gui_widgets.rst'], From e09d26a1581295ed3a46de3ccfcd6f4d72b8b3cb Mon Sep 17 00:00:00 2001 From: Maic Siemering Date: Sat, 30 Mar 2024 19:29:33 +0100 Subject: [PATCH 3/4] expose UIView --- arcade/gui/__init__.py | 3 +++ 1 file changed, 3 insertions(+) diff --git a/arcade/gui/__init__.py b/arcade/gui/__init__.py index 84419670a0..703ef1a1d9 100644 --- a/arcade/gui/__init__.py +++ b/arcade/gui/__init__.py @@ -30,6 +30,8 @@ from arcade.gui.widgets import UIInteractiveWidget from arcade.gui.widgets import UILayout from arcade.gui.widgets import UISpace +from arcade.gui.view import UIView +from arcade.gui.widgets.dropdown import UIDropdown from arcade.gui.widgets import UISpriteWidget from arcade.gui.widgets import UIWidget from arcade.gui.widgets.buttons import ( @@ -66,6 +68,7 @@ "UIInputText", "UILayout", "UILabel", + "UIView", "UIMouseEvent", "UIMouseDragEvent", "UIMouseMovementEvent", From 1e1f28d2547cf799244af4e2af7710532b1a5987 Mon Sep 17 00:00:00 2001 From: Maic Siemering Date: Sat, 30 Mar 2024 22:00:24 +0100 Subject: [PATCH 4/4] fix imports --- arcade/gui/__init__.py | 1 - 1 file changed, 1 deletion(-) diff --git a/arcade/gui/__init__.py b/arcade/gui/__init__.py index 703ef1a1d9..05a3fe896c 100644 --- a/arcade/gui/__init__.py +++ b/arcade/gui/__init__.py @@ -39,7 +39,6 @@ UITextureButtonStyle, UIFlatButton, ) -from arcade.gui.widgets.dropdown import UIDropdown from arcade.gui.widgets.image import UIImage from arcade.gui.widgets.layout import UIBoxLayout, UIAnchorLayout, UIGridLayout from arcade.gui.widgets.slider import UIBaseSlider, UISlider, UITextureSlider, UISliderStyle