AUI Framework  master
Cross-platform module-based framework for developing C++20 desktop applications
ALayout Class Referenceabstract

Base class for all layout managers. More...

Detailed Description

Base class for all layout managers.

Public Member Functions

virtual void onResize (int x, int y, int width, int height)=0
 
virtual void addView (const _< AView > &view, AOptional< size_t > index=std::nullopt)=0
 Attaches view to the layout. More...
 
virtual void removeView (aui::no_escape< AView > view, size_t index)=0
 Detaches view from the layout. More...
 
virtual int getMinimumWidth ()=0
 
virtual int getMinimumHeight ()=0
 
virtual AVector< _< AView > > getAllViews ()=0
 Visits all views in the layout. More...
 
virtual ALayoutDirection getLayoutDirection ()
 
virtual void setSpacing (int spacing)
 Layout spacing. More...
 
- Public Member Functions inherited from AObject
_< AObjectsharedPtr ()
 
_weak< AObjectweakPtr ()
 
void clearSignals () noexcept
 
template<AAnySignal Signal, ACompatibleSlotFor< Signal > Function>
void connect (Signal &signal, Function &&function)
 
void setSignalsEnabled (bool enabled)
 
bool isSignalsEnabled () const noexcept
 
template<ASignalInvokable T>
void operator^ (T &&t)
 
_< AAbstractThreadgetThread () const
 
bool isSlotsCallsOnlyOnMyThread () const noexcept
 
void setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread)
 
- Public Member Functions inherited from aui::noncopyable
 noncopyable (const noncopyable &)=delete
 
noncopyableoperator= (const noncopyable &)=delete
 

Additional Inherited Members

- Static Public Member Functions inherited from AObject
static void disconnect ()
 
template<AAnySignal Signal, aui::derived_from< AObject > Object, ACompatibleSlotFor< Signal > Function>
static void connect (Signal &signal, Object *object, Function &&function)
 
template<AAnySignal Signal, aui::derived_from< AObject > Object, ACompatibleSlotFor< Signal > Function>
static void connect (Signal &signal, Object &object, Function &&function)
 
template<AAnySignal Signal, aui::derived_from< AObject > Object, ACompatibleSlotFor< Signal > Function>
static void connect (Signal &signal, _< Object > object, Function &&function)
 
static void moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread)
 
- Protected Member Functions inherited from AObject
void setThread (_< AAbstractThread > thread)
 Set thread of the object.
 

Member Function Documentation

◆ addView()

virtual void ALayout::addView ( const _< AView > &  view,
AOptional< size_t >  index = std::nullopt 
)
pure virtual

Attaches view to the layout.

Parameters
viewview to attach.
indexindex to insert at. If not specified, when the view is inserted at the end.

See ABasicLayout for basic implementation of this method.

Implemented in AAbsoluteLayout, AAdvancedGridLayout, AGridLayout, ALinearLayout< _< AView > >, and AWordWrappingLayout.

◆ getAllViews()

virtual AVector< _< AView > > ALayout::getAllViews ( )
pure virtual

◆ removeView()

virtual void ALayout::removeView ( aui::no_escape< AView view,
size_t  index 
)
pure virtual

Detaches view from the layout.

Parameters
viewview to detach.
indexindex of the view in the container. This value is indented for optimization purposes in most cases; the value may be ignored safely.

See ABasicLayout for basic implementation of this method.

Implemented in AAdvancedGridLayout, AGridLayout, aui::detail::LinearLayoutImpl< Storage >, aui::detail::LinearLayoutImpl< _< AView > >, and AWordWrappingLayout.

◆ setSpacing()

void ALayout::setSpacing ( int  spacing)
virtual

Layout spacing.

Parameters
spacingspacing in px.

Reimplemented in AHorizontalLayout, and AVerticalLayout.

#include <AUI/Layout/ALayout.h>


The documentation for this class was generated from the following files:
Inheritance diagram for ALayout:
Collaboration diagram for ALayout: