diff --git a/headers/os/interface/AbstractLayout.h b/headers/os/interface/AbstractLayout.h index fdefe1ad64..3c88981d55 100644 --- a/headers/os/interface/AbstractLayout.h +++ b/headers/os/interface/AbstractLayout.h @@ -37,6 +37,11 @@ public: virtual void SetVisible(bool visible); virtual status_t Archive(BMessage* into, bool deep = true) const; + + virtual status_t Perform(perform_code d, void* arg); + +protected: + // Archiving hook methods virtual status_t AllArchived(BMessage* archive) const; virtual status_t AllUnarchived(const BMessage* from); @@ -45,9 +50,6 @@ public: virtual status_t ItemUnarchived(const BMessage* from, BLayoutItem* item, int32 index); - virtual status_t Perform(perform_code d, void* arg); - -protected: virtual bool ItemAdded(BLayoutItem* item, int32 atIndex); virtual void ItemRemoved(BLayoutItem* item, int32 fromIndex); virtual void LayoutInvalidated(bool children); diff --git a/headers/os/interface/AbstractLayoutItem.h b/headers/os/interface/AbstractLayoutItem.h index 58b13a46ea..96b5958866 100644 --- a/headers/os/interface/AbstractLayoutItem.h +++ b/headers/os/interface/AbstractLayoutItem.h @@ -32,12 +32,15 @@ public: virtual BAlignment BaseAlignment(); virtual status_t Archive(BMessage* into, bool deep = true) const; - virtual status_t AllUnarchived(const BMessage* archive); - virtual status_t AllArchived(BMessage* archive) const; virtual status_t Perform(perform_code d, void* arg); protected: + // various hook methods + + virtual status_t AllUnarchived(const BMessage* archive); + virtual status_t AllArchived(BMessage* archive) const; + virtual void LayoutInvalidated(bool children); virtual void AttachedToLayout(); diff --git a/headers/os/interface/CardLayout.h b/headers/os/interface/CardLayout.h index 67b7d880b8..8a2ed0fe5d 100644 --- a/headers/os/interface/CardLayout.h +++ b/headers/os/interface/CardLayout.h @@ -29,13 +29,14 @@ public: float* max, float* preferred); virtual status_t Archive(BMessage* into, bool deep = true) const; - virtual status_t AllArchived(BMessage* archive) const; - virtual status_t AllUnarchived(const BMessage* from); static BArchivable* Instantiate(BMessage* from); virtual status_t Perform(perform_code d, void* arg); protected: + virtual status_t AllArchived(BMessage* archive) const; + virtual status_t AllUnarchived(const BMessage* from); + virtual void LayoutInvalidated(bool children = false); virtual void DoLayout(); virtual bool ItemAdded(BLayoutItem* item, int32 atIndex); diff --git a/headers/os/interface/GridLayout.h b/headers/os/interface/GridLayout.h index 5073e35e49..ab97397390 100644 --- a/headers/os/interface/GridLayout.h +++ b/headers/os/interface/GridLayout.h @@ -59,18 +59,18 @@ public: int32 rowCount = 1); virtual status_t Archive(BMessage* into, bool deep = true) const; - virtual status_t AllArchived(BMessage* into) const; - virtual status_t AllUnarchived(const BMessage* from); static BArchivable* Instantiate(BMessage* from); + virtual status_t Perform(perform_code d, void* arg); + +protected: + virtual status_t AllArchived(BMessage* into) const; + virtual status_t AllUnarchived(const BMessage* from); virtual status_t ItemArchived(BMessage* into, BLayoutItem* item, int32 index) const; virtual status_t ItemUnarchived(const BMessage* from, BLayoutItem* item, int32 index); - virtual status_t Perform(perform_code d, void* arg); - -protected: virtual bool ItemAdded(BLayoutItem* item, int32 atIndex); virtual void ItemRemoved(BLayoutItem* item, int32 fromIndex); diff --git a/headers/os/interface/GroupLayout.h b/headers/os/interface/GroupLayout.h index 69f960c888..75fbaa32e4 100644 --- a/headers/os/interface/GroupLayout.h +++ b/headers/os/interface/GroupLayout.h @@ -36,18 +36,18 @@ public: float weight); virtual status_t Archive(BMessage* into, bool deep = true) const; - virtual status_t AllArchived(BMessage* into) const; - virtual status_t AllUnarchived(const BMessage* from); static BArchivable* Instantiate(BMessage* from); + virtual status_t Perform(perform_code d, void* arg); + +protected: + virtual status_t AllArchived(BMessage* into) const; + virtual status_t AllUnarchived(const BMessage* from); virtual status_t ItemArchived(BMessage* into, BLayoutItem* item, int32 index) const; virtual status_t ItemUnarchived(const BMessage* from, BLayoutItem* item, int32 index); - virtual status_t Perform(perform_code d, void* arg); - -protected: virtual bool ItemAdded(BLayoutItem* item, int32 atIndex); virtual void ItemRemoved(BLayoutItem* item, int32 fromIndex); diff --git a/headers/os/interface/Layout.h b/headers/os/interface/Layout.h index 00a2b1ffc6..cf23c46be8 100644 --- a/headers/os/interface/Layout.h +++ b/headers/os/interface/Layout.h @@ -60,9 +60,12 @@ public: BRect LayoutArea(); BLayoutContext* LayoutContext() const; - // Archiving methods - virtual status_t Archive(BMessage* into, bool deep = true) const; + + virtual status_t Perform(perform_code d, void* arg); + +protected: + // Archiving hook methods virtual status_t AllArchived(BMessage* archive) const; virtual status_t AllUnarchived(const BMessage* from); @@ -70,10 +73,6 @@ public: int32 index) const; virtual status_t ItemUnarchived(const BMessage* from, BLayoutItem* item, int32 index); - - virtual status_t Perform(perform_code d, void* arg); - -protected: // BLayout hook methods virtual bool ItemAdded(BLayoutItem* item, int32 atIndex); virtual void ItemRemoved(BLayoutItem* item, int32 fromIndex); diff --git a/headers/os/interface/LayoutItem.h b/headers/os/interface/LayoutItem.h index ae11e96c70..aba36a9d3d 100644 --- a/headers/os/interface/LayoutItem.h +++ b/headers/os/interface/LayoutItem.h @@ -55,13 +55,13 @@ public: void AlignInFrame(BRect frame); virtual status_t Archive(BMessage* into, bool deep = true) const; - virtual status_t AllArchived(BMessage* into) const; - virtual status_t AllUnarchived(const BMessage* from); virtual status_t Perform(perform_code d, void* arg); protected: - void SetLayout(BLayout* layout); + // archiving methods + virtual status_t AllArchived(BMessage* into) const; + virtual status_t AllUnarchived(const BMessage* from); // hook methods virtual void LayoutInvalidated(bool children); @@ -72,6 +72,8 @@ protected: virtual void AncestorVisibilityChanged(bool shown); private: + void SetLayout(BLayout* layout); + virtual void _ReservedLayoutItem1(); virtual void _ReservedLayoutItem2(); virtual void _ReservedLayoutItem3(); diff --git a/headers/os/interface/MenuField.h b/headers/os/interface/MenuField.h index 545dc8798b..2fba75910c 100644 --- a/headers/os/interface/MenuField.h +++ b/headers/os/interface/MenuField.h @@ -34,8 +34,6 @@ public: static BArchivable* Instantiate(BMessage* archive); virtual status_t Archive(BMessage* archive, bool deep = true) const; - virtual status_t AllArchived(BMessage* into) const; - virtual status_t AllUnarchived(const BMessage* from); virtual void Draw(BRect update); virtual void AttachedToWindow(); @@ -89,6 +87,9 @@ public: virtual status_t Perform(perform_code d, void* arg); protected: + virtual status_t AllArchived(BMessage* into) const; + virtual status_t AllUnarchived(const BMessage* from); + virtual void LayoutInvalidated(bool descendants); virtual void DoLayout(); diff --git a/headers/os/interface/SplitView.h b/headers/os/interface/SplitView.h index 5d947b5197..4ef0d18f37 100644 --- a/headers/os/interface/SplitView.h +++ b/headers/os/interface/SplitView.h @@ -71,13 +71,14 @@ public: // overridden to avoid use virtual status_t Archive(BMessage* into, bool deep = true) const; - virtual status_t AllArchived(BMessage* into) const; - virtual status_t AllUnarchived(const BMessage* from); static BArchivable* Instantiate(BMessage* from); virtual status_t Perform(perform_code d, void* arg); protected: + virtual status_t AllArchived(BMessage* into) const; + virtual status_t AllUnarchived(const BMessage* from); + virtual void DrawSplitter(BRect frame, const BRect& updateRect, enum orientation orientation, diff --git a/headers/os/interface/TextControl.h b/headers/os/interface/TextControl.h index a3b8da6064..456c6f1dee 100644 --- a/headers/os/interface/TextControl.h +++ b/headers/os/interface/TextControl.h @@ -36,8 +36,6 @@ public: static BArchivable* Instantiate(BMessage* archive); virtual status_t Archive(BMessage* archive, bool deep = true) const; - virtual status_t AllArchived(BMessage* into) const; - virtual status_t AllUnarchived(const BMessage* from); virtual void SetText(const char* text); const char* Text() const; @@ -92,6 +90,9 @@ public: BLayoutItem* CreateTextViewLayoutItem(); protected: + virtual status_t AllArchived(BMessage* into) const; + virtual status_t AllUnarchived(const BMessage* from); + virtual void LayoutInvalidated(bool descendants); virtual void DoLayout(); diff --git a/headers/os/interface/TwoDimensionalLayout.h b/headers/os/interface/TwoDimensionalLayout.h index bd68fc9c19..02543c1134 100644 --- a/headers/os/interface/TwoDimensionalLayout.h +++ b/headers/os/interface/TwoDimensionalLayout.h @@ -39,13 +39,6 @@ public: virtual void SetFrame(BRect frame); virtual status_t Archive(BMessage* into, bool deep = true) const; - virtual status_t AllArchived(BMessage* into) const; - virtual status_t AllUnarchived(const BMessage* from); - - virtual status_t ItemArchived(BMessage* into, BLayoutItem* item, - int32 index) const; - virtual status_t ItemUnarchived(const BMessage* from, - BLayoutItem* item, int32 index); virtual status_t Perform(perform_code d, void* arg); @@ -63,7 +56,15 @@ protected: int32 height; }; + virtual status_t AllArchived(BMessage* into) const; + virtual status_t AllUnarchived(const BMessage* from); + + virtual status_t ItemArchived(BMessage* into, BLayoutItem* item, + int32 index) const; + virtual status_t ItemUnarchived(const BMessage* from, + BLayoutItem* item, int32 index); virtual void LayoutInvalidated(bool children = false); + virtual void DoLayout(); BSize AddInsets(BSize size); diff --git a/src/kits/interface/Layout.cpp b/src/kits/interface/Layout.cpp index 03a7a515ef..371588bf19 100644 --- a/src/kits/interface/Layout.cpp +++ b/src/kits/interface/Layout.cpp @@ -381,7 +381,6 @@ BLayout::Relayout(bool immediate) } - void BLayout::_LayoutWithinContext(bool force, BLayoutContext* context) {