From e241dba8d31f259d7e54235e72d44153fc91f1d8 Mon Sep 17 00:00:00 2001 From: Nick Vella Date: Sun, 21 Feb 2021 22:40:08 +1100 Subject: [PATCH] LibGUI: add a rudimentary framework for Wizards. This patch provides the basic components needed for developers to create consistent wizard interface experiences in their applications. `WizardDialog` provides the dialog frame for the wizard, handling navigation and presentation. `AbstractWizardPage`s form the base class of Wizard pages, which are pushed onto the `WizardDialog` page stack via `WizardDialog::push_page`. `CoverWizardPage` and `WizardPage` are provided to ease the creation of Wizard interfaces consistent with the Serenity visual language. --- Base/res/graphics/wizard-banner-simple.png | Bin 0 -> 82986 bytes .../Demos/WidgetGallery/DemoWizardPage1.gml | 0 .../Demos/WidgetGallery/DemoWizardPage2.gml | 0 Userland/Libraries/LibGUI/CMakeLists.txt | 4 + .../LibGUI/Wizards/AbstractWizardPage.cpp | 63 +++++++ .../LibGUI/Wizards/AbstractWizardPage.h | 60 +++++++ .../LibGUI/Wizards/CoverWizardPage.cpp | 69 +++++++ .../LibGUI/Wizards/CoverWizardPage.h | 54 ++++++ .../Libraries/LibGUI/Wizards/WizardDialog.cpp | 168 ++++++++++++++++++ .../Libraries/LibGUI/Wizards/WizardDialog.h | 73 ++++++++ .../Libraries/LibGUI/Wizards/WizardPage.cpp | 77 ++++++++ .../Libraries/LibGUI/Wizards/WizardPage.h | 53 ++++++ 12 files changed, 621 insertions(+) create mode 100644 Base/res/graphics/wizard-banner-simple.png create mode 100644 Userland/Demos/WidgetGallery/DemoWizardPage1.gml create mode 100644 Userland/Demos/WidgetGallery/DemoWizardPage2.gml create mode 100644 Userland/Libraries/LibGUI/Wizards/AbstractWizardPage.cpp create mode 100644 Userland/Libraries/LibGUI/Wizards/AbstractWizardPage.h create mode 100644 Userland/Libraries/LibGUI/Wizards/CoverWizardPage.cpp create mode 100644 Userland/Libraries/LibGUI/Wizards/CoverWizardPage.h create mode 100644 Userland/Libraries/LibGUI/Wizards/WizardDialog.cpp create mode 100644 Userland/Libraries/LibGUI/Wizards/WizardDialog.h create mode 100644 Userland/Libraries/LibGUI/Wizards/WizardPage.cpp create mode 100644 Userland/Libraries/LibGUI/Wizards/WizardPage.h diff --git a/Base/res/graphics/wizard-banner-simple.png b/Base/res/graphics/wizard-banner-simple.png new file mode 100644 index 0000000000000000000000000000000000000000..e24465cbd7407dfd5b83162d4489bf941bfa7d21 GIT binary patch literal 82986 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 + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include + +namespace GUI { + +AbstractWizardPage::AbstractWizardPage() +{ +} + +AbstractWizardPage::~AbstractWizardPage() +{ +} + +RefPtr AbstractWizardPage::next_page() +{ + if (on_next_page) + return on_next_page(); + return nullptr; +} + +bool AbstractWizardPage::can_go_next() +{ + return !!on_next_page; +} + +void AbstractWizardPage::page_enter() +{ + if (on_page_enter) + return on_page_enter(); +} + +void AbstractWizardPage::page_leave() +{ + if (on_page_leave) + return on_page_leave(); +} + +} diff --git a/Userland/Libraries/LibGUI/Wizards/AbstractWizardPage.h b/Userland/Libraries/LibGUI/Wizards/AbstractWizardPage.h new file mode 100644 index 0000000000..4cd6b7f073 --- /dev/null +++ b/Userland/Libraries/LibGUI/Wizards/AbstractWizardPage.h @@ -0,0 +1,60 @@ +/* + * Copyright (c) 2021, Nick Vella + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#pragma once + +#include +#include + +namespace GUI { + +class AbstractWizardPage : public Widget { + C_OBJECT_ABSTRACT(AbstractWizardPage); + +public: + virtual ~AbstractWizardPage() override; + + Function()> on_next_page; + virtual RefPtr next_page(); + virtual bool can_go_next(); + + Function on_page_enter; + virtual void page_enter(); + + Function on_page_leave; + virtual void page_leave(); + + bool is_final_page() const { return m_is_final_page; } + void set_is_final_page(bool val) { m_is_final_page = val; } + +protected: + AbstractWizardPage(); + +private: + bool m_is_final_page { false }; +}; + +} diff --git a/Userland/Libraries/LibGUI/Wizards/CoverWizardPage.cpp b/Userland/Libraries/LibGUI/Wizards/CoverWizardPage.cpp new file mode 100644 index 0000000000..ecdac2e7f4 --- /dev/null +++ b/Userland/Libraries/LibGUI/Wizards/CoverWizardPage.cpp @@ -0,0 +1,69 @@ +/* + * Copyright (c) 2021, Nick Vella + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" + * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE + * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL + * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR + * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER + * CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, + * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE + * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ + +#include +#include +#include +#include +#include +#include + +namespace GUI { + +CoverWizardPage::CoverWizardPage() + : AbstractWizardPage() +{ + set_fill_with_background_color(true); + set_background_role(Gfx::ColorRole::Base); + set_layout(); + m_banner_image_widget = add(); + m_banner_image_widget->set_fixed_size(160, 315); + m_banner_image_widget->load_from_file("/res/graphics/wizard-banner-simple.png"); + + m_content_widget = add(); + m_content_widget->set_layout(); + m_content_widget->layout()->set_margins({ 20, 20, 20, 20 }); + + m_header_label = m_content_widget->add