convenience methods for inserting and changing the layoutAlignmentHint

in one call
This commit is contained in:
Uwe Rathmann 2019-09-14 15:28:49 +02:00
parent 027db164d0
commit 65feaac031
6 changed files with 56 additions and 0 deletions

View File

@ -94,6 +94,24 @@ QskGridBox::~QskGridBox()
{
}
int QskGridBox::addItem( QQuickItem* item,
int row, int column, Qt::Alignment alignment )
{
if ( auto control = qskControlCast( item ) )
control->setLayoutAlignmentHint( alignment );
return addItem( item, row, column );
}
int QskGridBox::addItem( QQuickItem* item,
int row, int column, int rowSpan, int columnSpan, Qt::Alignment alignment )
{
if ( auto control = qskControlCast( item ) )
control->setLayoutAlignmentHint( alignment );
return addItem( item, row, column, rowSpan, columnSpan );
}
int QskGridBox::addItem( QQuickItem* item,
int row, int column, int rowSpan, int columnSpan )
{

View File

@ -29,6 +29,11 @@ class QSK_EXPORT QskGridBox : public QskBox
Q_INVOKABLE int addItem( QQuickItem*, int row, int column );
int addItem( QQuickItem*, int row, int column, Qt::Alignment );
int addItem( QQuickItem*, int row, int column,
int rowSpan, int columnSpan, Qt::Alignment );
Q_INVOKABLE int addSpacer( qreal spacing,
int row, int column, int columnSpan = 1, int rowSpan = 1 );

View File

@ -360,11 +360,25 @@ Qt::Edges QskLinearBox::extraSpacingAt() const
return m_data->engine.extraSpacingAt();
}
int QskLinearBox::addItem( QQuickItem* item, Qt::Alignment alignment )
{
return insertItem( -1, item, alignment );
}
int QskLinearBox::addItem( QQuickItem* item )
{
return insertItem( -1, item );
}
int QskLinearBox::insertItem(
int index, QQuickItem* item, Qt::Alignment alignment )
{
if ( auto control = qskControlCast( item ) )
control->setLayoutAlignmentHint( alignment );
return insertItem( index, item );
}
int QskLinearBox::insertItem( int index, QQuickItem* item )
{
if ( item == nullptr )

View File

@ -71,7 +71,10 @@ class QSK_EXPORT QskLinearBox : public QskIndexedLayoutBox
qreal spacing() const;
Q_INVOKABLE int addItem( QQuickItem* );
int addItem( QQuickItem*, Qt::Alignment );
Q_INVOKABLE int insertItem( int index, QQuickItem* );
int insertItem( int index, QQuickItem*, Qt::Alignment );
Q_INVOKABLE int addSpacer( qreal spacing, int stretchFactor = 0 );
Q_INVOKABLE int insertSpacer( int index, qreal spacing, int stretchFactor = 0 );

View File

@ -177,6 +177,11 @@ void QskStackBox::addItem( QQuickItem* item )
insertItem( -1, item );
}
void QskStackBox::addItem( QQuickItem* item, Qt::Alignment alignment )
{
insertItem( -1, item, alignment );
}
void QskStackBox::insertItem( int index, QQuickItem* item )
{
if ( item == nullptr )
@ -236,6 +241,15 @@ void QskStackBox::insertItem( int index, QQuickItem* item )
polish();
}
void QskStackBox::insertItem(
int index, QQuickItem* item, Qt::Alignment alignment )
{
if ( auto control = qskControlCast( item ) )
control->setLayoutAlignmentHint( alignment );
insertItem( index, item );
}
void QskStackBox::removeAt( int index )
{
removeItemInternal( index, false );

View File

@ -35,8 +35,10 @@ class QSK_EXPORT QskStackBox : public QskIndexedLayoutBox
int indexOf( const QQuickItem* ) const;
void addItem( QQuickItem* );
void addItem( QQuickItem*, Qt::Alignment );
void insertItem( int index, QQuickItem* );
void insertItem( int index, QQuickItem*, Qt::Alignment );
void removeItem( const QQuickItem* );
void removeAt( int index );