A layout manager which divides the container region in five regions. More...
#include <Wt/WBorderLayout>
Inherits Wt::WLayout.
Public Types | |
enum | Position { North, East, South, West, Center } |
Enumeration of possible positions in the layout. More... | |
Public Member Functions | |
WBorderLayout (WWidget *parent=0) | |
Creates a new border layout. | |
~WBorderLayout () | |
Destructor. | |
virtual void | addItem (WLayoutItem *item) |
Adds a layout item. | |
virtual void | removeItem (WLayoutItem *item) |
Removes a layout item (widget or nested layout). | |
virtual WLayoutItem * | itemAt (int index) const |
Returns the layout item at a specific index. | |
virtual int | count () const |
Returns the number of items in this layout. | |
void | addWidget (WWidget *widget, Position position) |
Adds a widget to the given position. | |
void | add (WLayoutItem *item, Position position) |
Adds a layout item to the given position. | |
WWidget * | widgetAt (Position position) const |
Returns the widget at a position. | |
WLayoutItem * | itemAt (Position position) const |
Returns the item at a position. | |
Position | position (WLayoutItem *item) const |
Returns the position at which the given layout item is set. |
A layout manager which divides the container region in five regions.
The five regions are composed of:
------------------------------------ | North | ------------------------------------ | | | | | West | Center | East | | | | | ------------------------------------ | South | ------------------------------------
Each region may hold no more than one widget, and for all but the Center region, the widget is optional.
Widgets in the North and South regions need to have The Center widget takes all available remaining space.
This layout manager is applicable to WContainerWidget or Ext::Container container widgets. They use different properties from the widgets to determine the heights for the border panes:
Usage example:
Wt::WContainerWidget *w = new Wt::WContainerWidget(this); Wt::WBorderLayout *layout = new Wt::WBorderLayout(); layout->addWidget(new Wt::WText("West-side is best"), Wt::West); layout->addWidget(new Wt::WText("East-side is best"), Wt::East); layout->addWidget(contents, Wt::Center); // use layout but do not justify vertically w->setLayout(layout, Wt::AlignTop | Wt::AlignJustify);
void Wt::WBorderLayout::add | ( | WLayoutItem * | item, | |
Position | position | |||
) |
Adds a layout item to the given position.
Only one widget per position is supported.
void Wt::WBorderLayout::addItem | ( | WLayoutItem * | item | ) | [virtual] |
Adds a layout item.
The item may be a widget or nested layout.
How the item is layed out with respect to siblings is implementation specific to the layout manager. In some cases, a layout manager will overload this method with extra arguments that specify layout options.
Implements Wt::WLayout.
Adds a widget to the given position.
Only one widget per position is supported.
int Wt::WBorderLayout::count | ( | ) | const [virtual] |
Returns the number of items in this layout.
This may be a theoretical number, which is greater than the actual number of items. It can be used to iterate over the items in the layout, in conjunction with itemAt().
Implements Wt::WLayout.
WLayoutItem * Wt::WBorderLayout::itemAt | ( | Position | position | ) | const |
Returns the item at a position.
Returns 0
if no item was set for that position.
WLayoutItem * Wt::WBorderLayout::itemAt | ( | int | index | ) | const [virtual] |
Returns the layout item at a specific index.
If there is no item at the index
, 0
is returned.
Implements Wt::WLayout.
void Wt::WBorderLayout::removeItem | ( | WLayoutItem * | item | ) | [virtual] |
Removes a layout item (widget or nested layout).
Implements Wt::WLayout.