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