GStackWidget.h 603 B

1234567891011121314151617181920212223
  1. #pragma once
  2. #include <LibGUI/GWidget.h>
  3. class GStackWidget : public GWidget {
  4. C_OBJECT(GStackWidget)
  5. public:
  6. explicit GStackWidget(GWidget* parent);
  7. virtual ~GStackWidget() override;
  8. GWidget* active_widget() { return m_active_widget.ptr(); }
  9. const GWidget* active_widget() const { return m_active_widget.ptr(); }
  10. void set_active_widget(GWidget*);
  11. Function<void(GWidget*)> on_active_widget_change;
  12. protected:
  13. virtual void child_event(CChildEvent&) override;
  14. virtual void resize_event(GResizeEvent&) override;
  15. private:
  16. ObjectPtr<GWidget> m_active_widget;
  17. };