GStackWidget.h 600 B

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