De-virtualize BView::InvalidateLayout() and introduce LayoutInvalidated() hook, like BLayout.
This commit is contained in:
@@ -71,7 +71,8 @@ class BBox : public BView {
|
|||||||
virtual BSize MaxSize();
|
virtual BSize MaxSize();
|
||||||
virtual BSize PreferredSize();
|
virtual BSize PreferredSize();
|
||||||
|
|
||||||
virtual void InvalidateLayout(bool descendants = false);
|
protected:
|
||||||
|
virtual void LayoutInvalidated(bool descendants = false);
|
||||||
virtual void DoLayout();
|
virtual void DoLayout();
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
|||||||
@@ -63,13 +63,15 @@ public:
|
|||||||
virtual status_t GetSupportedSuites(BMessage* message);
|
virtual status_t GetSupportedSuites(BMessage* message);
|
||||||
virtual status_t Perform(perform_code d, void* arg);
|
virtual status_t Perform(perform_code d, void* arg);
|
||||||
|
|
||||||
virtual void InvalidateLayout(bool descendants = false);
|
|
||||||
|
|
||||||
virtual BSize MinSize();
|
virtual BSize MinSize();
|
||||||
virtual BSize MaxSize();
|
virtual BSize MaxSize();
|
||||||
virtual BSize PreferredSize();
|
virtual BSize PreferredSize();
|
||||||
|
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void LayoutInvalidated(bool descendants = false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
virtual void _ReservedButton1();
|
virtual void _ReservedButton1();
|
||||||
virtual void _ReservedButton2();
|
virtual void _ReservedButton2();
|
||||||
|
|||||||
@@ -52,8 +52,6 @@ public:
|
|||||||
float* _height);
|
float* _height);
|
||||||
virtual void ResizeToPreferred();
|
virtual void ResizeToPreferred();
|
||||||
|
|
||||||
virtual void InvalidateLayout(bool descendants = false);
|
|
||||||
|
|
||||||
virtual BSize MinSize();
|
virtual BSize MinSize();
|
||||||
virtual BSize MaxSize();
|
virtual BSize MaxSize();
|
||||||
virtual BSize PreferredSize();
|
virtual BSize PreferredSize();
|
||||||
@@ -70,6 +68,9 @@ public:
|
|||||||
|
|
||||||
virtual status_t Perform(perform_code code, void* data);
|
virtual status_t Perform(perform_code code, void* data);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void LayoutInvalidated(bool descendants = false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// FBC padding
|
// FBC padding
|
||||||
virtual void _ReservedCheckBox1();
|
virtual void _ReservedCheckBox1();
|
||||||
|
|||||||
@@ -41,7 +41,6 @@ public:
|
|||||||
virtual BSize MinSize();
|
virtual BSize MinSize();
|
||||||
virtual BSize MaxSize();
|
virtual BSize MaxSize();
|
||||||
virtual BSize PreferredSize();
|
virtual BSize PreferredSize();
|
||||||
virtual void InvalidateLayout(bool descendants = false);
|
|
||||||
virtual void ResizeToPreferred();
|
virtual void ResizeToPreferred();
|
||||||
virtual void FrameMoved(BPoint newPosition);
|
virtual void FrameMoved(BPoint newPosition);
|
||||||
virtual void FrameResized(float newWidth, float newHeight);
|
virtual void FrameResized(float newWidth, float newHeight);
|
||||||
@@ -62,6 +61,8 @@ public:
|
|||||||
virtual void SetFont(const BFont* font,
|
virtual void SetFont(const BFont* font,
|
||||||
uint32 mask = B_FONT_ALL);
|
uint32 mask = B_FONT_ALL);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void LayoutInvalidated(bool descendants = false);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
// FBC padding and forbidden methods
|
// FBC padding and forbidden methods
|
||||||
|
|||||||
@@ -548,10 +548,10 @@ public:
|
|||||||
virtual void GetHeightForWidth(float width, float* min,
|
virtual void GetHeightForWidth(float width, float* min,
|
||||||
float* max, float* preferred);
|
float* max, float* preferred);
|
||||||
|
|
||||||
|
void InvalidateLayout(bool descendants = false);
|
||||||
virtual void SetLayout(BLayout* layout);
|
virtual void SetLayout(BLayout* layout);
|
||||||
BLayout* GetLayout() const;
|
BLayout* GetLayout() const;
|
||||||
|
|
||||||
virtual void InvalidateLayout(bool descendants = false);
|
|
||||||
void EnableLayoutInvalidation();
|
void EnableLayoutInvalidation();
|
||||||
void DisableLayoutInvalidation();
|
void DisableLayoutInvalidation();
|
||||||
bool IsLayoutValid() const;
|
bool IsLayoutValid() const;
|
||||||
@@ -565,6 +565,7 @@ public:
|
|||||||
class Private;
|
class Private;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
virtual void LayoutInvalidated(bool descendants = false);
|
||||||
virtual void DoLayout();
|
virtual void DoLayout();
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ enum {
|
|||||||
PERFORM_CODE_HAS_HEIGHT_FOR_WIDTH = 1004,
|
PERFORM_CODE_HAS_HEIGHT_FOR_WIDTH = 1004,
|
||||||
PERFORM_CODE_GET_HEIGHT_FOR_WIDTH = 1005,
|
PERFORM_CODE_GET_HEIGHT_FOR_WIDTH = 1005,
|
||||||
PERFORM_CODE_SET_LAYOUT = 1006,
|
PERFORM_CODE_SET_LAYOUT = 1006,
|
||||||
PERFORM_CODE_INVALIDATE_LAYOUT = 1007,
|
PERFORM_CODE_LAYOUT_INVALIDATED = 1007,
|
||||||
PERFORM_CODE_DO_LAYOUT = 1008,
|
PERFORM_CODE_DO_LAYOUT = 1008,
|
||||||
PERFORM_CODE_GET_TOOL_TIP_AT = 1009,
|
PERFORM_CODE_GET_TOOL_TIP_AT = 1009,
|
||||||
|
|
||||||
|
|||||||
@@ -41,7 +41,7 @@ struct perform_data_set_layout {
|
|||||||
BLayout* layout;
|
BLayout* layout;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct perform_data_invalidate_layout {
|
struct perform_data_layout_invalidated {
|
||||||
bool descendants;
|
bool descendants;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
@@ -487,11 +487,11 @@ BBox::Perform(perform_code code, void* _data)
|
|||||||
BBox::SetLayout(data->layout);
|
BBox::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BBox::InvalidateLayout(data->descendants);
|
BBox::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
@@ -537,10 +537,9 @@ BBox::PreferredSize()
|
|||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
BBox::InvalidateLayout(bool descendants)
|
BBox::LayoutInvalidated(bool descendants)
|
||||||
{
|
{
|
||||||
fLayoutData->valid = false;
|
fLayoutData->valid = false;
|
||||||
BView::InvalidateLayout(descendants);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -650,11 +650,11 @@ BButton::Perform(perform_code code, void* _data)
|
|||||||
BButton::SetLayout(data->layout);
|
BButton::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BButton::InvalidateLayout(data->descendants);
|
BButton::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
@@ -668,16 +668,6 @@ BButton::Perform(perform_code code, void* _data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
BButton::InvalidateLayout(bool descendants)
|
|
||||||
{
|
|
||||||
// invalidate cached preferred size
|
|
||||||
fPreferredSize.Set(-1, -1);
|
|
||||||
|
|
||||||
BControl::InvalidateLayout(descendants);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BSize
|
BSize
|
||||||
BButton::MinSize()
|
BButton::MinSize()
|
||||||
{
|
{
|
||||||
@@ -702,6 +692,14 @@ BButton::PreferredSize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
BButton::LayoutInvalidated(bool descendants)
|
||||||
|
{
|
||||||
|
// invalidate cached preferred size
|
||||||
|
fPreferredSize.Set(-1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void BButton::_ReservedButton1() {}
|
void BButton::_ReservedButton1() {}
|
||||||
void BButton::_ReservedButton2() {}
|
void BButton::_ReservedButton2() {}
|
||||||
void BButton::_ReservedButton3() {}
|
void BButton::_ReservedButton3() {}
|
||||||
|
|||||||
@@ -440,16 +440,6 @@ BCheckBox::ResizeToPreferred()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
BCheckBox::InvalidateLayout(bool descendants)
|
|
||||||
{
|
|
||||||
// invalidate cached preferred size
|
|
||||||
fPreferredSize.Set(B_SIZE_UNSET, B_SIZE_UNSET);
|
|
||||||
|
|
||||||
BControl::InvalidateLayout(descendants);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
BSize
|
BSize
|
||||||
BCheckBox::MinSize()
|
BCheckBox::MinSize()
|
||||||
{
|
{
|
||||||
@@ -558,11 +548,11 @@ BCheckBox::Perform(perform_code code, void* _data)
|
|||||||
BCheckBox::SetLayout(data->layout);
|
BCheckBox::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BCheckBox::InvalidateLayout(data->descendants);
|
BCheckBox::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
@@ -576,6 +566,14 @@ BCheckBox::Perform(perform_code code, void* _data)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
BCheckBox::LayoutInvalidated(bool descendants)
|
||||||
|
{
|
||||||
|
// invalidate cached preferred size
|
||||||
|
fPreferredSize.Set(B_SIZE_UNSET, B_SIZE_UNSET);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark - FBC padding
|
// #pragma mark - FBC padding
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -937,11 +937,11 @@ BColorControl::Perform(perform_code code, void* _data)
|
|||||||
BColorControl::SetLayout(data->layout);
|
BColorControl::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BColorControl::InvalidateLayout(data->descendants);
|
BColorControl::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -497,11 +497,11 @@ BControl::Perform(perform_code code, void* _data)
|
|||||||
BControl::SetLayout(data->layout);
|
BControl::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BControl::InvalidateLayout(data->descendants);
|
BControl::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -491,11 +491,11 @@ BDragger::Perform(perform_code code, void* _data)
|
|||||||
BDragger::SetLayout(data->layout);
|
BDragger::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BDragger::InvalidateLayout(data->descendants);
|
BDragger::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -1309,11 +1309,11 @@ BListView::Perform(perform_code code, void* _data)
|
|||||||
BListView::SetLayout(data->layout);
|
BListView::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BListView::InvalidateLayout(data->descendants);
|
BListView::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -1236,11 +1236,11 @@ BMenu::Perform(perform_code code, void* _data)
|
|||||||
BMenu::SetLayout(data->layout);
|
BMenu::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BMenu::InvalidateLayout(data->descendants);
|
BMenu::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -438,11 +438,11 @@ BMenuBar::Perform(perform_code code, void* _data)
|
|||||||
BMenuBar::SetLayout(data->layout);
|
BMenuBar::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BMenuBar::InvalidateLayout(data->descendants);
|
BMenuBar::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -872,11 +872,11 @@ BMenuField::Perform(perform_code code, void* _data)
|
|||||||
BMenuField::SetLayout(data->layout);
|
BMenuField::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BMenuField::InvalidateLayout(data->descendants);
|
BMenuField::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -555,11 +555,11 @@ BOutlineListView::Perform(perform_code code, void* _data)
|
|||||||
BOutlineListView::SetLayout(data->layout);
|
BOutlineListView::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BOutlineListView::InvalidateLayout(data->descendants);
|
BOutlineListView::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -458,11 +458,11 @@ BPictureButton::Perform(perform_code code, void* _data)
|
|||||||
BPictureButton::SetLayout(data->layout);
|
BPictureButton::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BPictureButton::InvalidateLayout(data->descendants);
|
BPictureButton::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -211,11 +211,11 @@ BPopUpMenu::Perform(perform_code code, void* _data)
|
|||||||
BPopUpMenu::SetLayout(data->layout);
|
BPopUpMenu::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BPopUpMenu::InvalidateLayout(data->descendants);
|
BPopUpMenu::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -541,11 +541,11 @@ BRadioButton::Perform(perform_code code, void* _data)
|
|||||||
BRadioButton::SetLayout(data->layout);
|
BRadioButton::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BRadioButton::InvalidateLayout(data->descendants);
|
BRadioButton::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -1282,11 +1282,11 @@ BScrollBar::Perform(perform_code code, void* _data)
|
|||||||
BScrollBar::SetLayout(data->layout);
|
BScrollBar::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BScrollBar::InvalidateLayout(data->descendants);
|
BScrollBar::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -650,11 +650,11 @@ BScrollView::Perform(perform_code code, void* _data)
|
|||||||
BScrollView::SetLayout(data->layout);
|
BScrollView::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BScrollView::InvalidateLayout(data->descendants);
|
BScrollView::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -333,11 +333,11 @@ BSlider::Perform(perform_code code, void* _data)
|
|||||||
BSlider::SetLayout(data->layout);
|
BSlider::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BSlider::InvalidateLayout(data->descendants);
|
BSlider::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -701,11 +701,11 @@ BStatusBar::Perform(perform_code code, void* _data)
|
|||||||
BStatusBar::SetLayout(data->layout);
|
BStatusBar::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BStatusBar::InvalidateLayout(data->descendants);
|
BStatusBar::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -185,16 +185,6 @@ BStringView::PreferredSize()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
BStringView::InvalidateLayout(bool descendants)
|
|
||||||
{
|
|
||||||
// invalidate cached preferred size
|
|
||||||
fPreferredSize.Set(-1, -1);
|
|
||||||
|
|
||||||
BView::InvalidateLayout(descendants);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
BStringView::ResizeToPreferred()
|
BStringView::ResizeToPreferred()
|
||||||
{
|
{
|
||||||
@@ -359,6 +349,14 @@ BStringView::SetFont(const BFont* font, uint32 mask)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
BStringView::LayoutInvalidated(bool descendants)
|
||||||
|
{
|
||||||
|
// invalidate cached preferred size
|
||||||
|
fPreferredSize.Set(-1, -1);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
// #pragma mark -
|
// #pragma mark -
|
||||||
|
|
||||||
|
|
||||||
@@ -400,11 +398,11 @@ BStringView::Perform(perform_code code, void* _data)
|
|||||||
BStringView::SetLayout(data->layout);
|
BStringView::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BStringView::InvalidateLayout(data->descendants);
|
BStringView::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -965,11 +965,11 @@ BTextControl::Perform(perform_code code, void* _data)
|
|||||||
BTextControl::SetLayout(data->layout);
|
BTextControl::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BTextControl::InvalidateLayout(data->descendants);
|
BTextControl::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -1122,11 +1122,11 @@ BTextView::Perform(perform_code code, void* _data)
|
|||||||
BTextView::SetLayout(data->layout);
|
BTextView::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BTextView::InvalidateLayout(data->descendants);
|
BTextView::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
|
|||||||
@@ -4481,11 +4481,11 @@ BView::Perform(perform_code code, void* _data)
|
|||||||
BView::SetLayout(data->layout);
|
BView::SetLayout(data->layout);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_INVALIDATE_LAYOUT:
|
case PERFORM_CODE_LAYOUT_INVALIDATED:
|
||||||
{
|
{
|
||||||
perform_data_invalidate_layout* data
|
perform_data_layout_invalidated* data
|
||||||
= (perform_data_invalidate_layout*)_data;
|
= (perform_data_layout_invalidated*)_data;
|
||||||
BView::InvalidateLayout(data->descendants);
|
BView::LayoutInvalidated(data->descendants);
|
||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
case PERFORM_CODE_DO_LAYOUT:
|
case PERFORM_CODE_DO_LAYOUT:
|
||||||
@@ -4697,6 +4697,7 @@ BView::InvalidateLayout(bool descendants)
|
|||||||
|
|
||||||
fLayoutData->fLayoutValid = false;
|
fLayoutData->fLayoutValid = false;
|
||||||
fLayoutData->fMinMaxValid = false;
|
fLayoutData->fMinMaxValid = false;
|
||||||
|
LayoutInvalidated(descendants);
|
||||||
|
|
||||||
if (descendants) {
|
if (descendants) {
|
||||||
for (BView* child = fFirstChild;
|
for (BView* child = fFirstChild;
|
||||||
@@ -4790,6 +4791,13 @@ BView::Relayout()
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
BView::LayoutInvalidated(bool descendants)
|
||||||
|
{
|
||||||
|
// hook method
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
BView::DoLayout()
|
BView::DoLayout()
|
||||||
{
|
{
|
||||||
@@ -5772,10 +5780,10 @@ _ReservedView8__5BView(BView* view, BLayout* layout)
|
|||||||
extern "C" void
|
extern "C" void
|
||||||
_ReservedView9__5BView(BView* view, bool descendants)
|
_ReservedView9__5BView(BView* view, bool descendants)
|
||||||
{
|
{
|
||||||
// InvalidateLayout()
|
// LayoutInvalidated()
|
||||||
perform_data_invalidate_layout data;
|
perform_data_layout_invalidated data;
|
||||||
data.descendants = descendants;
|
data.descendants = descendants;
|
||||||
view->Perform(PERFORM_CODE_INVALIDATE_LAYOUT, &data);
|
view->Perform(PERFORM_CODE_LAYOUT_INVALIDATED, &data);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user