mirror of
				https://github.com/LadybirdBrowser/ladybird.git
				synced 2025-10-31 13:20:59 +00:00 
			
		
		
		
	
		
			
	
	
		
			42 lines
		
	
	
	
		
			820 B
		
	
	
	
		
			C++
		
	
	
	
	
	
		
		
			
		
	
	
			42 lines
		
	
	
	
		
			820 B
		
	
	
	
		
			C++
		
	
	
	
	
	
|   | #include <LibGUI/GLayout.h>
 | ||
|  | #include <LibGUI/GWidget.h>
 | ||
|  | 
 | ||
|  | GLayout::GLayout() | ||
|  | { | ||
|  | } | ||
|  | 
 | ||
|  | GLayout::~GLayout() | ||
|  | { | ||
|  | } | ||
|  | 
 | ||
|  | void GLayout::notify_adopted(Badge<GWidget>, GWidget& widget) | ||
|  | { | ||
|  |     if (m_owner.ptr() == &widget) | ||
|  |         return; | ||
|  |     m_owner = widget.make_weak_ptr(); | ||
|  | } | ||
|  | 
 | ||
|  | void GLayout::notify_disowned(Badge<GWidget>, GWidget& widget) | ||
|  | { | ||
|  |     ASSERT(m_owner.ptr() == &widget); | ||
|  |     m_owner.clear(); | ||
|  | } | ||
|  | 
 | ||
|  | void GLayout::add_layout(OwnPtr<GLayout>&& layout) | ||
|  | { | ||
|  |     Entry entry; | ||
|  |     entry.layout = move(layout); | ||
|  |     m_entries.append(move(entry)); | ||
|  |     if (m_owner) | ||
|  |         m_owner->notify_layout_changed(Badge<GLayout>()); | ||
|  | } | ||
|  | 
 | ||
|  | void GLayout::add_widget(GWidget& widget) | ||
|  | { | ||
|  |     Entry entry; | ||
|  |     entry.widget = widget.make_weak_ptr(); | ||
|  |     m_entries.append(move(entry)); | ||
|  |     if (m_owner) | ||
|  |         m_owner->notify_layout_changed(Badge<GLayout>()); | ||
|  | } |