2019-03-15 16:12:06 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <LibGUI/GWidget.h>
|
|
|
|
|
|
|
|
class GStackWidget : public GWidget {
|
2019-07-25 19:49:28 +02:00
|
|
|
C_OBJECT(GStackWidget)
|
2019-03-15 16:12:06 +01:00
|
|
|
public:
|
|
|
|
virtual ~GStackWidget() override;
|
|
|
|
|
2019-09-21 17:05:35 +02:00
|
|
|
GWidget* active_widget() { return m_active_widget.ptr(); }
|
|
|
|
const GWidget* active_widget() const { return m_active_widget.ptr(); }
|
2019-03-15 16:12:06 +01:00
|
|
|
void set_active_widget(GWidget*);
|
|
|
|
|
2019-07-07 21:50:38 +02:00
|
|
|
Function<void(GWidget*)> on_active_widget_change;
|
|
|
|
|
2019-03-15 16:12:06 +01:00
|
|
|
protected:
|
2019-09-21 19:39:37 +02:00
|
|
|
explicit GStackWidget(GWidget* parent);
|
2019-04-10 16:56:55 +02:00
|
|
|
virtual void child_event(CChildEvent&) override;
|
2019-03-15 16:12:06 +01:00
|
|
|
virtual void resize_event(GResizeEvent&) override;
|
|
|
|
|
|
|
|
private:
|
2019-09-22 00:31:54 +02:00
|
|
|
RefPtr<GWidget> m_active_widget;
|
2019-03-15 16:12:06 +01:00
|
|
|
};
|