From 4aeb7a3cc2d01a2d21127d7dd8cf5594e6c1e141 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Stephan=20A=C3=9Fmus?= Date: Tue, 23 Jun 2009 10:56:22 +0000 Subject: [PATCH] * Made BTwoDimensionalLayout and BSplitLayout::GetInsets() const. * Give access to BSplitLayout::SetInsets() and GetInsets() from BSplitView. * Give access to BSplitView::SetInsets() from BSplitLayoutBuilder and LayoutBuilder. * Some automatic white-space cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31197 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- headers/os/interface/LayoutBuilder.h | 13 +++++++++ headers/os/interface/SplitLayoutBuilder.h | 3 ++ headers/os/interface/SplitView.h | 5 ++++ headers/os/interface/TwoDimensionalLayout.h | 4 +-- src/kits/interface/SplitLayout.cpp | 3 +- src/kits/interface/SplitLayout.h | 2 +- src/kits/interface/SplitLayoutBuilder.cpp | 9 ++++++ src/kits/interface/SplitView.cpp | 15 ++++++++++ src/kits/interface/TwoDimensionalLayout.cpp | 32 ++++++++++----------- 9 files changed, 66 insertions(+), 20 deletions(-) diff --git a/headers/os/interface/LayoutBuilder.h b/headers/os/interface/LayoutBuilder.h index 91912a67c4..30e8d632b1 100644 --- a/headers/os/interface/LayoutBuilder.h +++ b/headers/os/interface/LayoutBuilder.h @@ -175,6 +175,9 @@ public: inline ThisBuilder& SetCollapsible(int32 first, int32 last, bool collapsible); + inline ThisBuilder& SetInsets(float left, float top, float right, + float bottom); + inline operator BSplitView*(); private: @@ -702,6 +705,16 @@ Split::SetCollapsible(int32 first, int32 last, bool collapsible) } +template +typename Split::ThisBuilder& +Split::SetInsets(float left, float top, float right, + float bottom) +{ + fView->SetInsets(left, top, right, bottom); + return *this; +} + + template Split::operator BSplitView*() { diff --git a/headers/os/interface/SplitLayoutBuilder.h b/headers/os/interface/SplitLayoutBuilder.h index d88e33d44c..05b6a258e6 100644 --- a/headers/os/interface/SplitLayoutBuilder.h +++ b/headers/os/interface/SplitLayoutBuilder.h @@ -24,6 +24,9 @@ public: BSplitLayoutBuilder& SetCollapsible(bool collapsible); + BSplitLayoutBuilder& SetInsets(float left, float top, float right, + float bottom); + operator BSplitView*(); private: diff --git a/headers/os/interface/SplitView.h b/headers/os/interface/SplitView.h index 92c7e73bd5..5d2f687e20 100644 --- a/headers/os/interface/SplitView.h +++ b/headers/os/interface/SplitView.h @@ -17,6 +17,11 @@ public: float spacing = 0.0f); virtual ~BSplitView(); + void SetInsets(float left, float top, float right, + float bottom); + void GetInsets(float* left, float* top, float* right, + float* bottom) const; + float Spacing() const; void SetSpacing(float spacing); diff --git a/headers/os/interface/TwoDimensionalLayout.h b/headers/os/interface/TwoDimensionalLayout.h index 75c963996d..fc9878f196 100644 --- a/headers/os/interface/TwoDimensionalLayout.h +++ b/headers/os/interface/TwoDimensionalLayout.h @@ -18,7 +18,7 @@ public: void SetInsets(float left, float top, float right, float bottom); void GetInsets(float* left, float* top, float* right, - float* bottom); + float* bottom) const; void AlignLayoutWith(BTwoDimensionalLayout* other, enum orientation orientation); @@ -58,7 +58,7 @@ protected: virtual void PrepareItems(enum orientation orientation); virtual bool HasMultiColumnItems(); virtual bool HasMultiRowItems(); - + virtual int32 InternalCountColumns() = 0; virtual int32 InternalCountRows() = 0; virtual void GetColumnRowConstraints( diff --git a/src/kits/interface/SplitLayout.cpp b/src/kits/interface/SplitLayout.cpp index 064090ba74..fd5066f0c8 100644 --- a/src/kits/interface/SplitLayout.cpp +++ b/src/kits/interface/SplitLayout.cpp @@ -192,7 +192,8 @@ BSplitLayout::SetInsets(float left, float top, float right, float bottom) // GetInsets void -BSplitLayout::GetInsets(float* left, float* top, float* right, float* bottom) +BSplitLayout::GetInsets(float* left, float* top, float* right, + float* bottom) const { if (left) *left = fLeftInset; diff --git a/src/kits/interface/SplitLayout.h b/src/kits/interface/SplitLayout.h index 7bb0320519..353fb50178 100644 --- a/src/kits/interface/SplitLayout.h +++ b/src/kits/interface/SplitLayout.h @@ -30,7 +30,7 @@ public: void SetInsets(float left, float top, float right, float bottom); void GetInsets(float* left, float* top, float* right, - float* bottom); + float* bottom) const; float Spacing() const; void SetSpacing(float spacing); diff --git a/src/kits/interface/SplitLayoutBuilder.cpp b/src/kits/interface/SplitLayoutBuilder.cpp index 52d7d3cfe1..b778d7ce1e 100644 --- a/src/kits/interface/SplitLayoutBuilder.cpp +++ b/src/kits/interface/SplitLayoutBuilder.cpp @@ -81,6 +81,15 @@ BSplitLayoutBuilder::SetCollapsible(bool collapsible) return *this; } +// SetInsets +BSplitLayoutBuilder& +BSplitLayoutBuilder::SetInsets(float left, float top, float right, float bottom) +{ + fView->SetInsets(left, top, right, bottom); + + return *this; +} + // cast operator BSplitView* BSplitLayoutBuilder::operator BSplitView*() { diff --git a/src/kits/interface/SplitView.cpp b/src/kits/interface/SplitView.cpp index bdc2940667..d3fab48a3e 100644 --- a/src/kits/interface/SplitView.cpp +++ b/src/kits/interface/SplitView.cpp @@ -55,6 +55,21 @@ BSplitView::~BSplitView() { } +// SetInsets +void +BSplitView::SetInsets(float left, float top, float right, float bottom) +{ + fSplitLayout->SetInsets(left, top, right, bottom); +} + +// GetInsets +void +BSplitView::GetInsets(float* left, float* top, float* right, + float* bottom) const +{ + fSplitLayout->GetInsets(left, top, right, bottom); +} + // Spacing float BSplitView::Spacing() const diff --git a/src/kits/interface/TwoDimensionalLayout.cpp b/src/kits/interface/TwoDimensionalLayout.cpp index caee7ac3a4..522cb001fd 100644 --- a/src/kits/interface/TwoDimensionalLayout.cpp +++ b/src/kits/interface/TwoDimensionalLayout.cpp @@ -59,13 +59,13 @@ public: virtual Layouter* GetLayouter(bool minMax); LayoutInfo* GetLayoutInfo(); - + void AddLocalLayouter(LocalLayouter* localLayouter); void RemoveLocalLayouter( LocalLayouter* localLayouter); void AbsorbCompoundLayouter(CompoundLayouter* other); - + virtual void InvalidateLayout(); bool IsMinMaxValid(); void ValidateMinMax(); @@ -105,7 +105,7 @@ public: virtual void InvalidateLayout(); void InvalidateHeightForWidth(); - + void InternalGetHeightForWidth( LocalLayouter* localLayouter, BLayoutContext* context, @@ -148,7 +148,7 @@ public: void Layout(BSize size); BRect ItemFrame(Dimensions itemDimensions); - + void ValidateMinMax(); void DoHorizontalLayout(float width); @@ -159,7 +159,7 @@ public: void AlignWith(LocalLayouter* other, enum orientation orientation); - + // interface for the compound layout context @@ -183,14 +183,14 @@ public: Layouter* layouter, BLayoutContext* context); void SetHeightForWidthConstraintsAdded(bool added); - + void SetCompoundLayouter( CompoundLayouter* compoundLayouter, enum orientation orientation); void InternalInvalidateLayout( CompoundLayouter* compoundLayouter); - + // implementation private private: BTwoDimensionalLayout* fLayout; @@ -202,7 +202,7 @@ private: BLayoutContext* fHorizontalLayoutContext; float fHorizontalLayoutWidth; bool fHeightForWidthConstraintsAdded; - + void _SetHorizontalLayoutContext( BLayoutContext* context, float width); @@ -248,7 +248,7 @@ BTwoDimensionalLayout::SetInsets(float left, float top, float right, // GetInsets void BTwoDimensionalLayout::GetInsets(float* left, float* top, float* right, - float* bottom) + float* bottom) const { if (left) *left = fLeftInset; @@ -379,7 +379,7 @@ frame.PrintToStream(); // preferredHeight); //} } - + item->AlignInFrame(frame); } //else @@ -499,7 +499,7 @@ BTwoDimensionalLayout::CompoundLayouter::GetLayoutInfo() return fLayoutInfo; } -// AddLocalLayouter +// AddLocalLayouter void BTwoDimensionalLayout::CompoundLayouter::AddLocalLayouter( LocalLayouter* localLayouter) @@ -536,7 +536,7 @@ BTwoDimensionalLayout::CompoundLayouter::AbsorbCompoundLayouter( AddLocalLayouter(layouter); layouter->SetCompoundLayouter(this, fOrientation); } - + InvalidateLayout(); } @@ -605,7 +605,7 @@ BTwoDimensionalLayout::CompoundLayouter::Layout(float size, LocalLayouter* localLayouter, BLayoutContext* context) { ValidateMinMax(); - + if (context != fLayoutContext || fLastLayoutSize != size) { DoLayout(size, localLayouter, context); fLayoutContext = context; @@ -852,7 +852,7 @@ BTwoDimensionalLayout::VerticalCompoundLayouter fHeightForWidthLayoutContext->AddListener(this); InvalidateHeightForWidth(); - + return true; } @@ -868,7 +868,7 @@ BTwoDimensionalLayout::VerticalCompoundLayouter::LayoutContextLeft( // #pragma mark - LocalLayouter -// constructor +// constructor BTwoDimensionalLayout::LocalLayouter::LocalLayouter( BTwoDimensionalLayout* layout) : fLayout(layout), @@ -1100,7 +1100,7 @@ BTwoDimensionalLayout::LocalLayouter::AddHeightForWidthConstraints( return false; LayoutInfo* hLayoutInfo = fHLayouter->GetLayoutInfo(); - + // add the children's height for width constraints int32 itemCount = fHeightForWidthItems.CountItems(); for (int32 i = 0; i < itemCount; i++) {