diff --git a/headers/os/interface/LayoutBuilder.h b/headers/os/interface/LayoutBuilder.h index 25b196162b..91912a67c4 100644 --- a/headers/os/interface/LayoutBuilder.h +++ b/headers/os/interface/LayoutBuilder.h @@ -11,6 +11,7 @@ #include #include #include +#include namespace BLayoutBuilder { @@ -49,6 +50,9 @@ public: inline Group(enum orientation orientation = B_HORIZONTAL, float spacing = 0.0f); + inline Group(BWindow* window, + enum orientation orientation = B_HORIZONTAL, + float spacing = 0.0f); inline Group(BGroupLayout* layout); inline Group(BGroupView* view); @@ -95,6 +99,9 @@ public: public: inline Grid(float horizontalSpacing = 0.0f, float verticalSpacing = 0.0f); + inline Grid(BWindow* window, + float horizontalSpacing = 0.0f, + float verticalSpacing = 0.0f); inline Grid(BGridLayout* layout); inline Grid(BGridView* view); @@ -213,6 +220,16 @@ Group::Group(enum orientation orientation, float spacing) } +template +Group::Group(BWindow* window, enum orientation orientation, + float spacing) + : + fLayout((new BGroupView(orientation, spacing))->GroupLayout()) +{ + window->SetLayout(fLayout); +} + + template Group::Group(BGroupLayout* layout) : @@ -392,6 +409,16 @@ Grid::Grid(float horizontalSpacing, float verticalSpacing) } +template +Grid::Grid(BWindow* window, float horizontalSpacing, + float verticalSpacing) + : + fLayout((new BGridView(horizontalSpacing, verticalSpacing))->GridLayout()) +{ + window->SetLayout(fLayout); +} + + template Grid::Grid(BGridLayout* layout) : diff --git a/src/apps/debugger/gui/team_window/TeamWindow.cpp b/src/apps/debugger/gui/team_window/TeamWindow.cpp index 94007e5297..ff8f626a28 100644 --- a/src/apps/debugger/gui/team_window/TeamWindow.cpp +++ b/src/apps/debugger/gui/team_window/TeamWindow.cpp @@ -149,10 +149,7 @@ TeamWindow::ThreadStackTraceChanged(const Team::ThreadEvent& event) void TeamWindow::_Init() { - BGroupLayout* rootLayout = new BGroupLayout(B_VERTICAL); - SetLayout(rootLayout); - - BLayoutBuilder::Group<>(rootLayout) + BLayoutBuilder::Group<>(this, B_VERTICAL) .AddSplit(B_VERTICAL, 3.0f) .Add(fTabView = new BTabView("tab view"), 0.4f) .AddGroup(B_VERTICAL, 4.0f)