| 
									
										
										
										
											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: | 
					
						
							|  |  |  |     explicit GStackWidget(GWidget* parent); | 
					
						
							|  |  |  |     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-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-21 17:05:35 +02:00
										 |  |  |     ObjectPtr<GWidget> m_active_widget; | 
					
						
							| 
									
										
										
										
											2019-03-15 16:12:06 +01:00
										 |  |  | }; |