| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  | #pragma once
 | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-24 09:12:23 +02:00
										 |  |  | #include <AK/NonnullOwnPtrVector.h>
 | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  | #include <LibGUI/GWidget.h>
 | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class GAction; | 
					
						
							|  |  |  | 
 | 
					
						
							|  |  |  | class GToolBar : public GWidget { | 
					
						
							| 
									
										
										
										
											2019-07-25 19:49:28 +02:00
										 |  |  |     C_OBJECT(GToolBar) | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  | public: | 
					
						
							|  |  |  |     virtual ~GToolBar() override; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-07-11 15:55:54 +02:00
										 |  |  |     void add_action(GAction&); | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  |     void add_separator(); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-05-10 22:58:52 +02:00
										 |  |  |     bool has_frame() const { return m_has_frame; } | 
					
						
							|  |  |  |     void set_has_frame(bool has_frame) { m_has_frame = has_frame; } | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-21 16:27:54 +02:00
										 |  |  | protected: | 
					
						
							|  |  |  |     explicit GToolBar(GWidget* parent); | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  |     virtual void paint_event(GPaintEvent&) override; | 
					
						
							|  |  |  | 
 | 
					
						
							| 
									
										
										
										
											2019-09-21 16:27:54 +02:00
										 |  |  | private: | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  |     struct Item { | 
					
						
							| 
									
										
										
										
											2019-06-07 17:13:23 +02:00
										 |  |  |         enum Type { | 
					
						
							| 
									
										
										
										
											2019-05-28 11:53:16 +02:00
										 |  |  |             Invalid, | 
					
						
							|  |  |  |             Separator, | 
					
						
							|  |  |  |             Action | 
					
						
							|  |  |  |         }; | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  |         Type type { Invalid }; | 
					
						
							| 
									
										
										
										
											2019-06-21 18:37:47 +02:00
										 |  |  |         RefPtr<GAction> action; | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  |     }; | 
					
						
							| 
									
										
										
										
											2019-07-24 09:12:23 +02:00
										 |  |  |     NonnullOwnPtrVector<Item> m_items; | 
					
						
							| 
									
										
										
										
											2019-05-10 22:58:52 +02:00
										 |  |  |     bool m_has_frame { true }; | 
					
						
							| 
									
										
										
										
											2019-02-20 02:39:46 +01:00
										 |  |  | }; |