/* * Copyright (c) 2018-2020, Andreas Kling * * SPDX-License-Identifier: BSD-2-Clause */ #pragma once #include namespace GUI { class StackWidget : public Widget { C_OBJECT(StackWidget) public: virtual ~StackWidget() override; Widget* active_widget() { return m_active_widget.ptr(); } const Widget* active_widget() const { return m_active_widget.ptr(); } void set_active_widget(Widget*); Function on_active_widget_change; protected: StackWidget(); virtual void child_event(Core::ChildEvent&) override; virtual void resize_event(ResizeEvent&) override; private: RefPtr m_active_widget; }; }