diff --git a/headers/os/interface/LayoutBuilder.h b/headers/os/interface/LayoutBuilder.h index 3596837901..10e639b6cf 100644 --- a/headers/os/interface/LayoutBuilder.h +++ b/headers/os/interface/LayoutBuilder.h @@ -102,6 +102,8 @@ public: inline ThisBuilder& SetInsets(float left, float top, float right, float bottom); + inline ThisBuilder& SetInsets(float horizontal, float vertical); + inline ThisBuilder& SetInsets(float insets); inline operator BGroupLayout*(); @@ -185,6 +187,8 @@ public: inline ThisBuilder& SetInsets(float left, float top, float right, float bottom); + inline ThisBuilder& SetInsets(float horizontal, float vertical); + inline ThisBuilder& SetInsets(float insets); inline operator BGridLayout*(); @@ -246,6 +250,8 @@ public: inline ThisBuilder& SetInsets(float left, float top, float right, float bottom); + inline ThisBuilder& SetInsets(float horizontal, float vertical); + inline ThisBuilder& SetInsets(float insets); inline operator BSplitView*(); @@ -562,6 +568,24 @@ Group::SetInsets(float left, float top, float right, } +template +typename Group::ThisBuilder& +Group::SetInsets(float horizontal, float vertical) +{ + fLayout->SetInsets(horizontal, vertical); + return *this; +} + + +template +typename Group::ThisBuilder& +Group::SetInsets(float insets) +{ + fLayout->SetInsets(insets); + return *this; +} + + template Group::operator BGroupLayout*() { @@ -807,6 +831,24 @@ Grid::SetInsets(float left, float top, float right, } +template +typename Grid::ThisBuilder& +Grid::SetInsets(float horizontal, float vertical) +{ + fLayout->SetInsets(horizontal, vertical); + return *this; +} + + +template +typename Grid::ThisBuilder& +Grid::SetInsets(float insets) +{ + fLayout->SetInsets(insets); + return *this; +} + + template Grid::operator BGridLayout*() { @@ -1012,6 +1054,24 @@ Split::SetInsets(float left, float top, float right, } +template +typename Split::ThisBuilder& +Split::SetInsets(float horizontal, float vertical) +{ + fView->SetInsets(horizontal, vertical); + return *this; +} + + +template +typename Split::ThisBuilder& +Split::SetInsets(float insets) +{ + fView->SetInsets(insets); + return *this; +} + + template Split::operator BSplitView*() { diff --git a/headers/os/interface/SplitView.h b/headers/os/interface/SplitView.h index 1391b85fa1..2be211f237 100644 --- a/headers/os/interface/SplitView.h +++ b/headers/os/interface/SplitView.h @@ -21,6 +21,8 @@ public: void SetInsets(float left, float top, float right, float bottom); + void SetInsets(float horizontal, float vertical); + void SetInsets(float insets); void GetInsets(float* left, float* top, float* right, float* bottom) const; diff --git a/headers/os/interface/TwoDimensionalLayout.h b/headers/os/interface/TwoDimensionalLayout.h index 01351d1412..7d9141d3d8 100644 --- a/headers/os/interface/TwoDimensionalLayout.h +++ b/headers/os/interface/TwoDimensionalLayout.h @@ -19,6 +19,8 @@ public: void SetInsets(float left, float top, float right, float bottom); + void SetInsets(float horizontal, float vertical); + void SetInsets(float insets); void GetInsets(float* left, float* top, float* right, float* bottom) const; diff --git a/src/kits/interface/SplitLayout.cpp b/src/kits/interface/SplitLayout.cpp index 71d7350ada..0d73c9b43a 100644 --- a/src/kits/interface/SplitLayout.cpp +++ b/src/kits/interface/SplitLayout.cpp @@ -268,10 +268,10 @@ BSplitLayout::~BSplitLayout() void BSplitLayout::SetInsets(float left, float top, float right, float bottom) { - fLeftInset = BControlLook::ComposeSpacing(left); - fTopInset = BControlLook::ComposeSpacing(top); - fRightInset = BControlLook::ComposeSpacing(right); - fBottomInset = BControlLook::ComposeSpacing(bottom); + fLeftInset = left; + fTopInset = top; + fRightInset = right; + fBottomInset = bottom; InvalidateLayout(); } diff --git a/src/kits/interface/SplitView.cpp b/src/kits/interface/SplitView.cpp index 4c84409147..9742eab669 100644 --- a/src/kits/interface/SplitView.cpp +++ b/src/kits/interface/SplitView.cpp @@ -41,10 +41,32 @@ BSplitView::~BSplitView() void BSplitView::SetInsets(float left, float top, float right, float bottom) { + left = BControlLook::ComposeSpacing(left); + top = BControlLook::ComposeSpacing(top); + right = BControlLook::ComposeSpacing(right); + bottom = BControlLook::ComposeSpacing(bottom); + fSplitLayout->SetInsets(left, top, right, bottom); } +void +BSplitView::SetInsets(float horizontal, float vertical) +{ + horizontal = BControlLook::ComposeSpacing(horizontal); + vertical = BControlLook::ComposeSpacing(vertical); + fSplitLayout->SetInsets(horizontal, vertical, horizontal, vertical); +} + + +void +BSplitView::SetInsets(float insets) +{ + insets = BControlLook::ComposeSpacing(insets); + fSplitLayout->SetInsets(insets, insets, insets, insets); +} + + void BSplitView::GetInsets(float* left, float* top, float* right, float* bottom) const diff --git a/src/kits/interface/TwoDimensionalLayout.cpp b/src/kits/interface/TwoDimensionalLayout.cpp index f2e0731f26..994bdf107b 100644 --- a/src/kits/interface/TwoDimensionalLayout.cpp +++ b/src/kits/interface/TwoDimensionalLayout.cpp @@ -294,6 +294,31 @@ BTwoDimensionalLayout::SetInsets(float left, float top, float right, } +void +BTwoDimensionalLayout::SetInsets(float horizontal, float vertical) +{ + fLeftInset = BControlLook::ComposeSpacing(horizontal); + fRightInset = fLeftInset; + + fTopInset = BControlLook::ComposeSpacing(vertical); + fBottomInset = fTopInset; + + InvalidateLayout(); +} + + +void +BTwoDimensionalLayout::SetInsets(float insets) +{ + fLeftInset = BControlLook::ComposeSpacing(insets); + fRightInset = fLeftInset; + fTopInset = fLeftInset; + fBottomInset = fLeftInset; + + InvalidateLayout(); +} + + void BTwoDimensionalLayout::GetInsets(float* left, float* top, float* right, float* bottom) const