diff --git a/docs/user/interface/Layout.dox b/docs/user/interface/Layout.dox index d861cb1429..9f9e51dc25 100644 --- a/docs/user/interface/Layout.dox +++ b/docs/user/interface/Layout.dox @@ -340,7 +340,7 @@ topLayout->AddItem(nestedLayoutWithView); creates a new BLayoutContext and calls the DoLayout() method of this BLayout and any BLayout s nested in this BLayout. - If method also guarantees that the owner view of this layout (as returned + This method also guarantees that the owner view of this layout (as returned by BLayout::Owner()) performs a layout as well (if it is suitable to do so). \param force Force the LayoutItems. @@ -381,15 +381,18 @@ topLayout->AddItem(nestedLayoutWithView); (if there is one) and the BLayout this layout (or this BLayout's view) resides in. + Although this method is virtual, you should not override it, override the + BLayout::LayoutInvalidated() hook instead. + This method should be called whenever the layout becomes invalid. This might happen if the size constraints of an item in this layout change, this layout is given more or less space than it previously had, or an object in this layout has had its InvalidateLayout() method called. - \sa BView::InvalidateLayout(), BLayoutItem::InvalidateLayout() + \sa BView::InvalidateLayout(), BLayoutItem::InvalidateLayout(), + BLayout::LayoutInvalidated() */ - /*! \fn bool BLayout::IsValid() \brief Returns whether this layout has been invalidated (via @@ -520,6 +523,14 @@ topLayout->AddItem(nestedLayoutWithView); */ +/*! + \fn void BLayout::LayoutInvalidated() = 0 + + Hook method called when this layout becomes invalid. This is a good place + to clear any caches your object might hold. +*/ + + /*! \fn void BLayout::OwnerChanged(BView* was) \brief Hook method called when this layout is attached to a BView. diff --git a/docs/user/interface/LayoutItem.dox b/docs/user/interface/LayoutItem.dox index 65ce387797..db06d6d109 100644 --- a/docs/user/interface/LayoutItem.dox +++ b/docs/user/interface/LayoutItem.dox @@ -271,6 +271,11 @@ \fn void BLayoutItem::Relayout(bool immediate = false) \brief Relayout any children or onscreen data this item contains. Often this request is forwarded to another object. + + The default implementation of this method will likely be sufficient in + most cases. Assuming \c this->View() doesn't return \c NULL, the default + implementation calls Relayout() or Layout() on the value returned + by View(). */