Wt  4.11.1
Public Member Functions | List of all members
Wt::WHBoxLayout Class Reference

A layout manager which arranges widgets horizontally. More...

#include <Wt/WHBoxLayout.h>

Inheritance diagram for Wt::WHBoxLayout:
[legend]

Public Member Functions

 WHBoxLayout ()
 Creates a new horizontal box layout.
 
- Public Member Functions inherited from Wt::WBoxLayout
 WBoxLayout (LayoutDirection dir)
 Creates a new box layout. More...
 
virtual void addItem (std::unique_ptr< WLayoutItem > item) override
 Adds a layout item. More...
 
virtual std::unique_ptr< WLayoutItemremoveItem (WLayoutItem *item) override
 Removes a layout item (widget or nested layout). More...
 
virtual WLayoutItemitemAt (int index) const override
 Returns the layout item at a specific index. More...
 
virtual int count () const override
 Returns the number of items in this layout. More...
 
void setDirection (LayoutDirection direction)
 Sets the layout direction. More...
 
LayoutDirection direction () const
 Returns the layout direction. More...
 
void setSpacing (int size)
 Sets spacing between each item. More...
 
int spacing () const
 Returns the spacing between each item. More...
 
void addWidget (std::unique_ptr< WWidget > widget, int stretch, WFlags< AlignmentFlag > alignment)
 Adds a widget to the layout. More...
 
template<typename Widget >
Widget * addWidget (std::unique_ptr< Widget > widget, int stretch=0, WFlags< AlignmentFlag > alignment=None)
 Adds a widget to the layout, returning a raw pointer. More...
 
void addLayout (std::unique_ptr< WLayout > layout, int stretch, WFlags< AlignmentFlag > alignment)
 Adds a nested layout to the layout. More...
 
template<typename Layout >
Layout * addLayout (std::unique_ptr< Layout > layout, int stretch=0, WFlags< AlignmentFlag > alignment=None)
 
void addSpacing (const WLength &size)
 Adds extra spacing. More...
 
void addStretch (int stretch=0)
 Adds a stretch element. More...
 
void insertWidget (int index, std::unique_ptr< WWidget > widget, int stretch=0, WFlags< AlignmentFlag > alignment=None)
 Inserts a widget in the layout. More...
 
template<typename Widget >
Widget * insertWidget (int index, std::unique_ptr< Widget > widget, int stretch=0, WFlags< AlignmentFlag > alignment=None)
 Inserts a widget in the layout, returning a raw pointer. More...
 
void insertLayout (int index, std::unique_ptr< WLayout > layout, int stretch=0, WFlags< AlignmentFlag > alignment=None)
 Inserts a nested layout in the layout. More...
 
template<typename Layout >
Layout * insertLayout (int index, std::unique_ptr< Layout > layout, int stretch=0, WFlags< AlignmentFlag > alignment=None)
 
void insertSpacing (int index, const WLength &size)
 Inserts extra spacing in the layout. More...
 
void insertStretch (int index, int stretch=0)
 Inserts a stretch element in the layout. More...
 
bool setStretchFactor (WLayout *layout, int stretch)
 Sets the stretch factor for a nested layout. More...
 
bool setStretchFactor (WWidget *widget, int stretch)
 Sets the stretch factor for a widget. More...
 
void setResizable (int index, bool enabled=true, const WLength &initialSize=WLength::Auto)
 Sets whether the use may drag a particular border. More...
 
bool isResizable (int index) const
 Returns whether the user may drag a particular border. More...
 
- Public Member Functions inherited from Wt::WLayout
virtual ~WLayout ()
 Destructor. More...
 
void setPreferredImplementation (LayoutImplementation implementation)
 Set the preferred layout implementation. More...
 
void addWidget (std::unique_ptr< WWidget > widget)
 Adds the given widget to the layout. More...
 
std::unique_ptr< WWidgetremoveWidget (WWidget *widget)
 Removes the given widget from the layout. More...
 
virtual int indexOf (WLayoutItem *item) const
 Returns the index of a given item. More...
 
virtual WWidgetItemfindWidgetItem (WWidget *widget) override
 Finds the widget item associated with the given widget.
 
virtual WWidgetwidget () override
 Returns the widget that is held by this WLayoutItem. More...
 
virtual WLayoutlayout () override
 Returns the layout that implements this WLayoutItem. More...
 
virtual WLayoutparentLayout () const override
 Returns the layout in which this item is contained.
 
void setContentsMargins (int left, int top, int right, int bottom)
 Set contents margins (in pixels). More...
 
void getContentsMargins (int *left, int *top, int *right, int *bottom) const
 Returns the contents margins. More...
 
- Public Member Functions inherited from Wt::WLayoutItem
virtual ~WLayoutItem ()
 Destructor.
 
- Public Member Functions inherited from Wt::WObject
void addChild (std::unique_ptr< WObject > child)
 Add a child WObject whose lifetime is determined by this WObject.
 
template<typename Child >
Child * addChild (std::unique_ptr< Child > child)
 Add a child WObject, returning a raw pointer. More...
 
std::unique_ptr< WObjectremoveChild (WObject *child)
 Remove a child WObject, so its lifetime is no longer determined by this WObject.
 
template<typename Child >
std::unique_ptr< Child > removeChild (Child *child)
 Remove a child WObject, so its lifetime is no longer determined by this WObject. More...
 
virtual const std::string id () const
 Returns the (unique) identifier for this object. More...
 
virtual void setObjectName (const std::string &name)
 Sets an object name. More...
 
virtual std::string objectName () const
 Returns the object name. More...
 
void resetLearnedSlots ()
 Resets learned stateless slot implementations. More...
 
template<class T >
void resetLearnedSlot (void(T::*method)())
 Resets a learned stateless slot implementation. More...
 
template<class T >
WStatelessSlot * implementStateless (void(T::*method)())
 Declares a slot to be stateless and learn client-side behaviour on first invocation. More...
 
template<class T >
WStatelessSlot * implementStateless (void(T::*method)(), void(T::*undoMethod)())
 Declares a slot to be stateless and learn client-side behaviour in advance. More...
 
void isNotStateless ()
 Marks the current function as not stateless. More...
 
template<class T >
WStatelessSlot * implementJavaScript (void(T::*method)(), const std::string &jsCode)
 Provides a JavaScript implementation for a method. More...
 
- Public Member Functions inherited from Wt::Core::observable
 observable () noexcept
 Default constructor.
 
virtual ~observable ()
 Destructor. More...
 
template<typename... Args, typename C >
auto bindSafe (void(C::*method)(Args...)) noexcept
 Protects a method call against object destruction. More...
 
template<typename... Args, typename C >
auto bindSafe (void(C::*method)(Args...) const) const noexcept
 Protects a const method call against object destruction. More...
 
template<typename Function >
auto bindSafe (const Function &function) noexcept
 Protects a function against object destruction. More...
 

Additional Inherited Members

- Public Types inherited from Wt::WObject
typedef void(WObject::* Method) ()
 Typedef for a WObject method without arguments.
 
- Static Public Member Functions inherited from Wt::WLayout
static void setDefaultImplementation (LayoutImplementation implementation)
 Sets the preferred layout implementation globally. More...
 
- Protected Member Functions inherited from Wt::WLayout
 WLayout ()
 Create a layout.
 
void update (WLayoutItem *item=nullptr)
 Update the layout. More...
 
- Protected Member Functions inherited from Wt::WObject
virtual WStatelessSlot * getStateless (Method method)
 On-demand stateless slot implementation. More...
 

Detailed Description

A layout manager which arranges widgets horizontally.

This convenience class creates a horizontal box layout, laying contained widgets out from left to right.

See the WBoxLayout documentation for available member methods and more information.

Usage example:

Wt::WContainerWidget *w = addWidget(std::make_unique<Wt::WContainerWidget>());
auto layout = std::make_unique<Wt::WHBoxLayout>();
layout->addWidget(std::make_unique<Wt::WText>("One"));
layout->addWidget(std::make_unique<Wt::WText>("Two"));
layout->addWidget(std::make_unique<Wt::WText>("Three"));
layout->addWidget(std::make_unique<Wt::WText>("Four"));
w->setLayout(std::move(layout));
void addWidget(std::unique_ptr< WWidget > widget, int stretch, WFlags< AlignmentFlag > alignment)
Adds a widget to the layout.
Definition: WBoxLayout.C:123
A widget that holds and manages child widgets.
Definition: WContainerWidget.h:135
void setLayout(std::unique_ptr< WLayout > layout)
Sets a layout manager for the container.
Definition: WContainerWidget.C:62
void addWidget(std::unique_ptr< WWidget > widget)
Adds the given widget to the layout.
Definition: WLayout.C:107
virtual WLayout * layout() override
Returns the layout that implements this WLayoutItem.
Definition: WLayout.h:162
Note
First consider if you can achieve your layout using CSS !
See also
WVBoxLayout