AUI Framework  develop
Cross-platform base for C++ UI apps
Loading...
Searching...
No Matches
AGridLayout Class Reference

Grid layout with fixed-size cells. More...

#include <AUI/Layout/AGridLayout.h>

Public Member Functions#

 AGridLayout (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
 Applies geometry to children.
 
void addView (const _< AView > &view, int x, int y)
 
void addView (const _< AView > &view, AOptional< size_t > index) override
 Attaches view to the layout.
 
void removeView (aui::no_escape< AView > view, size_t index) override
 Detaches view from the layout.
 
int getMinimumWidth () override
 
int getMinimumHeight () override
 
AVector< _< AView > > getAllViews () override
 Visits all views in the layout.
 
int indexOf (_< AView > view)
 
- Public Member Functions inherited from ALayout
virtual ALayoutDirection getLayoutDirection ()
 
virtual void setSpacing (int spacing)
 Layout spacing.
 
- Public Member Functions inherited from AObject
_< AObjectsharedPtr ()
 
_weak< AObjectweakPtr ()
 
template<typename Connectable, ACompatibleSlotFor< Connectable > Function>
decltype(auto) connect (const Connectable &connectable, Function &&function)
 Connects signal or property to slot of "this" object.
 
void setSignalsEnabled (bool enabled)
 
bool isSignalsEnabled () const noexcept
 
template<ASignalInvokable T>
void operator^ (T &&t) noexcept
 
const _< AAbstractThread > & getThread () const noexcept
 
bool isSlotsCallsOnlyOnMyThread () const noexcept
 
void setSlotsCallsOnlyOnMyThread (bool slotsCallsOnlyOnMyThread)
 
- Public Member Functions inherited from AObjectBase
 AObjectBase (AObjectBase &&rhs) noexcept
 
 AObjectBase (const AObjectBase &rhs) noexcept
 
AObjectBaseoperator= (const AObjectBase &rhs) noexcept
 
AObjectBaseoperator= (AObjectBase &&rhs) noexcept
 
- 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< AObjectBase > Object, ACompatibleSlotFor< Signal > Function>
static decltype(auto) connect (const Signal &signal, Object *object, Function &&function)
 Connects signal to the slot of the specified object.
 
template<AAnyProperty Property, aui::derived_from< AObjectBase > Object, typename Function>
static decltype(auto) connect (const Property &property, Object *object, Function &&function)
 Connects property to the slot of the specified object.
 
template<APropertyReadable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; }
static void connect (PropertySource &&propertySource, PropertyDestination &&propertyDestination)
 Connects source property to the destination property.
 
template<APropertyWritable PropertySource, APropertyWritable PropertyDestination>
requires requires { { *propertySource } -> aui::convertible_to<std::decay_t<decltype(*propertyDestination)>>; { *propertyDestination } -> aui::convertible_to<std::decay_t<decltype(*propertySource)>>; }
static void biConnect (PropertySource &&propertySource, PropertyDestination &&propertyDestination)
 Connects source property to the destination property and opposite (bidirectionally).
 
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function>
static decltype(auto) connect (const Connectable &connectable, Object &object, Function &&function)
 Connects signal or property to the slot of the specified object.
 
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, ACompatibleSlotFor< Connectable > Function>
static decltype(auto) connect (const Connectable &connectable, _< Object > object, Function &&function)
 Connects signal or property to the slot of the specified object.
 
template<AAnySignalOrProperty Connectable, aui::derived_from< AObjectBase > Object, typename Function>
static decltype(auto) connect (const Connectable &connectable, ASlotDef< Object *, Function > slotDef)
 Connects signal to the slot of the specified object. Slot is packed to single argument.
 
template<AAnyProperty Property, typename Object, ACompatibleSlotFor< Property > Function>
requires (!aui::derived_from<Object, AObject>)
static void connect (const Property &property, _< Object > object, Function &&function)
 Connects signal or property to the slot of the specified non-AObject type.
 
static void moveToThread (aui::no_escape< AObject > object, _< AAbstractThread > thread)
 
- Static Public Attributes inherited from AObject
static constexpr AObjectBaseGENERIC_OBSERVER = nullptr
 Indicates that a connection should not be explicitly linked to receiver's lifetime.
 
- Static Public Attributes inherited from AObjectBase
static ASpinlockMutex SIGNAL_SLOT_GLOBAL_SYNC
 
- Protected Member Functions inherited from AObject
void setThread (_< AAbstractThread > thread)
 Set thread of the object.
 
- Protected Member Functions inherited from AObjectBase
void clearAllIngoingConnections () noexcept
 
virtual void handleSlotException (std::exception_ptr exception)
 Called then an exception has thrown during slot processing of the signal emitted by this object.
 

Detailed Description#

See also
AAdvancedGridLayout

Member Function Documentation#

◆ addView()#

void AGridLayout::addView ( const _< AView > & view,
AOptional< size_t > index )
overridevirtual
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 > > AGridLayout::getAllViews ( )
overridevirtual

Implements ALayout.

◆ getMinimumHeight()#

int AGridLayout::getMinimumHeight ( )
overridevirtual

Implements ALayout.

◆ getMinimumWidth()#

int AGridLayout::getMinimumWidth ( )
overridevirtual

Implements ALayout.

◆ onResize()#

void AGridLayout::onResize ( int x,
int y,
int width,
int height )
overridevirtual
Parameters
xx coordinate in container's coordinate space, add padding if necessary.
yy coordinate in container's coordinate space, add padding if necessary.
widthwidth of the container, add padding if necessary.
heightheight of the container, add padding if necessary.

See Layout Managers for more info.

Implements ALayout.

◆ removeView()#

void AGridLayout::removeView ( aui::no_escape< AView > view,
size_t index )
overridevirtual
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.