* Added convenience methods to add BTextControls and BMenuFields to a grid
layout. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31968 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -5,12 +5,15 @@
|
|||||||
#ifndef _LAYOUT_BUILDER_H
|
#ifndef _LAYOUT_BUILDER_H
|
||||||
#define _LAYOUT_BUILDER_H
|
#define _LAYOUT_BUILDER_H
|
||||||
|
|
||||||
|
|
||||||
#include <GridLayout.h>
|
#include <GridLayout.h>
|
||||||
#include <GridView.h>
|
#include <GridView.h>
|
||||||
#include <GroupLayout.h>
|
#include <GroupLayout.h>
|
||||||
#include <GroupView.h>
|
#include <GroupView.h>
|
||||||
|
#include <MenuField.h>
|
||||||
#include <SpaceLayoutItem.h>
|
#include <SpaceLayoutItem.h>
|
||||||
#include <SplitView.h>
|
#include <SplitView.h>
|
||||||
|
#include <TextControl.h>
|
||||||
#include <Window.h>
|
#include <Window.h>
|
||||||
|
|
||||||
|
|
||||||
@@ -114,6 +117,16 @@ public:
|
|||||||
int32 columnCount = 1, int32 rowCount = 1);
|
int32 columnCount = 1, int32 rowCount = 1);
|
||||||
inline ThisBuilder& Add(BLayoutItem* item, int32 column, int32 row,
|
inline ThisBuilder& Add(BLayoutItem* item, int32 column, int32 row,
|
||||||
int32 columnCount = 1, int32 rowCount = 1);
|
int32 columnCount = 1, int32 rowCount = 1);
|
||||||
|
inline ThisBuilder& AddMenuField(BMenuField* menuField,
|
||||||
|
int32 column, int32 row,
|
||||||
|
alignment labelAlignment
|
||||||
|
= B_ALIGN_HORIZONTAL_UNSET,
|
||||||
|
int32 columnCount = 1, int32 rowCount = 1);
|
||||||
|
inline ThisBuilder& AddTextControl(BTextControl* textControl,
|
||||||
|
int32 column, int32 row,
|
||||||
|
alignment labelAlignment
|
||||||
|
= B_ALIGN_HORIZONTAL_UNSET,
|
||||||
|
int32 columnCount = 1, int32 rowCount = 1);
|
||||||
|
|
||||||
inline GroupBuilder AddGroup(enum orientation orientation,
|
inline GroupBuilder AddGroup(enum orientation orientation,
|
||||||
float spacing, int32 column, int32 row,
|
float spacing, int32 column, int32 row,
|
||||||
@@ -492,6 +505,36 @@ Grid<ParentBuilder>::Add(BLayoutItem* item, int32 column, int32 row,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<typename ParentBuilder>
|
||||||
|
typename Grid<ParentBuilder>::ThisBuilder&
|
||||||
|
Grid<ParentBuilder>::AddMenuField(BMenuField* menuField, int32 column,
|
||||||
|
int32 row, alignment labelAlignment, int32 columnCount, int32 rowCount)
|
||||||
|
{
|
||||||
|
BLayoutItem* item = menuField->CreateLabelLayoutItem();
|
||||||
|
item->SetExplicitAlignment(
|
||||||
|
BAlignment(labelAlignment, B_ALIGN_VERTICAL_UNSET));
|
||||||
|
fLayout->AddItem(item, column, row, columnCount, rowCount);
|
||||||
|
fLayout->AddItem(menuField->CreateMenuBarLayoutItem(), column + columnCount,
|
||||||
|
row, columnCount, rowCount);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
template<typename ParentBuilder>
|
||||||
|
typename Grid<ParentBuilder>::ThisBuilder&
|
||||||
|
Grid<ParentBuilder>::AddTextControl(BTextControl* textControl, int32 column,
|
||||||
|
int32 row, alignment labelAlignment, int32 columnCount, int32 rowCount)
|
||||||
|
{
|
||||||
|
BLayoutItem* item = textControl->CreateLabelLayoutItem();
|
||||||
|
item->SetExplicitAlignment(
|
||||||
|
BAlignment(labelAlignment, B_ALIGN_VERTICAL_UNSET));
|
||||||
|
fLayout->AddItem(item, column, row, columnCount, rowCount);
|
||||||
|
fLayout->AddItem(textControl->CreateTextViewLayoutItem(),
|
||||||
|
column + columnCount, row, columnCount, rowCount);
|
||||||
|
return *this;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
template<typename ParentBuilder>
|
template<typename ParentBuilder>
|
||||||
typename Grid<ParentBuilder>::GroupBuilder
|
typename Grid<ParentBuilder>::GroupBuilder
|
||||||
Grid<ParentBuilder>::AddGroup(enum orientation orientation, float spacing,
|
Grid<ParentBuilder>::AddGroup(enum orientation orientation, float spacing,
|
||||||
|
|||||||
Reference in New Issue
Block a user