#include #include GLayout::GLayout() { } GLayout::~GLayout() { } void GLayout::notify_adopted(Badge, GWidget& widget) { if (m_owner.ptr() == &widget) return; m_owner = widget.make_weak_ptr(); } void GLayout::notify_disowned(Badge, GWidget& widget) { ASSERT(m_owner.ptr() == &widget); m_owner.clear(); } void GLayout::add_layout(OwnPtr&& layout) { Entry entry; entry.layout = move(layout); m_entries.append(move(entry)); if (m_owner) m_owner->notify_layout_changed(Badge()); } 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()); }