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

Grid layout. Unlike AGridLayout, cells may have different sizes. More...

Detailed Description

Grid layout. Unlike AGridLayout, cells may have different sizes.

Classes

struct  CompositionCache
 
struct  GridCell
 

Public Member Functions

 AAdvancedGridLayout (int cellsX, int cellsY)
 
_< AViewgetViewAt (size_t index)
 
void setViewAt (size_t index, _< AView > view)
 
void onResize (int x, int y, int width, int height) override
 
void addView (const _< AView > &view, int x, int y)
 
void addView (const _< AView > &view, AOptional< size_t > index) override
 Attaches view to the layout. More...
 
void removeView (aui::no_escape< AView > view, size_t index) override
 Detaches view from the layout. More...
 
int getMinimumWidth () override
 
int getMinimumHeight () override
 
int indexOf (_< AView > view)
 
AVector< _< AView > > getAllViews () override
 Visits all views in the layout. More...
 
- Public Member Functions inherited from ALayout
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
 

Protected Member Functions

int & indexAt (int x, int y)
 
AVector< _< AView > > getRow (int row)
 
AVector< _< AView > > getColumn (int column)
 
virtual void prepareCache (AVector< CompositionCache > &columns, AVector< CompositionCache > &rows)
 
- Protected Member Functions inherited from AObject
void setThread (_< AAbstractThread > thread)
 Set thread of the object.
 

Protected Attributes

int mCurrentIndex = 0
 
int cellsX
 
int cellsY
 
unsigned mSpacing = 0
 
AVector< GridCellmCells
 
AVector< int > mIndices
 

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)
 

Member Function Documentation

◆ addView()

void AAdvancedGridLayout::addView ( const _< AView > &  view,
AOptional< size_t >  index 
)
overridevirtual

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.

Implements ALayout.

◆ getAllViews()

AVector< _< AView > > AAdvancedGridLayout::getAllViews ( )
overridevirtual

Visits all views in the layout.

Implements ALayout.

◆ getMinimumHeight()

int AAdvancedGridLayout::getMinimumHeight ( )
overridevirtual

Implements ALayout.

◆ getMinimumWidth()

int AAdvancedGridLayout::getMinimumWidth ( )
overridevirtual

Implements ALayout.

◆ onResize()

void AAdvancedGridLayout::onResize ( int  x,
int  y,
int  width,
int  height 
)
overridevirtual

Implements ALayout.

◆ removeView()

void AAdvancedGridLayout::removeView ( aui::no_escape< AView view,
size_t  index 
)
overridevirtual

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.

Implements ALayout.

#include <AUI/Layout/AAdvancedGridLayout.h>


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