Add default spacing for Layouts (#5614)

* introduce B_USE_DEFAULT_SPACING, which works somewhat like B_SIZE_UNSET and B_ALIGN_HORIZONTAL_UNSET
* introduce static float BControlLook::ComposeItemSpacing(float spacing), which checks uses be_control_look->DefaultItemSpacing().
* modify layouts to use BControlLook::ComposeItemSpacing() in SetInsets and SetSpacing methods.
* default insets are still 0, 0, 0, 0, but can be set to default spacing by passing B_USE_DEFAULT_SPACING
* I've found two regressions, patches incoming, please report others on #5614.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38512 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
Alex Wilson
2010-09-02 22:58:24 +00:00
parent 743d974099
commit 82ab316723
17 changed files with 85 additions and 38 deletions
+22 -15
View File
@@ -51,10 +51,10 @@ public:
public:
inline Group(enum orientation orientation
= B_HORIZONTAL,
float spacing = 0.0f);
float spacing = B_USE_DEFAULT_SPACING);
inline Group(BWindow* window,
enum orientation orientation = B_HORIZONTAL,
float spacing = 0.0f);
float spacing = B_USE_DEFAULT_SPACING);
inline Group(BGroupLayout* layout);
inline Group(BGroupView* view);
@@ -69,14 +69,16 @@ public:
inline ThisBuilder& Add(BLayoutItem* item, float weight);
inline GroupBuilder AddGroup(enum orientation orientation,
float spacing = 0.0f, float weight = 1.0f);
float spacing = B_USE_DEFAULT_SPACING,
float weight = 1.0f);
inline GroupBuilder AddGroup(BGroupView* groupView,
float weight = 1.0f);
inline GroupBuilder AddGroup(BGroupLayout* groupLayout,
float weight = 1.0f);
inline GridBuilder AddGrid(float horizontalSpacing = 0.0f,
float verticalSpacing = 0.0f,
inline GridBuilder AddGrid(float horizontal
= B_USE_DEFAULT_SPACING,
float vertical = B_USE_DEFAULT_SPACING,
float weight = 1.0f);
inline GridBuilder AddGrid(BGridLayout* gridLayout,
float weight = 1.0f);
@@ -84,7 +86,8 @@ public:
float weight = 1.0f);
inline SplitBuilder AddSplit(enum orientation orientation,
float spacing = 0.0f, float weight = 1.0f);
float spacing = B_USE_DEFAULT_SPACING,
float weight = 1.0f);
inline SplitBuilder AddSplit(BSplitView* splitView,
float weight = 1.0f);
@@ -110,11 +113,12 @@ public:
typedef Split<ThisBuilder> SplitBuilder;
public:
inline Grid(float horizontalSpacing = 0.0f,
float verticalSpacing = 0.0f);
inline Grid(float horizontal
= B_USE_DEFAULT_SPACING,
float vertical = B_USE_DEFAULT_SPACING);
inline Grid(BWindow* window,
float horizontalSpacing = 0.0f,
float verticalSpacing = 0.0f);
float horizontal = B_USE_DEFAULT_SPACING,
float vertical = B_USE_DEFAULT_SPACING);
inline Grid(BGridLayout* layout);
inline Grid(BGridView* view);
@@ -190,7 +194,7 @@ public:
public:
inline Split(enum orientation orientation
= B_HORIZONTAL,
float spacing = 0.0f);
float spacing = B_USE_DEFAULT_SPACING);
inline Split(BSplitView* view);
inline BSplitView* View() const;
@@ -203,14 +207,16 @@ public:
inline ThisBuilder& Add(BLayoutItem* item, float weight);
inline GroupBuilder AddGroup(enum orientation orientation,
float spacing = 0.0f, float weight = 1.0f);
float spacing = B_USE_DEFAULT_SPACING,
float weight = 1.0f);
inline GroupBuilder AddGroup(BGroupView* groupView,
float weight = 1.0f);
inline GroupBuilder AddGroup(BGroupLayout* groupLayout,
float weight = 1.0f);
inline GridBuilder AddGrid(float horizontalSpacing = 0.0f,
float verticalSpacing = 0.0f,
inline GridBuilder AddGrid(float horizontal
= B_USE_DEFAULT_SPACING,
float vertical = B_USE_DEFAULT_SPACING,
float weight = 1.0f);
inline GridBuilder AddGrid(BGridView* gridView,
float weight = 1.0f);
@@ -218,7 +224,8 @@ public:
float weight = 1.0f);
inline SplitBuilder AddSplit(enum orientation orientation,
float spacing = 0.0f, float weight = 1.0f);
float spacing = B_USE_DEFAULT_SPACING,
float weight = 1.0f);
inline SplitBuilder AddSplit(BSplitView* splitView,
float weight = 1.0f);